Hub documentation
下载模型
下载模型
集成库
如果 Hub 上的模型关联了某个受支持的库,只需几行代码即可加载该模型。有关访问模型的信息,您可以点击模型页面上的“在 Library 中使用”按钮来查看具体方法。例如,distilbert/distilgpt2 在下方展示了如何使用 🤗 Transformers 来实现。


使用 Hugging Face 客户端库
您可以使用 huggingface_hub 库来创建、删除、更新和获取仓库信息。例如,要从命令行下载 HuggingFaceH4/zephyr-7b-beta 模型,请运行
hf download HuggingFaceH4/zephyr-7b-beta
有关更多信息,请参阅 CLI 下载文档。
你也可以将其集成到你自己的库中。例如,只需几行代码即可快速加载一个 Scikit-learn 模型。
from huggingface_hub import hf_hub_download
import joblib
REPO_ID = "YOUR_REPO_ID"
FILENAME = "sklearn_model.joblib"
model = joblib.load(
hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
)使用 Git
由于 Model Hub 上的所有模型都是基于 Xet 的 Git 仓库,您可以通过安装 git-xet并运行以下命令来在本地克隆模型:
git xet install
git lfs install
git clone git@hf.co:<MODEL ID> # example: git clone git@hf.co:bigscience/bloom如果您对特定的模型仓库具有写入权限,您还可以提交并推送该模型的修订版本。
将您的 SSH 公钥添加到用户设置中,以推送更改和/或访问私有仓库。
更快的下载速度
测试您的下载速度
您可以在 fast.hf.co 上测试从 Hugging Face CDN 的下载速度。该工具会对最近的 HF 边缘服务器执行快速带宽测试,帮助您在调整任何设置之前了解基线吞吐量。
你也可以使用 hf-speedtest CLI 扩展直接在终端中测量下载速度:
hf extensions install julien-c/hf-speedtest hf speedtest
使用 hf_xet 实现自适应并发
hf_xet 是一个基于 Rust 的包,利用 Xet 存储后端 通过基于块的重复数据删除来优化文件传输。默认情况下,hf_xet 使用 自适应并发——它会根据实时网络状况自动调整并行传输流的数量,从保守的 1 个流开始,并在带宽允许的情况下扩展至 64 个并发流。
对于大多数机器(包括数据中心环境),默认设置已足以充分利用可用的网络带宽。对于拥有高带宽和快速磁盘的高级用户,HF_XET_HIGH_PERFORMANCE=1 会提高并发上限并增大内存缓冲区大小,这有助于在并行下载大量大文件时提升性能。
HF_XET_HIGH_PERFORMANCE=1 hf download ...
从 hf_xet 1.7.0 开始,下载缓冲区大小基于 hf_xet 可用的内存(包括容器内存限制),无论是否设置 HF_XET_HIGH_PERFORMANCE=1。在较早版本中,仅在内存至少为 64 GB 的机器上使用 HF_XET_HIGH_PERFORMANCE=1。有关所使用的值,请参阅 下载缓冲区。
使用 hf-mount
对于大型模型,你可以使用 hf-mount 将仓库挂载为本地文件系统,而无需下载整个仓库。文件是按需获取的——只有代码实际读取的字节才会通过网络传输。
brew install hf-mount hf-mount start repo openai-community/gpt2 /tmp/gpt2
仓库以只读方式挂载。有关完整的设置详情、后端选项和缓存,请参阅 挂载为本地文件系统。
在代理或防火墙后下载
如果您的网络通过防火墙或代理限制了出站流量,那么下载模型和数据集所需的不仅仅是 huggingface.co。文件内容来自独立的存储和 CDN 主机名,如果这些主机名无法访问,即使 huggingface.co 本身已在白名单中,from_pretrained / hf download 也会失败。
允许以下主机名(全部通过 HTTPS / 端口 443):
| 主机名 | 目的 |
|---|---|
huggingface.co | Hub API、元数据和下载重定向 |
cas-server.xethub.hf.co | Xet 协议 API,下载和上传(美国) |
cas-server.xethub-eu.hf.co | Xet 协议 API,下载和上传(欧盟) |
transfer.xethub.hf.co | Xet 存储下载 API(美国) |
transfer.xethub-eu.hf.co | Xet 存储下载 API(欧盟) |
us.aws.cdn.hf.co | CDN 边缘(美国) |
us.gcp.cdn.hf.co | CDN 边缘(美国) |
cdn-lfs-us-1.hf.co | LFS CDN(美国) |
cdn-lfs-eu-1.hf.co | LFS CDN(欧盟) |
下载会从
huggingface.co通过 HTTP 重定向到这些主机名,因此仅将huggingface.co加入白名单是不够的。下载过程中出现ReadTimeoutError(而非连接错误)通常意味着初始连接成功,但存储或 CDN 主机被阻止。
通配符的行为取决于您的代理如何匹配域名。许多企业代理将允许列表条目视为后缀匹配,可覆盖任意层级的子域名。如果您的代理也是如此,最简单的选项是将后缀
hf.co和huggingface.co加入允许列表——这将涵盖所有当前及未来的存储和 CDN 端点。如果您的代理仅支持单标签通配符(即
*.hf.co可以匹配cdn-lfs-us-1.hf.co,但无法匹配更深层的us.aws.cdn.hf.co或cas-server.xethub.hf.co), 请将上表中列出的显式主机名加入白名单。请注意,*.xethub.hf.co并不涵盖位于xethub-eu.hf.co下的欧盟主机,且*.cdn.hf.co也不涵盖 双标签的us.aws.cdn.hf.co/us.gcp.cdn.hf.co。
随着我们的存储和 CDN 基础设施不断演进,这些主机名可能会发生变化。如果您的安全策略允许,请将
hf.co和huggingface.co后缀(所有子域名)加入白名单,这样当特定端点变更时,您的规则就不会失效。
机器可读列表
上述主机名也以 JSON 格式发布在 https://huggingface.co/.well-known/meta.json,因此您可以基于它生成代理或防火墙规则,而无需手动复制表格。
Update on GitHub随着端点的添加和移除,该文件会发生变化。在构建规则时,请获取该文件,而不是固定使用某个副本。