- BrainTools - https://www.braintools.ru -

Как обучить LLM выбирать правильные варианты кода, сгенерированные другой моделью. Разбор от Тайного редактора

Как обучить LLM выбирать правильные варианты кода, сгенерированные другой моделью. Разбор от Тайного редактора - 1

«Тайный редактор» будет на регулярной основе коротко разжевывать суть научных публикаций по технологиям искусственного интеллекта [1], отвечать на неудобные вопросы по ИИ, объяснять события, развеивать мифы и разоблачать пустой хайп вокруг технологий.

Сегодня разбираем статью от исследователей MTS AI – Iterative Self-Training for Code Generation via Reinforced Re-Ranking [2]. Она была представлена на прошлой неделе на Европейской конференции по информационному поиску – ECIR 2025. Статья о том, как можно обучить реранжирующую модель выбирать качественные варианты кода, сгенерированные другой моделью.

Поехали!

Для того, чтобы понять, какую задачу мы решаем, сначала нужно рассказать о постановке задачи. Постановка стандартная для оценки генерации кода, общий ее вид дан на картинке ниже – см. раздел (а).

Как обучить LLM выбирать правильные варианты кода, сгенерированные другой моделью. Разбор от Тайного редактора - 2

Конкретно: у нас есть описание (a) на естественном (английском) языке, по которому должен быть сгенерирован код (b); помимо этого для каждого описания дан набор тестов, позволяющих оценить, выполняет ли сгенерированный код требуемые действия (c).

Теперь о самом подходе исследователей MTS AI подробнее. Как видим, он состоит из двух моделей – одна модель собственно генерирует код по текстовому описанию, а вторая данный код ранжирует, то есть дает ему некоторую оценку. Далее куски кода упорядочиваются по их оценке и отбираются только 10 лучших, среди которых находится хотя бы один, который проходит все тесты для данной задачи. На картинке в разделе (b) показан как раз этот подход, но по ней довольно сложно с ходу понять, что именно происходит, так что давайте попробуем описать его по шагам:

1) Дообучаем с учителем (SFT) модель-генератор на наборе данных, который похож на тот, на котором мы проверяем качество нашего подхода. 

2) На этом же наборе данных дообучаем с учителем модель-оценщик.

3) Дообучаем с подкреплением [3] (PPO) модель-генератор при помощи модели-оценщика.

4) С помощью дообученной с подкреплением модели генерируем дополнительные решения для обучающего набора данных. Таким образов в нашем наборе данных появляются сложноотличимые от правильных неправильные решения – на этих данных дообучаем с учителем модель-оценщик.

5) Еще раз дообучаем с подкреплением модель-генератор, только теперь в качестве модели награды используем обновленную модель-оценщик с прошлого шага.

Как вы видите, процедура в целом непростая, но для получения качественного решения часто приходится идти на не самые очевидные ходы.

Почему мы везде говорим «дообучение»? На тот случай, если кто-то задался этим вопросом, отвечаем: мы, конечно же, основываемся на предобученных моделях. В качестве таковых взяты модели из семейства DeepSeek (не V3 и тем более не только что появившуюся свежую версию V3, конечно), пробовали разного размера – 1.3B и 6.7B. Результаты (на картинке 3) показывают, что чем больше модели в основе, тем лучше итоговое качество, что конечно неудивительно. Однако более нетривиально то, что с этим подходом модели на 13.4B параметров удалось превзойти качество модели на 33B, а на С++ даже качество GPT4. 

Полная версия статьи опубликована здесь [2] – в ней все подробности. Цитируйте на здоровье: Sorokin, N., Sedykh, I., & Malykh, V. (2025, April). Iterative Self-training for Code Generation via Reinforced Re-ranking. In European Conference on Information Retrieval (pp. 229-236). Cham: Springer Nature Switzerland.

Автор: SecretEditor

Источник [4]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/14323

URLs in this post:

[1] интеллекта: http://www.braintools.ru/article/7605

[2] Iterative Self-Training for Code Generation via Reinforced Re-Ranking: https://arxiv.org/abs/2504.09643

[3] подкреплением: http://www.braintools.ru/article/5528

[4] Источник: https://habr.com/ru/companies/mts_ai/articles/901406/?utm_source=habrahabr&utm_medium=rss&utm_campaign=901406

www.BrainTools.ru

Rambler's Top100