🌟 Llama3-SWE-RL: Как сделать LLM настоящим мастером разработки ПО с использованием RL
Я всегда говорил, что обучение новых языковых моделей — это не просто игра с алгоритмами, это настоящая битва за качество. И вот, на повестке дня — Llama3-SWE-RL. Эта методика учит LLM (языковым моделям) справляться с задачами разработки программного обеспечения, используя метод обучения с подкреплением (RL) на базе открытых репозиториев Github. Звучит слишком хорошо, чтобы быть правдой? Давайте разберемся, что здесь на самом деле происходит!
Что такое SWE-RL?
SWE-RL — это не просто очередная экзотическая аббревиатура. Это методика, которая позволяет языковым моделям извлекать полезные навыки из реальных кодовых баз. В отличие от SFT (Supervised Fine-Tuning), где модель учится на примерах и не может корректировать свои выводы, SWE-RL предоставляет инструменты для улучшения со временем. В итоге, наши модели получают возможность не просто повторять код, а действительно разгадать его логику и научиться полезному рисованию.
Как работает этот волшебный алгоритм?
Методика состоит из трех основных этапов, и на каждом из них модель улучшает свои навыки, как будто проходит через настоящие испытания в боях.
Сбор и модерация данных
Сначала проходит сбор pull requests из публичных репозиториев Github. Но не просто сбор, а ещё и обязательно разметка и преобразование полученных данных в удобный формат, который можно назвать "oracle patch". Да, мы говорим о той самой идеальной версии исправления кода, на основе которой модель будет учиться. Это как учебник по программированию, но только для AI!Обучение навыкам генерации кода
На этом этапе LLM учится генерировать код, основываясь на задачах и контексте. Используется хитроумная схема расчета поощрения для RL. Например, модель получает положительные оценки за схожесть с "oracle patch", а за неправильные решения, соответственно, минус. Такой подход действительно демонстрирует, насколько мы можем управлять качеством ответов!Оптимизация обучения
На финальном этапе с помощью GPRO (вероятно, это какая-то сложная аббревиатура, но вы поняли) происходит корректировка и оптимизация политики обучения. Это как шлифовка алмаза — мы оставляем только лучшие качества модели и выбрасываем все лишнее.
Результаты
И теперь о самом интересном! Модель Llama3-SWE-RL-70B, обученная на Llama-3.3-70B-Instruct, продемонстрировала 41.0% уровень решения задач на SWE-bench Verified. Это не просто цифры, это лучший результат среди моделей среднего размера (менее 100B) и вполне сопоставимо с GPT-4o. Да, это серьезное заявление!
Как это всё применить?
Самое крутое, что практическое применение SWE-RL доступно в репозитории проекта. Тут вы сможете найти шаблоны промптов и реализацию функции вознаграждения на основе сходства последовательностей. Это значит, что за низким барьером входа на самом деле скрывается мощный инструмент для разработки!
Локальная установка
Если вдруг вам стало интересно, как запустить это чудо на своем компьютере, вот вам один из возможных способов.
# Устанавливаем SWE-RL git clone https://github.com/facebookresearch/swe-rl && cd swe-rl pip install -e ".[dev]" pytest
Далее следует простой пример применения функции вознаграждения в вашем проекте.
import swerl file = """ def sort_list(lst): return sorted(lst) """.strip() oracle_file = """ def sort_list(lst: list[int]) -> list[int]: return sorted(lst) """.strip() context = {"example.py": file} oracle = {"example.py": oracle_file} output = """ <think> ...мысли LLM </think> <solution> ```python ### example.py <<<<<<< SEARCH def sort_list(lst): ======= def sort_list(lst: list[int]) -> list[int]: >>>>>>> REPLACE </solution> """.strip() reward, metadata = swerl.core.reward.calculate_search_replace_reward(context, oracle, output) assert reward == 1.0 print(metadata)
Лицензирование
Не забывайте

Llama3-SWE-RL: Революция в обучении LLM для программирования ver 0
Ширина: 1216 px
Высота: 1280 px
Соотношение сторон.: 19:20
Скачать

Llama3-SWE-RL: Революция в обучении LLM для программирования ver 1
Ширина: 1216 px
Высота: 1280 px
Соотношение сторон.: 19:20
Скачать

Llama3-SWE-RL: Революция в обучении LLM для программирования ver 2
Ширина: 1216 px
Высота: 1280 px
Соотношение сторон.: 19:20
Скачать

Llama3-SWE-RL: Революция в обучении LLM для программирования ver 3
Ширина: 1216 px
Высота: 1280 px
Соотношение сторон.: 19:20
Скачать