AIStudio SSH 公钥管理,一处配置,处处可用AIStudio SSH 公钥管理,一处配置,处处可用 ,只为更佳开发体验如何配置
Skip to content
回到全部文章

使用 HuggingFace 镜像站下载模型和数据集

对于处于网络受限环境(如中国大陆)的用户来说,直接从 HuggingFace 下载数据集和模型可能会遇到连接不稳定、速度缓慢等问题。使用镜像站可以带来以下好处:

  1. 更快的下载速度:镜像站通常位于本地或邻近地区,网络延迟更低。
  2. 更稳定的连接:避免了跨国网络连接可能带来的不稳定性。
  3. 下载数据无需 VPN:可以直接访问,不需要使用可能会影响下载速度的 VPN 服务。

本指南将帮助您使用 HuggingFace 镜像站高效地下载所需的数据集和模型,即使在网络受限的环境中也能顺利完成工作。

TIP

可以使用开发机或者 AICoder 下载数据,均可写入共享高性能存储

WARNING

HuggingFace 镜像站点仅能解决下载速度问题,您仍然需要访问 huggingface.co 获取用户名,并创建访问 Token。

准备 HuggingFace 信息

在开始之前,我们需要从 HuggingFace 获取模型或数据集的必要的信息。如果下载 Gated Models,请提前获取用户名和令牌。

获取模型名称

  1. 访问 https://huggingface.co/models
  2. 搜索并选择您想要的模型(例如 "meta-llama/Meta-Llama-3-70B")。
  3. 复制模型的完整名称。

alt text

获取 HuggingFace 访问信息

NOTE

如果您下载的模型不属于 Gated Models,则无需获取访问信息。

Gated models 要求申请使用,需要先在 Huggingface 模型页面完成申请。在下载前需要获取用户名和令牌。

  1. 登录您的 HuggingFace 账户。进入 https://huggingface.co/settings/tokens
  2. 您的用户名通常显示在页面直接展示。
  3. 创建新令牌,并复制令牌。

alt text

选择数据集

  1. 访问 https://huggingface.co/datasets
  2. 搜索并选择您需要的数据集(例如 "HuggingFaceH4/no_robots")。
  3. 复制数据集的完整名称。

选择存储目录

如果模型或数据集较大,请提前规划存储路径。

共享高性能存储

如果您的租户已购买共享高性能存储,建议使用 /mnt/public 目录或子目录作为模型下载路径。租户下所有用户的所有容器实例均可读写该路径。

切换到挂载的共享高性能存储目录:

bash
cd /mnt/public
df -h /mnt/*

验证:运行 pwd,应显示 /mnt/public

云盘

如果云盘可用,可使用 /datadisk

bash
cd /datadisk
df -h /datadisk

NOTE

开发机的云盘仅限当前开发机访问。

系统盘

如果直接下载到当前示例 rootfs 上的其他目录,请注意存储空间限制。

  • 开发机:50 GiB
  • AICoder: 10 GiB

WARNING

一旦 rootfs 写满,可能导致实例无法正常启动。请及时清理或使用其他存储选项。

使用 hfd 脚本与 aria2 下载

安装 aria2

首先,我们需要安装 aria2 下载工具。使用 root 用户执行以下命令:

bash
apt update
apt install aria2

验证安装:运行 aria2c --version,如果显示版本信息,则安装成功。

WARNING

部分旧版实例仍默认使用非 root 普通用户名登录,重启后将自动更新。

下载 HuggingFace 下载器脚本

获取 hfd 脚本并设置执行权限:

bash
wget https://hf-mirror.com/hfd/hfd.sh
chmod a+x hfd.sh

验证:运行 ls -l hfd.sh,应看到文件权限中包含 'x'。

设置 HuggingFace 镜像站环境变量

设置 HF_ENDPOINT 环境变量:

bash
export HF_ENDPOINT=https://hf-mirror.com

验证:运行 echo $HF_ENDPOINT,应显示设置的 URL。

下载数据集

使用 hfd 脚本下载数据集。将 'dataset_name' 替换为您实际需要下载的数据集名称:

bash
./hfd.sh dataset_name --dataset --tool aria2c -x 4

验证:下载完成后,检查相应的数据集目录是否存在并包含数据文件。

下载模型

为管理方便,先准备模型存放路径。创建 models 目录并进入:

bash
mkdir models
cd models

验证:运行 pwd,应显示 /mnt/public/models

在使用 hfd 脚本下载模型前,请将以下占位符替换为您从 Huggingface 获取的实际信息:

  • model_name:您实际需要下载的模型名称
  • your_hf_username:您的 HuggingFace 用户名
  • your_hf_token:您的 HuggingFace 访问令牌
bash
# 运行脚本,请自行确保 hfd.sh 路径正确
../hfd.sh model_name --hf_username your_hf_username --hf_token your_hf_token --tool aria2c -x 4

TIP

  • 模型文件较大,下载可能需要较长时间,请耐心等待。
  • 建议使用 tmux / screen 类工具,将下载任务放入后台运行。

验证:下载完成后,检查相应的模型目录是否存在并包含模型文件。

使用 Huggingface CLI 下载

安装 huggingface-cli

huggingface-cli 是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。

shell
python3 -m pip install huggingface_hub

Huggingface 官方文档称使用 hf_transfer 库可以实现更快下载,但该方式排障较为困难,仅适用于高级用户。

shell
python3 -m pip install huggingface_hub[hf_transfer]
HF_HUB_ENABLE_HF_TRANSFER=1

从 HuggingFace 镜像站下载模型

请通过 --local_dir 指定模型下载路径。或提前通过环境变量 HF_HUB_CACHE 修改 Huggingface 缓存路径。

shell
# 设置 HF_ENDPOINT 环境变量:
export HF_ENDPOINT=https://hf-mirror.com
# 下载模型,请修改 --local-dir 为正确的存储路径
huggingface-cli download google/t5-v1_1-xxl --local-dir /datadisk/google-t5-v1_1-xxl  --resume-download