🦙Llama 4: Ausführen und feinabstimmen
So führst du Llama 4 lokal mit unseren dynamischen GGUFs aus, die im Vergleich zur Standardquantisierung die Genauigkeit wiederherstellen.
Das Modell Llama-4-Scout hat 109B Parameter, während Maverick 402B Parameter hat. Die vollständige unquantisierte Version benötigt 113 GB Speicherplatz, während die 1,78-Bit-Version 33,8 GB verwendet (-75 % Größenreduktion). Maverick (402Bs) sank von 422 GB auf nur 122 GB (-70 %).
Sowohl Text ALS AUCH Vision- wird jetzt unterstützt! Außerdem mehrere Verbesserungen beim Tool-Aufruf.
Scout mit 1,78 Bit passt auf eine 24-GB-VRAM-GPU für schnelle Inferenz mit ~20 Tokens/Sek. Maverick mit 1,78 Bit passt auf 2x48-GB-VRAM-GPUs für schnelle Inferenz mit ~40 Tokens/Sek.
Für unsere dynamischen GGUFs quantisieren wir, um den besten Kompromiss zwischen Genauigkeit und Größe zu gewährleisten, nicht alle Layer, sondern quantisieren ausgewählte Layer, z. B. die MoE-Layer, auf niedrigere Bitbreite und lassen Attention- und andere Layer auf 4 oder 6 Bit.
Alle unsere GGUF-Modelle werden mit Kalibrierungsdaten quantisiert (etwa 250K Tokens für Scout und 1M Tokens für Maverick), was die Genauigkeit gegenüber der Standardquantisierung verbessert. Die Unsloth-imatrix-Quants sind vollständig kompatibel mit beliebten Inferenz-Engines wie llama.cpp, Open WebUI usw.
Scout - Unsloth Dynamic GGUFs mit optimalen Konfigurationen:
Für beste Ergebnisse verwenden Sie die 2,42-Bit-(IQ2_XXS)- oder größeren Versionen.
Maverick - Unsloth Dynamic GGUFs mit optimalen Konfigurationen:
⚙️ Offizielle 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; der Standardwert von llama.cpp ist 0,1)
Top_P von 0,9
Chat-Vorlage/Prompt-Format:
Ein BOS-Token von
<|begin_of_text|>wird während der Tokenisierung automatisch hinzugefügt (NICHT manuell hinzufügen!)Laut https://www.llama.com/docs/model-cards-and-prompt-formats/llama4_omni/, es gibt einen vorgeschlagenen optionalen System-Prompt, der unten aufgeführt ist:
📖 Tutorial: So führen Sie Llama-4-Scout in llama.cpp aus
Hole dir die neueste
llama.cppauf GitHub hier. Du kannst auch den untenstehenden Build-Anweisungen folgen. Ändere-DGGML_CUDA=ONzu-DGGML_CUDA=OFFwenn du keine GPU hast oder nur CPU-Inferenz möchtest. Für Apple Mac / Metal-Geräte, setze-DGGML_CUDA=OFFund fahre dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.
Lade das Modell herunter über (nach der Installation von
pip install huggingface_hub hf_transfer). Sie können Q4_K_M oder andere quantisierte Versionen wählen (wie BF16 Vollpräzision). Weitere Versionen unter: https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-GGUF
Führen Sie das Modell aus und probieren Sie einen beliebigen Prompt aus.
Bearbeiten
--threads 32für die Anzahl der CPU-Threads bearbeiten,--ctx-size 16384für die Kontextlänge (Llama 4 unterstützt eine Kontextlänge von 10 Mio.!),--n-gpu-layers 99für GPU-Offloading, also für wie viele Layer. Versuchen Sie, dies anzupassen, wenn Ihrem GPU-Speicher der Platz ausgeht. Entfernen Sie es auch, wenn Sie nur CPU-Inferenz haben.
Verwende -ot ".ffn_.*_exps.=CPU" verwenden, um alle MoE-Layer auf die CPU auszulagern! Dadurch können Sie effektiv alle Nicht-MoE-Layer auf 1 GPU unterbringen, was die Generierungsgeschwindigkeit verbessert. Sie können den Regex-Ausdruck anpassen, um mehr Layer unterzubringen, wenn Sie mehr GPU-Kapazität haben.
In Bezug auf das Testen konnten wir leider die vollständige BF16-Version (also unabhängig davon, ob quantisiert oder nicht) weder das Flappy-Bird-Spiel noch den Heptagon-Test ordnungsgemäß abschließen lassen. Wir haben viele Inferenzanbieter ausprobiert, mit und ohne imatrix, Quants anderer Leute verwendet und auch die normale Hugging-Face-Inferenz genutzt, und dieses Problem besteht weiterhin.
Wir haben festgestellt, dass mehrere Durchläufe und das Bitten des Modells, Fehler zu beheben und zu finden, die meisten Probleme lösen!
Für Llama 4 Maverick ist es am besten, 2 RTX 4090s (2 x 24 GB) 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-Layer nicht korrekt kalibriert werden konnten. Maverick verwendet für jede ungerade Schicht ineinander verschachtelte MoE-Layer, also Dense->MoE->Dense und so weiter.
Wir haben versucht, unserer Kalibrierungsdatensatz mehr seltene Sprachen hinzuzufügen, und haben mehr Tokens (1 Million) im Vergleich zu Scouts 250K Tokens für die Kalibrierung verwendet, aber wir haben weiterhin Probleme festgestellt. Wir beschlossen, diese MoE-Layer auf 3 Bit und 4 Bit zu belassen.

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

Wir mussten außerdem torch.nn.Parameter zu torch.nn.Linear für die MoE-Layer umwandeln, damit eine 4-Bit-Quantisierung erfolgen kann. Das bedeutet auch, dass wir die allgemeine Hugging-Face-Implementierung neu schreiben und patchen mussten. Wir laden unsere quantisierten Versionen hoch zu https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-4bit und https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-8bit für 8 Bit.

Llama 4 verwendet jetzt auch Chunked Attention – im Wesentlichen ist das Sliding-Window-Attention, aber etwas effizienter, da bei Tokens vor der 8192-Grenze nicht auf sie geachtet wird.
Zuletzt aktualisiert
War das hilfreich?

