January 29

DeepSeek-R1: Простыми словами о новом прорыве в мире ИИ

перевод https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1

Автор: Джей Аламмар
Дата: 28 января 2025 года

DeepSeek-R1 — это новая громкая глава в развитии ИИ. Для сообщества разработчиков и исследователей машинного обучения этот релиз стал значимым по нескольким причинам:

  • Это открытая модель с доступными сокращёнными версиями, которая даёт возможность изучать её и применять на практике.
  • Она показывает уникальный подход к созданию моделей, способных рассуждать, подобных OpenAI O1.

В этой статье мы разберём, как была создана DeepSeek-R1.


Содержание

  1. Как обучаются большие языковые модели (LLM)
  2. Рецепт обучения DeepSeek-R1
      1. Данные с длинными цепочками рассуждений (SFT Data).
      1. Промежуточная модель для рассуждений.
      1. Создание моделей рассуждений с помощью масштабного обучения с подкреплением (RL).
      • 3.1. RL, ориентированное на рассуждения (R1-Zero).
      • 3.2. Создание SFT-данных с помощью промежуточной модели.
      • 3.3. Общий этап обучения с подкреплением.
  3. Архитектура

Как обучаются LLM

Большие языковые модели (LLM), такие как DeepSeek-R1, создаются по определённой схеме, где модель генерирует текст по одному токену за раз. Однако DeepSeek-R1 особенно хороша в решении математических и логических задач, потому что она умеет создавать так называемые "токены размышлений", которые объясняют её ход мыслей.

Вот общий рецепт создания LLM (рисунок из главы 12 книги Hands-On Large Language Models):

  1. Обучение языковой модели (Language Modeling Step):
    Модель обучается на огромном количестве данных из интернета, чтобы предсказывать следующее слово. Это базовый этап, результатом которого становится базовая модель.
  2. Тонкая настройка с учителем (Supervised Fine-Tuning, SFT):
    Модель обучают выполнять инструкции и отвечать на вопросы. На этом этапе она превращается в модель, способную следовать указаниям.
  3. Настройка на основе предпочтений (Preference Tuning):
    Финальный этап, где модель дорабатывают, чтобы она соответствовала человеческим ожиданиям и предпочтениям.

Рецепт обучения DeepSeek-R1

DeepSeek-R1 следует этому рецепту, но с несколькими уникальными особенностями. Основу для первого этапа обучения взяли из предыдущей модели DeepSeek-V3. Однако R1 использует не финальную версию V3, а её базовую модель.

На этапе SFT и настройки по предпочтениям были применены новые подходы, которые мы сейчас обсудим.


1. Данные с длинными цепочками рассуждений

Для обучения DeepSeek-R1 использовалась огромная база данных с примерами рассуждений — 600,000 цепочек. Это невероятно трудоёмкий процесс, так как такие данные сложно собрать и разметить вручную.

Именно поэтому второй ключевой момент — это способ создания этих данных.


2. Промежуточная модель для рассуждений

Чтобы создать такие уникальные данные, использовалась промежуточная модель, которая специализируется на рассуждениях. Эта модель была создана с минимальными затратами на разметку данных, но с применением масштабного обучения с подкреплением (RL).

Хотя она не универсальна и не подходит для задач, требующих общего понимания языка, она отлично справляется с решением логических задач.

Результаты этой промежуточной модели использовались для создания более универсальной версии — DeepSeek-R1.


3. Создание моделей рассуждений с масштабным RL

Процесс создания DeepSeek-R1 включает два этапа:

3.1. RL, ориентированное на рассуждения (R1-Zero)

На этом этапе используется RL, чтобы обучить промежуточную модель для рассуждений. Эта модель, R1-Zero, интересна тем, что она обучается без этапа SFT, используя только RL.

Почему это важно?

  1. Современные базовые модели уже настолько хороши, что могут служить основой для сложных задач.
  2. Логические задачи можно автоматически проверять, что упрощает процесс обучения.

Пример автоматической проверки:

Задача: Написать Python-код, который сортирует список чисел и добавляет число 42 в начало.

Модель может предложить несколько решений, которые проверяются автоматически:

  • Линтер проверяет, корректен ли код.
  • Код запускается, чтобы проверить, работает ли он.
  • Другие модели создают юнит-тесты, чтобы убедиться в правильности результата.

Эти сигналы используются для улучшения модели на каждом этапе обучения.

Однако R1-Zero имеет свои ограничения: она плохо справляется с задачами общего характера, а её ответы часто трудно читать.


3.2. Создание SFT-данных с помощью промежуточной модели

Чтобы сделать модель более универсальной, её дообучают на небольшом наборе примеров (около 5,000) — так называемых "холодных данных".

Холодный старт:
Этот набор данных собирается разными способами: Примерно показывают модели, как решать задачи рассуждений. Используют ответы R1-Zero, которые дорабатываются людьми.

Но для полноценного обучения R1 потребовалось 600,000 примеров. Собрать их вручную невозможно, поэтому промежуточная модель помогла сгенерировать эти данные.


3.3. Общий этап RL

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


Архитектура

DeepSeek-R1 построена на основе трансформеров, как и предыдущие модели (GPT-2, GPT-3). Она состоит из 61 блока:

  • Первые три блока — плотные.
  • Остальные используют архитектуру Mixture-of-Experts (MoE), которая позволяет эффективно распределять ресурсы.

Более детально архитектура описана в научных статьях:

  • DeepSeek-V3 Technical Report
  • DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models


Заключение

Теперь у вас есть общее представление о DeepSeek-R1 и её уникальных особенностях.

Если вам хочется глубже разобраться в теме, рекомендую книгу Hands-On Large Language Models или её онлайн-версию на O’Reilly. Также вы можете найти код на GitHub.