为什么感觉大型LLM提供商在故意隐藏提示缓存?

Reddit r/artificial 新闻

摘要

一篇文章讨论提示缓存如何大幅降低LLM API成本,指出提供商对此解释不足,并提供一个简单的规则来构建提示以获得最大缓存命中率。

我知道这些信息是存在的。在定价页面、文档或API说明中的某处。但对于这种能严重影响生产环境成本的东西,它却奇怪地被解释不足。尤其是除了OpenAI以外的供应商,而OpenAI确实有一个不错的解释器在这里 - https://developers.openai.com/api/docs/guides/prompt-caching 所以基本上:两个提示看起来几乎相同,但仅仅因为排序更好,其中一个运行起来可能便宜得多。把变化的部分放得太早,比如用户查询、变量、时间戳、元数据或任何特定于请求的内容,就会破坏缓存所依赖的稳定前缀。实用的规则很简单:把可重复的部分放在前面。从系统指令、固定规则、示例、模式和格式要求开始。然后把动态用户输入和特定于请求的数据放在末尾。就是这样。只是一个好的提示结构……但如果你大规模运行LLM,这个微小的细节可能决定LLM使用是极其昂贵还是真正有良好投资回报率的产品。完整博客文章这里
查看原文

相似文章

探究提示KV缓存:何处变得可舍弃

arXiv cs.CL

本文系统性地探究了在LLM解码过程中,何时以及提示KV缓存的哪些部分变得可舍弃,表明冗余主要涉及聊天模板脚手架而非任务内容,并且用中性填充内容进行替换可保持准确性。