2026 · 08 · 24 10:16

大模型冷启动为什么这么慢?Weight Cache 优化

大模型重启一次为什么那么慢?因为每次都要把几百 GB 甚至上 TB 的权重文件从硬盘整体搬进显存:万亿参数的 Ling-2.6 有 1TB 权重、161 份分片,整套启动要 8.8 分钟。蚂蚁百灵团队联合阿里和 SGLang 社区做了 Weight Cache Daemon,总启动压到约 32 秒、搬权重只用 0.63 秒,快了约 780 倍。

同期发布在

这期讲了什么

文字稿

什么是冷启动:开工前要搬一整颗「脑子」

给 AI 下完指令,它半天没反应,点不动、催不了,屏幕上一个字都不说,这份憋屈很多人都吃过。8 月 22 号,蚂蚁集团的百灵团队联合阿里和 SGLang 社区出手,把这段等待砍掉了大半。改动很小:给全球开发者都在用的开源引擎 SGLang 装上一枚新零件。而这么大的动静,中文世界到今天几乎没人报道。

平时用 AI 聊天,大多数时候回答很快,话音未落字就出来了。可 AI 服务时不时就要重启:上新版本、改配置、偶尔崩了,都得重启,只能盯着屏幕等上几分钟。奇怪的是,这么长的等待并不是 AI 在重新学说话。那这段空窗期,机器到底在忙活什么?

这十分钟把三件事讲明白:AI 开工之前为什么要等这么久;等待的时候机器到底在搬什么东西;以及蚂蚁的新零件凭什么能把等待时间砍掉这么多。

先认识一下这台引擎。SGLang 是一个开源的推理引擎,说人话就是专门帮大模型对外干活的基础软件。一家公司想把开源大模型真正跑起来、对外提供服务,大多要靠这类引擎撑着——它在全世界管着四十多万张计算卡,每天生成的文字数以万亿计。你手机里的问答工具、办公软件里的助手、客服窗口里的机器人,背后只要用开源模型,很多都要经过这类引擎的手。别看这回主角是一枚小零件,它牵动的是无数 AI 服务的体验下限。

那开机之前的漫长等待到底在等什么?这得说到大模型的身体构造。一个大模型的全部本事,存在一份叫「权重」的文件里——权重就是模型在学习阶段记住的一切,相当于模型的一整颗脑子。跑模型的芯片显存空间有限,开工之前必须先把整份权重文件从硬盘原封不动地搬进显存,搬不完模型就没法干活。

为什么非要整份搬?因为开工之前全套权重文件必须各就各位。权重在硬盘上是散装的切片,读出来还要重新拼装、变换格式,才能装进显存使用。这套工序一步都不能省。工程师管这个过程叫冷启动:机器从停着的状态到能干活的全过程。而且这个搬运动作只在三种时刻出现:头一次开机、出了故障之后的恢复、还有主动重启。平时你问一句它答一句,并不会触发搬运,不存在每问一句就重新读一遍硬盘的事。

这套文件有多沉?在这次测试里,万亿参数的旗舰模型 Ling-2.6 权重总量约 1TB,切成 161 份分片,平均每张计算卡要分到约 120GB。万亿参数就是一万亿个学出来的数字,一个挨一个存进文件——参数越多模型本事越大,文件也就越大。更麻烦的是,这个毛病每次重启都原样重来一遍:昨天搬过的今天一步不省照搬。

有人会问,为什么不干脆让权重一直待在显存里?难就难在这:显存地方有限,平时还得腾出位置跑计算,塞不下整套权重文件,所以过去的规矩是用完就清、用时再搬。

Weight Cache 为什么快 780 倍

数字最能说明问题。对经营 AI 服务的公司来说,这八九分钟是真金白银:一排顶配计算卡空转着干着急,高峰期恢复慢一分钟,门外排队的人就多挤一分钟。在这次测试里,改造之前整套启动要花 8.8 分钟,其中九成以上的时间全耗在搬权重这一步上,单这一步就要约 7 分钟。

新零件上线之后呢?总启动时间压到了约 32 秒,搬权重更是只要约 0.63 秒,比原来从硬盘读快了约 780 倍。将近九分钟的漫长等待,被砍成了半分钟出头。这里要多说一句免得账算混:剩下的约 32 秒并不是全花在搬权重上——认字的模块要先准备就绪,几张计算卡之间要互相打招呼对齐,计算的流程图要提前搭好,这些收尾工序都占时间。0.63 秒只是搬权重这一步的成绩,两笔账别混在一起看。

这跟你有什么关系?想一个场景:服务商要上新版本得重启,改个配置得重启,偶尔出了故障也得重启,重启那几分钟里你只能盯着屏幕等——那不是 AI 在发呆,是引擎正在重新搬几百 GB 的文件。SGLang 官方自己也承认,大模型的重启今天普遍要三到六分钟以上,而这一次被压到了约 32 秒。

再看一个场景:高峰期用户太多,服务商临时加机器。这里面藏着个反直觉的细节——这套加速对全新机器的头一回是不管用的,头一回还是得老老实实从硬盘把整套权重完整读一遍,近十分钟一步都省不掉。只有等这台机器跑过一回、把该备的都提前备进了显存,之后再拉起的新实例才是半分钟出头就能就位。照这个道理推下去,高峰排队的空窗也会跟着缩短。停机窗口短了,服务商赔进去的就少了,你用的服务也就更稳。

这中间差在哪儿?差在读取速度本身:硬盘容量大但读得慢,显存地方小但读得快。以前的流程是每次启动都要从慢的那一头把整套权重文件现读一遍才开工。

再看这枚新零件干了什么。它叫 Weight Cache Daemon,翻译过来就是权重缓存守护进程。名字听着唬人,事情本身不复杂:以前是每次启动都从硬盘现读现算,现在改成提前把权重变换妥当、直接常驻在显存里。缓存这个词可以理解成餐厅的备菜:客人还没进门,食材已经洗净、切好、配齐了,要用的时候从显存里直接取,全程不碰硬盘,这才快得起来。更妙的是搬运的方式:过去是把文件读出来、算一遍、再装进去,来来回回好几道手续;现在是提前把这些手续全部办完,整理好的成品放在显存里,几张计算卡直接共享同一份,不用每张卡都从头再来一遍。

现在的边界:第一阶段,还认不出所有压缩格式

这里要划个重点:你平时聊天回答的快慢跟这套优化没有直接关系,你的提问不会触发任何搬运。真正吃到好处的是经营 AI 服务的公司——对它们来说,重启比你想的频繁得多,恢复快了,同样的机器一天能多接几轮活,故障的代价也小一圈。

很多人以为网线那头的 AI 是一台永不关机的超级大脑,实际上背后是一间间机房里的引擎在轮班值守:有部署就有重启,有软件就难免有故障。你偶尔碰上回应慢、暂时连不上,多数时候不是 AI 变笨了,只是它身后的引擎正在重启恢复。

当然也别急着欢呼。这套加速目前是第一阶段:常规的部署方式都覆盖了,但一些特殊的压缩格式还认不出来,遇到不支持的配置引擎仍会退回老办法,老老实实从硬盘读。官方路线图上把冷恢复压进十秒以内也还是下一步的目标。眼下的成绩单是启动和恢复速度的数量级改善,这个边界要先讲清楚。

这次优化还有个背景值得一提:百灵本身就是蚂蚁开源的模型家族,自家的模型同样要在这类引擎上跑,这个痛他们自己最先撞上。最后把功劳摆正:这次优化由蚂蚁集团的百灵团队牵头,阿里和 SGLang 社区一起完成,方案完全开源,全世界的开发者都能直接取用。截至今天,中文科技媒体几乎还没人报道这件事——一个国产团队给全世界共用的基础设施拧紧了一颗螺丝,这样的活儿值得被更多人看见。

下次再碰上 AI 半天没反应,你可以多一分了然:那不是它在偷懒,多半是背后的引擎摔了一跤,正在爬起来重新恢复服务。而往后,它爬起来会快得多。

常见问题

大模型冷启动为什么这么慢?

因为开工之前要把整份「权重」文件从硬盘搬进显存——权重就是模型记住的全部知识。这次测试里万亿参数的 Ling-2.6 权重约 1TB、切成 161 份分片,平均每张卡分到约 120GB;改造前整套启动 8.8 分钟,其中约 7 分钟全耗在搬权重。冷启动只在三种时刻出现:头一次开机、故障恢复、主动重启,平时问答不会触发。

Weight Cache Daemon 是什么?

蚂蚁百灵团队牵头、阿里和 SGLang 社区一起完成的开源零件,思路是把原本每次启动才做的「读出、拼装、变换格式」提前办好,让整理好的权重常驻显存、几张计算卡共享同一份——类似餐厅提前备菜。效果是总启动从 8.8 分钟压到约 32 秒,搬权重从约 7 分钟降到 0.63 秒。

为什么普通用户感觉不到这个优化?

因为你平时聊天回答的快慢跟它没有直接关系——提问不会触发权重搬运。真正受益的是经营 AI 服务的公司:上新版本、改配置、故障恢复都要重启,SGLang 官方承认这类重启普遍要三到六分钟,压到约 32 秒后停机窗口短了,服务就更稳。另外它对全新机器的头一回启动不管用。

SGLang大模型推理冷启动Weight Cache蚂蚁百灵