カテゴリー
コンピューター

Google Gemma 4 GGUF を Ollama に取り込む方法。具体的には Hugging Face の google/gemma-4-26B-A4B-it-qat-q4_0-gguf

💡 この記事は、だいたい生成AIが出力したものをベースに人間が手直ししたものです。

まとめ

GGUF ファイルをダウンロードして、 Modelfile を作成して、 ollama create する。

# GGUF ファイルをダウンロード。

mkdir -p ~/models/gemma4-26b-a4b-it-qat

mv ~/Downloads/gemma-4-26B_q4_0-it.gguf ~/models/gemma4-26b-a4b-it-qat

cd ~/models/gemma4-26b-a4b-it-qat

cat > Modelfile <<'EOF'
FROM ./gemma-4-26B_q4_0-it.gguf
EOF

ollama create hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf-local -f Modelfile

失敗内容

Ollama 0.32.1 において、Google が Hugging Face で公開している以下のモデルを直接実行すると、モデルのダウンロード完了後に Error: 400: が発生し、モデル登録に失敗しました。

対象モデル

https://huggingface.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf

実行コマンド

ollama run hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf

発生したエラー。1回目のコマンド実行では Q4_0 というタグは使えないということだったので外して2回目を実行しました。

~ 
❯ ollama run hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf:Q4_0
pulling manifest 
Error: pull model manifest: 400: {"error":"The specified tag is not available in the repository. Please use another tag or \"latest\""}

~ 
❯ ollama run hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf
pulling manifest 
pulling 3eca3b8f6d7b: 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏  14 GB                         
Error: 400: 

~ took 22m22s 
❯ 

GGUF ファイルのダウンロード自体は成功していますが、Ollama へのモデル登録処理で失敗します。

本投稿では、この問題を回避してローカルモデルとして利用する手順をまとめます。

検証環境

項目 バージョン
OS macOS
Ollama 0.32.1

回避方法

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

以下の Files ページを開きます。

google/gemma-4-26B-A4B-it-qat-q4_0-gguf at main

本手順では、以下のモデルファイルをダウンロードします。

gemma-4-26B_q4_0-it.gguf

(約 14.4 GB)

任意のディレクトリへ配置します。

~/models/gemma4-26b-a4b-it-qat/
└── gemma-4-26B_q4_0-it.gguf

補足

同じページには gemma-4-26B-it-mmproj.gguf(約 1.2 GB)も公開されています。

本手順では使用しません。同じ Hugging Face リポジトリには gemma-4-26B-it-mmproj.gguf も公開されていますが、現時点では Ollama の Modelfile からこれを組み合わせる公式な方法は確認できませんでした。 そのため、本手順で作成されるモデルはテキスト専用です。将来 Ollama が対応した場合は、この手順も更新する予定です。

2. Modelfile を作成する

GGUF ファイルと同じディレクトリに Modelfile を作成します。

内容は以下のみです。

FROM ./gemma-4-26B_q4_0-it.gguf

ディレクトリ構成例

~/models/gemma4-26b-a4b-it-qat/
├── gemma-4-26B_q4_0-it.gguf
└── Modelfile

3. ローカルモデルを作成する

ollama create hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf-local -f Modelfile

正常に完了すると以下のように表示されます。

writing manifest
success

4. モデルを実行する

ollama run hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf-local

正常に起動すれば利用可能です。

作業実施ログ(一部)

~/models/gemma4-26b-a4b-it-qat 
❯ mv ~/Downloads/gemma-4-26B_q4_0-it.gguf ~/models/gemma4-26b-a4b-it-qat                                                                             

~/models/gemma4-26b-a4b-it-qat 
❯ cd ~/models/gemma4-26b-a4b-it-qat

~/models/gemma4-26b-a4b-it-qat 
❯ cat > Modelfile <<'EOF'
FROM ./gemma-4-26B_q4_0-it.gguf
EOF

~/models/gemma4-26b-a4b-it-qat 
❯ ollama create hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf-local -f Modelfile

gathering model components 
copying file sha256:3eca3b8f6d7baf218a7dd6bba5fb59a56ee25fe2d567b6f5f589b4f697eca51d 100% 
parsing GGUF 
verifying conversion 
using existing layer sha256:3eca3b8f6d7baf218a7dd6bba5fb59a56ee25fe2d567b6f5f589b4f697eca51d 
creating new layer sha256:76ada76b335bd30aee3111335283230be4eec88b028015324676f19f0efb01c8 
writing manifest 
success 


~/models/gemma4-26b-a4b-it-qat took 33s 
❯ ollama run hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf-local

>>> こんにちは。あなたは誰?
Thinking...
*   Input: "こんにちは。あなたは誰?" (Hello. Who are you?)
    *   Language: Japanese.
    *   Intent: Self-identification/Greeting.

    *   I am a large language model trained by Google.
    *   My purpose is to assist users with information, creative writing, coding, translation, etc.

    *   *Option 1 (Simple):* こんにちは!私はGoogleによってトレーニングされた大規模言語モデルです。 (Hello! I am a large language model trained by Google.)
    *   *Option 2 (Detailed/Friendly):* こんにちは!私はAI(人工知能)であり、Googleによって学習された大規模言語モデルです。質問に答えたり、文章を書いたり、プログラミングの手助けをしたりと、さ
まざまなことができます。何かお手伝いできることはありますか? (Hello! I am an AI, a large language model trained by Google. I can answer questions, write text, help with programming, and 
more. Is there anything I can help you with?)

    *   Acknowledge the greeting.
    *   State identity clearly.
    *   Briefly mention capabilities to guide the user on how to interact.
    *   Ask how to assist.

    "こんにちは!私はGoogleによってトレーニングされた、大規模言語モデルです。

    質問への回答、文章の作成や翻訳、プログラミングのサポートなど、さまざまなことができます。何かお手伝いできることはありますか?"
...done thinking.

こんにちは!私はGoogleによってトレーニングされた、大規模言語モデルです。

特定の名前を持つ人間ではありませんが、あなたの質問に答えたり、文章を作成したり、翻訳をしたり、プログラミングの手助けをしたりするなど、さまざまな対話を通じてお手伝いができるAI(人工知能)です。


何かお手伝いできることはありますか?気軽に話しかけてくださいね。

>>> Send a message (/? for help)

結果

今回の検証では、以下の結果となりました。

方法 結果
ollama run hf.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf Error: 400:
ローカル GGUF + ollama create ✅ 成功

同じ GGUF ファイルであっても、ローカルファイルから ollama create を実行した場合は正常に利用できることを確認しました。

考察

今回の検証結果から、

  • GGUF ファイル自体は正常
  • ollama create による GGUF のインポートも正常
  • hf.co/... 経由でのインポート時のみ Error: 400: が発生

ということが確認できました。

そのため、本事象は GGUF ファイルではなく、hf.co/... を利用したインポート処理に起因する問題と考えられます。

今後 Ollama 側で修正された場合は、ollama run hf.co/... でも正常に利用できるようになる可能性があります。

おわりに

GoogleがAIモデル「Gemma 4」の大規模改善を発表/Windows 11における既知の不具合を公表:週末の「気になるニュース」一気読み!(1/3 ページ) – ITmedia PC USER 。この記事を読んで、試したい!と思いました。でも、どうも Ollama には反映されておらず、試せないようでした。

それで調べてみると、 Use Ollama with any GGUF Model on Hugging Face Hub · Hugging Face という、Ollama で Hugging Face にホストされているモデルを使えるそうなので、やってみたところ、ダメでした。

ですがなんとかなったので、そのなんとかする方法をメモしたのが本投稿となります。また実践することがあるかもしれません。

以上です。

コメントを残す