Итак, как же DeepSeek обучили открытую модель уровня o1? Разбираем тех.отчет по полочкам:
🔷 Первое и самое интересное:
сразу после претрейна –
RL. Обычно за предобучением следует файнтюнинг вида <вопрос-ответ> на размеченных данных, но здесь сразу воткнули чистое обучение с подкреплением.
Базовая модель – DeepSeek-V3-Base. В качестве алгоритма RL традиционно для DeepSeek применяется GRPO, улучшенная версия PPO (
очень подробно мы описывали этот алгоритм в нашей большой статье про DeepSeekMath). Отдельно поощряется формат, в котором модель помещает свои рассуждения внутри тегов <think> и </think>.
Уже на этом шаге после нескольких тысяч итераций точность на AIME скакнула с 15.6% до 71.0% (вау!). Итого, получается модель,
обученная без разметки вообще – DeepSeek-R1-Zero.
🔷 Для DeepSeek-R1 процесс повторяется с небольшой разницей. Для R1-Zero мы использовали rule-based rewards, когда ответы проверяются только самой системой (например с помощью компилляторов), без внешних разметок. И хотя точность таким образом получается приличная, сами ответы читать сложно: в них смешиваются языки, нет форматирования и тд.
Поэтому в R1 в процесс обучения все-таки
добавили разметку в виде готовых цепочек рассуждений. Данные брали из DeepSeek-R1-Zero и, видимо, o1 и улучшали вручную. На них модель дообучают, а затем их же применяют в RL, прикручивая сюда еще и rejection sampling (то есть отборные ответы прямо во время RL добавляются в обучающую дату).
Интересный факт: когда на этапе RL для R1 ввели правило "доля таргетного языка в ответе должна быть больше 0.95", качество немножко просело.
🔷 И, наконец, дистилляция! Тут в качестве базовых моделей брали Qwen и Llama, а учителем выступала R1. Из модельки насемплировали 800,000 примеров, на которых ванильно зафайнтюнили учеников (
как работает дистилляция, читайте в нашей статье тут). Тут вообще не использовался RL, но в статье написано, что ученые хотят попробовать его применить.
И еще раз ссылка на полный текст:
github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf