license: gemma
library_name: transformers
pipeline_tag: image-text-to-text
extra_gated_heading: Hugging FaceでGemmaにアクセス
extra_gated_prompt: Hugging FaceでGemmaにアクセスするには、Googleの利用規約を確認し同意する必要があります。これを行うには、Hugging Faceにログインしていることを確認し、以下をクリックしてください。リクエストは即時処理されます。
extra_gated_button_content: ライセンスを確認
base_model: google/gemma-3-27b-pt
gemma-3-27b-it GGUFモデル
llama.cppでGemma 3 Visionを使用する方法
llama.cpp
でGemma 3 Visionの実験的サポートを利用するには、以下の手順に従ってください:
-
最新のllama.cppリポジトリをクローン:
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
-
Llama.cppをビルド:
通常通りllama.cppをビルド: https://github.com/ggml-org/llama.cpp#building-the-project
llama.cppのビルドが完了したら、./llama.cpp/build/bin/llama-gemma3-cliを選択したフォルダにコピーします。
- Gemma 3 ggufファイルをダウンロード:
https://huggingface.co/Mungert/gemma-3-4b-it-gguf/tree/main
名前がmmprojを含まないggufファイルを選択
例のggufファイル: https://huggingface.co/Mungert/gemma-3-4b-it-gguf/resolve/main/google_gemma-3-4b-it-q4_k_l.gguf
このファイルを選択したフォルダにコピーします。
- Gemma 3 mmprojファイルをダウンロード
https://huggingface.co/Mungert/gemma-3-4b-it-gguf/tree/main
名前がmmprojを含むファイルを選択
例のmmprojファイル: https://huggingface.co/Mungert/gemma-3-4b-it-gguf/resolve/main/google_gemma-3-4b-it-mmproj-bf16.gguf
このファイルを選択したフォルダにコピーします。
- 画像をggufファイルと同じフォルダにコピーするか、適切にパスを変更します。
以下の例では、ggufファイル、画像、llama-gemma-cliが同じフォルダにあります。
例の画像: image https://huggingface.co/Mungert/gemma-3-4b-it-gguf/resolve/main/car-1.jpg
このファイルを選択したフォルダにコピーします。
- CLIツールを実行:
選択したフォルダから:
llama-gemma3-cli -m google_gemma-3-4b-it-q4_k_l.gguf --mmproj google_gemma-3-4b-it-mmproj-bf16.gguf
チャットモードで実行中、利用可能なコマンド:
/image <path> 画像を読み込む
/clear チャット履歴をクリア
/quit または /exit プログラムを終了
> /image car-1.jpg
画像car-1.jpgをエンコード中
画像は46305 msでエンコードされました
画像は19302 msでデコードされました
> 画像は何についてですか
画像の内容を分析します:
**主題:** 主な主題は、高速道路を走る黒のポルシェパナメーラターボです。
**詳細:**
* **車:** 特徴的なリアデザイン、"PORSCHE"の文字、"Panamera Turbo"のバッジから識別できる、洗練された現代的なポルシェパナメーラターボです。ナンバープレートは"CVC-911"と表示されています。
* **設定:** 車は複数車線の高速道路上にあり、背景にはぼやけた木々、遠くの建物、曇り空が映っています。照明から夕暮れか夜明けと思われます。
* **動き:** 画像は車が動いている様子を捉えており、速度感を伝えるためにわずかなモーションブラーがあります。
**全体的な印象:** この画像は速度感、豪華さ、パワーを伝えています。車のデザインと性能を強調した、よく構成されたショットです。
画像の特定の部分についてより詳細に説明したり、構図を分析したりしますか?
IQ-DynamicGateによる超低ビット量子化(1-2ビット)
最新の量子化手法では、精度適応型量子化を導入し、超低ビットモデル(1-2ビット)においてベンチマークで証明された改善を実現しています。このアプローチでは、レイヤーごとの戦略を使用して精度を維持しながら、極端なメモリ効率を実現しています。
ベンチマークコンテキスト
すべてのテストはLlama-3-8B-Instructを使用して実施:
- 標準的なパープレキシティ評価パイプライン
- 2048トークンのコンテキストウィンドウ
- すべての量子化で同じプロンプトセットを使用
主な改善点
- 動的精度割り当て:
- 最初と最後の25%のレイヤー → IQ4_XS (選択されたレイヤー)
- 中間50% → IQ2_XXS/IQ3_S (効率向上)
- 重要なコンポーネントの保護:
- 埋め込み/出力レイヤーはQ5_Kを使用
- 標準1-2ビットと比べて誤差伝播を38%削減
量子化性能比較(Llama-3-8B)
量子化 |
標準PPL |
DynamicGate PPL |
Δ PPL |
標準サイズ |
DGサイズ |
Δサイズ |
標準速度 |
DG速度 |
IQ2_XXS |
11.30 |
9.84 |
-12.9% |
2.5G |
2.6G |
+0.1G |
234s |
246s |
IQ2_XS |
11.72 |
11.63 |
-0.8% |
2.7G |
2.8G |
+0.1G |
242s |
246s |
IQ2_S |
14.31 |
9.02 |
-36.9% |
2.7G |
2.9G |
+0.2G |
238s |
244s |
IQ1_M |
27.46 |
15.41 |
-43.9% |
2.2G |
2.5G |
+0.3G |
206s |
212s |
IQ1_S |
53.07 |
32.00 |
-39.7% |
2.1G |
2.4G |
+0.3G |
184s |
209s |
凡例:
- PPL = パープレキシティ(低いほど良い)
- Δ PPL = 標準からDynamicGateへの変化率
- 速度 = 推論時間(CPU avx2, 2048トークンコンテキスト)
- サイズ差は混合量子化のオーバーヘッドを反映
主な改善点:
- 🔥 IQ1_Mは43.9%のパープレキシティ改善(27.46 → 15.41)
- 🚀 IQ2_Sは36.9%のパープレキシティ改善で0.2GBのみ増加
- ⚡ IQ1_Sは1ビット量子化にもかかわらず39.7%の精度向上を維持
トレードオフ:
- すべてのバリアントでわずかなサイズ増加(0.1-0.3GB)
- 推論速度は同等(<5%の差)
これらのモデルを使用する場合
📌 GPU VRAMにモデルを収める
✔ メモリ制約のある展開
✔ 1-2ビットの誤差が許容できるCPUおよびエッジデバイス
✔ 超低ビット量子化の研究