クラウド GPU で Hugging Face のモデルをダウンロードするには?

カバー画像:クラウド GPU で Hugging Face のモデルをダウンロード(hf download、トークン、ゲート付きモデル)

GPU インスタンスに SSH で接続し、pip install -U "huggingface_hub" で Hugging Face CLI をインストールします。ゲート付きまたは非公開のリポジトリならアクセストークンを HF_TOKEN として export し、hf download <org>/<model> --local-dir <folder> を実行します。ファイルは Hub からインスタンスへ直接届くので、手元のノート PC を経由しません。

2026-10-27 更新

このガイドは Hugging Face Hub の公式ドキュメント(CLI ガイド、ダウンロードガイド、環境変数、ゲート付きモデル、ユーザーアクセストークン)にもとづいており、いずれも 2026-10-27 に閲覧しました。GPU を借りて、推論、ファインチューニング、評価などのために SSH で自分でモデルを用意する方を対象にしています。

始める前に

  • Hugging Face アカウントとトークン:モデルがゲート付きまたは非公開の場合だけ必要です。公開リポジトリはトークンなしでダウンロードできます。
  • ゲート付きモデルへのアクセス申請はブラウザで行います。 Hugging Face の公式ドキュメントによると、“Requesting access can only be done from your browser”(アクセス申請はブラウザからのみ行えます)。自動承認ならすぐにアクセスできますが、そうでない場合は “the requests have to be approved manually by the authors, which can take more time”(作者による手動承認が必要で、時間がかかることがあります)とされています(Gated models、2026-10-27 閲覧)。インスタンスを起動したまま承認を待つことがないよう、デプロイ前に済ませておきましょう。
  • モデルに十分な VRAM を持つカード。 必要な VRAM はモデル、精度、ワークフローによって変わります。LLM を動かすのに必要な VRAM はどれくらいですか?をご覧ください。

ステップ 1:Raw GPU をデプロイして SSH で接続する

  1. /deploy を開き、Raw GPU を選びます。デプロイページでは “a raw GPU with JupyterLab + CUDA pre-installed. SSH access, root on a dedicated container, install any Python/CUDA libs you want.”(JupyterLab と CUDA がプリインストールされた素の GPU。SSH でアクセスでき、専用コンテナの root 権限で、好きな Python/CUDA ライブラリをインストールできます)と説明しています。

    CloudGPU のクイックデプロイページ。Inference タブ、Raw GPU の選択肢、モデルテンプレートのカード。

    CloudGPU のクイックデプロイページ。Inference タブ、Raw GPU の選択肢、モデルテンプレートのカード。

  2. カードを選びます。2026-10-27 時点で /pricing に掲載されていたカードには、RTX 5090 32G、RTX 4090 48G、RTX 4090 24G、RTX 3090 24G、A100 80G、A800 80G、H20 96G、RTX PRO 6000 96G があります。現在の料金は /pricing をご覧ください。

    "Rent a raw GPU" パネルで RTX 5090 を選択し、GPU 枚数の選択肢が表示されている画面。

    “Rent a raw GPU” パネルで RTX 5090 を選択し、GPU 枚数の選択肢が表示されている画面。

  3. インスタンスが稼働したら、ダッシュボードでそのインスタンスの SSH 接続情報(ユーザー、ホスト、ポート)を確認し、ノート PC から接続します:

    CloudGPU ダッシュボードの "My Active Instances"。稼働中のインスタンスがなく、クイックスタートの操作が表示されている画面。

    CloudGPU ダッシュボードの “My Active Instances”。稼働中のインスタンスがなく、クイックスタートの操作が表示されている画面。

ssh -p <port> <user>@<host>

ComfyUI、Ollama、LLaMA-Factory だけが必要なら、/docs にそれぞれのテンプレートがあります。このガイドでは、必要なものを SSH で自分でインストールする Raw GPU の方法を説明します。

ステップ 2:環境を確認する

nvidia-smi              # GPU name, driver version, VRAM
nvcc --version          # CUDA toolkit version, if the toolkit is on PATH
python3 --version
pip3 --version
df -h .                 # free space where you will download (check it, do not assume)
which hf                # prints a path only if the Hugging Face CLI is already installed

nvcc が見つからない場合、そのシェルでは CUDA ツールキットが PATH に入っていません。インスタンス上でツールキットのインストール先を探し、その bin フォルダーを PATH に追加してください(モデルのダウンロード自体に nvcc は不要です)。which hf が何も表示しない場合は CLI がまだインストールされていないので、ステップ 3 でインストールします。大きなダウンロードの前に、df -h . が示す空き容量とステップ 5 で確認するファイル一覧を比べてください。インスタンスのストレージ容量はここでは記載していないので、ご自身のインスタンスで確認してください。

ステップ 3:Hugging Face CLI をインストールする

Hugging Face の公式ドキュメントによると、CLI は pip またはスタンドアロンインストーラーでインストールできます(Command Line Interface、2026-10-27 閲覧):

pip3 install -U "huggingface_hub"
# or the standalone installer:
# curl -LsSf https://hf.co/cli/install.sh | bash
hf --help

プロジェクトを仮想環境で管理している場合は、先に作成して有効化し(python3 -m venv ~/venv && . ~/venv/bin/activate)、その中で pip の行を実行してください。インスタンスのシステム Python で pip3 がインストールを拒否する場合(たとえば “externally-managed-environment” エラー)は、仮想環境かスタンドアロンインストーラーを使ってください。

Hugging Face のダウンロードガイドによると、huggingface_hub 0.32.0 以降ではこれで hf_xet もインストールされ、転送はこのパッケージが担います(Download guide、2026-10-27 閲覧)。古いチュートリアルには hf_transfer をインストールして HF_HUB_ENABLE_HF_TRANSFER=1 を設定するよう書かれていますが、Hugging Face のドキュメントではこの変数は非推奨とされているため(Environment variables、2026-10-27 閲覧)、省略してかまいません。

多くのガイドに古いコマンド名 huggingface-cli が出てきますが、現在のドキュメントでは hf を使います(たとえば hf download、hf auth login)。

ステップ 4:トークンを設定する(ゲート付き・非公開モデルのみ)

公開リポジトリならこのステップは不要です。以下は Hugging Face の公式ドキュメントにもとづく手順です。

Hugging Face の設定の Access Tokens でトークンを作成します。公式ドキュメントによると、“when downloading private models”(非公開モデルのダウンロード時)には read トークンで十分で、fine-grained トークンは特定のモデルに限定できます(User access tokens、2026-10-27 閲覧)。トークンは、ゲート付きモデルへのアクセスを許可されたのと同じアカウントで作成してください。

インスタンス上では、シェル履歴に残るコマンドラインに直接打ち込まず、環境変数にトークンを入れます:

read -rs HF_TOKEN && export HF_TOKEN    # paste the token, press Enter; nothing is echoed
hf auth whoami                          # per the HF docs, prints your username if the token is valid

Hugging Face の環境変数のドキュメントによると、HF_TOKEN を設定すると “will overwrite the token stored on the machine”(マシンに保存されたトークンを上書きします)。そのため、以前の hf auth login で保存された古いトークンは使われません。インスタンスにトークンを保存したい場合は、hf auth login --token $HF_TOKEN で HF_HOME(既定は ~/.cache/huggingface)の下に保存されます。インスタンスに保存したものは破棄時にすべて削除されること、不要になったトークンは Hugging Face の設定で無効化することを覚えておいてください。

ステップ 5:ダウンロードする内容を確認する

モデルのリポジトリには、同じ重みが複数の形式で入っていることがよくあります(たとえば .safetensors と古い .bin ファイル、あるいは 1 つの GGUF リポジトリに多数の量子化版)。Hugging Face の公式ドキュメントによると、--dry-run は “lists all files to download on the repo and checks whether they are already downloaded or not”(リポジトリのダウンロード対象ファイルをすべて一覧にし、ダウンロード済みかどうかを確認します)。サイズも表示されます(Command Line Interface、2026-10-27 閲覧):

hf download Qwen/Qwen2.5-7B-Instruct --dry-run

一覧を見て必要なファイルを決め、合計サイズをステップ 2 の空き容量と比べてください。

ステップ 6:モデルをダウンロードする

長いダウンロードは tmux(または screen)の中で実行し、SSH 接続が切れても続くようにします:tmux new -s dl でセッションを作り、コマンドを実行してから Ctrl-b、続けて d でデタッチし、tmux attach -t dl で戻ります。ダウンロードを速くする方法はクラウド GPU でモデルのダウンロードを速くする方法をご覧ください。

リポジトリ全体を任意のフォルダーへ:

hf download Qwen/Qwen2.5-7B-Instruct --local-dir ~/models/qwen2.5-7b-instruct

必要なファイルだけ(Hugging Face CLI ドキュメントの --include と --exclude のパターンを使用):

hf download <org>/<model> --include "*.safetensors" "*.json" --local-dir ~/models/<model>

1 ファイルだけ(たとえば GGUF の量子化版 1 つ):

hf download <org>/<model>-GGUF <file-name>.gguf --local-dir ~/models

バージョンを固定して、次回も同じファイルを取得するには --revision <branch, tag or commit> を追加します。モデルではなくデータセットの場合は --repo-type dataset を追加します。

キャッシュとローカルフォルダーのどちらを使うか:--local-dir を付けないと、ファイルは Hugging Face のキャッシュ($HF_HOME/hub、既定は ~/.cache/huggingface/hub)に入り、CLI ドキュメントによると hf download は最後の行にローカルパスを表示します。transformers や diffusers などのライブラリはこのキャッシュを読むので、後で from_pretrained("Qwen/Qwen2.5-7B-Instruct") を実行しても再ダウンロードせずにファイルが見つかります。--local-dir を付けると、Hugging Face のダウンロードガイドによればファイルは “maintain their original file structure within the specified folder”(指定フォルダー内で元のファイル構成を保ちます)。リポジトリ ID ではなく普通のフォルダーパスを受け取るツールに向いています。キャッシュ全体を別のフォルダーに移すには、ダウンロード前に HF_HOME を設定します:

export HF_HOME=<your-folder>/hf-home

Hugging Face のドキュメントには、“will try to saturate the network bandwidth of this machine and utilize all CPU cores”(このマシンのネットワーク帯域を使い切り、すべての CPU コアを使おうとします)という任意の HF_XET_HIGH_PERFORMANCE=1 設定も記載されています:

HF_XET_HIGH_PERFORMANCE=1 hf download <org>/<model> --local-dir ~/models/<model>

ステップ 7:ファイルを検証してモデルを読み込む

Hugging Face の公式ドキュメントによると、hf cache verify はキャッシュのスナップショットや通常のローカルフォルダーのファイルを “against their checksums on the Hub”(Hub 上のチェックサムと照合して)確認します:

hf cache verify Qwen/Qwen2.5-7B-Instruct --local-dir ~/models/qwen2.5-7b-instruct
hf cache ls                         # what is in the cache (for downloads without --local-dir)

次に、フレームワークがファイルを読めるか簡単に確認します。たとえば transformers を使う場合(なければ先に pip3 install -U transformers でインストール):

python3 -c "from transformers import AutoConfig, AutoTokenizer; p='$HOME/models/qwen2.5-7b-instruct'; print(AutoConfig.from_pretrained(p).model_type); print(AutoTokenizer.from_pretrained(p)('hello'))"

モデルタイプとトークン ID が表示されれば、フレームワークはファイルを読めています。モデル全体を GPU に読み込むのは、ご自身の推論コードや学習コードで行ってください。

ステップ 8:インスタンスを破棄する前に

ダウンロードしたモデルはインスタンス上にあります。/terms には、インスタンスを破棄するとデータは完全に削除されると定められており、/docs には再開するには新しいインスタンスを作成すると記載されています。そのため、次のインスタンスでもう一度モデルをダウンロードする前提で計画してください(hf download のコマンドはスクリプトにまとめておくと便利です。起動時にセットアップスクリプトを実行する方法もご覧ください)。ファインチューニングした重み、アダプター、出力は破棄前にコピーしてください。たとえば hf upload <your-user>/<repo> <folder>(write トークンが必要)や、ノート PC への rsync/scp が使えます。

インスタンスは 1 分単位(切り上げ)、最低 1 分で課金され、ダウンロード中の時間も含まれます。インスタンスを破棄すると課金は止まります(/terms をご覧ください)。

トラブルシューティング

症状 確認すること 出典
401 / 403 または “gated repo” エラー ブラウザでモデルページを開き、自分のアカウントのアクセス申請が承認されているか確認します。hf auth whoami が同じアカウントを表示するか確認し、このシェルで HF_TOKEN が export されているか確かめます(設定された HF_TOKEN は保存済みトークンより優先されます) Gated models、Environment variables
pip install 後に hf: command not found pip のスクリプトフォルダーが PATH に入っていません。python3 -m pip show huggingface_hub を試すか、venv を有効化するか、スタンドアロンインストーラーを使います Command Line Interface
長いダウンロードでタイムアウトエラー 待ち時間を延ばします。たとえば export HF_HUB_DOWNLOAD_TIMEOUT=60(ドキュメント上の既定は 10 秒)を設定し、同じ hf download コマンドを再実行します。完了済みのファイルは再取得されません Environment variables
SSH が切れてダウンロードが止まった tmux の中で再実行します(ステップ 6)。ドキュメントによると、中断したダウンロードは .incomplete ファイルを残し、キャッシュ内のものは hf cache prune で削除できます Command Line Interface
“No space left on device” df -h . でインスタンスの空き容量を確認し(インスタンスによって異なるので、推測せず確認してください)、--include で必要なファイルだけをダウンロードし、使わないリポジトリは hf cache rm や hf cache prune で削除します Manage cache
--local-dir を使ったのにライブラリがモデルを再ダウンロードする ライブラリにはリポジトリ ID ではなくフォルダーパスを渡すか、--local-dir なしでダウンロードしてファイルをキャッシュに入れます Download guide

インスタンスで確認すること

Raw GPU インスタンスに何がインストールされているかは、ステップ 1 で引用したデプロイページの説明以外には記載していません。大きなダウンロードの前に、ご自身のインスタンスで次を確認してください:

  • which hf がパスを表示する:Hugging Face CLI はインストール済みです。何も表示されなければインストールします(ステップ 3)。
  • pip3 install -U "huggingface_hub" がエラーなく終わる。エラーになる場合は仮想環境かスタンドアロンインストーラーを使います(ステップ 3)。
  • hf download <repo> --dry-run が想定どおりのファイルを一覧表示し、df -h . にそれを収める空き容量がある(ステップ 2 とステップ 5)。
  • ゲート付きリポジトリでは、hf auth whoami がアクセスを許可されたアカウントを表示する(ステップ 4)。401 や 403 が出たらトラブルシューティングをご覧ください。
  • ダウンロード後、hf cache verify が欠落や変更のあるファイルを報告しない(ステップ 7)。

よくある質問

レンタル GPU に Hugging Face のモデルを直接ダウンロードできますか?

はい。インスタンスに SSH で接続し、pip install -U huggingface_hub で Hugging Face CLI をインストールして、リポジトリ ID を指定して hf download を実行します。ファイルは Hub からインスタンスへ直接届くので、ノート PC から何かをアップロードする必要はありません。

モデルのダウンロードに Hugging Face のトークンは必要ですか?

ゲート付きまたは非公開のリポジトリの場合だけ必要です。公開リポジトリはトークンなしでダウンロードできます。ゲート付きモデルでは、まずブラウザでモデルページからアクセスを申請し、同じアカウントで read トークンを作成して、インスタンス上で HF_TOKEN として export します。

ゲート付きモデルで 401 や 403 エラーが出るのはなぜですか?

多くの場合、アクセス申請がまだ承認されていない、トークンが別のアカウントのものである、または現在のシェルで HF_TOKEN が設定されていない、のいずれかです。ブラウザでモデルページを確認し、インスタンスで hf auth whoami を実行して、HF_TOKEN を改めて export してください。

Hugging Face のキャッシュと --local-dir のどちらを使うべきですか?

transformers や diffusers などのライブラリでリポジトリ ID を指定してモデルを読み込むなら、キャッシュ(既定、HF_HOME の下)を使います。ツールが普通のフォルダーパスを求めるなら --local-dir を使います。どちらもリポジトリの元のファイル構成を保ちます。

hf_transfer はまだ必要ですか?

いいえ。Hugging Face のドキュメントでは HF_HUB_ENABLE_HF_TRANSFER は非推奨とされており、現在の転送は huggingface_hub 0.32.0 以降と一緒にインストールされる hf_xet が担います。ドキュメントには任意の HF_XET_HIGH_PERFORMANCE=1 設定も記載されています。

ダウンロードしたモデルはインスタンスを破棄した後も残りますか?

いいえ。インスタンスを破棄するとデータは完全に削除されるため、新しいインスタンスでもう一度モデルをダウンロードします。ファインチューニングした重みや出力は、hf upload や rsync などで先にコピーしてください。インスタンスを破棄すると課金は止まります。詳しくは /terms をご覧ください。