VisCoder: Тонкая настройка крупных языковых моделей для генерации исполняемого кода визуализаций на Python
VisCoder: Fine-Tuning LLMs for Executable Python Visualization Code Generation
June 4, 2025
Авторы: Yuansheng Ni, Ping Nie, Kai Zou, Xiang Yue, Wenhu Chen
cs.AI
Аннотация
Крупные языковые модели (LLMs) часто испытывают трудности с задачами визуализации, такими как построение диаграмм и графиков, где успех зависит как от корректности кода, так и от визуальной семантики. Существующие наборы данных для настройки инструкций не содержат контроля на основе выполнения и предлагают ограниченную поддержку итеративной коррекции кода, что приводит к хрупкому и ненадежному созданию графиков. Мы представляем VisCode-200K, крупномасштабный набор данных для настройки инструкций, ориентированный на визуализацию и самокоррекцию на Python. Он содержит более 200 тысяч примеров из двух источников: (1) проверенный код для построения графиков из открытых репозиториев, сопряженный с инструкциями на естественном языке и визуализированными графиками; и (2) 45 тысяч многошаговых диалогов коррекции из Code-Feedback, позволяющих моделям исправлять ошибочный код с использованием обратной связи во время выполнения. Мы донастраиваем Qwen2.5-Coder-Instruct на VisCode-200K для создания VisCoder и оцениваем его на PandasPlotBench. VisCoder значительно превосходит сильные открытые базовые модели и приближается к производительности проприетарных моделей, таких как GPT-4o-mini. Мы также применяем протокол самоотладки для оценки итеративного исправления, демонстрируя преимущества обучения на основе обратной связи для генерации исполняемого и визуально точного кода.
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.