🌠Qwen3 - Comment exécuter & affiner

Apprenez à exécuter et affiner Qwen3 localement avec Unsloth + nos quantifications dynamiques 2.0

Les nouveaux modèles Qwen3 de Qwen apportent des avancées de pointe en raisonnement, suivi des instructions, capacités d'agent et support multilingue.

circle-check

Tous les téléversements utilisent Unsloth Dynamic 2.0 pour des performances SOTA en MMLU 5-shot et divergence KL, ce qui signifie que vous pouvez exécuter et affiner des LLM Qwen quantifiés avec une perte d'exactitude minimale.

Nous avons également téléchargé Qwen3 avec une longueur de contexte native de 128K. Qwen y parvient en utilisant YaRN pour étendre sa fenêtre initiale de 40K à 128K.

Unslotharrow-up-right prend également désormais en charge le fine-tuning et Apprentissage par renforcement (RL) des modèles Qwen3 et Qwen3 MOE — 2x plus rapide, avec 70 % de VRAM en moins et des longueurs de contexte 8x plus longues. Affinez Qwen3 (14B) gratuitement en utilisant notre notebook Colab.arrow-up-right

Tutoriel d'exécution de Qwen3 Fine-tuning de Qwen3

Qwen3 - Unsloth Dynamic 2.0 avec des configurations optimales :

🖥️ Exécution de Qwen3

Pour atteindre des vitesses d'inférence de plus de 6 tokens par seconde, nous recommandons que votre mémoire disponible corresponde ou dépasse la taille du modèle que vous utilisez. Par exemple, un modèle quantifié 1-bit de 30 Go nécessite au moins 150 Go de mémoire. Le quant Q2_K_XL, qui fait 180 Go, nécessitera au moins 180 Go de mémoire unifiée (VRAM + RAM) ou 180 Go de RAM pour des performances optimales.

REMARQUE : Il est possible d'exécuter le modèle avec moins de mémoire totale que sa taille (c.-à-d. moins de VRAM, moins de RAM ou un total combiné inférieur). Cependant, cela se traduira par des vitesses d'inférence plus lentes. Une mémoire suffisante n'est nécessaire que si vous souhaitez maximiser le débit et obtenir les temps d'inférence les plus rapides.

⚙️ Paramètres recommandés officiels

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

Paramètres pour le mode Non-penser :
Paramètres pour le mode Penser :

Température = 0,7

Température = 0.6

Min_P = 0.0 (optionnel, mais 0.01 fonctionne bien, la valeur par défaut de llama.cpp est 0.1)

Min_P = 0.0

Top_P = 0,8

Top_P = 0,95

TopK = 20

TopK = 20

Format du modèle de chat/du prompt :

circle-check
circle-exclamation

Basculer entre les modes Penser et Non-Penser

Les modèles Qwen3 disposent d'un « mode penser » intégré pour renforcer le raisonnement et améliorer la qualité des réponses - similaire à la façon dont QwQ-32B fonctionnait. Les instructions pour basculer diffèreront selon le moteur d'inférence que vous utilisez, veillez donc à utiliser les instructions correctes.

Instructions pour llama.cpp et Ollama :

Vous pouvez ajouter /think et /no_think aux prompts utilisateur ou aux messages système pour basculer le mode penser du modèle d'un tour à l'autre. Le modèle respectera l'instruction la plus récente dans les conversations à plusieurs tours.

Voici un exemple de conversation à plusieurs tours :

Instructions pour transformers et vLLM :

Mode penser :

enable_thinking=True

Par défaut, Qwen3 a le mode penser activé. Lorsque vous appelez tokenizer.apply_chat_template, vous n'avez pas besoin de définir quoi que ce soit manuellement.

En mode penser, le modèle générera un bloc supplémentaire <think>...</think> avant la réponse finale — cela lui permet de « planifier » et d'affiner ses réponses.

Mode non-penser :

enable_thinking=False

Activer le mode non-penser fera que Qwen3 sautera toutes les étapes de réflexion et se comportera comme un LLM normal.

Ce mode fournira directement des réponses finales — pas de <think> blocs, pas de chaîne de pensée.

🦙 Ollama : Exécuter le tutoriel Qwen3

  1. Installez ollama si vous ne l'avez pas encore fait ! Vous ne pouvez exécuter que des modèles jusqu'à 32B. Pour exécuter le modèle complet 235B-A22B, voir ici.

  1. Exécutez le modèle ! Notez que vous pouvez appeler ollama servedans un autre terminal s'il échoue ! Nous incluons toutes nos corrections et paramètres suggérés (température, etc.) dans params dans notre téléversement Hugging Face !

  1. Pour désactiver la réflexion, utilisez (ou vous pouvez le définir dans le prompt système) :

circle-exclamation

📖 Llama.cpp : Exécuter le tutoriel Qwen3

  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.

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

Pour désactiver la réflexion, utilisez (ou vous pouvez le définir dans le prompt système) :

Exécution de Qwen3-235B-A22B

Pour Qwen3-235B-A22B, nous utiliserons spécifiquement Llama.cpp pour une inférence optimisée et une pléthore d'options.

  1. Pour Qwen3-VL-235B-A22B, nous utiliserons llama.cpp pour une inférence optimisée et une pléthore d'options.

  2. Téléchargez le modèle via (après avoir installé pip install huggingface_hub hf_transfer Nous suivons des étapes similaires à ci-dessus cependant cette fois nous devrons également effectuer des étapes supplémentaires car le modèle est si volumineux.

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

  4. éditer --threads 32 pour le nombre de threads CPU, --ctx-size 16384 pour la longueur de contexte, --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

🦥 Fine-tuning de Qwen3 avec Unsloth

Unsloth rend le fine-tuning de Qwen3 2x plus rapide, utilise 70 % moins de VRAM et prend en charge des longueurs de contexte 8x plus longues. Qwen3 (14B) tient confortablement sur un GPU Tesla T4 de 16 Go VRAM dans Google Colab.

Parce que Qwen3 prend en charge à la fois le raisonnement et le non-raisonnement, vous pouvez l'affiner avec un jeu de données non-raisonnement, mais cela peut affecter sa capacité de raisonnement. Si vous souhaitez conserver ses capacités de raisonnement (optionnel), vous pouvez utiliser un mélange de réponses directes et d'exemples de chaînes de pensée. Utilisez 75 % de raisonnement et 25 % sans raisonnement dans votre jeu de données pour que le modèle conserve ses capacités de raisonnement.

Notre notebook conversationnel utilise un mélange de 75 % du jeu de données open-math-reasoning de NVIDIA et 25 % du jeu de données FineTome de Maxime (non-raisonnement). Voici des notebooks Colab Unsloth gratuits pour affiner Qwen3 :

Si vous avez une ancienne version d'Unsloth et/ou si vous effectuez le fine-tuning localement, installez la dernière version d'Unsloth :

Fine-tuning des modèles Qwen3 MOE

Le support de fine-tuning inclut les modèles MOE : 30B-A3B et 235B-A22B. Qwen3-30B-A3B fonctionne avec seulement 17,5 Go de VRAM avec Unsloth. Lors de l'affinage des MoE - il n'est probablement pas judicieux d'affiner la couche de routeur, donc nous l'avons désactivée par défaut.

Le 30B-A3B tient dans 17,5 Go de VRAM, mais il se peut que vous manquiez de RAM ou d'espace disque car le modèle complet en 16 bits doit être téléchargé et converti en 4 bits à la volée pour le fine-tuning QLoRA. Cela est dû à des problèmes d'importation directe des modèles MOE 4 bits BnB. Cela n'affecte que les modèles MOE.

Guide du notebook :

Pour utiliser les notebooks, cliquez simplement sur Runtime, puis Run all. Vous pouvez changer les paramètres dans le notebook comme bon vous semble. Nous les avons définis automatiquement par défaut. Changez le nom du modèle selon votre préférence en le faisant correspondre au nom du modèle sur Hugging Face par ex. 'unsloth/Qwen3-8B' ou 'unsloth/Qwen3-0.6B-unsloth-bnb-4bit'.

Il existe d'autres paramètres que vous pouvez activer/désactiver :

  • max_seq_length = 2048 – Contrôle la longueur du contexte. Bien que Qwen3 supporte 40960, nous recommandons 2048 pour les tests. Unsloth permet un fine-tuning sur des contextes 8× plus longs.

  • load_in_4bit = True – Active la quantification 4 bits, réduisant l'utilisation de la mémoire par 4× pour le fine-tuning sur des GPU 16 Go.

  • Pour fine-tuning complet - définir full_finetuning = True et fine-tuning 8 bits - définir load_in_8bit = True

Si vous souhaitez lire un guide complet de bout en bout sur l'utilisation des notebooks Unsloth pour le fine-tuning ou simplement apprendre le fine-tuning, la création de – Nous pouvons charger le jeu de données Elise en utilisant la etc., consultez notre guide complet ici:

🧬Fine-tuning Guidechevron-right📈Guide des jeux de donnéeschevron-right

GRPO avec Qwen3

Nous avons créé un nouveau notebook GRPO avancé pour le fine-tuning de Qwen3. Apprenez à utiliser notre nouvelle fonction de récompense basée sur la proximité (réponses plus proches = récompensées) et le jeu de données Open-R1 math de Hugging Face. Unsloth dispose désormais également de meilleures évaluations et utilise la dernière version de vLLM.

Qwen3 (4B)arrow-up-right notebook - GRPO LoRA avancé

Apprenez à propos de :

  • Activer le raisonnement dans Qwen3 (Base)+ et le guider pour accomplir une tâche spécifique

  • Pré-affinage pour contourner la tendance de GRPO à apprendre le formatage

  • Amélioration de la précision d'évaluation via une nouvelle correspondance regex

  • Modèles GRPO personnalisés au-delà de juste 'think' par ex. <start_working_out></end_working_out>

  • Notation basée sur la proximité : de meilleures réponses gagnent plus de points (par ex., prédire 9 lorsque la réponse est 10) et les valeurs aberrantes sont pénalisées

Mis à jour

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