Prompt Caching
了解提示缓存如何通过降低延迟和成本来优化生成式 AI。了解它在 LLMs 和使用 Ultralytics YOLO26 的实时计算机视觉中的作用。
提示词缓存是一种主要用于**生成式 AI的高级优化策略,可在推理期间显著降低成本并缩短响应时间。在大型语言模型 (LLMs)中,处理文本需要将输入转换为称为令牌的数值序列。通常,大部分输入数据(例如详细的系统指令、冗长的法律文档或代码库)在许多不同的用户查询中保持不变。提示词缓存不会在每次新请求中重新处理这些不变的部分,而是将预计算的数学状态(通常称为键值缓存)存储在内存中。这样,推理引擎**就可以跳过重复计算,只将计算资源集中用于用户提示词中新增的动态部分。
机制与优势#
提示词缓存的基本机制依赖于**Transformer架构,该架构按顺序处理数据。通过识别提示词中重复的前缀,系统可以直接从高速内存中加载相应的注意力机制**状态。
- 降低延迟:缓存可显著降低推理延迟,尤其是首个令牌生成时间(TTFT)。这能确保交互式**聊天机器人**等实时应用让用户几乎即时获得响应。
- **提高成本效益:由于云计算**提供商通常根据计算时长或令牌处理量计费,跳过静态上下文的繁重处理可以大幅节省成本。
- **提高吞吐量:释放GPU资源后,服务器可以处理更多并发请求,从而让整个模型服务**基础设施具备更强的可扩展性。
实际应用#
提示词缓存正在改变依赖大量数据上下文的行业。
-
编程助手:在软件开发中,GitHub Copilot等工具会利用用户已打开文件和代码仓库结构中的大量上下文。通过缓存代码库的嵌入,模型可以提供实时代码补全建议,而无需针对每次击键重新分析整个项目的文件结构。
-
法律与医疗分析:专业人员经常让AI 智能体查询海量静态文档,例如判例法档案或患者病史记录。借助检索增强生成 (RAG),系统可以检索相关文本片段。提示词缓存可确保后续问题无需重新计算这些检索文档的基础上下文,从而简化**问答**工作流程。
与计算机视觉的相关性#
虽然缓存通常与文本相关,但在多模态**计算机视觉 (CV)中,这一概念同样至关重要。YOLO-World等模型允许用户使用开放词汇文本提示词检测对象。当用户定义类别列表(例如“person, backpack, car”)时,模型会为这些类别计算文本嵌入。缓存这些嵌入后,模型无需为每个视频帧重新编码文本提示词,从而实现高速实时推理**。
区分相关术语#
- **与提示词工程相比:**提示词工程涉及人工设计最优文本输入,以引导模型完成任务。提示词缓存则是一种后端计算优化,用于存储机器对该文本的处理结果。
- 与提示词调优相比:提示词调优是一种迁移学习技术,会更新特定的模型权重(软提示词),使模型适应某项任务。缓存不会改变模型参数,只会在运行时记忆激活状态。
代码示例:在视觉任务中缓存文本嵌入#
以下**Python代码片段使用 ultralytics 包,演示了如何在视觉场景中“缓存”提示词。通过在YOLO-World**模型中设置一次类别,文本嵌入就会被计算并存储(持久化),使模型能够在多个图像上高效进行预测,而无需重新处理文本描述。
from ultralytics import YOLOWorld
# Load a YOLO-World model capable of open-vocabulary detection
model = YOLOWorld("yolov8s-world.pt")
# "Cache" the prompt: Define classes once.
# The model computes and stores text embeddings for these specific terms.
model.set_classes(["helmet", "reflective vest", "gloves"])
# Run inference repeatedly. The text prompt is not re-computed for each call.
# This mimics the efficiency gains of prompt caching in LLMs.
results_1 = model.predict("construction_site_1.jpg")
results_2 = model.predict("construction_site_2.jpg")为了管理数据集并部署这些优化后的模型,**Ultralytics Platform提供了全面的环境,用于标注数据、训练YOLO26等先进模型,以及监控各种边缘 AI**设备上的部署性能。









