程序员转行学习 AI 大模型: 踩坑记录,HuggingFace镜像设置未生效

0 阅读2分钟

本文是程序员转行学习AI大模型的踩坑记录分享。 当前阶段:还在学习知识点,由点及面,从 0 到 1 搭建 AI 大模型知识体系中。 系列更新,关注我,后续会持续记录分享转行经历~

设置镜像站

在项目代码中,打开终端,按照如下步骤,设置 HuggingFace 镜像站:

  1. 查看当前环境
echo $HF_ENDPOINT

如果,输出为空,则说明还没有设置镜像站。

  1. 设置 HuggingFace 镜像站
export HF_ENDPOINT=https://hf-mirror.com

使用 HF-Mirror 镜像站。

  1. 验证设置是否成功
echo $HF_ENDPOINT

如果输出:hf-mirror.com,则设置镜像站成功。

  1. 永久设置镜像站(可选)

如果希望每次打开终端,都自动使用镜像站,可以添加到 shell 配置文件中。

echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc

同样,执行以下命令,验证是否成功。

echo $HF_ENDPOINT
  1. 测试镜像站是否生效

输入以下脚本命令,验证镜像站是否正常工作:

python -c "from huggingface_hub import hf_hub_download; print(hf_hub_download('Qwen/Qwen1.5-0.5B', 'config.json'))"

如果下载成功,则镜像站设置正确。

  1. 恢复官方源(如有需要)

如果想恢复到官方源,可以取消设置:

unset HF_ENDPOINT

或者删除配置文件中的设置:

# 对于 Bash
sed -i '/HF_ENDPOINT/d' ~/.bashrc

# 对于 Zsh
sed -i '/HF_ENDPOINT/d' ~/.zshrc

常用 huggingface 镜像站

镜像站地址
HF-Mirrorhf-mirror.com
ModelScopemodelscope.cn

踩坑:镜像站设置成功,但代码仍去官网链接下载

我在项目中,按照上述步骤成功设置了HF-Mirror 镜像站,但是执行代码时,一直还是去官网下载,报错如下:

'[Errno 101] Network is unreachable' thrown while requesting HEAD https://huggingface.co/Qwen/Qwen1.5-0.5B/resolve/main/tokenizer_config.json

程序还是试图访问huggingface.io(官方源)。

后面发现,是因为我的项目还是缓存了旧的环境变量,因此没有生效。

解决方案:

  1. 清楚 HuggingFace 缓存

删除缓存目录:

rm -rf ~/.cache/huggingface/

然后,执行代码,就可以正常读取新环境变量。

  1. 在代码中显示设置 endpoint

在代码中,添加以下部分:

import os

# 设置Hugging Face镜像站(必须在导入库之前设置)
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'

按照上述操场,可以正常去镜像站下载模型和数据了。