张芷铭的个人博客

HuggingFace 提供模型和数据集的一站式下载,支持自动缓存、流式加载和多线程加速。

模型下载

自动下载(推荐)

1
2
3
4
from transformers import AutoModel, AutoTokenizer

model = AutoModel.from_pretrained("bert-base-uncased", cache_dir="/workspace/models")
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased", cache_dir="/workspace/models")

批量下载

1
2
3
4
5
6
7
8
from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="google/flan-t5-large",
    local_dir="/workspace/flan-t5",
    max_workers=8,
    token="hf_xxx"  # 私有模型需 Token
)

手动下载

  1. 访问 huggingface.co/models
  2. 进入 Files and versions 下载:model.safetensorsconfig.json、分词器文件
  3. 本地加载:AutoModel.from_pretrained("/path/to/model")

数据集下载

datasets 库

1
2
3
4
5
6
7
8
9
from datasets import load_dataset

# 常规下载
dataset = load_dataset("glue", "mrpc", cache_dir="/workspace/datasets")

# 流式模式(大数据集)
stream = load_dataset("wikitext", "wikitext-103-v1", streaming=True)
for sample in stream["train"].take(5):
    print(sample["text"])

命令行

1
2
3
huggingface-cli download lavita/medical-qa-shared-task-v1-toy \
  --repo-type dataset \
  --local-dir /workspace/datasets/medical-qa

加速技巧

技巧说明
国内镜像os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
多线程max_workers=8
断点续传resume_download=True
量化加载load_in_8bit=True

最佳实践

场景推荐方式
快速实验小模型transformers 自动下载
部署大模型snapshot_download + 本地加载
大数据集研究load_dataset + streaming
无 Python 环境网页手动下载

默认缓存路径:~/.cache/huggingface/

Comments