本地下载Hugging Face后预训练TimeoutError,xxx seems to be down after trying for 120 seconds
·
通过命令将模型和数据下载到本地,通过代码准备预训练提示下面的错误。
TimeoutError: Unsloth: HuggingFace seems to be down after trying for 120 seconds 😦
Check https://status.huggingface.co/ for more details.
As a temporary measure, use modelscope with the same model name ie:
pip install modelscope
import os; os.environ['UNSLOTH_USE_MODELSCOPE'] = '1'
from unsloth import FastLanguageModel
model = FastLanguageModel.from_pretrained('unsloth/gpt-oss-20b')
解决方法:开启“离线模式”
要彻底禁止 Unsloth 尝试联网,你需要通过环境变量强制开启 离线模式。
方案一:在 Python 代码中设置(推荐)
在你的 train.py 最开头(必须在 from unsloth import … 之前)添加以下代码:
import os
# 1. 强制 HF 进入离线模式,不检查远程元数据
os.environ["HF_HUB_OFFLINE"] = "1"
# 2. 如果你不想让它尝试连接 ModelScope 也可以加上这个(可选)
# os.environ['UNSLOTH_USE_MODELSCOPE'] = '0'
from unsloth import FastLanguageModel
import torch
# 你的本地路径
local_model_path = "/root/autodl-tmp/DeepSeek-R1-Distill-Llama-8B/"
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = local_model_path,
max_seq_length = 2048,
dtype = None,
load_in_4bit = True,
local_files_only = True, # 关键:强制只读取本地文件
)
方案二:在终端执行(最彻底)
如果你是通过终端运行脚本的,可以在运行前直接设置环境变量:
export HF_HUB_OFFLINE=1
python /root/autodl-tmp/py/train.py
为什么还会报错?原因分析
从你的 Traceback(报错堆栈)可以看到:
File ".../unsloth/models/_utils.py", line 1446, in get_statistics
这是 Unsloth 内部的一个数据采集逻辑。它本意是想检查模型是否有更新或者上报使用情况,但在国内服务器上,这个 get_statistics 步骤由于无法访问远程服务器,成了死循环直到超时。
总结需要修改的点:
添加 os.environ[“HF_HUB_OFFLINE”] = “1”:这是解决问题的核心。
在 from_pretrained 中添加 local_files_only = True:这会告诉 Transformers 库不要去网上找 config 文件。
更多推荐


所有评论(0)