Aioga
AI资讯 / 行业动态
返回 AI资讯

SGLang 推出 Weight Cache Daemon,实现亚秒级引擎重启

LMSYS:Blog(Chatbot Arena 团队Aioga 编辑团队2026-08-21T17:56:25.000Z热度 72

SGLang 团队推出 Weight Cache Daemon,通过 CUDA IPC 零拷贝映射将模型权重加载从约 495 秒降至约 0.63 秒(约 785 倍加速),端到...

行业动态LMSYS:Blog(Chatbot Arena 团队)

今日 AI 情报摘要

SGLang 团队推出 Weight Cache Daemon,通过 CUDA IPC 零拷贝映射将模型权重加载从约 495 秒降至约 0.63 秒(约 785 倍加速),端到端启动时间减少 93.9%。

该守护进程在 GPU 内存中持久化后量化权重,支持多实例共享和亚秒级主备切换,是 Fast Engine Recovery Framework 的第一阶段。 🔗 阅读原文 via AIHOT · https://aihot.virxact.com/items/cmt393qow0kfiro6tpe87m4nu

中文正文 · AI 翻译

如今,最先进(SOTA)的模型越来越大,模型服务在崩溃后重新加载代价非常高。因此,我们引入了权重缓存守护进程(Weight Cache Daemon),这是一个持久的 GPU 进程,将量化后的模型权重保存在 GPU 内存中,并通过 CUDA IPC 零拷贝映射将其提供给新的 SGLang 引擎实例。这将权重加载时间从数分钟减少到几秒。

权重缓存守护进程是我们的快速引擎恢复框架(Fast Engine Recovery Framework)的第一阶段,其目标是在生产 LLM 服务中实现 <10 秒的冷重启和 <1 秒的热待机切换。

随着 LLM 模型越来越大——Qwen3-235B、Ling-2.6-1T,以及新发布的 2.8T Kimi K3——服务引擎的冷启动时间已成为生产效率的关键瓶颈。在 8×H20-3e GPU 上运行的 Ling-2.6-1T FP8 实例,仅准备就绪就需要约 8.52 分钟,权重存储在 3.5T NVME SSD 上。在生产环境中,这意味着:

时间都花到哪里去了?我们对 Ling-2.6-1T FP8 的完整 SGLang 引擎启动进行了性能分析:

瓶颈很明显:从磁盘加载权重占启动时间的 93.2%。对于 Ling-2.6-1T FP8 模型,每个 TP 计算节点需要从磁盘读取约 120GB 的 safetensors,反序列化,应用 TP 分片,并运行后量化转换(FP8 量化、权重重打包)。即使生成的 GPU 张量是确定性的且经常已存在于 GPU 内存中,这些工作在每次重启时都会被完全重复。

我们能否避免每次都从磁盘重新加载?答案是肯定的——通过在引擎重启时将权重保存在 GPU 内存中。

权重缓存守护进程是一个持久的 GPU 进程,将量化后的、TP 分片的权重保存在 GPU 内存中。在引擎重启时,新引擎进程通过 CUDA IPC 零拷贝从守护进程映射权重——无需磁盘 I/O,无需反序列化,无需量化。

SGLang 推出 Weight Cache Daemon,实现亚秒级引擎重启

每个 GPU 为其 TP 计算节点运行一个守护进程。该守护进程:

引擎连接到守护进程,验证配置兼容性,并将权重直接映射到其地址空间——引擎和守护进程通过 CUDA IPC 共享相同的物理 GPU 内存。

实现亚秒级加载的关键是零拷贝:引擎的 param.data 指针直接指向 IPC 映射的 GPU 张量。数据不会被复制。

为了实现这一点,引擎在元设备上初始化模型(不分配 GPU/CPU 内存),然后将每个参数的数据指针替换为 IPC 映射的张量。

后量化参数(例如,FP8 量化生成的 weight_scale)由 process_weights_after_loading() 创建后,也会被守护进程缓存并直接映射——无需重新量化。

引擎的配置与守护进程缓存的配置之间的任何不匹配都会触发完整的磁盘重新加载,以确保正确性:

最后两个字段形成环境标记:使用不同后处理分支(不同计算能力或 torch/kernel 版本)运行的守护进程和客户端可能生成可以通过 IPC 映射,但实际上无效的权重——将环境标记写入 CacheConfig 会将其转化为明显的不匹配。

这对生产安全至关重要:如果操作员更改了模型或量化配置,引擎将检测到不匹配,并回退到磁盘加载,而不是映射不兼容的权重。

在配置验证基础上,量化方法受 IPC 白名单限制。CUDA IPC 零拷贝仅导出原始张量数据,因此仅在 process_weights_after_loading() 的所有效果都被该数据捕获时才正确。那些在 Python 端打标元数据或重新打包/转置权重的方法(每张量 FP8、Marlin、AWQ/GPTQ)将会悄悄生成错误数值——因此改为抛出硬错误。目前验证:未量化和按块 FP8(设置了 weight_block_size);更多方法将在端到端验证后添加。

在守护进程模式下,引擎在启动期间生成守护进程,并等待它们从磁盘加载权重。首次启动仍然较慢(守护进程必须从磁盘加载),但随后重启是瞬时完成的。

在客户端模式下,引擎连接到已在运行的守护进程。这是快速重启路径——守护进程已提前启动并已将权重保存在 GPU 内存中。

权重缓存守护进程的设计是非侵入且安全的:

权重缓存守护进程解锁了传统基于磁盘加载无法实现的生产模式:

每个 GPU 上只运行一个守护程序以在内存中保存权重;多个引擎实例(例如独立服务)通过零拷贝映射到相同的 IPC 句柄。权重从磁盘加载并且在每个 GPU 上仅量化一次,无论有多少实例使用它们。

在同一个 GPU 上运行高优先级的在线服务和低优先级的批处理作业,由同一个权重缓存守护程序支持。低优先级实例可以被驱逐并在不到一秒的时间内重新启动,而无需从磁盘重新加载权重——实现灵活的 GPU 时间共享,而无需通常的启动开销。

在主引擎旁部署一个备用引擎,两者均由同一个权重缓存守护程序支持。备用引擎通过零拷贝映射权重并保持热状态。当主引擎发生故障时,备用引擎在不到 1 秒内接管——无需加载权重,无需磁盘 I/O。

这实现了接近零停机时间的故障切换,而无需为空闲副本专门分配整套 GPU,从而避免了传统热备用部署中昂贵的 GPU 资源浪费。

一条命令即可启动所有 TP 等级守护程序:

等待守护程序准备就绪(每个等级写入一个 .ready 文件):

在多节点部署中,每个节点为其本地 TP 等级运行自己的守护程序。所有守护程序加入同一个分布式组,因此 --nnodes、--node-rank 和 --dist-init-method 必须在各节点保持一致,$MASTER_ADDR 指向节点 0:

一旦每个节点报告其守护程序就绪,即可启动引擎客户端。它们使用不同的集合端口(29600),与守护程序端口(29500)分开:

权重缓存守护程序是更广泛的快速恢复框架的第一阶段,目标是实现<10 秒的冷启动和<1 秒的热备用切换:

对更多模型的支持也在路上。

权重缓存守护程序只是第一步——仍有大量工作需要构建,我们对未来的发展充满期待。今天的第一阶段涵盖 TP + PP、单节点和多节点启动、每 GPU 的零拷贝 CUDA IPC 以及未量化和块状 FP8。除此之外,还有许多高影响力的方向等待探索:

这非常依赖社区的努力。完整计划公开跟踪在 sgl-project/sglang#33522:https://github.com/sgl-project/sglang/issues/33522——非常欢迎贡献和反馈,还有大量有影响力的工作可供参与。

蚂蚁灵基础设施团队,蚂蚁集团:Michael Qiu:https://github.com/QiuMike qiudayu.qdy@antgroup.com:mailto:qiudayu.qdy@antgroup.com

阿里巴巴:Siyu Liu:https://github.com/liusy58 liusy58@smail.nju.edu.cn:mailto:liusy58@smail.nju.edu.cn

SGLang 团队:Alex Nails:https://github.com/alexnails

情报判断

Aioga 编辑摘要

SGLang 团队推出 Weight Cache Daemon,将后量化、张量并行切分后的模型权重持续保存在 GPU 内存中,并通过 CUDA IPC 零拷贝映射提供给新引擎实例。材料称,权重加载时间可由约 495 秒降至约 0.63 秒,端到端启动时间减少 93.9%。

背景分析

该组件是 SGLang Fast Engine Recovery Framework 的第一阶段。原文以 Ling-2.6-1T FP8 为例:8 张 H20-3e GPU 的实例约需 8.52 分钟才能提供服务,其中磁盘权重加载占启动时间的 93.2%,包含读取、反序列化、张量并行切分和后量化处理。

Aioga 观点

Aioga 判断,Weight Cache Daemon 将重启时反复执行的权重处理转化为 GPU 内存中的持久化缓存,直接触及大模型服务冷启动的主要耗时来源。其实际收益仍可能取决于 GPU 内存占用、故障范围与部署配置。

影响与后续

该方案可能降低引擎重启造成的服务空窗,并为多实例共享权重和更快的主备切换提供基础。值得关注的是,材料仅说明了目标指标与测试数据,尚未说明长期稳定性、缓存失效处理及不同模型和硬件配置下的表现。 值得关注后续阶段是否实现原文提出的低于 10 秒冷启动和低于 1 秒温备切换目标,并观察官方是否披露更多模型、硬件与生产环境验证数据。

来源与版权说明

本页正文由公开来源页面提取并按原有信息整理,同时保留来源、发布时间和原文入口。版权归原作者及来源网站所有,请通过原文链接核验和阅读来源版本。

抓取通道: 摘要聚合 · 原始域名: lmsys.org

来源: LMSYS:Blog(Chatbot Arena 团队

原文链接: 打开原始来源

Aioga 归档: 查看情报页

Content record: source-page · Updated: 2026-08-21T17:56:25.000Z

API 中转站
API RELAY · DEVELOPER INFRASTRUCTURE

API 中转站

统一接入主流 AI 模型 API,为开发、测试与生产环境提供稳定调用入口。

立即访问 api.w173.com
AIOGA SHARE POSTER

分享这篇 AI 情报

SGLang 团队推出 Weight Cache Daemon,通过 CUDA IPC 零拷贝映射将模型权重加载从约 495 秒降至约 0.63 秒(约 785 倍加速),端到...

LMSYS:Blog(Chatbot Arena 团队2026-08-21T17:56:25.000Z
扫码打开文章详情扫码直达文章详情

Aioga 自动聚合全球 AI 动态,并保留来源信息用于核验与引用。