英伟达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的检索率。"
好文章,需要你的鼓励
法国AI初创公司Mistral AI发布了首个大语言模型全面生命周期评估,量化了AI的环境代价。其Mistral Large 2模型训练产生20,400吨二氧化碳当量,消耗281,000立方米水。运营阶段占环境影响85%,远超硬件制造成本。研究表明地理位置和模型大小显著影响碳足迹,企业可通过选择适当规模模型、批处理技术和清洁能源部署来减少环境影响。这一透明度为企业AI采购决策提供了新的评估标准。
上海AI实验库推出YUME系统,用户只需输入一张图片就能创建可键盘控制的虚拟世界。该系统采用创新的运动量化技术,将复杂的三维控制简化为WASD键操作,并通过智能记忆机制实现无限长度的世界探索。系统具备强大的跨风格适应能力,不仅能处理真实场景,还能重现动漫、游戏等各种艺术风格的虚拟世界,为虚拟现实和交互娱乐领域提供了全新的技术路径。
许多人认为一旦实现通用人工智能(AGI)和人工智能超级智能(ASI),这些高度先进的AI将能够告诉我们人生的真正意义。然而,巅峰AI可能无法明确回答这个史诗般的问题。即使AI拥有人类所有知识,也不意味着能从中找到生命意义的答案。AI可能会选择提供多种可能性而非绝对答案,以避免分裂人类社会。
上海AI实验室研究团队开发了革命性的AI编程验证方法,让大语言模型能够在最小人工干预下自动生成和验证程序规范。该方法摒弃传统的人工标注训练,采用强化学习让模型在形式化语言空间中自主探索,在Dafny编程验证任务上显著超越现有方法,为AI自主学习开辟新道路。