OllamaにHugging FaceのGGUFモデルをインポートする方法|hf.co直接ロードとModelfileを使ったカスタムモデル追加手順

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)ローカルLLM > OllamaにHugging FaceのGGUFモデルをインポートする方法|hf.co直接ロードとModelfileを使ったカスタムモデル追加手順
「Ollamaの公式ライブラリにないモデルを使いたいが、どうやってインポートすればいいのかわからない」
「Hugging Faceで見つけたGGUFファイルをOllamaに追加しようとしたが、手順が複雑で途中で詰まってしまう」

そんな悩みを持つサーバー管理者・インフラエンジニアは多い。OllamaのデフォルトライブラリはLlama3.3・Mistral・Gemma 3など主要モデルをカバーするが、日本語特化モデルや特定業種向けにファインチューニングされたモデル、あるいは社内で独自に作成したGGUFを使いたい場面では、自前でインポートする手順が必要になる。
この記事では、Hugging FaceのGGUFモデルをOllamaに追加する2つの方法——①hf.co形式のURLによる直接ロード、②GGUFファイルを手動ダウンロードしてModelfileでインポートする方法——をUbuntu Server 24.04で動作確認した手順で解説する。どちらを使うべきかの判断基準と、インポート後のモデル管理・エラー対処もあわせて説明する。

この記事のポイント

・ollama pull hf.co/ユーザー名/リポジトリ:タグ でHugging Faceの任意GGUFを直接取得できる
・GGUFファイルをダウンロードして FROM ./model.gguf と書いたModelfileから ollama create で登録する
・インポート後は ollama ls・ollama show・ollama rm でモデルを一元管理できる
・hf.co直接ロードはGGUFがリポジトリルートにあるパブリックリポジトリのみ対応


OllamaにHugging FaceのGGUFモデルをインポートする方法|hf.co直接ロードとModelfileを使ったカスタムモデル追加手順

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

なぜHugging FaceのGGUFモデルをOllamaで使うのか

Ollamaの公式ライブラリ(ollama.com/library)は手軽で便利だが、掲載モデルには限りがある。Llama3.3・Mistral・Gemma 3・Phi-4など主要ファミリーは揃っているものの、日本語に最適化されたモデルや研究機関が新たに公開した実験的モデル、量子化バリエーションの細かい選択肢は必ずしも揃っていない。

こうしたモデルの多くはHugging Faceに GGUF形式で公開されている。GGUFはllama.cppエコシステムが策定したモデルフォーマットで、OllamaはGGUFを直接インポートできるよう設計されている。つまりHugging Faceで公開されている数万本のGGUFモデルを、手順さえ覚えればOllamaで動かせるようになる。

なお、Ollamaの基本的な構築手順がまだの場合は「Ubuntu ServerでローカルLLMを構築する方法|Ollamaで機密データを外に出さず業務AIを動かす完全ガイド」を先に確認してほしい。

事前準備|Ollamaのバージョン確認と作業環境のチェック

Hugging FaceのGGUFモデルをhf.co形式で直接ロードする機能は、比較的新しいOllamaのリリースで追加されている。まず現在のバージョンと空き容量を確認しておく。

# Ollamaのバージョンを確認する $ ollama --version ollama version is 0.5.12 # Ollamaサービスが起動中か確認する $ systemctl is-active ollama active # ディスク空き容量を確認する(7Bモデルで4GB~8GB、70Bで40GB前後が必要) $ df -h /root/.ollama Filesystem Size Used Avail Use% Mounted on /dev/sda1 500G 80G 420G 17% /

Ollamaのモデルは標準で ~/.ollama/models/(rootで起動している場合は /root/.ollama/models/)に保存される。70Bクラスのモデルをq4_0量子化で保存すると40GB前後を消費するため、ダウンロード前に空き容量を必ず確認すること。

バージョンが古い場合は curl -fsSL https://ollama.com/install.sh | sh を再実行することで最新版に更新できる。更新前に ollama ps でモデルが実行中でないことを確認してから実施する。

方法①|hf.co形式でHugging FaceのGGUFモデルをOllamaに直接ロードする

現行のOllamaは、Hugging Face上のGGUFリポジトリを hf.co/ プレフィックス付きで直接指定できる。ファイルをローカルに手動ダウンロードする必要がなく、最も手軽な方法だ。

1. Hugging Face上のGGUFリポジトリを確認する

Hugging Faceのモデルページにアクセスし、「Files and versions」タブを開いて .gguf 拡張子のファイルが存在することを確認する。代表的なGGUFリポジトリとして bartowski(Llama3.3・Mistral・Gemma 3など主要モデルの量子化バリエーションを幅広く公開している)が知られている。

重要な確認点が1つある。hf.co形式が動作するのは「GGUFファイルがリポジトリのルートディレクトリに直接置かれているケース」に限られる。safetensors形式(.safetensors)や、GGUFがサブディレクトリ深くに格納されているリポジトリでは読み込めない。どのモデルを選ぶべきかについては「ローカルLLMのモデルを比較する方法|Llama3.3・Mistral・Gemma・Phi-4をUbuntuで使い分けるポイント」も参考になる。

2. hf.co形式のURLでollama pullを実行する

リポジトリとタグを確認したら、以下の書式で ollama pull を実行する。タグ部分にはGGUFファイル名に含まれる量子化識別子(Q4_K_M・Q8_0・Q4_0 など)を指定する。

# 書式: ollama pull hf.co/<ユーザー名>/<リポジトリ名>:<量子化タグ> # 例: bartowski氏のLlama3.3-70B GGUFリポジトリからQ4_K_Mを取得する $ ollama pull hf.co/bartowski/Llama-3.3-70B-Instruct-GGUF:Q4_K_M pulling manifest pulling 9dd1a234... 100% |███████████████| 43.0 GB/43.0 GB verifying sha256 digest writing manifest success # タグを省略するとリポジトリのデフォルト(通常Q4_K_M)が選ばれる $ ollama pull hf.co/bartowski/Mistral-7B-Instruct-v0.3-GGUF

タグに使う文字列(Q4_K_M、Q8_0、Q4_0 など)はHugging FaceのGGUFファイル名に対応している。たとえばファイル名が Llama-3.3-70B-Instruct-Q4_K_M.gguf なら、タグは Q4_K_M になる。なお、この大文字の量子化識別子はHugging Face固有の表記で、Ollamaネイティブのモデルタグ(llama3.3:70b-instruct-q4_0 のような小文字ハイフン形式)とは別の記法であることに注意する。

3. ロードしたモデルを起動して動作確認する

# インポートしたモデルを対話モードで起動する $ ollama run hf.co/bartowski/Llama-3.3-70B-Instruct-GGUF:Q4_K_M >>> サーバー管理者の仕事を一文で教えてください サーバー管理者とは、組織のITインフラを安定稼働させるために、 設置・設定・監視・障害対応を担う職種です。 >>> /bye

プロンプトが表示されれば正常にインポートできている。/bye で終了する。

方法②|GGUFファイルを手動ダウンロードしてModelfileでインポートする

hf.co形式で対応できないケース——GGUFがサブディレクトリに格納されている、プライベートリポジトリを使いたい、インターネット非接続の環境で展開したい——では、GGUFファイルを先にダウンロードしてからModelfileで取り込む方法を使う。

1. GGUFファイルをダウンロードする

Hugging Face公式CLIツール huggingface-clihuggingface_hubパッケージ)を使うとダウンロードが安定する。

# huggingface_hubをインストールする $ pip install huggingface_hub # 作業用ディレクトリを作成してそこへ移動する $ mkdir -p ~/gguf-models && cd ~/gguf-models # 特定のGGUFファイルだけをダウンロードする(リポジトリ全体ではなく対象ファイルのみ) $ huggingface-cli download bartowski/Llama-3.3-70B-Instruct-GGUF Llama-3.3-70B-Instruct-Q4_K_M.gguf --local-dir . # ダウンロードを確認する $ ls -lh *.gguf -rw-r--r-- 1 ubuntu ubuntu 43G Jul 14 10:30 Llama-3.3-70B-Instruct-Q4_K_M.gguf

wgetやcurlでも直接URLを指定してダウンロードできるが、Hugging Faceのリダイレクトや認証が絡むため huggingface-cli を使う方が確実だ。プライベートリポジトリの場合は huggingface-cli login でトークン認証を先に済ませること。

2. Modelfileを作成する

ダウンロードしたGGUFファイルを参照するModelfileを作成する。FROM ディレクティブにGGUFファイルのパスを指定する。

# Modelfileを作成する $ cat > ~/gguf-models/Modelfile << 'EOF' FROM ./Llama-3.3-70B-Instruct-Q4_K_M.gguf # コンテキストウィンドウサイズ(デフォルト2048。増やす場合はVRAMに余裕があることを確認) PARAMETER num_ctx 4096 # システムプロンプト(省略可。日本語応答を安定させたい場合は設定を推奨) SYSTEM "あなたは有能なアシスタントです。日本語で回答してください。" EOF # 内容を確認する $ cat ~/gguf-models/Modelfile FROM ./Llama-3.3-70B-Instruct-Q4_K_M.gguf PARAMETER num_ctx 4096 SYSTEM "あなたは有能なアシスタントです。日本語で回答してください。"

FROM に相対パスを使う場合、後の手順で ollama create をGGUFファイルと同じディレクトリから実行することが前提になる。絶対パスを指定すれば実行場所を選ばない(例: FROM /home/ubuntu/gguf-models/Llama-3.3-70B-Instruct-Q4_K_M.gguf)。

3. ollama createでモデルを登録する

# Modelfileのあるディレクトリでollama createを実行する $ cd ~/gguf-models $ ollama create llama3.3-custom:q4km -f Modelfile transferring model data using existing layer sha256:9dd1a234... creating new layer sha256:abc5678d... writing manifest success # 起動して動作を確認する $ ollama run llama3.3-custom:q4km >>> こんにちは こんにちは!何かお手伝いできることはありますか? >>> /bye

ollama create に指定するモデル名(上記では llama3.3-custom:q4km)は任意の名前を付けられる。Ollamaネイティブのタグ形式(小文字ハイフンのサフィックス)に揃えておくと管理しやすい。

4. インポートしたモデルの内部構成を確認する

# モデルの詳細情報を確認する $ ollama show llama3.3-custom:q4km Model architecture llama parameters 70.6B context length 4096 embedding length 8192 quantization Q4_K_M Parameters num_ctx 4096 stop "<|eot_id|>" System あなたは有能なアシスタントです。日本語で回答してください。 License META LLAMA 3.3 COMMUNITY LICENSE AGREEMENT

quantization 行でインポートしたGGUFの量子化レベルが確認できる。context length はModelfileで設定した num_ctx の値と一致していることを確認する。

インポート済みモデルの確認・管理・削除コマンド

インポートが増えてくると、どのモデルがどれだけのディスクを使っているかを把握する必要がある。Ollamaのモデル管理コマンドを整理しておく。

# インポート済みのモデル一覧とサイズ・更新日時を確認する $ ollama ls NAME ID SIZE MODIFIED hf.co/bartowski/Llama-3.3-70B-Instruct-GGUF:Q4_K_M 9dd1a234abc 43 GB 20 minutes ago llama3.3-custom:q4km abc5678def1 43 GB 5 minutes ago mistral:latest 7f2a3b1c2d4 4.1 GB 2 days ago # モデルを別名でコピーする(テスト用に複製したい場合) $ ollama cp llama3.3-custom:q4km llama3.3-custom:test # 使用中のモデルを確認する(削除前に必ずチェックする) $ ollama ps NAME ID SIZE PROCESSOR UNTIL (起動中のモデルがなければ何も表示されない) # 不要なモデルを削除する $ ollama rm llama3.3-custom:test deleted 'llama3.3-custom:test'

ollama ls で表示されるサイズはGGUFファイルに近い値が表示される。モデルの実体は /root/.ollama/models/blobs/ 以下にコンテンツハッシュで格納されているが、このディレクトリを直接削除してはいけない。必ず ollama rm 経由で削除する。直接削除するとOllamaのマニフェストと実ファイルの整合が崩れ、再インポートが必要になる。

インポート時の主なエラーと対処法

1. 「Error: pull model manifest: file does not exist」が出る

hf.co形式で指定したリポジトリ名またはタグが存在しないときに発生する。リポジトリ名のスペルミスか、量子化タグの記法誤りが原因のことが多い。

# エラー例:量子化タグの記法が誤っている $ ollama pull hf.co/bartowski/Llama-3.3-70B-Instruct-GGUF:Q4KM Error: pull model manifest: file does not exist # 正しい記法:Hugging FaceのFiles and versionsタブでGGUFファイル名を確認し # アンダースコアを含む完全な識別子を指定する $ ollama pull hf.co/bartowski/Llama-3.3-70B-Instruct-GGUF:Q4_K_M

2. 「Error: model requires more system memory」が出る

モデルのVRAMまたはRAM要件を満たしていないときに発生する。q4_0量子化の70BモデルはVRAM 40GB前後を要求するため、小容量GPUや非GPUサーバーでは動かない。量子化レベルを下げる(Q4_K_M → Q4_0)か、パラメータ数の少ないモデルに切り替えることを検討する。

3. ollama createが「unable to open model file」で失敗する

FROM ./model.gguf を使っているのに、GGUFファイルと異なるディレクトリから ollama create を実行したときに発生する。カレントディレクトリをGGUFファイルと同じ場所に移動してから再実行するか、Modelfileの FROM に絶対パスを指定する。

# NGパターン:GGUFがある場所と異なるディレクトリで実行している $ pwd /home/ubuntu $ ollama create mymodel -f ~/gguf-models/Modelfile Error: unable to open model file: open ./Llama-3.3-70B-Instruct-Q4_K_M.gguf: no such file or directory # OKパターン①:GGUFと同じディレクトリに移動してから実行する $ cd ~/gguf-models && ollama create mymodel -f Modelfile # OKパターン②:ModelfileのFROMに絶対パスを指定する # FROM /home/ubuntu/gguf-models/Llama-3.3-70B-Instruct-Q4_K_M.gguf

4. GGUFファイルが複数ファイルに分割されている

大規模モデルのなかには model-00001-of-00003.gguf のように分割されたGGUFで配布されているものがある。Ollamaの新しいリリース(0.5系以降)では先頭ファイルを FROM に指定するだけで分割GGUFを扱えるようになっている。動作しない場合は llama.cppllama-gguf-split コマンドで結合してからインポートを試みる。

方法①と方法②の使い分け基準

2つの方法には明確な使い分けがある。

hf.co直接ロード(方法①)が向く場面: パブリックリポジトリのGGUFを素早く試したい、チームの手順書をシンプルに保ちたい、インターネット接続があり常に最新タグを取得したい場合
手動ダウンロード+Modelfile(方法②)が向く場面: プライベートリポジトリを使う、インターネット非接続のオフライン環境で展開する、カスタムシステムプロンプトやコンテキストサイズを固定したい、社内NASに置いたGGUFを複数サーバーへ配布したい場合

セキュリティポリシーで外部通信を制限している企業では方法②が主流になる。GGUFファイルを1回だけ承認済みネットワークからダウンロードして社内NASに保管し、各サーバーで ollama create するフローにすれば、以後は外部通信なしでモデルを展開できる。社内ネットワーク向けのローカルLLM導入に関しては「社内でChatGPTが使えないときの代替手段|機密データを守るローカルLLMという選択肢」も参照してほしい。

本記事のまとめ

Hugging FaceのGGUFモデルをOllamaにインポートする2つの方法と、管理・エラー対処の手順を解説した。
やりたいこと コマンド
hf.co経由でGGUFモデルを取得する ollama pull hf.co/ユーザー名/リポジトリ:Q4_K_M
hf.coモデルをそのまま起動する ollama run hf.co/ユーザー名/リポジトリ:Q4_K_M
GGUFファイルからモデルを作成する ollama create モデル名 -f Modelfile
特定GGUFファイルだけダウンロードする huggingface-cli download リポジトリ ファイル名 --local-dir .
インポート済みモデルを一覧表示する ollama ls
モデルの詳細情報(量子化・パラメータ数)を確認する ollama show モデル名
モデルを別名でコピーする ollama cp コピー元 コピー先
モデルを削除する ollama rm モデル名
Ollamaの公式ライブラリはあくまで入口に過ぎない。GGUFインポートを習得すれば、Hugging Faceで公開されている膨大なモデルをローカルで動かす選択肢が一気に広がる。インポートしたモデルに業務特化のシステムプロンプトを組み合わせたい場合は、Modelfileの詳細な記法を解説した「OllamaのModelfileでカスタムモデルを作る方法」も参考にしてほしい。

HuggingFaceモデルのインポートから社内RAG構築まで実機ハンズオンで体験する

ローカルLLMの環境構築から運用まで、手順書を読むだけでなく実機GPU環境で手を動かしながら習得したい方向けに、「ローカルAIマスターセミナー」を開催しています。
少人数(最大8名)ZOOMハンズオン形式で実施しています。

>> ローカルAIマスターセミナーの詳細を確認する
ローカルLLMの構築・運用に関する関連記事もあわせて参考にしてください。

Ubuntu ServerでローカルLLMを構築する方法|Ollamaで機密データを外に出さず業務AIを動かす完全ガイド
社内でChatGPTが使えないときの代替手段|機密データを守るローカルLLMという選択肢
ローカルLLMのモデルを比較する方法|Llama3.3・Mistral・Gemma・Phi-4をUbuntuで使い分けるポイント

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。