- L’équipe de recherche Qwen d’Alibaba a annoncé Qwen2.5-Coder, une série de LLM open source (licence Apache 2.0)
- Le modèle Qwen2.5-Coder-32B-Instruct affirme offrir des capacités de programmation au niveau de GPT-4o
- Le modèle 32B reste relativement compact au point de pouvoir fonctionner même sur un MacBook Pro M2 avec 64 Go de mémoire
- Dans les benchmarks, il obtient des scores comparables ou supérieurs à ceux de GPT-4o et Claude 3.5 Sonnet
Comparaison des performances sur benchmarks
- Le modèle Qwen2.5-Coder-32B-Instruct se distingue dans les benchmarks suivants :
- Sur LiveCodeBench, Spider et BIRD-SQL, il surpasse GPT-4o et Claude 3.5 Sonnet
- Sur MBPP, Aider et CodeArena, il est légèrement en retrait
- Sur HumanEval et McEval, il affiche des performances d’un niveau similaire
Performances sur le benchmark Aider
- Il a également obtenu de bons résultats sur le benchmark Aider de Paul Gauthier
- Sur le benchmark « Whole edit », Qwen2.5-Coder-32B-Instruct se situe entre GPT-4o et 3.5 Haiku
- Comparaison des scores :
- 3.5 Sonnet : 84 %
- 3.5 Haiku : 75 %
- Qwen2.5-Coder 32B : 74 %
- GPT-4o : 71 %
- Qwen2.5-Coder 14B : 69 %
- Qwen2.5-Coder 7B : 58 %
- Sur le benchmark « Diff », il est à égalité avec GPT-4o et légèrement derrière Claude 3.5 Haiku
Test d’exécution de Qwen2.5-Coder sur Mac
- L’utilisateur a essayé d’exécuter le modèle Qwen2.5-Coder-32B-Instruct-GGUF Q8 avec llm-gguf, mais comme le GPU n’était pas utilisé, les performances étaient lentes
- Les versions Ollama et MLX fonctionnent bien sur MacBook
- Méthode d’installation avec Ollama :
- Télécharger un fichier quantifié de 20 Go avec la commande
ollama pull qwen2.5-coder:32b
- Pour une demande de génération de fonction Python, cela a bien fonctionné, à l’exception d’un problème lié à ssl
- Utilisation de MLX :
- Les performances s’améliorent grâce au framework MLX d’Apple Silicon
- Le code de génération d’une fractale de Mandelbrot a été exécuté dans le terminal avec succès, sous forme d’ASCII art
- Indicateurs de performance :
- Vitesse de génération : 10.016 tokens/sec
- Utilisation mémoire : jusqu’à 32.685 Go
Test supplémentaire : benchmark Pelican on a bicycle
- Exécution de la requête
llm -m qwen2.5-coder:32b 'Generate an SVG of a pelican riding a bicycle'
- Le résultat était une image SVG de pélican et de vélo à la forme peu claire, mais l’expérience restait intéressante du point de vue utilisateur
Conclusion et retour d’expérience
- Une utilisation mémoire d’environ 32 Go reste compatible avec une exécution sur Mac, sans devoir fermer d’autres applications
- En termes de vitesse et de qualité des résultats, le modèle est à un niveau compétitif face aux modèles hébergés actuels
- Comme 80 % de l’usage des LLM par l’utilisateur concerne l’écriture de code, Qwen2.5-Coder semble constituer une amélioration significative
1 commentaires
C’est un cas d’usage un peu différent de celui du codage, mais je trouve fascinant de voir comment le mode JSON de Claude a été implémenté. Même quand on pousse certains modèles hébergés à produire une sortie JSON, ils finissent parfois par générer du JavaScript commenté ou du texte en Markdown. D’après les quelques expériences que j’ai eues avec des modèles hébergés, utiliser un service managé donnait des résultats plus satisfaisants. J’ai l’impression qu’il y a encore quelque chose de plus qu’un modèle hébergé ne permet pas de reproduire.