VisCoder: Ajuste fino de LLMs para la generación de código ejecutable en Python para visualización
VisCoder: Fine-Tuning LLMs for Executable Python Visualization Code Generation
June 4, 2025
Autores: Yuansheng Ni, Ping Nie, Kai Zou, Xiang Yue, Wenhu Chen
cs.AI
Resumen
Los modelos de lenguaje de gran escala (LLMs, por sus siglas en inglés) a menudo enfrentan dificultades en tareas de visualización, como la creación de diagramas y gráficos, donde el éxito depende tanto de la corrección del código como de la semántica visual. Los conjuntos de datos existentes para ajuste por instrucciones carecen de supervisión basada en la ejecución y ofrecen un soporte limitado para la corrección iterativa del código, lo que resulta en una generación de gráficos frágil y poco confiable. Presentamos VisCode-200K, un conjunto de datos de gran escala para el ajuste por instrucciones en visualización basada en Python y autocorrección. Contiene más de 200K ejemplos provenientes de dos fuentes: (1) código de trazado validado de repositorios de código abierto, emparejado con instrucciones en lenguaje natural y gráficos renderizados; y (2) 45K diálogos de corrección multiturno de Code-Feedback, que permiten a los modelos revisar código defectuoso utilizando retroalimentación en tiempo de ejecución. Ajustamos Qwen2.5-Coder-Instruct en VisCode-200K para crear VisCoder y lo evaluamos en PandasPlotBench. VisCoder supera significativamente a los modelos de código abierto de referencia y se acerca al rendimiento de modelos propietarios como GPT-4o-mini. Además, adoptamos un protocolo de autoevaluación de depuración para evaluar la reparación iterativa, demostrando los beneficios del aprendizaje basado en retroalimentación para la generación de código ejecutable y visualmente preciso.
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.