一、先固定资源身份和版本
完整性校验必须回答“正在校验哪一版”。记录官方仓库 ID、提交 SHA 或明确标签,以及获取日期。只写模型简称或使用会变化的 main 分支,后续很难判断文件变化来自上游更新还是传输问题。
二、建立交付清单
清单至少包括相对路径、文件大小和校验值。模型仓库还应区分配置、分词器、权重分片和索引文件;数据集应说明配置、拆分、分片与压缩格式。空目录、隐藏文件和临时下载文件不应混入正式清单。
三、使用 SHA256 计算校验值
macOS 可使用 shasum -a 256 文件名,Linux 常用 sha256sum 文件名,Windows PowerShell 可使用 Get-FileHash -Algorithm SHA256 文件名。超大文件计算需要时间,但结果可用于判断传输前后内容是否逐字节一致。
四、在发送端和接收端分别核对
发送前生成清单,转存或复制后在接收端重新计算。文件数量、相对路径、大小和 SHA256 都一致,才能证明交付过程没有可检测的缺失或损坏。若只有大小一致而校验值不同,应视为内容不一致。
五、处理分片权重和大数据集
分片模型不能只校验索引文件;每个权重分片都应进入清单。大数据集可以按目录或批次生成多个清单,再提供总索引。硬盘交付还应在物流前后各做一次抽检或全量校验,并保留只读副本直至客户确认。
六、校验不替代安全与许可审查
SHA256 只能证明两个文件内容一致,不能证明文件安全、可信、没有恶意代码,也不能证明拥有使用许可。来源、签名、安全扫描、许可证和用途边界仍需独立核对。
官方资料:https://huggingface.co/docs/huggingface_hub/guides/download