Prompt Caching
发现提示缓存 (Prompt Caching) 如何通过降低延迟和成本来优化生成式 AI。了解它在 LLM 中的作用,以及与 Ultralytics YOLO26 进行实时计算机视觉的应用。
Prompt caching 是一种主要用于 生成式 AI 的高级优化策略,旨在显著降低推理过程中的成本并改善响应时间。在 大型语言模型 (LLMs) 领域,处理文本需要将输入转换为称为 标记 (tokens) 的数值序列。通常,很大一部分输入数据(例如详细的系统指令、冗长的法律文档或代码库)在许多不同的用户查询中保持不变。Prompt caching 不会为每个新请求重新处理这些不变的部分,而是将预计算的数学状态(通常称为键值缓存)存储在内存中。这使得 推理引擎 能够跳过冗余计算,仅将计算能力集中在用户 prompt 中新的、动态的部分上。
Link to this section机制与优势#
Prompt caching 的基本机制依赖于 Transformer 架构,该架构按顺序处理数据。通过识别 prompt 的重复前缀,系统可以直接从高速内存中加载相应的 注意力机制 状态。
- 降低延迟: 缓存极大地降低了 推理延迟,特别是首个标记时间 (TTFT)。这确保了交互式 聊天机器人 等实时应用程序对用户而言感觉是即时的。
- 成本效益: 由于 云计算 提供商通常根据计算时长或标记处理量计费,跳过静态上下文的繁重计算可以节省大量成本。
- 提高吞吐量: 通过释放 GPU 资源,服务器可以处理更大规模的并发请求,从而使整个 模型服务 基础设施更具可扩展性。
Link to this section实际应用#
Prompt caching 正在改变那些依赖大量数据上下文的行业。
-
编程助手: 在软件开发中,像 GitHub Copilot 这样的工具利用来自用户打开的文件和存储库结构的大量上下文。通过缓存代码库的 嵌入 (embeddings),模型可以在无需为每次按键重新分析整个项目文件结构的情况下,提供实时代码补全建议。
-
法律和医疗分析: 专业人士经常针对海量静态文档(如判例法档案或患者病史记录)查询 AI Agent。使用 检索增强生成 (RAG),系统会检索相关的文本块。Prompt caching 确保了无需为后续问题重新计算这些检索到的文档的基础上下文,从而简化了 问答 工作流。
Link to this section在计算机视觉中的相关性#
虽然缓存概念传统上与文本相关联,但在多模态 计算机视觉 (CV) 中同样至关重要。像 YOLO-World 这样的模型允许用户使用开放词汇文本 prompt 来检测物体。当用户定义了一系列类别(例如“人、背包、汽车”)时,模型会计算这些类别的文本嵌入。缓存这些嵌入可以防止模型为每一帧视频重新编码文本 prompt,从而实现高速 实时推理。
Link to this section区分相关术语#
- 与 Prompt Engineering 的区别: Prompt engineering 涉及人类设计最佳文本输入以引导模型的工作。Prompt caching 则是一种后端计算优化,用于存储机器对该文本的处理结果。
- 与 Prompt Tuning 的区别: Prompt tuning 是一种 迁移学习 技术,它通过更新特定的 模型权重(软 prompt)来使模型适应特定任务。缓存不会更改模型的参数;它只在运行时记忆激活状态。
Link to this section代码示例:在视觉场景中缓存文本嵌入#
以下 Python 片段演示了在视觉场景中使用 ultralytics 包“缓存” prompt 的概念。通过在 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 设备上的部署性能。






