🦙Llama 4 : Comment exécuter & affiner

Comment exécuter Llama 4 localement en utilisant nos GGUF dynamiques qui récupèrent la précision par rapport à la quantification standard.

Le modèle Llama-4-Scout a 109 milliards de paramètres, tandis que Maverick en a 402 milliards. La version complète non quantifiée nécessite 113 Go d'espace disque tandis que la version en 1,78 bits utilise 33,8 Go (-75 % de réduction de taille). Maverick (402Bs) est passé de 422 Go à seulement 122 Go (-70 %).

circle-check

Scout 1,78 bit tient dans un GPU avec 24 Go de VRAM pour une inférence rapide à ~20 tokens/s. Maverick 1,78 bit tient dans 2 GPU de 48 Go VRAM pour une inférence rapide à ~40 tokens/s.

Pour nos GGUF dynamiques, afin d'assurer le meilleur compromis entre précision et taille, nous ne quantifions pas toutes les couches, mais quantifions sélectivement par exemple les couches MoE à un nombre de bits inférieur, et laissons l'attention et d'autres couches en 4 ou 6 bits.

circle-info

Tous nos modèles GGUF sont quantifiés en utilisant des données de calibration (environ 250K tokens pour Scout et 1M tokens pour Maverick), ce qui améliorera la précision par rapport à une quantification standard. Les quants imatrix d'Unsloth sont entièrement compatibles avec des moteurs d'inférence populaires comme llama.cpp et Open WebUI, etc.

Scout - GGUF dynamiques Unsloth avec configurations optimales :

Bits MoE
Type
Taille sur disque
Lien
Détails

1,78 bit

IQ1_S

33,8GB

2,06/1,56 bit

1,93 bit

IQ1_M

35,4GB

2.5/2.06/1.56

2,42 bit

IQ2_XXS

38,6GB

2,5/2,06 bit

2,71 bit

Q2_K_XL

42,2GB

3,5/2,5 bit

3,5 bit

Q3_K_XL

52,9GB

4,5/3,5 bit

4,5 bit

Q4_K_XL

65,6GB

5,5/4,5 bit

circle-info

Pour de meilleurs résultats, utilisez les versions 2,42 bits (IQ2_XXS) ou supérieures.

Maverick - GGUF dynamiques Unsloth avec configurations optimales :

Bits MoE
Type
Taille sur disque
Lien HF

1,78 bit

IQ1_S

122GB

1,93 bit

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

⚙️ Paramètres recommandés officiels

Selon Meta, voici les paramètres recommandés pour l'inférence :

  • Température de 0,6

  • Min_P de 0,01 (optionnel, mais 0,01 fonctionne bien, la valeur par défaut de llama.cpp est 0,1)

  • Top_P de 0,9

  • Format du modèle de chat/du prompt :

📖 Tutoriel : Comment exécuter Llama-4-Scout dans llama.cpp

  1. Obtenez le dernier llama.cpp sur GitHub iciarrow-up-right. Vous pouvez suivre les instructions de compilation ci-dessous également. Changez -DGGML_CUDA=ON en -DGGML_CUDA=OFF si vous n'avez pas de GPU ou si vous voulez simplement une inférence CPU.

  1. Téléchargez le modèle via (après avoir installé pip install huggingface_hub hf_transfer ). Vous pouvez choisir Q4_K_M, ou d'autres versions quantifiées (comme BF16 pleine précision). Plus de versions sur : https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-GGUFarrow-up-right

  1. allow_patterns = ["*UD-Q4_K_XL*"],

  2. éditer --threads 32 pour le nombre de threads CPU, --ctx-size 16384 pour la longueur de contexte (Llama 4 prend en charge une longueur de contexte de 10M !), --n-gpu-layers 99 pour le déchargement GPU sur le nombre de couches. Essayez de l'ajuster si votre GPU manque de mémoire. Supprimez-le également si vous n'avez qu'une inférence CPU.

circle-check
circle-info

En termes de tests, malheureusement nous ne pouvons pas faire en sorte que la version BF16 complète (c’est-à-dire indépendamment de la quantification ou non) complète correctement le jeu Flappy Bird ni le test Heptagon. Nous avons essayé de nombreux fournisseurs d'inférence, en utilisant imatrix ou non, utilisé les quants d'autres personnes, et utilisé l'inférence Hugging Face normale, et ce problème persiste.

Nous avons effectué plusieurs exécutions et demandé au modèle de corriger et de trouver des bugs pour résoudre la plupart des problèmes !

Pour Llama 4 Maverick - il est préférable d'avoir 2 RTX 4090 (2 x 24 Go)

🕵️ Aperçus et problèmes intéressants

Lors de la quantification de Llama 4 Maverick (le grand modèle), nous avons constaté que les couches MoE 1, 3 et 45 ne pouvaient pas être calibrées correctement. Maverick utilise des couches MoE en alternance pour chaque couche impaire, donc Dense->MoE->Dense, et ainsi de suite.

Nous avons essayé d'ajouter des langues moins courantes à notre jeu de données de calibration, et essayé d'utiliser plus de tokens (1 million) contre les 250K tokens de Scout pour la calibration, mais nous avons toujours rencontré des problèmes. Nous avons décidé de laisser ces couches MoE en 3 bits et 4 bits.

Pour Llama 4 Scout, nous avons constaté que nous ne devrions pas quantifier les couches de vision, et laisser le routeur MoE et certaines autres couches non quantifiées - nous les téléversons sur https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-dynamic-bnb-4bitarrow-up-right

Nous avons également dû convertir torch.nn.Parameter en torch.nn.Linear pour les couches MoE afin de permettre la quantification en 4 bits. Cela signifie également que nous avons dû réécrire et patcher l’implémentation générique de Hugging Face. Nous téléversons nos versions quantifiées sur https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-4bitarrow-up-right et https://huggingface.co/unsloth/Llama-4-Scout-17B-16E-Instruct-unsloth-bnb-8bitarrow-up-right pour le 8 bits.

Llama 4 utilise désormais également une attention segmentée - c'est essentiellement une attention en fenêtre glissante, mais légèrement plus efficace en n'attendant pas les tokens précédents au-delà de la limite de 8192.

Mis à jour

Ce contenu vous a-t-il été utile ?