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

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

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

circle-check

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

私たちの動的GGUFでは、精度とサイズの最良のトレードオフを確保するために、すべてのレイヤーを量子化するのではなく、選択的に量子化します。例えばMoEレイヤーをより低ビットにし、アテンションやその他のレイヤーは4ビットまたは6ビットのままにします。

circle-info

すべてのGGUFモデルはキャリブレーションデータ(Scoutで約250Kトークン、Maverickで約1Mトークン)を使って量子化されており、標準的な量子化より精度が向上します。Unsloth imatrixの量子は、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ビット

Q4_K_XL

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ビット

Q4_K_XL

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 推論のみを行いたい場合は。

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

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

  2. 編集 --threads 32 でCPUスレッド数を編集できます、 --ctx-size 16384 コンテキスト長(Llama 4は10Mのコンテキスト長をサポートします!)のために、 --n-gpu-layers 99 で何層をGPUにオフロードするかを指定します。GPUがメモリ不足になる場合は調整してみてください。CPUのみの推論の場合はこれを削除してください。

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の250Kトークンに対してMaverickでは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.Parameter から torch.nn.Linear MoEレイヤーで4ビット量子化を可能にするためです。これにより、汎用のHugging Face実装を書き換え、パッチを当てる必要もありました。量子化したバージョンを次にアップロードしています https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-4bitarrow-up-right および https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-8bitarrow-up-right は8ビット用です。

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

最終更新

役に立ちましたか?