quantized_by: bartowski
pipeline_tag: image-text-to-text
tags:
- gemma3
- gemma
- google
license: gemma
extra_gated_button_content: ライセンスを確認
extra_gated_heading: Hugging FaceでGemmaにアクセス
extra_gated_prompt: >-
Hugging FaceでGemmaにアクセスするには、Googleの使用ライセンスを確認し同意する必要があります。
これを行うには、Hugging Faceにログインしていることを確認し、以下をクリックしてください。
リクエストは即座に処理されます。
base_model: google/gemma-3-4b-it-qat-q4_0-unquantized
Googleのgemma-3-4b-it-qatに対するLlamacpp imatrix量子化
これらはGoogleが提供したQAT(量子化対応トレーニング)ウェイトから派生しています
Q4_0のみが改善されると予想されますが、ついでに他の量子化も試してみました
gemma-3-4b-it-qat-Q4_0.gguf | Q4_0 | 2.37GB | false | QATにより改善されるはず、ARMおよびAVX CPU推論用のオンライン再パッキングを提供。
量子化にはllama.cppのリリースb5147を使用。
オリジナルモデル: https://huggingface.co/google/gemma-3-4b-it-qat-q4_0-unquantized
すべての量子化はこちらのデータセットを使用してimatrixオプションで作成されました
LM Studioで実行可能
llama.cppまたは他のllama.cppベースのプロジェクトで直接実行可能
プロンプト形式
<bos><start_of_turn>user
{system_prompt}
{prompt}<end_of_turn>
<start_of_turn>model
<end_of_turn>
<start_of_turn>model
以下のファイルをダウンロード(ブランチ全体ではなく):
埋め込み/出力ウェイト
これらの量子化の一部(Q3_K_XL、Q4_K_Lなど)は、埋め込みと出力ウェイトが通常のデフォルトではなくQ8_0で量子化された標準的な量子化手法です。
huggingface-cliを使用したダウンロード
クリックしてダウンロード手順を表示
まず、huggingface-cliがインストールされていることを確認してください:
pip install -U "huggingface_hub[cli]"
次に、特定のファイルをターゲットにできます:
huggingface-cli download bartowski/google_gemma-3-4b-it-qat-GGUF --include "google_gemma-3-4b-it-qat-Q4_K_M.gguf" --local-dir ./
モデルが50GBを超える場合、複数のファイルに分割されています。すべてをローカルフォルダにダウンロードするには、以下を実行します:
huggingface-cli download bartowski/google_gemma-3-4b-it-qat-GGUF --include "google_gemma-3-4b-it-qat-Q8_0/*" --local-dir ./
新しいlocal-dir(google_gemma-3-4b-it-qat-Q8_0)を指定するか、すべてをその場(./)にダウンロードできます
ARM/AVX情報
以前は、Q4_0_4_4/4_8/8_8をダウンロードし、これらのウェイトはメモリ内でインターリーブされ、ARMおよびAVXマシンでのパフォーマンスを向上させるために一度により多くのデータをロードしていました。
しかし、現在はウェイトの「オンライン再パッキング」と呼ばれる機能があります。詳細はこのPRにあります。Q4_0を使用し、ハードウェアがウェイトの再パッキングの恩恵を受ける場合、自動的にオンザフライで行われます。
llama.cppビルドb4282以降、Q4_0_X_Xファイルを実行できず、代わりにQ4_0を使用する必要があります。
さらに、このPRのおかげで、IQ4_NLを使用するとARM用のウェイトも再パッキングされ(現時点では4_4のみ)、品質がわずかに向上します。ロード時間は遅くなる可能性がありますが、全体的な速度向上が得られます。
クリックしてQ4_0_X_X情報を表示(非推奨)
このセクションは、Q4_0とオンライン再パッキングを使用した場合の潜在的な理論上のパフォーマンス向上を示すために保持しています。
クリックしてAVX2システム(EPYC7702)でのベンチマークを表示
モデル |
サイズ |
パラメータ |
バックエンド |
スレッド |
テスト |
t/s |
% (vs Q4_0) |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
pp512 |
204.03 ± 1.03 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
pp1024 |
282.92 ± 0.19 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
pp2048 |
259.49 ± 0.44 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
tg128 |
39.12 ± 0.27 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
tg256 |
39.31 ± 0.69 |
100% |
qwen2 3B Q4_0 |
1.70 GiB |
3.09 B |
CPU |
64 |
tg512 |
40.52 ± 0.03 |
100% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
pp512 |
301.02 ± 1.74 |
147% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
pp1024 |
287.23 ± 0.20 |
101% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
pp2048 |
262.77 ± 1.81 |
101% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
tg128 |
18.80 ± 0.99 |
48% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
tg256 |
24.46 ± 3.04 |
83% |
qwen2 3B Q4_K_M |
1.79 GiB |
3.09 B |
CPU |
64 |
tg512 |
36.32 ± 3.59 |
90% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
pp512 |
271.71 ± 3.53 |
133% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
pp1024 |
279.86 ± 45.63 |
100% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
pp2048 |
320.77 ± 5.00 |
124% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
tg128 |
43.51 ± 0.05 |
111% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
tg256 |
43.35 ± 0.09 |
110% |
qwen2 3B Q4_0_8_8 |
1.69 GiB |
3.09 B |
CPU |
64 |
tg512 |
42.60 ± 0.31 |
105% |
Q4_0_8_8はプロンプト処理に良い向上をもたらし、テキスト生成にもわずかな向上をもたらします
どのファイルを選ぶべきか?
詳細はこちら
Artefact2によるさまざまなパフォーマンスを示すチャート付きの優れた説明がこちらにあります
最初に、実行できるモデルの大きさを把握する必要があります。これを行うには、RAMやVRAMの量を把握する必要があります。
モデルを可能な限り高速に実行したい場合は、モデル全体をGPUのVRAMに収める必要があります。GPUの総VRAMより1-2GB小さい量子化を選択してください。
絶対的な最高品質を求めたい場合は、システムRAMとGPUのVRAMを合計し、同様に合計より1-2GB小さい量子化を選択してください。
次に、「I-quant」または「K-quant」のどちらを使用するかを決定する必要があります。
あまり考えたくない場合は、K-quantのいずれかを選択してください。これらは「QX_K_X」形式で、Q5_K_Mなどです。
さらに詳しく知りたい場合は、この非常に便利な機能チャートを確認してください:
llama.cpp機能マトリックス
基本的に、Q4以下を目指していて、cuBLAS(Nvidia)またはrocBLAS(AMD)を使用している場合は、I-quantを検討する必要があります。これらはIQX_X形式で、IQ3_Mなどです。これらは新しく、サイズに対してより優れたパフォーマンスを提供します。
これらのI-quantはCPUでも使用できますが、K-quant相当よりも遅くなるため、速度とパフォーマンスのトレードオフを決定する必要があります。
クレジット
imatrixキャリブレーションデータセットの作成に協力してくれたkalomazeとDampfに感謝します。
embed/outputの実験にインスピレーションを与えてくれたZeroWwに感謝します。
私の仕事を支援してくれたLM Studioに感謝します。
私の仕事をサポートしたいですか?私のko-fiページをご覧ください: https://ko-fi.com/bartowski