Ай Дайджест

Свежая выжимка ml и AI статей - каждый день

Оценка и выравнивание CodeLLMs по человеческим предпочтениям

Современные большие языковые модели (LLMs) продемонстрировали впечатляющие результаты в различных задачах, особенно в области генерации и завершения кода. Модели, такие как OpenAI Codex и Claude, стали важными инструментами для разработчиков, позволяя им автоматизировать рутинные задачи программирования и улучшать продуктивность. Однако, несмотря на их успехи, многие из существующих оценочных метрик для кодовых LLMs сосредоточены на правильности сгенерированного кода, игнорируя важный аспект — соответствие человеческим предпочтениям.

Проблема

Текущие бенчмарки для оценки производительности кодовых LLMs, такие как HumanEval и MBPP, в основном ориентированы на выполнение самодостаточных фрагментов кода и проверку их корректности. Однако эти подходы не учитывают контекст, в котором пользователи ожидают получить ответ, и не учитывают, насколько сгенерированные модели ответы соответствуют реальным человеческим предпочтениям.

CodeArena

Чтобы заполнить этот пробел, была разработана новая бенчмарка под названием CodeArena. Она включает 397 высококачественных примеров, охватывающих 40 категорий и 44 языка программирования, которые были тщательно отобраны из реальных пользовательских запросов. КодArena предоставляет более сложные и разнообразные задачи, отражающие реальные сценарии программирования, что позволяет лучше оценить, насколько хорошо модели соответствуют ожиданиям пользователей.

Статистика набора данных CodeArena

CodeArena состоит из различных задач, классифицированных по семи основным категориям. Каждая задача включает в себя запрос пользователя и ответы, сгенерированные различными моделями. Статистика показывает, что большинство задач имеют средний или высокий уровень сложности, что представляет собой значительную задачу для LLMs.

Аннотация и контроль качества

Для создания CodeArena была реализована строгая процедура аннотации, в которой участвовали опытные программисты, способные оценивать сложность и качество задач. Это гарантирует высокое качество и разнообразие задач, что является важным для оценки соответствия моделей человеческим предпочтениям.

SynCode-Instruct

В дополнение к CodeArena была разработана обширная синтетическая инструкция под названием SynCode-Instruct, содержащая почти 20 миллиардов токенов. Эти данные были собраны из различных веб-источников и предназначены для улучшения обучения моделей на основе синтетических данных.

Обучение моделей

Модель Qwen2.5-SynCoder, обученная на SynCode-Instruct, продемонстрировала выдающиеся результаты в тестах CodeArena, что подтверждает эффективность подхода к использованию синтетических данных для улучшения производительности кодовых LLMs.

Оценка и результаты

Систематическая оценка более 40 LLMs с использованием CodeArena показала значительные различия в производительности между открытыми и закрытыми моделями. Закрытые модели, такие как Claude и OpenAI Codex, продемонстрировали более высокую степень соответствия человеческим предпочтениям по сравнению с открытыми моделями, такими как Qwen2.5-Coder. Это подчеркивает важность выравнивания моделей с человеческими ожиданиями в задачах программирования.

Метрики оценки

Для оценки производительности моделей использовались различные метрики, включая win rate и tie rate, которые измеряют, насколько часто одна модель превосходит другую в глазах пользователей. Это позволяет создать динамическую таблицу лидеров, которая помогает отслеживать прогресс различных моделей.

Обсуждение

Результаты исследования показывают, что несмотря на значительный прогресс в области генерации кода, важно учитывать человеческие предпочтения при оценке моделей. Модели, которые просто генерируют код без объяснений или контекста, могут не удовлетворять потребности пользователей. Например, в тестах CodeArena модели, которые предоставляли более полные и детализированные ответы, получили более высокие оценки.

Примеры задач в CodeArena

К примеру, в одном из запросов пользователи ожидали не только код, но и объяснение его работы, что является важным аспектом для понимания и обучения. Это подчеркивает необходимость создания более сложных и контекстуализированных задач для оценки LLMs.

Заключение

В данной работе была представлена новая бенчмарка CodeArena, которая позволяет более точно оценивать соответствие кодовых LLMs человеческим предпочтениям. Создание синтетического корпуса SynCode-Instruct также продемонстрировало, что использование больших объемов синтетических данных может значительно улучшить производительность моделей. Важно продолжать исследовать и развивать методы оценки, которые учитывают не только правильность кода, но и его соответствие реальным потребностям пользователей.