Как обучить LLM выбирать правильные варианты кода, сгенерированные другой моделью. Разбор от Тайного редактора. Блог компании MTS AI.. Блог компании MTS AI. большая языковая модель.. Блог компании MTS AI. большая языковая модель. генерация кода.. Блог компании MTS AI. большая языковая модель. генерация кода. искусственный интеллект.. Блог компании MTS AI. большая языковая модель. генерация кода. искусственный интеллект. Машинное обучение.. Блог компании MTS AI. большая языковая модель. генерация кода. искусственный интеллект. Машинное обучение. модель.. Блог компании MTS AI. большая языковая модель. генерация кода. искусственный интеллект. Машинное обучение. модель. оценка моделей.. Блог компании MTS AI. большая языковая модель. генерация кода. искусственный интеллект. Машинное обучение. модель. оценка моделей. Программирование.. Блог компании MTS AI. большая языковая модель. генерация кода. искусственный интеллект. Машинное обучение. модель. оценка моделей. Программирование. Совершенный код.
Как обучить LLM выбирать правильные варианты кода, сгенерированные другой моделью. Разбор от Тайного редактора - 1

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

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

Поехали!

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

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

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

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

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

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

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

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

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

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

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

Полная версия статьи опубликована здесь – в ней все подробности. Цитируйте на здоровье: 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

Источник

Рейтинг@Mail.ru
Rambler's Top100