术语表

提示缓存

利用及时缓存提高人工智能效率!了解如何利用这一强大技术减少延迟、降低成本并扩展人工智能应用程序。

提示缓存是一种优化技术,主要用于大型语言模型(LLM),以加快推理过程。它的工作原理是存储中间计算结果,特别是注意力机制中提示初始部分的键值 (KV) 状态。当一个新的提示具有相同的开头(前缀)时,模型可以重复使用这些缓存状态,而不是重新计算,从而大大减少了生成响应所需的延迟和计算负荷。这在涉及对话式人工智能或重复查询的应用中尤其有效。

提示缓存的工作原理

当 LLM 处理一连串文本(如一个句子或一个段落)时,它会计算其上下文窗口中每个标记的注意力分数。这部分工作的计算成本很高,尤其是对于较长的提示信息。提示缓存(通常称为 KV 缓存)背后的核心理念是避免重复工作。如果模型已经处理过 "将以下英文文本翻译成法文:"这一短语,它就会存储由此产生的内部状态。当它随后收到 "将以下英文文本翻译成法文:'你好,世界!'"的提示时,它可以加载初始短语的缓存状态,然后只开始计算新的部分"'你好,世界!'"。这样,对于后续的类似请求,文本生成过程就会快得多。像vLLM这样的系统就是为了有效管理这一过程,从而提高整体吞吐量而设计的。

实际应用

提示缓存是现实世界中许多人工智能系统的重要优化手段,它通过提供更快的响应速度来提升用户体验。

  • 交互式聊天机器人和虚拟助理:在聊天机器人对话中,每个回合都建立在之前的交流基础上。将对话历史作为前缀进行缓存,可使模型生成下一个响应,而无需重新处理整个对话,从而实现更流畅、反应更迅速的交互。这是现代虚拟助手性能的基础。
  • 代码生成和完成:人工智能驱动的编码助手(如GitHub Copilot)经常使用缓存。文件中的现有代码是一个长提示。通过缓存这些代码的 KV 状态,模型可以快速生成下一行的建议或完成一个函数,而无需在每次输入字符时重新分析整个文件,从而实现实时推理

提示缓存与相关概念的比较

将及时缓存与其他相关技术区分开来很有帮助:

  • 及时工程:重点是设计有效的提示,以从人工智能模型中获得所需的反应。无论提示设计得如何,缓存都能优化这些提示的执行。
  • 提示丰富:包括在用户的提示信息发送到模型之前添加上下文或说明信息。缓存发生模型处理提示(可能经过丰富)的过程中或之后
  • 提示调整LoRA:这些都是参数效率微调(PEFT)方法,通过训练少量的附加参数集来调整模型的行为。缓存是一种不改变模型权重本身的推理时优化方法。
  • 检索-增强生成(RAG):通过从外部知识库检索相关信息并将其添加到提示的上下文中来增强提示。虽然 RAG 会修改输入,但缓存仍可用于处理组合提示(原始查询+检索数据)。
  • 标准输出缓存:传统的网络缓存存储的是请求的最终输出。提示缓存通常存储模型处理管道中的中间计算状态,允许更灵活地重复使用,特别是对于共享前缀但结尾不同的提示。

虽然提示缓存主要与 LLM 有关,但缓存计算的基本原理可能适用于文本提示与其他模式交互的复杂多模式模型。不过,在使用Ultralytics YOLO 等模型进行物体检测等标准计算机视觉(CV)任务中,这种做法并不常见。Ultralytics HUB等平台简化了人工智能模型的部署和管理,其中缓存等优化措施对生产环境中的性能至关重要。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、合作和成长

立即加入
链接复制到剪贴板