使用 HuggingFace 镜像站下载模型和数据集
对于处于网络受限环境(如中国大陆)的用户来说,直接从 HuggingFace 下载数据集和模型可能会遇到连接不稳定、速度缓慢等问题。使用镜像站可以带来以下好处:
- 更快的下载速度:镜像站通常位于本地或邻近地区,网络延迟更低。
- 更稳定的连接:避免了跨国网络连接可能带来的不稳定性。
- 下载数据无需 VPN:可以直接访问,不需要使用可能会影响下载速度的 VPN 服务。
本指南将帮助您使用 HuggingFace 镜像站高效地下载所需的数据集和模型,即使在网络受限的环境中也能顺利完成工作。
TIP
可以使用开发机或者 AICoder 下载数据,均可写入共享高性能存储。
WARNING
HuggingFace 镜像站点仅能解决下载速度问题,您仍然需要访问 huggingface.co
获取用户名,并创建访问 Token。
准备 HuggingFace 信息
在开始之前,我们需要从 HuggingFace 获取一些必要的信息。
获取 HuggingFace 访问信息
- 登录您的 HuggingFace 账户。进入 https://huggingface.co/settings/tokens
- 您的用户名通常显示在页面直接展示。
- 创建新令牌,并复制令牌。
选择模型
- 访问 https://huggingface.co/models
- 搜索并选择您想要的模型(例如 "meta-llama/Meta-Llama-3-70B")。
- 复制模型的完整名称。
选择数据集
- 访问 https://huggingface.co/datasets
- 搜索并选择您需要的数据集(例如 "HuggingFaceH4/no_robots")。
- 复制数据集的完整名称。
安装必要工具
首先,我们需要安装 aria2 下载工具。使用 root
用户执行以下命令:
apt update
apt install aria2
验证安装:运行 aria2c --version
,如果显示版本信息,则安装成功。
WARNING
部分旧版实例仍默认使用非 root 普通用户名登录,重启后将自动更新。
选择存储目录
如果您的租户已购买共享高性能存储,建议使用 /mnt/public
目录或子目录作为模型下载路径。租户下所有用户的所有容器实例均可读写该路径。
切换到挂载的共享高性能存储目录:
cd /mnt/public
验证:运行 pwd
,应显示 /mnt/public
。
如果您未购买共享高性能存储,您可以使用开发机 rootfs 上的其他目录。如果云盘可用,可使用 /datadisk
。
NOTE
开发机的 rootfs 或云盘挂载点仅限当前开发机访问。
下载 HuggingFace 下载器脚本
获取 hfd 脚本并设置执行权限:
wget https://hf-mirror.com/hfd/hfd.sh
chmod a+x hfd.sh
验证:运行 ls -l hfd.sh
,应看到文件权限中包含 'x'。
设置 HuggingFace 镜像站环境变量
设置 HF_ENDPOINT 环境变量:
export HF_ENDPOINT=https://hf-mirror.com
验证:运行 echo $HF_ENDPOINT
,应显示设置的 URL。
下载数据集
使用 hfd 脚本下载数据集。将 'dataset_name' 替换为您实际需要下载的数据集名称:
./hfd.sh dataset_name --dataset --tool aria2c -x 4
验证:下载完成后,检查相应的数据集目录是否存在并包含数据文件。
下载模型
为管理方便,先准备模型存放路径。创建 models 目录并进入:
mkdir models
cd models
验证:运行 pwd
,应显示 /mnt/public/models
。
在使用 hfd 脚本下载模型前,请将以下占位符替换为您从 Huggingface 获取的实际信息:
model_name
:您实际需要下载的模型名称your_hf_username
:您的 HuggingFace 用户名your_hf_token
:您的 HuggingFace 访问令牌
# 运行脚本,请自行确保 hfd.sh 路径正确
../hfd.sh model_name --hf_username your_hf_username --hf_token your_hf_token --tool aria2c -x 4
TIP
- 模型文件较大,下载可能需要较长时间,请耐心等待。
- 建议使用 tmux / screen 类工具,将下载任务放入后台运行。
验证:下载完成后,检查相应的模型目录是否存在并包含模型文件。