使用 HFD 加快 Hugging Face 模型和数据集的下载

Hugging Face 提供了丰富的预训练模型和数据集,而且使用 Hugging Face 提供的 from_pretrained() 方法可以轻松加载它们,但是,模型和数据集文件通常体积庞大,用默认方法下载起来非常花时间。

本文将指导你如何使用 HFD(Hugging Face Downloader) 来高效地下载 Hugging Face 上的模型和数据集。HFD 是一个轻量级的下载工具,支持多线程下载和镜像加速。

文章目录

准备工作

在开始之前,请确保你的系统已经安装了以下工具(如果安装可以跳过下面的安装命令):

  • Git:版本控制系统,用于管理代码和大文件。
  • WgetCurl:用于下载脚本和文件。
  • Aria2c(可选):一个支持多线程下载的下载工具,可以进一步提升下载速度。

所需工具安装

1. 安装 Git

首先,你需要安装 Git 版本控制系统。如果你的系统还没有安装 Git,可以通过以下命令进行安装:

  • Linux (Ubuntu)

    bash 复制代码
    sudo apt-get update
    sudo apt-get install git
  • macOS

    bash 复制代码
    brew install git
  • Windows

    Git for Windows 下载并安装。

2. 安装 Wget 或 Curl

HFD 脚本依赖于 wgetcurl 来下载资源,确保你至少安装了其中之一:

  • Linux (Ubuntu)

    bash 复制代码
    sudo apt-get install wget curl
  • macOS

    bash 复制代码
    brew install wget curl
  • Windows

    Wget for WindowsCurl 官方网站 下载并安装。

3. 安装 Aria2c

为了使用多线程下载提升速度,我们推荐安装 aria2c 下载工具:

  • Linux (Ubuntu)

    bash 复制代码
    sudo apt-get install aria2
  • macOS

    bash 复制代码
    brew install aria2
  • Windows

    Aria2 官方网站 下载并安装。

安装 Git LFS

Git LFS 用于处理和管理大文件,确保你能够顺利下载 Hugging Face 上的模型和数据集。

Linux

安装 Git LFS,这里以 Ubuntu 为例:

bash 复制代码
sudo apt-get update
sudo apt-get install git-lfs

安装完成后,初始化 Git LFS:

bash 复制代码
git lfs install
macOS

使用 Homebrew 安装 Git LFS:

bash 复制代码
brew install git-lfs
git lfs install
Windows
  1. 下载并安装 Git for Windows
  2. 下载 Git LFS 安装程序:Git LFS 官方下载页面
  3. 运行安装程序并初始化 Git LFS:
powershell 复制代码
git lfs install

安装 HFD

HFD 是一个用于加速 Hugging Face 资源下载的脚本工具。以下是安装和配置步骤。

下载 HFD

使用 wget 下载 HFD 脚本:

bash 复制代码
wget https://hf-mirror.com/hfd/hfd.sh

如果你使用的是 curl,可以使用以下命令:

bash 复制代码
curl -O https://hf-mirror.com/hfd/hfd.sh
执行权限

下载完成后,给脚本增加执行权限:

bash 复制代码
chmod a+x hfd.sh

配置环境变量

为了让 HFD 能够正确地使用镜像加速下载,你需要设置 HF_ENDPOINT 环境变量。根据你使用的操作系统,设置方法有所不同。

Linux

在终端中运行以下命令:

bash 复制代码
export HF_ENDPOINT=https://hf-mirror.com

为了让环境变量在每次启动终端时自动生效,可以将上述命令添加到 ~/.bashrc~/.zshrc 文件中:

bash 复制代码
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc

Windows PowerShell

在 PowerShell 中运行以下命令:

powershell 复制代码
$env:HF_ENDPOINT = "https://hf-mirror.com"

为了让环境变量在每次启动 PowerShell 时自动生效,可以将上述命令添加到 PowerShell 配置文件中(通常位于 Documents\PowerShell\Microsoft.PowerShell_profile.ps1):

powershell 复制代码
Add-Content -Path $PROFILE -Value '$env:HF_ENDPOINT = "https://hf-mirror.com"'

使用 HFD 下载模型

HFD 提供了一种简便的方法来下载 Hugging Face 上的预训练模型。以下是下载 gpt2 模型的步骤。

下载 GPT-2 模型

在终端中运行以下命令:

bash 复制代码
./hfd.sh gpt2 --tool aria2c -x 4
参数说明
  • gpt2:要下载的模型名称,对应替换为你自己想下载的。
  • --tool aria2c:指定使用 aria2c 作为下载工具,以支持多线程下载。
  • -x 4:设置 aria2c 的最大连接数为 4,以加快下载速度,你可以设置得更高。

运行(-x 16):

导入模型

假设下载完之后保存在当前目录的gpt2文件夹下,可以使用以下命令直接导入,注意 AutoModelForCausalLM 仅用于当前模型,你需要根据实际情况进行替换:

python 复制代码
from transformers import AutoModelForCausalLM, AutoTokenizer

# 设置模型和分词器的本地路径
model_path = "./gpt2"

# 加载模型和分词器
model = AutoModelForCausalLM.from_pretrained(model_path)
tokenizer = AutoTokenizer.from_pretrained(model_path)

# 测试模型加载是否成功
input_text = "Hello, how are you?"
inputs = tokenizer(input_text, return_tensors="pt")

# 使用模型生成文本
outputs = model.generate(**inputs)

# 解码输出
output_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(output_text)

如果下载的是量化模型

如果你使用了 4-bit 或 8-bit 量化技术(如在 HFD 中使用 quantization_config),那么需要额外配置量化参数,可以使用 Hugging Face 的 bitsandbytes 库加载量化后的模型。

python 复制代码
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers import BitsAndBytesConfig

model_path = "./gpt2"

quantization_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_compute_dtype=torch.float16,  # 或 torch.bfloat16
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_type='nf4'  # 使用的量化类型
)

# 加载模型和分词器
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    quantization_config=quantization_config
)
tokenizer = AutoTokenizer.from_pretrained(model_path)

# 测试量化模型
input_text = "Hello, how are you?"
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs)
output_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(output_text)

使用 HFD 下载数据集

类似于下载模型,HFD 也支持下载 Hugging Face 上的各种数据集。以下是下载 wikitext 数据集的步骤。

下载 WikiText 数据集

在终端中运行以下命令:

bash 复制代码
./hfd.sh wikitext --dataset --tool aria2c -x 4
参数说明
  • wikitext:要下载的数据集名称,对应替换为你自己想下载的。
  • --dataset:指定下载数据集。
  • --tool aria2c-x 4:同上,使用 aria2c 进行多线程下载。

参考链接

HF-Mirror

相关推荐
冬奇Lab7 小时前
RAG 系列(十四):Self-RAG——让模型决定要不要检索
人工智能·llm
组合缺一8 小时前
Java AI 框架三国杀:Solon AI vs Spring AI vs LangChain4j 深度对比
java·人工智能·spring·ai·langchain·llm·solon
爱吃的小肥羊9 小时前
Claude Code 推出Agent View,一个人同时指挥十个 AI 写代码!
aigc·ai编程
爱吃的小肥羊11 小时前
又搞事情,OpenAI 开始关闭微调服务!
aigc·openai
imbackneverdie11 小时前
一天怎么完成论文初稿
人工智能·自然语言处理·aigc·ai写作·论文写作·论文投稿·科研工具
用户51914958484511 小时前
图片上传绕过与存储型XSS漏洞利用技术详解
人工智能·aigc
DigitalOcean11 小时前
既要 LLM 推理性能可预测,又要成本可控?专用推理了解一下
llm·agent
AI先驱体验官11 小时前
臻灵短剧平台 · 用户操作手册
大数据·人工智能·深度学习·重构·aigc
Filwaod12 小时前
Java面试:AIGC场景下的技术深度拷问-谢飞机篇
spring boot·缓存·微服务·消息队列·aigc·java面试·ai技术
用户693717500138413 小时前
Hermes + DeepSeek:AI 真的开始帮我维护 Linux 了
llm·ai编程