🦙Llama 4: Ausführen & Finetunen

Wie man Llama 4 lokal mit unseren dynamischen GGUFs ausführt, die Genauigkeit im Vergleich zur Standardquantisierung wiederherstellen.

Das Llama-4-Scout-Modell hat 109 Milliarden Parameter, während Maverick 402 Milliarden Parameter hat. Die vollständige unquantisierte Version benötigt 113 GB Festplattenspeicher, während die 1,78-Bit-Version 33,8 GB verwendet (-75% Größenreduktion). Maverick (402Bs) ging von 422 GB auf nur 122 GB (-70%).

circle-check

Scout 1,78-Bit passt in eine 24GB-VRAM-GPU für schnelle Inferenz mit ~20 Token/Sek. Maverick 1,78-Bit passt in 2x48GB-VRAM-GPUs für schnelle Inferenz mit ~40 Token/Sek.

Für unsere dynamischen GGUFs quantisieren wir nicht alle Schichten, um das beste Verhältnis von Genauigkeit und Größe zu gewährleisten, sondern quantisieren selektiv z. B. die MoE-Schichten auf niedrigere Bits und lassen Attention- und andere Schichten in 4- oder 6-Bit.

circle-info

Alle unsere GGUF-Modelle werden mit Kalibrierdaten quantisiert (etwa 250K Token für Scout und 1M Token für Maverick), was die Genauigkeit gegenüber Standardquantisierung verbessert. Unsloth imatrix-Quants sind vollständig kompatibel mit gängigen Inferenz-Engines wie llama.cpp & Open WebUI usw.

Scout - Unsloth Dynamische GGUFs mit optimalen Konfigurationen:

MoE-Bits
Typ
Platten-/Festplattengröße
Link
Details

1,78bit

IQ1_S

33,8GB

2,06/1,56bit

1,93bit

IQ1_M

35,4GB

2.5/2.06/1.56

2,42bit

IQ2_XXS

38,6GB

2,5/2,06bit

2,71bit

Q2_K_XL

42,2GB

3,5/2,5bit

3,5bit

Q3_K_XL

52,9GB

4,5/3,5bit

4,5bit

Q4_K_XL

65,6GB

5,5/4,5bit

circle-info

Für beste Ergebnisse verwenden Sie die 2,42-Bit (IQ2_XXS) oder größere Versionen.

Maverick - Unsloth Dynamische GGUFs mit optimalen Konfigurationen:

MoE-Bits
Typ
Platten-/Festplattengröße
HF-Link

1,78bit

IQ1_S

122GB

1,93bit

IQ1_M

128GB

2,42-Bit

IQ2_XXS

140GB

2,71-Bit

Q2_K_XL

151B

3,5-Bit

Q3_K_XL

193GB

4,5-Bit

Q4_K_XL

243GB

⚙️ Offiziell empfohlene Einstellungen

Laut Meta sind dies die empfohlenen Einstellungen für die Inferenz:

  • Temperatur von 0,6

  • Min_P von 0,01 (optional, aber 0,01 funktioniert gut, llama.cpp-Standard ist 0,1)

  • Top_P von 0,9

  • Chat-Vorlage/Prompt-Format:

📖 Tutorial: Wie man Llama-4-Scout in llama.cpp ausführt

  1. Holen Sie sich die neueste llama.cpp auf GitHub hierarrow-up-right. Sie können auch den unten stehenden Build-Anweisungen folgen. Ändern Sie -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn Sie keine GPU haben oder nur CPU-Inferenz wünschen.

  1. Laden Sie das Modell herunter über (nach Installation von pip install huggingface_hub hf_transfer ). Du kannst Q4_K_M wählen oder andere quantisierte Versionen (wie BF16 in voller Präzision). Weitere Versionen unter: https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-GGUFarrow-up-right

  1. Führe das Modell aus und probiere beliebige Prompts.

  2. Bearbeiten --threads 32 für die Anzahl der CPU-Threads bearbeiten, --ctx-size 16384 für Kontextlänge (Llama 4 unterstützt 10M Kontextlänge!), --n-gpu-layers 99 für das GPU-Offloading für wie viele Schichten. Versuchen Sie, es anzupassen, wenn Ihre GPU nicht mehr genügend Speicher hat. Entfernen Sie es auch, wenn Sie nur CPU-Inferenz haben.

circle-check
circle-info

Beim Testen konnten wir leider nicht erreichen, dass die vollständige BF16-Version (d. h. unabhängig von Quantisierung oder nicht) das Flappy-Bird-Spiel oder den Heptagon-Test korrekt abschließt. Wir haben viele Inferenz-Anbieter ausprobiert, mit oder ohne imatrix, Quants anderer Personen verwendet und die normale Hugging Face-Inferenz genutzt, und das Problem besteht weiterhin.

Wir fanden mehrere Durchläufe und baten das Modell, Fehler zu finden und zu beheben, um die meisten Probleme zu lösen!

Für Llama 4 Maverick ist es am besten, 2 RTX 4090s (2 x 24GB) zu haben

🕵️ Interessante Erkenntnisse und Probleme

Während der Quantisierung von Llama 4 Maverick (dem großen Modell) stellten wir fest, dass die 1., 3. und 45. MoE-Schicht nicht korrekt kalibriert werden konnten. Maverick verwendet versetzte MoE-Schichten für jede ungerade Schicht, also Dense->MoE->Dense und so weiter.

Wir versuchten, ungewöhnlichere Sprachen in unseren Kalibrierdatensatz aufzunehmen und verwendeten mehr Token (1 Million) gegenüber Scouts 250K Token zur Kalibrierung, aber wir fanden weiterhin Probleme. Wir entschieden uns, diese MoE-Schichten als 3-Bit und 4-Bit zu belassen.

Für Llama 4 Scout stellten wir fest, dass wir die Vision-Schichten nicht quantisieren sollten und den MoE-Router sowie einige andere Schichten unquantisiert lassen sollten - wir laden diese hoch zu https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-dynamic-bnb-4bitarrow-up-right

Wir mussten außerdem konvertieren torch.nn.Parameter zu torch.nn.Linear für die MoE-Schichten, um 4-Bit-Quantisierung zu ermöglichen. Das bedeutete auch, dass wir die generische Hugging Face-Implementation umschreiben und patchen mussten. Wir laden unsere quantisierten Versionen hoch zu https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-4bitarrow-up-right und https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-8bitarrow-up-right für 8-Bit.

Llama 4 verwendet jetzt auch chunked Attention – es ist im Wesentlichen Sliding-Window-Attention, aber etwas effizienter, da nicht auf vorherige Tokens über die 8192-Grenze hinweg geachtet wird.

Zuletzt aktualisiert

War das hilfreich?