最近在微调一个开源模型,需要从 Hugging Face 拉取几十 GB 的权重文件。用的是 huggingface-cli download 配合 git lfs,结果下载到 30% 左右就报 ConnectionResetError,重试几次依然在同一位置断掉。换了镜像源,问题依旧。
一开始以为是 Hugging Face 的 CDN 限速,但同一时间用浏览器直接下载小文件却正常。这就排除了目标服务完全不可用的可能,问题大概率出在本地到目标之间的网络链路上。
模型下载中断通常有三种表现,对应不同的原因:
我遇到的是第一种:每次都在 30% 左右断掉。用 mtr 跟踪路由,发现中间某个节点存在 5% 左右的丢包。再用 ping 测试 MTU:
# 逐步增大包大小,找出不分片的最大值
ping -M do -s 1472 huggingface.co结果 1472 字节的包直接失败,说明链路的实际 MTU 小于 1500。而系统默认用 1500 发送,大包在中间被分片或丢弃,导致大文件传输到一定量后连接重置。
第一步:调整本机 MTU
如果确认是 MTU 问题,可以临时调低网卡 MTU:
# 查看当前 MTU
ip link show
# 临时设置为 1400
sudo ip link set dev eth0 mtu 1400调整后重新下载,中断位置明显后移,但仍有偶发断连。说明 MTU 只是其中一个因素。
第二步:检查出口 IP 的信誉
用 IP 检测服务查看当前出口 IP 的 ASN 归属。结果显示是某云服务商的数据中心网段。很多大文件分发服务(包括 Hugging Face 的 CDN)会对数据中心 IP 做速率限制或连接数限制,因为机房 IP 常被用于滥用。表现就是:能连上,但下载速度被压得很低,或者连接维持一段时间后被强制断开。
第三步:切换到住宅 IP 出口
将下载流量切换到住宅 IP 出口后,同样的模型、同样的工具,下载全程稳定,没有再出现中断。住宅 IP 的 ASN 归属于当地运营商,在 CDN 的访问策略中不会被归入“机房流量”,连接稳定性和速度都有明显改善。
以下是以 1024Proxy 住宅 IP 为例的配置方式(仅作示例,可按需替换为其他住宅 IP 服务):
# ============================================
# 使用住宅 IP 作为下载出口示例
# 住宅 IP 服务:1024Proxy
# 官网:https://1024proxy.com/?kwd=hyj-txy
# ============================================
import os
from huggingface_hub import snapshot_download
# 设置代理环境变量(住宅 IP)
os.environ["HTTP_PROXY"] = "http://用户名:密码@gateway.1024proxy.com:端口"
os.environ["HTTPS_PROXY"] = "http://用户名:密码@gateway.1024proxy.com:端口"
# 下载模型
snapshot_download(
repo_id="your-model-repo",
local_dir="./model",
local_dir_use_symlinks=False,
resume_download=True
)如果是命令行方式,也可以直接用 huggingface-cli 配合代理:
# 通过住宅 IP 出口下载
export HTTPS_PROXY=http://用户名:密码@gateway.1024proxy.com:端口
huggingface-cli download your-model-repo --local-dir ./model --resume使用 hf_transfer 加速:Hugging Face 官方提供了 hf_transfer 库,基于 Rust 实现,多线程下载比默认方式快很多。配合住宅 IP 出口效果更好。
pip install hf_transfer
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download ...开启断点续传:huggingface-cli 默认支持续传,确保 --resume 参数开启。下载中断后重新执行相同命令即可从断点继续。
分批下载:如果是几百 GB 的超大模型,可以按文件分批下载,降低单次连接维持时间,减少中途断连的影响。
大文件下载中断,不一定是目标服务的问题。MTU 不匹配、链路抖动、出口 IP 被限速,都可能导致传输中途失败。排查顺序建议:先测 MTU,再看出口 IP 的 ASN 类型。如果是数据中心 IP 且目标服务对机房流量有限制,切换到住宅 IP 出口通常能显著改善稳定性。
本文仅做技术交流,具体服务选择请结合自身业务场景测试决定。
本文仅做技术交流,请遵守相关平台规则与法律法规。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。