涡轮增压LLMs
PagedAttention、vLLM、Self-Debugging、PowerInfer 和 EG-MLA — 如何在不浪费 GPU KV 缓存的情况下扩展 LLM 代理
Workstation关于如何在生产中增强大型语言模型:PagedAttention、vLLM、Self-Debugging、PowerInfer 和 EG-MLA — 以及 GPU 上实际显示的权衡。深入探讨:长文。入门:LLMs 解释 + Kubernetes。
手表:LLM 实际上是什么
上下文,而不是产品演示:大型语言模型简介 (Andrej Karpathy)。与我们的简单英语 LLM + Kubernetes 指南配对。
的扩展问题LLMs 解锁了对话式 AI 和生成,然后立即成为服务问题。每个解码步骤都会将键和值附加到 KV 缓存中,该缓存随着序列长度和批量大小而增长。简单的引擎预先保留巨大的连续板。当其他请求等待时,大部分内存处于空闲状态。尽管 GPU 看起来“满”,但吞吐量却崩溃了。
PagedAttention:注意
的虚拟内存PagedAttention(Kwon 等人,SOSP 2023)将 KV 缓存视为操作系统分页:固定大小的块、每个请求一个块表、非连续的物理页[arXiv:2309.06180]。内核在关注时间收集块。您仍然必须调整块大小、最大模型长度和缓存层次结构(GPU HBM 与 CPU 卸载与前缀缓存)。太小的块会增加映射开销;太大的块会重新引入废物。
vLLM:接近零浪费的
vLLM是围绕PagedAttention构建的服务系统。它的目标是接近零 KV 浪费、连续配料和兼容 OpenAI 的 HTTP 表面。在生产中,请注意三件事:(1)gpu_memory_utilization与 OOM,(2) 首次令牌时间与解码令牌/秒,(3) 前缀/提示缓存是否会更改评估集的答案。缓存是吞吐量的胜利;它并非没有正确性和尾部延迟效应。
from vllm import LLM, SamplingParams llm = LLM(model="meta-llama/Llama-3.1-8B-Instruct", gpu_memory_utilization=0.90) params = SamplingParams(temperature=0.2, max_tokens=256) outs = llm.generate(["Explain PagedAttention in one paragraph."], params) print(outs[0].outputs[0].text)
这才是真正的vLLM用法。 Hugging Face BERTforward()调用是,而不是PagedAttention — 不要将分类器 logits 与分页 KV 服务混淆。
Self-Debugging:具有延迟预算的质量循环
Self-Debugging(Chen 等人)教导模型根据少量轨迹修复自己的预测程序,匹配或击败发出 10 倍以上候选的基线 [arXiv:2304.05128]。对于代理商来说,这就是黄金——直到反馈轮累积为止。限制调试消息的数量,记录每一轮,并在预算耗尽时向人类或较小的专业模型关闭失败。
观看:服务和推理上下文
关于快速 LLM 服务的上下文讨论 — 不是官方的 Workstation 演示。与 vLLM 纸和docs.vllm.ai配对。
PowerInfer:单胖 GPU
上的令牌PowerInfer 分离热/冷神经元,因此消费者 GPU 和 CPU 可以快速生成令牌。报告数据:13.20 个令牌/秒平均,峰值29.08 个令牌/秒在一台 NVIDIA RTX 4090 上,11.69x与 llama.cpp 相比,同时保持精度[PowerInfer]。 在舰队规模上,您仍然需要放置:哪些层保留在 GPU 上,如何跨节点分片,以及提示的位置配置文件是否与论文的模型匹配。
EG-MLA:在不破坏工作台的情况下缩小 KV
EG-MLA(嵌入门控多头潜在注意力)报告超过 91.6% KV 缓存减少与多头注意力相比,降级可忽略不计,与 MLA 相比额外节省(高达 59.9%),并且推理套件得分更高,缩放超过 1B 参数[EG-MLA 论文]。将其视为一种架构选择,而不是冻结的 vLLM 检查点上的插入标志 - 在庆祝内存图之前验证您的评估工具。
将其放在一起
结合 PagedAttention + vLLM 进行集群服务,PowerInfer(当盒子是工作站 GPU),Self-Debugging 内部编码代理具有硬轮限制,以及 EG-MLA(当您控制模型系列时)。分布式服务增加了复杂性:KV 并行性、预填充/解码分割以及不会影响页表的自动缩放。措施。然后写ADR。
读取下一个
- 长文— 旋钮、故障模式、Kubernetes 注释。
- LLMs 解释 + 在 Kubernetes 上运行您自己的
- Muse Glimmer / 本地代理·企业人工智能实验室
由Workstation发布。