🦙Llama 4: 実行およびファインチューニング方法

標準的な量子化と比較して精度を回復する当社の動的 GGUF を使って、Llama 4 をローカルで実行する方法。

Llama-4-Scoutモデルは109Bパラメータですが、Maverickは402Bパラメータです。完全な非量子化バージョンは113GBのディスク容量を必要としますが、1.78ビット版は33.8GBを使用します(サイズが-75%削減)。 Maverick (402Bs) は422GBからわずか122GBに(-70%)。

circle-check

Scoutの1.78ビットは24GBのVRAM GPUに収まり、約20トークン/秒で高速推論が可能です。Maverickの1.78ビットは2台の48GB VRAM GPUに収まり、約40トークン/秒で高速推論が可能です。

当社の動的GGUFでは、精度とサイズの最適なトレードオフを確保するために、すべてのレイヤーを量子化するのではなく、例えばMoEレイヤーをより低いビットに選択的に量子化し、注意(attention)や他のレイヤーは4または6ビットのままにします。

circle-info

当社のすべてのGGUFモデルはキャリブレーションデータ(Scoutで約25万トークン、Maverickで100万トークン)を使用して量子化されており、標準的な量子化よりも精度が向上します。Unsloth imatrix quantsはllama.cppやOpen WebUIなどの一般的な推論エンジンと完全に互換性があります。

Scout - 最適な設定を用いたUnsloth動的GGUF:

MoE ビット数
タイプ
ディスクサイズ
リンク
詳細

1.78ビット

IQ1_S

33.8GB

2.06/1.56ビット

1.93ビット

IQ1_M

35.4GB

2.5/2.06/1.56

2.42ビット

IQ2_XXS

38.6GB

2.5/2.06ビット

2.71ビット

Q2_K_XL

42.2GB

3.5/2.5ビット

3.5ビット

Q3_K_XL

52.9GB

4.5/3.5ビット

4.5ビット

Q2_K_XL(動的2ビット量子化)や

65.6GB

5.5/4.5ビット

circle-info

最良の結果を得るには、2.42ビット(IQ2_XXS)またはそれ以上のバージョンを使用してください。

Maverick - 最適な設定を用いたUnsloth動的GGUF:

MoE ビット数
タイプ
ディスクサイズ
HFリンク

1.78ビット

IQ1_S

122GB

1.93ビット

IQ1_M

128GB

2.42ビット

IQ2_XXS

140GB

2.71ビット

Q2_K_XL

151B

3.5ビット

Q3_K_XL

193GB

4.5ビット

Q2_K_XL(動的2ビット量子化)や

243GB

⚙️ 公式推奨設定

Metaによると、推論の推奨設定は次のとおりです:

  • 温度(Temperature)0.6

  • Min_P を 0.01 に(オプションですが 0.01 がよく機能します。llama.cpp のデフォルトは 0.1)

  • Top_P 0.9

  • チャットテンプレート/プロンプト形式:

📖 チュートリアル:llama.cppでLlama-4-Scoutを実行する方法

  1. 最新の llama.cppGitHubで入手してくださいarrow-up-right。以下のビルド手順にも従うことができます。を変更してください -DGGML_CUDA=ON-DGGML_CUDA=OFF GPUを持っていない場合やCPUで推論したい場合は Apple Mac / Metalデバイスの場合、次を設定してください -DGGML_CUDA=OFF その後通常通り続行してください — Metalサポートはデフォルトで有効です。

  1. モデルをダウンロードするには(をインストールした後) モデルをダウンロードするには( )。Q4_K_Mや他の量子化バージョン(BF16フル精度など)を選択できます。その他のバージョンは: https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-GGUFarrow-up-right

  1. モデルを実行して任意のプロンプトを試してください。

  2. 編集 次の --threads 32 はCPUスレッドの数、 コンテキスト長のため(Llama 4は1000万のコンテキスト長をサポートします!)、 --n-gpu-layers 99 --n-gpu-layers 2

circle-check
circle-info

テストに関しては、残念ながら完全なBF16バージョン(量子化の有無にかかわらず)でFlappy BirdゲームやHeptagonテストを適切に完了させることはできませんでした。多くの推論プロバイダーを試し、imatrixを使ったり使わなかったり、他人の量子化を使ったり、通常のHugging Face推論を使ったりしましたが、この問題は継続しました。

複数回実行し、モデルにバグを修正させるように依頼することで、ほとんどの問題を解決できることがわかりました!

Llama 4 Maverickについては、RTX 4090を2枚(2 x 24GB)が最適です

🕵️ 興味深い洞察と問題点

Llama 4 Maverick(大型モデル)の量子化中に、1番目、3番目、45番目のMoEレイヤーが正しくキャリブレーションできないことが判明しました。Maverickは奇数レイヤーごとにMoEレイヤーを挿入するインタリーブ方式を使用しているため、Dense->MoE->Dense、といった構成になります。

キャリブレーションデータセットにより多くの珍しい言語を追加したり、キャリブレーションにScoutの25万トークンに対して100万トークンを使うなど試しましたが、問題は依然として残りました。これらのMoEレイヤーは3ビットと4ビットのままにすることにしました。

Llama 4 Scoutについては、ビジョンレイヤーを量子化すべきではなく、MoEルーターやいくつかの他のレイヤーを非量子化のままにするべきだとわかりました — これらを以下にアップロードします https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-dynamic-bnb-4bitarrow-up-right

また、次の変換も行う必要がありました: torch.nn.Parametertorch.nn.Linear MoEレイヤーで4ビット量子化を可能にするためです。これはまた、一般的なHugging Face実装を書き換えパッチする必要があったことを意味します。量子化したバージョンを以下にアップロードします https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-4bitarrow-up-righthttps://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-8bitarrow-up-right は8ビット用です。

Llama 4はチャンク化されたアテンションも使用するようになりました — 本質的にはスライディングウィンドウアテンションですが、8192の境界を越えて以前のトークンに注意を払わないことでやや効率的です。

最終更新

役に立ちましたか?