EG-CFG: Революция в Генерации Кода с Обратной Связью в Реальном Времени
EG-CFG внедряет обратную связь от выполнения кода в реальном времени, значительно повышая точность генерации на ключевых бенчмарках и превосходя ведущие модели, такие как GPT-4.
Ограничения Традиционной Генерации Кода LLM
Большие языковые модели (LLM) достигли значительных успехов в генерации кода для различных задач программирования. Однако их подход в основном основан на распознавании шаблонов из статических примеров кода без реального понимания поведения кода при выполнении. Это часто приводит к тому, что код выглядит правильным, но не работает при запуске. Хотя последние методы вводят итеративное улучшение и самодебаггинг, они обычно выполняются отдельными этапами — генерация, тестирование, исправление. В отличие от этого, программисты постоянно запускают фрагменты кода и корректируют их на основе мгновенного результата, что модели пока не могут воспроизвести.
Достижения в Программном Синтезе и Приёмах Подсказок
Программный синтез давно используется для оценки LLM и автоматизации бенчмарков генерации кода, таких как MBPP, HumanEval и CodeContests, проверяя модели на разнообразных задачах. Приёмы подсказок, включая few-shot и Chain-of-Thought, улучшили результаты. Современные методы внедряют циклы обратной связи, используя инструменты или результаты выполнения для улучшения ответов. Некоторые фреймворки задействуют несколько LLM-агентов, каждый из которых решает разные части задачи. Несмотря на это, большинство подходов основываются на простом декодировании. Новые методы, такие как CFG, предлагают более динамический подход, но пока мало используются с обратной связью в реальном времени.
Представляем EG-CFG от Тель-Авивского Университета
Исследователи из Тель-Авивского университета разработали EG-CFG — новый метод генерации кода, который активно использует обратную связь от выполнения в процессе генерации, имитируя поведение программистов. Вместо ожидания окончания кода EG-CFG оценивает частичные фрагменты по мере их создания. При помощи beam search генерируются несколько вариантов кода, которые запускаются, а результаты выполнения влияют на следующие шаги генерации. Такой цикл обратной связи в реальном времени значительно повышает эффективность на бенчмарках MBPP, HumanEval и CodeContests, превосходя даже закрытые модели. Метод также поддерживает параллельный анализ и динамическое исследование вариантов.
Как Работает EG-CFG: Обратная Связь, Beam Search и Парсинг AST
EG-CFG улучшает генерацию кода, направляя языковую модель с помощью обратной связи от выполнения во время инференса. Для поставленной задачи генерируются частичные решения и исследуются различные продолжения через beam search. Каждый вариант проверяется на синтаксис с помощью парсинга абстрактного синтаксического дерева (AST). Только синтаксически корректные варианты выполняются на тестах для сбора подробной информации о состоянии переменных и ошибках. Эти данные затем подаются обратно в подсказку модели, влияя на будущие предсказания. Механизм управления комбинирует стандартный вывод модели и предложения, основанные на обратной связи, позволяя постепенно улучшать решение до прохождения всех тестов.
Результаты Бенчмарков: Превосходство над GPT-4 и Claude
Метод EG-CFG был протестирован на двух версиях моделей DeepSeek: локальной модели с 1.3 млрд параметров и более крупной V3-0324 через API. Оценка проводилась на пяти бенчмарках: MBPP, HumanEval, CodeContests, MBPP-ET и HumanEval-ET. На HumanEval EG-CFG с DeepSeek V3 достиг 90.1% успешных решений, превзойдя GPT-4 (85.5%) и Claude 2 (83.2%). На MBPP-ET точность составила 81.4%, установив новый рекорд. Меньшая модель 1.3 млрд параметров также показала значительный рост — с 46.3% до 61.7% на HumanEval с EG-CFG. Абляционные исследования подтвердили важность динамической обратной связи и beam search для этих достижений.
EG-CFG Имитирует Человеческий Отладочный Процесс для Улучшения Генерации Кода
EG-CFG предлагает новый подход к генерации кода с языковыми моделями, интегрируя обратную связь от выполнения в реальном времени во время генерации. В отличие от традиционных методов, основанных на статических шаблонах, он симулирует процесс, когда программисты тестируют и улучшают код итеративно. Beam search исследует возможные продолжения, которые тестируются на реальных примерах. Генерация направляется на основе результатов построчно, обеспечивая структурированную и полезную обратную связь. Метод поддерживает работу нескольких агентов параллельно, повышая эффективность. EG-CFG демонстрирует лучшие результаты на стандартных бенчмарках и хорошо работает даже на сложных задачах и с малыми моделями.
Для дополнительной информации смотрите статью и GitHub. Все заслуги принадлежат исследователям Тель-Авивского университета.
Switch Language
Read this article in English