一句话定义
模型权重增量更新(Delta Update),指的是模型发布新版本时,只把权重文件里"变了的那部分"传给用户,本地用旧权重加上这份差异,拼出新权重——而不是重新下载整个模型。
为什么需要它
大模型的权重就是几亿到几千亿个数字。一次继续训练或微调后,绝大多数数字都变了,但往往变得不多,甚至很多层几乎没动。如果每次都全量下载,等于把几百 GB 重新搬一遍,带宽、时间、电费都受不了。
打个比方:一本 2000 页的词典再版,只改了 200 个词条。出版社不会把整本书寄给你,而是寄一份"修订页",你按页码把旧页换掉。Delta 就是这份修订页。
分发是怎么做到的
1. 分块加哈希(hash)清单。 把权重文件按张量或固定大小切成块,每块算一个哈希值。客户端先拉清单,比对自己本地哪些块哈希一致、哪些不一致,只请求不一致的块。Git 的内容寻址、rsync 都是这个思路。
2. 二进制差分(diff)。 服务端用差分算法生成补丁(patch),客户端执行 apply 还原。对浮点权重来说,直接做字节级差分压缩率未必最优,更常见的是分块级比对再加压缩。
3. 版本基线与版本矩阵。 Delta 是相对某个旧版本才有意义的。服务端要维护"A→B""C→B"这样的补丁集合。热门旧版本可以预先算好补丁,冷门版本直接回退全量下载,否则版本组合会爆炸。
4. 传输与校验。 补丁可以走 CDN、HTTP Range 请求或 P2P 分发。下完后校验哈希,失败就回退全量;补丁本身还要签名,防止被篡改。
和相邻概念的区别
| 全量更新 | 增量更新 Delta | |
|---|---|---|
| 传输量 | 整个模型 | 变化的块或补丁 |
| 客户端要求 | 无 | 需有匹配的旧版本 |
| 服务端复杂度 | 低 | 高(要管版本矩阵) |
| 适用场景 | 首次安装、大改版 | 小步迭代、频繁发版 |
还要区分:LoRA(Low-Rank Adaptation)这类微调产出的是"训练层面"的小增量权重,而 Delta Update 是"分发层面"的增量。两者经常配合使用。另外,改版本号属于元数据更新,不等于权重更新。
对从业者和普通人的意义
对从业者,增量更新能显著省带宽、缩短发布窗口,对边缘设备和移动端尤其友好;代价是要做版本管理、补丁存储和回滚方案。如果这次改动很大,delta 可能接近全量,那还不如直接发全量。具体工具链和支持情况,以各家官方页面为准。
对普通人,最直观的感受是:手机输入法、语音助手、相机算法更新模型时,流量小、下载快,不用等一个整包。
