英伟达GPU在大语言模型内存缓存中以键值对形式存储向量——KV缓存——采用多层结构分层存储,最终延伸到网络连接的SSD存储。
向量是大语言模型处理项目(词语、图像、视频帧、声音)的多维特征编码值,用于语义搜索以响应输入请求。这些请求本身也会被向量化,大语言模型处理它们并在向量存储中查找元素来构建响应。这些元素是存储在GPU高带宽内存中的键值对,作为KV缓存。当特定响应会话所需的向量大于可用GPU内存时就会出现问题。此时现有向量会被驱逐,如果再次需要则重新计算——这需要时间。更好的做法是将它们移动到内存-存储层次结构的下层,以便在需要时读回GPU内存,而不是重新计算。这就是分层KV缓存的作用,英伟达的Dynamo软件实现了这一功能。
大语言模型处理响应时有两个阶段:预填充和解码。在预填充阶段,输入请求被分解为Token——基本词语或词语片段——然后被向量化并在内存中表示为KV对。这个过程计算密集但可以并行化。解码阶段是大语言模型构建输出的阶段,按顺序一次生成一个Token。每个新Token都基于之前生成的Token进行预测,结果存储在KV缓存中。第一个输出Token依赖于所有提示Token。第二个输出Token依赖于所有提示Token加上第一个输出Token。第三个输出Token依赖于所有提示Token加上第一个和第二个输出Token,以此类推。
当输出完成时,KV缓存内容仍在GPU内存中,可能需要保留以供用户后续问题或迭代推理大语言模型使用。但当新请求到来时,KV缓存内容会被驱逐。除非存储在其他地方,否则再次需要时必须重新计算。vLLM和LMCache等技术将GPU的KV缓存卸载到GPU服务器的CPU DRAM(二级内存)中,这可能比可用的GPU内存更大。
Dynamo是一个低延迟KV缓存卸载引擎,适用于多节点系统。它支持vLLM和其他推理引擎,如TRT-LLM和SGLang,以及大规模分布式推理。Dynamo在内存和存储层次结构中工作,从HBM,通过CPU的DRAM,到直连SSD和网络化外部存储。
它有四个特性:分解式服务、智能路由器、分布式KV缓存管理器和英伟达推理传输库(NIXL)。英伟达表示:"分解预填充和解码显著提升性能,参与推理的GPU越多,效率提升越明显。"
Dynamo 1.0版本支持KV缓存卸载到系统CPU内存,后续版本将扩展支持SSD和网络对象存储。它是开源软件。
许多存储供应商支持英伟达的AI数据平台及其包含的英伟达AI企业软件和NIM微服务,Dynamo是其中一部分。我们了解到Cloudian、DDN、戴尔、日立万塔拉、HPE、IBM、NetApp、PEAK:AIO、Pure Storage、VAST Data和WEKA都将支持Dynamo,Cohesity也是如此。Hammerspace和Pliops也支持KV缓存分层。
例如:
Cloudian将支持KV缓存分层
DDN表示其Infinia对象存储系统"专为以亚毫秒延迟提供KV缓存服务而设计"。
VAST Data在其关于Dynamo支持的博客中说:"Dynamo背后的分布式架构自然支持实现分解式预填充和解码。这作为另一种策略,通过加速计算来增强调度,提升推理吞吐量并最小化延迟。它通过分配一组GPU运行预填充,并让NIXL使用RDMA将数据移动到另一组执行解码过程的GPU来工作。"
WEKA在其博客中讨论了使用增强内存网格概念的分层KV缓存方法,指出"当在HBM之外存储缓存时,WEKA增强内存网格快速异步存储KV缓存以最大化效率。"作为性能示例,它说:"基于我们实验室中配备72个NVMe驱动器的八主机WEKApod测试,单个八路H100(张量并行度为8)展示了每秒938,000个Token的检索率。"
好文章,需要你的鼓励
OpenAI首席执行官Sam Altman表示,鉴于投资者的AI炒作和大量资本支出,我们目前正处于AI泡沫中。他承认投资者对AI过度兴奋,但仍认为AI是长期以来最重要的技术。ChatGPT目前拥有7亿周活跃用户,是全球第五大网站。由于服务器容量不足,OpenAI无法发布已开发的更好模型,计划在不久的将来投资万亿美元建设数据中心。
阿里巴巴团队提出FantasyTalking2,通过创新的多专家协作框架TLPO解决音频驱动人像动画中动作自然度、唇同步和视觉质量的优化冲突问题。该方法构建智能评委Talking-Critic和41万样本数据集,训练三个专业模块分别优化不同维度,再通过时间步-层级自适应融合实现协调。实验显示全面超越现有技术,用户评价提升超12%。
英伟达推出新的小型语言模型Nemotron-Nano-9B-v2,拥有90亿参数,在同类基准测试中表现最佳。该模型采用Mamba-Transformer混合架构,支持多语言处理和代码生成,可在单个A10 GPU上运行。独特的可切换推理功能允许用户通过控制令牌开启或关闭AI推理过程,并可管理推理预算以平衡准确性和延迟。模型基于合成数据集训练,采用企业友好的开源许可协议,支持商业化使用。
UC Berkeley团队提出XQUANT技术,通过存储输入激活X而非传统KV缓存来突破AI推理的内存瓶颈。该方法能将内存使用量减少至1/7.7,升级版XQUANT-CL更可实现12.5倍节省,同时几乎不影响模型性能。研究针对现代AI模型特点进行优化,为在有限硬件资源下运行更强大AI模型提供了新思路。