Anthropic的最新宣布为开发人员带来了福音——其Claude系列生成AI模型中的即时缓存功能,据称能节省高达90%的API输入成本。这一创新功能允许开发人员在API调用间保存并重用经常使用的提示,极大地提升了开发效率和经济性。
提示缓存允许客户向Claude提供长提示,然后可以在后续请求中引用,而无需再次发送提示。该公司在公告中表示:“通过提示缓存,客户可以为Claude提供更多的背景知识和示例输出——同时将成本降低高达90%,将长提示的延迟降低高达85%。”
该功能现已在Claude 3.5 Sonnet和Claude 3 Haiku的公开测试版中提供,并支持其最大的型号Claude 3 Opus,即将推出。
耶鲁大学和谷歌研究人员2023年的一篇论文解释说,通过在推理服务器上保存提示,开发人员可以“显著减少时间到第一令牌的延迟,特别是对于更长的提示,如基于文档回答问题和建议。改进范围从基于GPU的推理的8倍到基于CPU的推理的60倍,同时保持输出精度,无需修改模型参数。”
Constellation Research副总裁兼首席分析师Andy Thurai指出:“当使用率高时,使用闭源LLM变得越来越昂贵。”“许多企业和开发人员正面临贴纸冲击,特别是如果他们必须重复使用相同的提示才能从法学硕士获得相同/类似的回复,他们仍然对每次往返收取相同的金额。当多个用户每天多次输入相同(或有点相似的提示)寻找类似的答案时,情况尤其如此。”
提示缓存的用例
Anthropic引用了几个即时缓存可能有帮助的用例,包括对话代理、编码助理、处理大型文档,以及允许用户查询缓存的长格式内容,如书籍、论文或成绩单。它还可用于共享指令、程序和示例,以微调Claude的响应,或者当多轮工具调用和迭代更改需要多个API调用时,作为提高性能的一种方式。
根据文档,当启用提示缓存时,系统会检查它收到的每个提示是否之前都已缓存。如果是这样,它使用缓存版本,如果没有,它会缓存提示供以后使用。
开发人员可以在提示符中定义最多四个缓存断点,这些断点在Claude 3.5 Sonnet(以及实现该功能时在Opus)的10240令牌边界和Claude 3 Haiku中的2048个令牌。较短的提示当前无法缓存。缓存寿命为五分钟,但每次使用缓存内容时都会刷新。
新功能具有新的定价结构,缓存写入令牌比基本输入令牌贵25%,缓存读取令牌便宜90%。
该公司表示:“早期客户已经看到了大幅的速度和成本改进,为各种用例提供提示缓存——从包括完整的知识库到100个镜头示例,再到将每轮对话纳入他们的提示中。”
然而,信息技术研究集团人工智能市场研究总监Thomas Randall指出,人们担心,“虽然及时缓存是性能优化和提高使用效率的正确方向,但在编程中使用缓存时,强调安全最佳实践很重要,”Randall说。“如果提示在未重置或适当审查的组织之间共享,则缓存中的敏感信息可能会无意中传递。”
Thurai指出,虽然Anthropic正在提供新的即时缓存,但其他一些LLM供应商仍在尝试此选项。他说,市场上的一些开源解决方案,如GPTCache和Redis,将结果存储为嵌入,如果它们与提示匹配,则首先检索它们,甚至没有访问LLM。
Randall说:“无论使用哪种选项,如果多次向LLM发送类似的提示,这都会节省大量资金。”“我希望其他闭源LLM提供商也能尽快宣布类似的功能。”