VisCoder: Ottimizzazione Fine di LLM per la Generazione di Codice Python Eseguibile per Visualizzazioni
VisCoder: Fine-Tuning LLMs for Executable Python Visualization Code Generation
June 4, 2025
Autori: Yuansheng Ni, Ping Nie, Kai Zou, Xiang Yue, Wenhu Chen
cs.AI
Abstract
I grandi modelli linguistici (LLM) spesso incontrano difficoltà nelle attività di visualizzazione come la creazione di diagrammi e grafici, dove il successo dipende sia dalla correttezza del codice che dalla semantica visiva. I dataset esistenti per l'ottimizzazione delle istruzioni mancano di supervisione basata sull'esecuzione e offrono un supporto limitato per la correzione iterativa del codice, portando a una generazione di grafici fragile e inaffidabile. Presentiamo VisCode-200K, un dataset su larga scala per l'ottimizzazione delle istruzioni basato su Python per la visualizzazione e l'autocorrezione. Contiene oltre 200K esempi provenienti da due fonti: (1) codice di plotting validato da repository open-source, associato a istruzioni in linguaggio naturale e grafici renderizzati; e (2) 45K dialoghi di correzione multi-turn da Code-Feedback, che consentono ai modelli di revisionare il codice difettoso utilizzando feedback in tempo reale. Abbiamo ottimizzato Qwen2.5-Coder-Instruct su VisCode-200K per creare VisCoder e lo abbiamo valutato su PandasPlotBench. VisCoder supera significativamente i forti baseline open-source e si avvicina alle prestazioni di modelli proprietari come GPT-4o-mini. Abbiamo inoltre adottato un protocollo di valutazione self-debug per valutare la riparazione iterativa, dimostrando i vantaggi dell'apprendimento guidato dal feedback per la generazione di codice eseguibile e visivamente accurato.
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.