VisCoder: Ajuste Fino de LLMs para Geração de Código Executável de Visualização em Python
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
Resumo
Grandes modelos de linguagem (LLMs) frequentemente enfrentam dificuldades em tarefas de visualização, como a plotagem de diagramas e gráficos, onde o sucesso depende tanto da correção do código quanto da semântica visual. Os conjuntos de dados existentes para ajuste de instruções carecem de supervisão baseada em execução e oferecem suporte limitado para correção iterativa de código, resultando em geração de gráficos frágeis e pouco confiáveis. Apresentamos o VisCode-200K, um conjunto de dados em grande escala para ajuste de instruções em visualização baseada em Python e autocorreção. Ele contém mais de 200 mil exemplos de duas fontes: (1) código de plotagem validado de repositórios de código aberto, emparelhado com instruções em linguagem natural e gráficos renderizados; e (2) 45 mil diálogos de correção multi-turn do Code-Feedback, permitindo que os modelos revisem códigos defeituosos usando feedback de execução. Ajustamos o Qwen2.5-Coder-Instruct no VisCode-200K para criar o VisCoder e o avaliamos no PandasPlotBench. O VisCoder supera significativamente os fortes modelos de código aberto de referência e se aproxima do desempenho de modelos proprietários como o GPT-4o-mini. Além disso, adotamos um protocolo de auto-depuração para avaliar a correção iterativa, demonstrando os benefícios do aprendizado baseado em feedback para a geração de código executável e 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.