VAST 的 VUA 闪存缓存几乎扩展 GPU 服务器内存以供 AI token 生成

VAST Data 开源其 VUA KVCache 软件,通过在 NVMe SSD 上存储 AI 模型推理过程中生成的令牌,避免重复计算,加快多步生成和对话续接。

VAST Data 正在开源其 VUA ( VAST Undivided Attention ) KVCache 软件技术,该技术用于将生成的 AI 模型训练与推理 token 存储在 NVMe 连接的 SSD 中,以便高速传输到 GPU 内存,避免重新计算这些 token。

KVCache 是 AI 大语言模型 ( LLM ) 中在模型推理处理的注意力阶段生成的 token、键和值向量的内存存储。token 是依次生成的,并为模型提供上下文。在这一多阶段过程中,模型一次生成一个 token,而在当前 token 之后的下一步将要求重新计算至今为止序列中的所有 token。将这些 token 保存在服务器的 GPU 以及 CPU 内存中可以避免重复计算,从而加快多步 token 的生成速度。但是,随着大语言模型处理的参数越来越多,可用的 GPU 内存很快被填满甚至溢出,从而限制了 KVCache 中 token 的数量,进而减慢了模型的处理速度。VUA 将从内存缓存中淘汰出来的生成 token 存储在 NVMe 连接的 SSD 上,作为第三层缓存,这样就可以在需要时重用它们而无需重新计算。VUA 正是提供这种 SSD 缓存 KVCache token 的软件。

这样的淘汰上下文可以存储回源数据仓库,例如云对象存储。但 VAST 联合创始人 Jeff Denworth 在博客中写道: "是的,缓存可以从远程磁盘中恢复,但这一过程如今操作笨拙且脱节,常常依赖于(并受到)缓慢的云对象存储的影响。恢复上下文和会话所需的时间如此之长,以致一些顶尖的 AI 即服务提供商宁愿重新计算整个提示历史,而不是从对象存储中提取所有上下文和注意力数据。"

另一篇 VAST 的博客指出 "AI 模型正不断进化以在模型中存储更大范围的上下文或知识。举个例子,LLaMA 1 于 2023 年发布时支持 2,048 token 的上下文窗口;而快进到 Meta 上周刚宣布的 LLaMA 4,其新 AI 模型可支持高达 10,000,000 token……10,000,000 token 消耗的内存远超过 GPU 内存所能容纳的容量,因此需要更大规模的存储与缓存方法。"

Denworth 表示 vLLM 的 GPU 和 CPU 内存分页方案 "没有与基于分布式 NVMe 的系统集成以提供内存层次结构中的另一层,也不是全球性的……因此 GPU 环境被划分为小而分散的缓存。"

VAST 构建的是一个基于 Linux 的代理程序,运行在你的 GPU 服务器上,提供了一个全新的数据呈现层给 AI 框架。它构成了 "一个跨越 GPU 内存、 CPU 内存和共享、 RDMA 连接的 NVMe 存储子系统(例如支持 Nvidia 存储控制器 CPU 绕过并使用 GPUDirect RDMA 协议的 VAST 存储)的分层系统。"

Denworth 解释道:"VUA 增加了智能存储和提供前缀的能力," 使得这些前缀 "能够按照优先级和策略被提供。例如,与某个序列关联的最长前缀可以优先被送往 GPU 设备,从而使得该会话的完整自注意力能够最快被理解。" VUA 能够通过宽扇形 V-Tree,在 SSD 上的 Element Store 数据结构中搜索数十亿到数万亿个前缀,其搜索速度在毫秒级,能够迅速穿越庞大的元数据空间。

另一种描述是称其具有智能前缀缓存功能:"VUA 超越了基础缓存,通过将注意力键拆分为若干块并存储在嵌套结构中,实现了利用最长前缀识别的复杂部分上下文匹配,大大提升了在 Retrieval-Augmented Generation ( RAG ) 等工作负载下的缓存命中率,在这种工作负载中,相同的基本文档会在多个不同的提示中出现。"

VUA 系统是全球性的。每个 GPU 服务器现在都能够共享访问相同的扩展上下文缓存空间、同一快速搜索的元数据空间,以及相同的全局上下文、注意力数据和数据索引。

Denworth 还指出,这个 VUA "加速器在数据共享方面目前仅支持南北向(即每台机器都能看到全局分层数据空间,但机器之间无法看到彼此的缓存……因此一旦 CPU/GPU 内存缓存未命中,必然会访问 NVMe)。" VAST 正在考虑构建一个全球分布式缓存,使得各机器能够在数据中心内或跨数据中心间查看对方的状态,并基于上述前缀过滤以低延迟地检索相关键和值。

VUA 现已作为开源软件推出,提供一个基于前缀搜索的全球及 exabyte 级 KVCache,利用 NVMe SSD 实现,并在整个 GPU 集群中均可访问。它能够与流行的 AI 推理工作负载集成,"提供无限上下文扩展性",同时减少 "首个 token 生成时间 (TTFT) 并显著节省 GPU 及 CPU 内存。"

VUA 不仅缩短了 TTFT,还缩短了生成每个后续 token(即每个输出 token 的时间,TPOT)的平均时间。它 "实现了跨轮次或会话的持续对话状态。代表先前对话的 KV 缓存可以在查询之间存储于非 GPU 内存中,从而释放 GPU 资源,同时能迅速恢复上下文。"

VAST 在 vLLM 系统上测试了使用 Qwen2.5-1.5B-Instruct 模型时有无 VUA 的 TTFT,并发现加入 VUA 后测试系统在 30,000 token 水平下的处理速度提升了 292%。

文章指出,对于那些需要常见问题提示、多轮对话(实现更快的上下文切换)、长文档问答(提升吞吐量)以及高并发场景(减少抢占)的应用来说,VUA 特别具有价值。

WEKA 和 Hammerspace

B&F 在三月的一篇文章中写道,支持并行访问文件系统的供应商 WEKA 宣布 "一项新的 Augmented Memory Grid 功能,能够使 AI 模型将大型模型推理所需的内存扩展到 WEKA 数据平台。这是一种软件定义的扩展技术,提供 exabyte 级缓存,具有微秒级延迟和每秒多 TB 的带宽,从而实现接近内存速度的性能表现。这提供了额外的 PB 级容量,据称比目前固定单 TB DRAM 增量高 1,000 倍。"这与 VAST 的 VUA 类似。

数据编排器 Hammerspace 推出的 Tier Zero 功能则增加了 "将 GPU 服务器本地 NVMe 闪存驱动器作为前端,连接外部通过 GPUDirect 访问的数据集,从而提供微秒级的存储读取以及检查点写入,加速 AI 训练工作负载。"

并且:"通过将这些驱动器整合到其全球数据环境中,作为 Tier 1 外部存储之前的 Tier 0 层,它们能够比直接从外部存储更快地将数据传输至 GPU,同时写入检查点数据的时间也比将数据发送到外部存储的时间更短。"

Hammerspace 并未在此类 Tier 0 SSD 上提供 KVCache 功能——但如果提供,则将进一步加速 AI 推理工作负载。

VAST 表示,欢迎 "AI 社区探索、使用并为 VAST Undivided Attention 项目做出贡献。源代码、文档和初步使用示例均可在 https://github.com/vast-data/vua 上获得。" 我们了解到,将 VUA 与非 VAST 存储一起使用可能会引入延迟或兼容性问题,因为 VUA 的性能依赖于 VAST 通过其 V-Tree 技术以常数时间搜索和提供数据的能力。

来源:BLOCKS & FILES

0赞

好文章,需要你的鼓励

2025

04/27

15:03

分享

点赞

邮件订阅