跳到主内容
快讯直播
AI智模界
AI 词典

分片权重文件:大模型的权重为什么是一堆文件

一句话定义:分片权重文件(sharded weight files)是把一个模型的全部参数拆成多个文件分别存储,再用一个索引文件(index)把它们对应起来的一套权重保存方式。你下载到的往往是一堆 xxx-00001-of-00005 之类的文件加一个 *.index.json,这些都算它。

为什么必须拆

大模型的参数量可以用“亿”甚至“千亿”来计,权重存下来动辄几十到上百 GB。如果把这么大的数据全放进一个文件,会立刻遇到几个麻烦:上传和下载中途断了就得从头再来;很多对象存储和文件系统对单文件大小有限制;加载时一次性读进内存,机器很可能承受不了。

打个比方:宜家送来的不是一整张装好的沙发,而是若干纸箱,外加一张装箱单。装箱单不装任何零件,只告诉你“螺丝在第 2 箱、靠背在第 4 箱”。分片权重文件就是这个结构:序号文件是纸箱,索引文件是装箱单。加载器先读索引,知道每个参数(tensor)落在哪个分片,再逐个打开分片,把参数按名称对应回模型结构里,模型就组装好了。索引文件里通常维护一张从参数名到分片文件名的映射表,所以它本身很小,但缺少它就完全没法加载。

和相邻概念的区别

分片权重文件单个权重文件量化权重文件
解决什么问题文件太大、不好传不好存——数值太占显存和体积
是否改变参数数值否,只是切分否是,降低精度
少一个会怎样直接加载失败————

还有两个常见混淆点:一是 checkpoint,那指的是“训练到某一时刻保存下来的存档”这个时间概念,分片只是它采用的物理存储形式;二是训练时的分布式切分(把参数分散到多张卡上计算),那是为了分摊算力,而存储分片主要是为了文件本身便于上传下载,两者可能同时出现,但解决的问题不同。

对从业者的实际意义

第一,下载必须整套。缺一个分片,或者索引里记录的文件名和硬盘上的对不上,加载就会报错,典型表现是找不到某个分片,或者参数名缺失。第二,不要随手改文件名,序号和索引是配套的。第三,做离线部署或打包镜像时,要按“所有分片相加”来估体积,并留足磁盘余量和解压空间。第四,下载完按官方提供的校验信息核对一遍,残缺的文件往往要到加载那一刻才暴露。具体格式规范和校验方式,以官方页面为准。

一句话记住:模型权重是一个拼图,分片是拼块,索引是那张告诉你哪块放哪儿的图纸。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。