Hub documentation
モデルのダウンロード
モデルのダウンロード
統合ライブラリ
Hub上のモデルが対応ライブラリに紐付けられている場合、モデルの読み込みは数行のコードで完了します。モデルへのアクセス方法については、モデルページの「Use in 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公開鍵をユーザー設定に追加してください。
より高速なダウンロード
ダウンロード速度をテストする
Hugging Face の CDN からのダウンロード速度は、fast.hf.co でテストできます。これは最寄りの 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_HIGH_PERFORMANCE=1 を使用する場合としない場合を問わず、コンテナのメモリ制限を含む hf_xet が使用可能なメモリに基づいて決定されます。以前のバージョンでは、HF_XET_HIGH_PERFORMANCE=1 は、少なくとも 64 GB の RAM を備えたマシンでのみ使用してください。使用される値については、ダウンロードバッファ を参照してください。
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、ダウンロードおよびアップロード(EU) |
transfer.xethub.hf.co | Xet ストレージのダウンロード API(米国) |
transfer.xethub-eu.hf.co | Xet ストレージのダウンロード API(EU) |
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 (EU) |
ダウンロードは
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配下の EU ホストをカバーしておらず、*.cdn.hf.coは 2 ラベルのus.aws.cdn.hf.co/us.gcp.cdn.hf.coをカバーしていません。
これらのホスト名は、ストレージおよびCDNインフラストラクチャの進化に伴い変更される可能性があります。セキュリティポリシーが許可する場合は、
hf.coおよびhuggingface.coサフィックス(すべてのサブドメイン)を許可リストに追加してください。これにより、特定のエンドポイントが変更されてもルールが破綻しません。
機械可読リスト
上記のホスト名は、https://huggingface.co/.well-known/meta.json でも JSON として公開されています。
そのため、テーブルを手動でコピーする代わりに、この JSON からプロキシやファイアウォールのルールを生成できます。
Update on GitHubエンドポイントが追加・削除されるたびにファイルの内容が変更されます。コピーを固定するのではなく、ルールを構築する際に取得してください。