VisCoder : Affinage des LLM pour la génération de code Python exécutable en visualisation
VisCoder: Fine-Tuning LLMs for Executable Python Visualization Code Generation
June 4, 2025
Auteurs: Yuansheng Ni, Ping Nie, Kai Zou, Xiang Yue, Wenhu Chen
cs.AI
Résumé
Les grands modèles de langage (LLMs) rencontrent souvent des difficultés avec les tâches de visualisation, telles que la création de diagrammes et de graphiques, où le succès dépend à la fois de la correction du code et de la sémantique visuelle. Les ensembles de données existants pour l'ajustement par instruction manquent de supervision basée sur l'exécution et offrent un support limité pour la correction itérative du code, ce qui entraîne une génération de graphiques fragile et peu fiable. Nous présentons VisCode-200K, un ensemble de données à grande échelle pour l'ajustement par instruction dédié à la visualisation en Python et à l'auto-correction. Il contient plus de 200 000 exemples provenant de deux sources : (1) des codes de traçage validés issus de dépôts open-source, associés à des instructions en langage naturel et à des graphiques rendus ; et (2) 45 000 dialogues de correction multi-tours provenant de Code-Feedback, permettant aux modèles de réviser des codes erronés en utilisant des retours d'exécution. Nous affinons Qwen2.5-Coder-Instruct sur VisCode-200K pour créer VisCoder, et l'évaluons sur PandasPlotBench. VisCoder surpasse significativement les modèles open-source de référence et approche les performances de modèles propriétaires comme GPT-4o-mini. Nous adoptons en outre un protocole d'évaluation par auto-débogage pour évaluer la réparation itérative, démontrant les avantages de l'apprentissage basé sur les retours pour la génération de code exécutable et visuellement précis.
English
Large language models (LLMs) often struggle with visualization tasks like
plotting diagrams, charts, where success depends on both code correctness and
visual semantics. Existing instruction-tuning datasets lack execution-grounded
supervision and offer limited support for iterative code correction, resulting
in fragile and unreliable plot generation. We present VisCode-200K, a
large-scale instruction tuning dataset for Python-based visualization and
self-correction. It contains over 200K examples from two sources: (1) validated
plotting code from open-source repositories, paired with natural language
instructions and rendered plots; and (2) 45K multi-turn correction dialogues
from Code-Feedback, enabling models to revise faulty code using runtime
feedback. We fine-tune Qwen2.5-Coder-Instruct on VisCode-200K to create
VisCoder, and evaluate it on PandasPlotBench. VisCoder significantly
outperforms strong open-source baselines and approaches the performance of
proprietary models like GPT-4o-mini. We further adopt a self-debug evaluation
protocol to assess iterative repair, demonstrating the benefits of
feedback-driven learning for executable, visually accurate code generation.