英伟达扩展了支持范围,让分布在多台主机上运行的推理服务也能共享保存先前请求前缀的缓存。服务开发者和运维人员可以恢复前缀,而不必重新计算,同时还能获得预先提出下一输出候选的推测解码相关改进。
1. 多台主机共同参与的共享缓存
11月11日发布的 Hyperflare Inference v0.1.0 支持在多台主机分担模型计算的张量并行配置中共享缓存。PR #140 将现有 Selene 缓存池扩展到了这一配置。缓存池充当公共存储库,在实例和主机之间共享请求前缀的缓存。
连接由代表性工作单元提议,须经全部工作单元批准后才能建立。只要有一个工作单元拒绝内存注册,所有工作单元就都会使用各自的本地存储层。因此,运维人员需为所有工作单元应用相同的缓存池配置,或全部省略。
2. 双主机验证中缩短了恢复时间
据公司公布的数据,在两台主机分担并行计算的 TP2 配置下,缓存恢复耗时约 0.1~0.3 秒,无缓存启动路径则耗时 40~60 秒。测试在 SM120 上通过软件实现的 RoCE,即基于以太网的远程内存通信 Soft-RoCE 连接,并分别使用明文 TCP 和加密 TLS 测试缓存池连接。
表:双主机配置的缓存恢复验证结果
条件:两台主机,TP2,在 SM120 上通过 Soft-RoCE 连接,缓存池连接使用明文 TCP 和 TLS。恢复后续生成的结果与常驻 GPU 的缓存所生成的结果通过 top-20 logprobs 进行比较。
| 项目 | 恢复时间(秒,约) | 无缓存启动时间(秒) | TV 差异上限 |
|---|---|---|---|
| 缓存逐出与恢复 | 0.1–0.3 | 40–60 | 8e-4 |
恢复后继续生成的结果,与使用始终保存在 GPU 中的缓存所得结果,按前 20 个 token 的对数概率进行对比。表中的 TV 是衡量概率分布差异的指标。同一次验证中,恢复时间较短,分布差异也较小,显示出缓存复用的实用性。
缓存池管理器重启后,两个工作单元重新连接;终止一个工作单元后再重启并恢复缓存的测试也通过了。这不仅验证了速度,还确认了中断后的重连与恢复行为。
3. 推测解码调整了候选准备与传递
推测解码方面,将生成候选的 NVFP4 草稿输出头与 Markov 输出头准备为独立选项,后者根据前一状态决定下一状态。变更还包括按块传播候选提议,以及融合 BF16 格式的 Markov 采样处理。这同时调整了候选准备阶段与并行执行中的传递阶段。
DeepSeek 的推测采样改为在各工作单元保留逐词汇概率。此外,还整合了 DSpark 草稿评分,并加入准备可选 MXFP8 草稿词汇输出头的变更。
推测解码相关内容可从所提供发布说明的变更标题中确认,但两份资料均未提供量化其效果的测量数据。缓存验证也采用软件连接,未测试实际 RoCE 网卡及 aarch64 的缓存池配置。
4. 减少重复计算,同时兼顾构建、存储与安全
在 Linux 的 x86_64 环境中使用 RoCE 通信,需要显式启用该功能进行构建,并在构建及运行环境中均配备 libibverbs。原文提供的构建命令如下。
cargo build --release --locked --manifest-path flare/Cargo.toml --features roce默认构建会在加载 GPU 资源前拒绝多主机服务,因此部署时应先准备包含通信功能的构建。多主机的本地缓存保存在磁盘上。若要在清除本地磁盘并重启后恢复,记录必须已转移至缓存池管理器的存储中。
共享缓存减少了重新计算前缀的负担,但要求运维人员管理通信构建与磁盘持久化。缓存池连接和记录连接会以明文发送会话秘密值与传输令牌,因此还需保护集群网络。
此次发布的价值在于将缓存复用扩展至多台主机,同时改进了推测解码的候选准备与并行处理路径。
