这类问题我又碰上了一次。从内网 GitLab clone 了一个 7B 模型仓库,model-00001-of-00004.safetensors 只有 134 字节,打开是 version https://git-lfs.github.com/spec/v1 开头的指针文本,transformers 加载时报 safetensors header 解析失败,重新 clone 三次文件大小还是 134 字节。

第一反应是「下载的是网页打包的 zip 里面只有指针」,验证下来不成立。

这类报错背后常见的原因有几处,逐个排除就行。机器没装 git-lfs 克隆时跳过了 smudge;仓库的 LFS 配额超限拉取失败;代理拦掉了 LFS 的 batch 接口。

第一件事是确认文件大小与开头几行

git lfs ls-files && Get-Content model-00001-of-00004.safetensors -TotalCount 3

装好客户端后重新拉取

git lfs install; git lfs pull

然后打开 trace 看 batch 请求返回码

$env:GIT_TRACE='1'; git lfs fetch --all

末了改用命令行工具断点续传

huggingface-cli download Qwen/Qwen2.5-7B-Instruct --local-dir .\qwen7b --resume-download

隔了一天再看,现象没变,说明不是偶发。

那几天正好在做别的变更,先把时间线对齐才敢动手。

改完先别撤,确认这几项。四个分片都恢复到 GB 级,sha256 与仓库清单一致,from_pretrained 能正常加载并推理。

提醒一点。指针文件本身是合法文本,只看扩展名很容易漏掉,克隆完先核对象大小再谈模型加载。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189