🌠Qwen3-VL : Guide pour exécution

Apprenez à affiner et exécuter Qwen3-VL localement avec Unsloth.

Qwen3-VL est les nouveaux modèles de vision de Qwen avec instruire et réflexion versions. Les modèles 2B, 4B, 8B et 32B sont denses, tandis que 30B et 235B sont MoE. Le LLM 235B thinking offre des performances SOTA en vision et en codage rivalisant avec GPT-5 (high) et Gemini 2.5 Pro. Qwen3-VL dispose de capacités de vision, de vidéo et d'OCR ainsi que d'un contexte de 256K (peut être étendu à 1M). Unslotharrow-up-right prend en charge le fine-tuning de Qwen3-VL et RL. Entraînez Qwen3-VL (8B) gratuitement avec nos carnets.

Exécution de Qwen3-VLFine-tuning de Qwen3-VL

🖥️ Exécution de Qwen3-VL

Pour exécuter le modèle dans llama.cpp, vLLM, Ollama etc., voici les paramètres recommandés :

⚙️ Paramètres recommandés

Qwen recommande ces paramètres pour les deux modèles (ils sont un peu différents pour Instruct vs Thinking) :

Paramètres Instruct :
Paramètres Thinking :

Température = 0,7

Température = 1.0

Top_P = 0.8

Top_P = 0,95

presence_penalty = 1.5

presence_penalty = 0.0

Longueur de sortie = 32768 (jusqu'à 256K)

Longueur de sortie = 40960 (jusqu'à 256K)

Top_K = 20

Top_K = 20

Qwen3-VL a également utilisé les paramètres ci-dessous pour leurs chiffres de benchmark, comme mentionné sur GitHubarrow-up-right.

Paramètres Instruct :

export greedy='false'
export seed=3407
export top_p=0.8
export top_k=20
export temperature=0.7
export repetition_penalty=1.0
export presence_penalty=1.5
export out_seq_length=32768

Paramètres Thinking :

export greedy='false'
export seed=1234
export top_p=0.95
export top_k=20
export temperature=1.0
export repetition_penalty=1.0
export presence_penalty=0.0
export out_seq_length=40960

🐛Corrections de bugs du modèle de chat

Chez Unsloth, nous accordons la plus grande importance à la précision, nous avons donc enquêté sur la raison pour laquelle après le 2e tour d'exécution des modèles Thinking, llama.cpp se bloquait, comme montré ci-dessous :

Le code d'erreur :

terminate called after throwing an instance of 'std::runtime_error'
  what():  Value is not callable: null at row 63, column 78:
            {%- if '</think>' in content %}
                {%- set reasoning_content = ((content.split('</think>')|first).rstrip('\n').split('<think>')|last).lstrip('\n') %}
                                                                             ^

Nous avons corrigé avec succès le template de chat Thinking pour les modèles VL, nous avons donc re-téléversé tous les quants Thinking et les quants d'Unsloth. Ils devraient maintenant tous fonctionner après la 2e conversation - d'autres quants échoueront à se charger après la 2e conversation.

Téléversements Qwen3-VL Unsloth:

Qwen3-VL est désormais pris en charge pour les GGUF par llama.cpp depuis le 30 octobre 2025, vous pouvez donc les exécuter localement !

📖 Llama.cpp : Tutoriel pour exécuter Qwen3-VL

  1. Obtenez le dernier llama.cpp sur GitHub iciarrow-up-right. Vous pouvez également suivre les instructions de compilation ci-dessous. Changez -DGGML_CUDA=ON en -DGGML_CUDA=OFF si vous n'avez pas de GPU ou si vous souhaitez simplement une inférence CPU. Pour les appareils Apple Mac / Metal, définissez -DGGML_CUDA=OFF puis continuez normalement - le support Metal est activé par défaut.

  1. Commençons par obtenir une image ! Vous pouvez aussi téléverser des images. Nous allons utiliser https://raw.githubusercontent.com/unslothai/unsloth/refs/heads/main/images/unsloth%20made%20with%20love.pngarrow-up-right, qui n'est que notre mini logo montrant comment les finetunes sont faits avec Unsloth :

  1. Téléchargeons cette image

  1. Ensuite, utilisons la fonctionnalité de téléchargement automatique de modèles de llama.cpp, essayez ceci pour le modèle 8B Instruct :

  1. Une fois dedans, vous verrez l'écran ci-dessous :

  1. Chargez l'image via /image PATH c.-à-d. /image unsloth.png puis appuyez sur ENTRÉE

  1. Lorsque vous appuyez sur ENTRÉE, il dira "unsloth.png image loaded"

  1. Maintenant posons une question comme "Qu'est-ce que cette image ?" :

  1. Maintenant chargez la photo 2 via /image picture.png puis appuyez sur ENTRÉE et demandez "Qu'est-ce que cette image ?"

  1. Et enfin demandons comment les deux images sont liées (ça fonctionne !)

  1. Vous pouvez également télécharger le modèle via (après avoir installé pip install huggingface_hub hf_transfer ) le snapshot_download de HuggingFace, qui est utile pour les téléchargements de gros modèles, puisque le téléchargeur automatique de llama.cpp peut être lent.

  1. local_dir = "unsloth/Qwen3-VL-8B-Instruct-GGUF", # Ou "unsloth/Qwen3-VL-8B-Thinking-GGUF" Exécutez le modèle et essayez n'importe quel prompt.

  1. --mmproj unsloth/Qwen3-VL-8B-Instruct-GGUF/mmproj-F16.gguf \:

🪄--presence-penalty 0.0 \

Exécution de Qwen3-VL-235B-A22B et Qwen3-VL-30B-A3B

  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 à celles ci‑dessus, cependant cette fois nous devrons également effectuer des étapes supplémentaires car le modèle est si volumineux.

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

Instruct :

Thinking :

  1. --mmproj unsloth/Qwen3-VL-235B-A22B-Thinking-GGUF/mmproj-F16.gguf \ --ctx-size 16384 pour la longueur de contexte, --n-gpu-layers 99 pour le déchargement sur GPU du nombre de couches. Essayez de l'ajuster si votre GPU manque de mémoire. Supprimez-le également si vous avez uniquement une inférence CPU.

circle-check

Optionnellement, utilisez

🐋 Docker : Exécuter Qwen3-VL

docker model pull hf.co/unsloth/Qwen3-VL-8B-Instruct-GGUF:UD-Q4_K_XL

docker model run ai/qwen3-vl Fine-tuning de Qwen3-VL

🦥

circle-check

Si vous voulez utiliser un autre modèle Qwen3-VL, changez simplement le modèle 8B pour le 2B, 32B, etc.

L'objectif du carnet GRPO est de faire résoudre par un modèle vision-langage des problèmes de mathématiques via RL à partir d'une image en entrée comme ci‑dessous : Ce support Qwen3-VL intègre également notre dernière mise à jour pour un RL encore plus économe en mémoire et plus rapide incluant notrefonctionnalité Standby , qui limite de manière unique la dégradation de la vitesse par rapport à d'autres implémentations. Vous pouvez en lire plus sur la façon d'entraîner des VLM avec RL dans notre.

guide VLM GRPO

Entraînement multi-images

convert_to_conversation,

ds_converted = [convert_to_converation(sample) for sample in dataset]

Mis à jour

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