Telegram Group & Telegram Channel
Сегодня обсудим процедуру обучения DeepSeek-V3. Архитектура и технические решения были разобраны в предыдущем посте (https://www.group-telegram.com/cn/gonzo_ML.com/3292).

На всякий случай ещё раз явно проговорю, это не DeepSeek-R1, которая reasoning по типу o1/o3, это базовая чат-модель, на которой R1 была обучена. Не уверен, что буду делать разбор R1, первого поста про DeepSeek (https://www.group-telegram.com/cn/gonzo_ML.com/3239), имеющегося разбора V3 и поста от Аламмара (https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1), кажется, достаточно. Но посмотрим.

Из технически важных моментов хочется ещё раз обратить внимание на важность обучения в FP8 из предыдущего поста (https://www.group-telegram.com/cn/gonzo_ML.com/3294). Это биг дил, что наконец оно завелось в промышленном режиме для большой модели хорошего качества. Эффективно оно удваивает доступные вычислительные мощности или даёт возможность обучать модели в два раза большего размера.

Обучение разделено на pre-training и post-training.

Pre-training.


Относительно предыдущего DeepSeek-V2 (https://arxiv.org/abs/2405.04434) увеличена доля примеров про математику и программирование, а также расширен набор языков за пределы английского и китайского. При этом всё равно, английский + китайский составляют большую часть датасета, а описания композиции и распределения других языков я не нашёл.

Всего итоговый датасет содержит 14.8T токенов (у предыдущей версии было 8.1T токенов). Токенизатор BPE со словарём в 128k. Относительно предыдущей версии токенизатор изменён и обучен на более мультиязычном корпусе, а также добавлены токены, комбинирующие пунктуацию с переносами строк.

В предобучении в дополнение к стандартному Next-Token-Prediction используется Fill-in-Middle (FIM) стратегия с частотой 0.1, применённая в DeepSeekCoder-V2 (https://arxiv.org/abs/2406.11931), но изобретённая ранее в OpenAI (https://arxiv.org/abs/2207.14255), где модель должна восстановить середину текста. Если точнее, то используется подход Prefix-Suffix-Middle (PSM) для структурирования данных (на уровне документов) следующим образом:

<|fim_begin|>𝑓_pre<|fim_hole|>𝑓_suf<|fim_end|>𝑓_middle<|eos_token|>.

Во время предобучения максимальная длина последовательности 4k токенов.

После предобучения применяют YaRN (https://arxiv.org/abs/2309.00071) для расширения контекста и делают две дополнительные фазы обучения по 1000 шагов, где расширяют контекст с 4k до 32k, а затем до 128k.

В итоге на множестве бенчмарков, включая английский, китайский, код, математику и один мультиязычный, в целом бьют предыдущую версию DeepSeek-V2, а также две dense модели, Qwen2.5 72B Base и LLaMA-3.1 405B Base, получая сильнейшую из открытых моделей. Сравнение с Qwen2.5 72B Base интересно, это была одна из сильных моделей, активных параметров у неё получается практически в два раза больше, чем у DeepSeek. У LLaMA-3.1 405B Base их вообще в 11 раз больше, но она на этих бенчмарках хуже.

Авторы заявляют, что для DeepSeek-V3 на каждый триллион токенов обучения требуется 180K H800 GPU-часов.

Post-training.

Состоит из двух частей, Supervised Fine-Tuning (SFT) и RL.

SFT делался на дополнительных Reasoning и Non-Reasoning данных. Это всё было сделано для разных областей (упоминания конкретных доменов далее) и итоговый датасет для instruction-tuning составляет 1.5M примеров.

Reasoning данные фокусировались на математике, программировании, логических задачах. Данные генерировались внутренней DeepSeek-R1 моделью (которая в свою очередь была обучена на DeepSeek-V3 в качестве базы — см.рекурсия). Но проблема с данными от R1 была в её многословности, overthinking и плохом форматировании.

Для генерации данных из конкретного домена создавалась экспертная модель, также обученная через SFT + RL. Генерировались два типа SFT сэмплов: <problem, original response> и <system prompt, problem, R1 response>. В промпте были инструкции для рефлексии и верификации. В RL фазе с высокой температурой генерились ответы модели, и постепенно модель выучивала паттерны R1. После обучения с помощью rejection sampling генерировались примеры для SFT оригинальной модели.



group-telegram.com/gonzo_ML/3312
Create:
Last Update:

Сегодня обсудим процедуру обучения DeepSeek-V3. Архитектура и технические решения были разобраны в предыдущем посте (https://www.group-telegram.com/cn/gonzo_ML.com/3292).

На всякий случай ещё раз явно проговорю, это не DeepSeek-R1, которая reasoning по типу o1/o3, это базовая чат-модель, на которой R1 была обучена. Не уверен, что буду делать разбор R1, первого поста про DeepSeek (https://www.group-telegram.com/cn/gonzo_ML.com/3239), имеющегося разбора V3 и поста от Аламмара (https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1), кажется, достаточно. Но посмотрим.

Из технически важных моментов хочется ещё раз обратить внимание на важность обучения в FP8 из предыдущего поста (https://www.group-telegram.com/cn/gonzo_ML.com/3294). Это биг дил, что наконец оно завелось в промышленном режиме для большой модели хорошего качества. Эффективно оно удваивает доступные вычислительные мощности или даёт возможность обучать модели в два раза большего размера.

Обучение разделено на pre-training и post-training.

Pre-training.


Относительно предыдущего DeepSeek-V2 (https://arxiv.org/abs/2405.04434) увеличена доля примеров про математику и программирование, а также расширен набор языков за пределы английского и китайского. При этом всё равно, английский + китайский составляют большую часть датасета, а описания композиции и распределения других языков я не нашёл.

Всего итоговый датасет содержит 14.8T токенов (у предыдущей версии было 8.1T токенов). Токенизатор BPE со словарём в 128k. Относительно предыдущей версии токенизатор изменён и обучен на более мультиязычном корпусе, а также добавлены токены, комбинирующие пунктуацию с переносами строк.

В предобучении в дополнение к стандартному Next-Token-Prediction используется Fill-in-Middle (FIM) стратегия с частотой 0.1, применённая в DeepSeekCoder-V2 (https://arxiv.org/abs/2406.11931), но изобретённая ранее в OpenAI (https://arxiv.org/abs/2207.14255), где модель должна восстановить середину текста. Если точнее, то используется подход Prefix-Suffix-Middle (PSM) для структурирования данных (на уровне документов) следующим образом:

<|fim_begin|>𝑓_pre<|fim_hole|>𝑓_suf<|fim_end|>𝑓_middle<|eos_token|>.

Во время предобучения максимальная длина последовательности 4k токенов.

После предобучения применяют YaRN (https://arxiv.org/abs/2309.00071) для расширения контекста и делают две дополнительные фазы обучения по 1000 шагов, где расширяют контекст с 4k до 32k, а затем до 128k.

В итоге на множестве бенчмарков, включая английский, китайский, код, математику и один мультиязычный, в целом бьют предыдущую версию DeepSeek-V2, а также две dense модели, Qwen2.5 72B Base и LLaMA-3.1 405B Base, получая сильнейшую из открытых моделей. Сравнение с Qwen2.5 72B Base интересно, это была одна из сильных моделей, активных параметров у неё получается практически в два раза больше, чем у DeepSeek. У LLaMA-3.1 405B Base их вообще в 11 раз больше, но она на этих бенчмарках хуже.

Авторы заявляют, что для DeepSeek-V3 на каждый триллион токенов обучения требуется 180K H800 GPU-часов.

Post-training.

Состоит из двух частей, Supervised Fine-Tuning (SFT) и RL.

SFT делался на дополнительных Reasoning и Non-Reasoning данных. Это всё было сделано для разных областей (упоминания конкретных доменов далее) и итоговый датасет для instruction-tuning составляет 1.5M примеров.

Reasoning данные фокусировались на математике, программировании, логических задачах. Данные генерировались внутренней DeepSeek-R1 моделью (которая в свою очередь была обучена на DeepSeek-V3 в качестве базы — см.рекурсия). Но проблема с данными от R1 была в её многословности, overthinking и плохом форматировании.

Для генерации данных из конкретного домена создавалась экспертная модель, также обученная через SFT + RL. Генерировались два типа SFT сэмплов: <problem, original response> и <system prompt, problem, R1 response>. В промпте были инструкции для рефлексии и верификации. В RL фазе с высокой температурой генерились ответы модели, и постепенно модель выучивала паттерны R1. После обучения с помощью rejection sampling генерировались примеры для SFT оригинальной модели.

BY gonzo-обзоры ML статей


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/gonzo_ML/3312

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

In December 2021, Sebi officials had conducted a search and seizure operation at the premises of certain persons carrying out similar manipulative activities through Telegram channels. Individual messages can be fully encrypted. But the user has to turn on that function. It's not automatic, as it is on Signal and WhatsApp. "He has kind of an old-school cyber-libertarian world view where technology is there to set you free," Maréchal said. Lastly, the web previews of t.me links have been given a new look, adding chat backgrounds and design elements from the fully-features Telegram Web client. To that end, when files are actively downloading, a new icon now appears in the Search bar that users can tap to view and manage downloads, pause and resume all downloads or just individual items, and select one to increase its priority or view it in a chat.
from cn


Telegram gonzo-обзоры ML статей
FROM American