从Huggingface下载模型的方法小结

概览

从 Hugging Face 下载模型主要有五种常用方式:使用 Transformers 的 from_pretrained 接口、Hugging Face 提供的命令行工具(CLI)、huggingface_hub 库中的 hf_hub_download 函数、snapshot_download 方法、以及通过 Git LFS 克隆模型仓库。每种方法各有优势,可根据网络环境、自动化需求和私有仓库权限灵活选择。


方法一:Transformers Python API

通过 Transformers 库的高层接口,可以一行代码从模型仓库下载并加载模型:

python 复制代码
from transformers import AutoModel, AutoTokenizer  
model = AutoModel.from_pretrained("bert-base-uncased")  
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")

首次运行时,所需权重文件会被下载并缓存到本地,再次加载时即从缓存读取,无需重复下载。

对于需要离线加载的场景,可设置 local_files_only=True,让 from_pretrained 仅从本地缓存加载:

python 复制代码
model = AutoModel.from_pretrained("bert-base-uncased", local_files_only=True)

这样可以在无网络环境下使用已下载模型。


方法二:命令行工具(CLI)

Hugging Face 官方提供 huggingface-cli,可直接在终端下载模型文件:

python 复制代码
pip install huggingface_hub 
huggingface-cli download HuggingFaceH4/zephyr-7b-beta

该命令会将指定模型仓库的所有文件下载到本地缓存目录,适合快速批量下载或脚本化操作。

登录并授权后,CLI 也能访问私有仓库:

python 复制代码
huggingface-cli login huggingface-cli download <private-repo-id>

授权令牌会自动保存在本地,后续下载无需重复登录。


方法三:hf_hub_download 函数

使用 huggingface_hub 库时,可精确下载指定文件而非整个仓库:

python 复制代码
from huggingface_hub import hf_hub_download 
local_path = hf_hub_download(repo_id="lysandre/arxiv-nlp", filename="config.json") 
print(local_path) # /root/.cache/huggingface/hub/models--lysandre--arxiv-nlp/.../config.json

函数会将文件缓存在本地,并返回缓存路径,有助于在自定义脚本中灵活获取模型组件。


方法四:snapshot_download 整仓下载

当需要离线或墙内环境完整获取模型时,可使用 snapshot_download

python 复制代码
from huggingface_hub import snapshot_download 
snapshot_download(repo_id="meta-llama/Llama-2-7b-hf", repo_type="model")

该方法会下载整个仓库快照,包括所有版本的文件,并存储于本地缓存目录,支持指定分支或提交哈希。


方法五:Git LFS 克隆

模型仓库本质上是 Git 仓库,可通过 Git LFS 完整克隆:

python 复制代码
git lfs install git clone https://huggingface.co/bigscience/bloom

若对私有模型有写权限,可使用 SSH:

python 复制代码
git clone git@hf.co:<MODEL_ID>

克隆后,仓库中包含 config.json、权重文件(.bin.safetensors)等,可直接在本地加载。


本地缓存与管理

所有下载的模型文件默认缓存在 ~/.cache/huggingface/ 目录下,包含版本管理和权限控制信息,不建议手动修改缓存文件以免损坏。

若需清理缓存,可删除对应子目录或使用官方工具:

python 复制代码
huggingface-cli cache delete

管理缓存有助于节省磁盘空间并重置下载状态。


小结

  • 快速体验 :使用 from_pretrainedpipeline 即可一行加载模型。

  • 批量/自动化 :推荐 huggingface-cli downloadsnapshot_download

  • 精细控制 :采用 hf_hub_download 按需获取文件。

  • 克隆镜像:通过 Git LFS 完整克隆,适合二次开发和私有化部署。

根据自身需求和网络环境灵活选择,均可在 Hugging Face Hub 上安全、高效地获取所需模型。

相关推荐
文火冰糖的硅基工坊6 小时前
[人工智能-大模型-48]:模型层技术 - 大模型与大语言模型不是一回事
人工智能·语言模型·自然语言处理
居7然6 小时前
DeepSeek OCR:重新定义AI文档处理的“降本增效”新范式
人工智能·算法·语言模型·自然语言处理·大模型·ocr
cxr8289 小时前
AI提示工程第一性原理:精通原子提示,激发语言模型的基本单位
人工智能·语言模型·自然语言处理
Saniffer_SH10 小时前
搭载高性能GPU的英伟达Nvidia DGX Spark桌面性能小怪兽国内首台开箱视频!
人工智能·深度学习·神经网络·ubuntu·机器学习·语言模型·边缘计算
cxr82812 小时前
涌现的架构:集体智能框架构建解析
人工智能·语言模型·架构·1024程序员节·ai智能体·ai赋能
咕咚-萌西13 小时前
MLLM-LLaVA-FL: Multimodal Large Language Model Assisted FederatedLearning
人工智能·语言模型·自然语言处理
DisonTangor13 小时前
PaddleOCR-VL: 通过0.9B超紧凑视觉语言模型增强多语言文档解析
人工智能·计算机视觉·语言模型·自然语言处理·开源·aigc
梵得儿SHI1 天前
大型语言模型基础之 Prompt Engineering:打造稳定输出 JSON 格式的天气预报 Prompt
人工智能·语言模型·prompt·提示词工程·结构化输出·engineering·ai交互
DisonTangor2 天前
【2B篇】阿里通义 Qwen3-VL 新增 2B、32B 两个模型尺寸,手机也能轻松运行
人工智能·计算机视觉·语言模型·开源·aigc
Coovally AI模型快速验证2 天前
突破性开源模型DepthLM问世:视觉语言模型首次实现精准三维空间理解
人工智能·语言模型·自然语言处理·ocr·音视频·ai编程