Forwarded from Душный NLP
Интересные решения из технического отчёта DeepSeek-V3 — часть I
В конце прошлого года вышел технический отчёт модели DeepSeek-V3. У неё 671 миллиардов параметров, из которых активные — 37 миллиардов (то есть меньше 1/16). Обучение длилось два месяца на 2 тысячах GPU H800. Впервые в истории LLM обучали на FP8 и с высокой степенью разреженности (sparsity). Полученная модель вошла в топ-10 на Chatbot Arena. Кроме того, DeepSeek-V3 хорошо показывала себя в бенчмарках.
Изучили технический отчёт и рассказываем, какие необычные и даже новаторские решения в нём есть. Обзор получился объёмным, поэтому мы поделили его на два поста.
MLA
Метод, который называется Multi-head Latent Attention (MLA), используют как альтернативу Grouped Query Attention (GQA) для снижения объёма KV-кэша. Этот подход апробировали ещё в июне 2024 года в DeepSeek-V2. Как утверждают разработчики, по качеству MLA превосходит GQA и Multi-Query Attention и сопоставим с Multi-Head Attention.
Суть MLA заключается в сжатии скрытого представления в латентные вектора и хранении их на продакшене вместо Key Value. Во время генерации токенов KV восстанавливается из латентных векторов, что требует отдельных, но не слишком затратных вычислений.
Такой подход позволяет здорово экономить память, однако лишает возможности применять Rotary Position Embedding (RoPE) — способ несовместим с низкоранговым сжатием KV. Чтобы обойти проблему, в DeepSeek прибегли к методу Decoupled Rotary Position Embedding. Он предполагает добавление к каждой голове вектора с RoPE.
В результате не происходит деградации качества из-за того, что для большей части каждой головы позиционные эмбеддинги не обрабатываются. При этом модель сохраняет способность учитывать очень длинные контексты, так как её производительность не ухудшается даже при значительном удалении токенов от начальной позиции.
После претрейна разработчики расширили контекст, используя YaRN-подход (Yet another RoPE extension) — c 4 тысяч токенов до 128 тысяч. В тесте Needle In A Haystack, по условиям которого нужно найти ответ на вопрос в контексте на 128 тысяч токенов, DeepSeek-V3 в 100% случаев справлялась с задачей. Сама по себе она несложная, но демонстрирует умение модели работать с большими контекстами.
MoE
По сравнению с DeepSeek-V2 изменился подход к Mixture-of-Experts. Здесь есть общие эксперты (Shared experts), которые применяются ко всем входным токенам, и маршрутизируемые эксперты (Routed experts), среди которых выбираются лучшие для решения конкретной задачи.
Специальный лосс для контроля загруженности экспертов не используется. Вместо этого для каждого эксперта вводится определённый bias, через который и осуществляется балансировка. Если эксперт вызывается слишком часто, то bias уменьшается, слишком редко — увеличивается. Благодаря этому обучение получается более стабильным, чем при использовании лоссов.
Однако разработчикам всё-таки пришлось ввести балансировочный лосс. Описанный выше способ приводит к тому, что эксперты становятся домен-специфичными. Дополнительный лосс позволяет избежать этого, создавая разнообразие в выдаче. Благодаря хорошей балансировке нагрузки в процессе обучения DeepSeek-V3 не отбрасывает ни одного токена.
Для снижения затрат на коммуникации использовали метод Node-Limited Routing. Он вводит ограничение на число хостов, куда может быть направлен токен. Сперва выбираются хосты, которые содержат необходимых экспертов, а затем среди них с помощью алгоритма top-K routing выбираются лучшие для конкретного токена.
Во второй части расскажем о FP8-квантизации, результатах на бенчмарках и не только. Не переключайтесь!
Разбор подготовил❣ Михаил Хрущев
Душный NLP
В конце прошлого года вышел технический отчёт модели DeepSeek-V3. У неё 671 миллиардов параметров, из которых активные — 37 миллиардов (то есть меньше 1/16). Обучение длилось два месяца на 2 тысячах GPU H800. Впервые в истории LLM обучали на FP8 и с высокой степенью разреженности (sparsity). Полученная модель вошла в топ-10 на Chatbot Arena. Кроме того, DeepSeek-V3 хорошо показывала себя в бенчмарках.
Изучили технический отчёт и рассказываем, какие необычные и даже новаторские решения в нём есть. Обзор получился объёмным, поэтому мы поделили его на два поста.
MLA
Метод, который называется Multi-head Latent Attention (MLA), используют как альтернативу Grouped Query Attention (GQA) для снижения объёма KV-кэша. Этот подход апробировали ещё в июне 2024 года в DeepSeek-V2. Как утверждают разработчики, по качеству MLA превосходит GQA и Multi-Query Attention и сопоставим с Multi-Head Attention.
Суть MLA заключается в сжатии скрытого представления в латентные вектора и хранении их на продакшене вместо Key Value. Во время генерации токенов KV восстанавливается из латентных векторов, что требует отдельных, но не слишком затратных вычислений.
Такой подход позволяет здорово экономить память, однако лишает возможности применять Rotary Position Embedding (RoPE) — способ несовместим с низкоранговым сжатием KV. Чтобы обойти проблему, в DeepSeek прибегли к методу Decoupled Rotary Position Embedding. Он предполагает добавление к каждой голове вектора с RoPE.
В результате не происходит деградации качества из-за того, что для большей части каждой головы позиционные эмбеддинги не обрабатываются. При этом модель сохраняет способность учитывать очень длинные контексты, так как её производительность не ухудшается даже при значительном удалении токенов от начальной позиции.
После претрейна разработчики расширили контекст, используя YaRN-подход (Yet another RoPE extension) — c 4 тысяч токенов до 128 тысяч. В тесте Needle In A Haystack, по условиям которого нужно найти ответ на вопрос в контексте на 128 тысяч токенов, DeepSeek-V3 в 100% случаев справлялась с задачей. Сама по себе она несложная, но демонстрирует умение модели работать с большими контекстами.
MoE
По сравнению с DeepSeek-V2 изменился подход к Mixture-of-Experts. Здесь есть общие эксперты (Shared experts), которые применяются ко всем входным токенам, и маршрутизируемые эксперты (Routed experts), среди которых выбираются лучшие для решения конкретной задачи.
Специальный лосс для контроля загруженности экспертов не используется. Вместо этого для каждого эксперта вводится определённый bias, через который и осуществляется балансировка. Если эксперт вызывается слишком часто, то bias уменьшается, слишком редко — увеличивается. Благодаря этому обучение получается более стабильным, чем при использовании лоссов.
Однако разработчикам всё-таки пришлось ввести балансировочный лосс. Описанный выше способ приводит к тому, что эксперты становятся домен-специфичными. Дополнительный лосс позволяет избежать этого, создавая разнообразие в выдаче. Благодаря хорошей балансировке нагрузки в процессе обучения DeepSeek-V3 не отбрасывает ни одного токена.
Для снижения затрат на коммуникации использовали метод Node-Limited Routing. Он вводит ограничение на число хостов, куда может быть направлен токен. Сперва выбираются хосты, которые содержат необходимых экспертов, а затем среди них с помощью алгоритма top-K routing выбираются лучшие для конкретного токена.
Во второй части расскажем о FP8-квантизации, результатах на бенчмарках и не только. Не переключайтесь!
Разбор подготовил
Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from LightAutoML framework (Alex Ryzhkov)
Всем привет!
🏆 Коллеги из ICT.Moscow опубликовали подборку из 80 Open Source решений для ИИ-разработки, в которую вошли многие наши open-source проекты:
- Py-Boost
- Stalactite
- RePlay
- Sim4Rec
- RIDE
- ESGify
- MedBench
К сожалению, по неведомым нам причинам в эту подборку не попали еще два флагманских продукта нашей лаборатории (но мы-то о них помним 🙃) - LightAutoML и PyTorch-LifeStream
Также хотел бы сказать спасибо всем тем, кто пользуется нашими решениями и делится обратной связью по ним, позволяя делать их лучше 🫶
🏆 Коллеги из ICT.Moscow опубликовали подборку из 80 Open Source решений для ИИ-разработки, в которую вошли многие наши open-source проекты:
- Py-Boost
- Stalactite
- RePlay
- Sim4Rec
- RIDE
- ESGify
- MedBench
К сожалению, по неведомым нам причинам в эту подборку не попали еще два флагманских продукта нашей лаборатории (но мы-то о них помним 🙃) - LightAutoML и PyTorch-LifeStream
Также хотел бы сказать спасибо всем тем, кто пользуется нашими решениями и делится обратной связью по ним, позволяя делать их лучше 🫶
Forwarded from gonzo-обзоры ML статей
В продолжение темы, Jay Alammar, у которого были прекрасные визуальные объяснения про работу трансформера, в сто раз лучшие оригинальной статьи, выпустил только что иллюстрированный DeepSeek-R1
https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1
https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1
newsletter.languagemodels.co
The Illustrated DeepSeek-R1
A recipe for reasoning LLMs
Forwarded from Тимлид Очевидность | Евгений Антонов
Я принес. Teamlead: Pros and Cons
Недавно мой товарищ Александр Кучук сел размышлять о плюсах и минусах тимлидской позиции. Долго размышлял и написал так много текста, что в тележные посты это вылилось долгими портянками. Но потом для удобства он это всё собрал в один файлик на гитхабе.
Его вам сегодня и приношу https://github.com/qcha/teamlead-cookbook/blob/main/teamlead_pros_cons.md
Мне кажется, это довольно полный и развернутый список. Минусов, конечно, получилось больше, чем плюсов. Но никто и не обещает, что будет легко. Я бы очень рекомендовал почитать этот документ всем тем, кто думает «а не податься ли мне в тимлиды?», или кому на работе такое предложили, или свежеиспеченным тимлидам, которые еще не до конца поняли, нравится ли им всё происходящее, или нет.
Спасибо Саше за то, что эту информацию освещает и распространяет.
А еще спасибо за его юмор и отборные мемесы, которые в его канале бывают. До сих пор помню, как добыл ему билет на тимлидконф и слушал его искрометные комментарии после докладов. В какой-то момент у меня так дыхание от смеха сперло, что сложно было вдохнуть 🙂
Товарищи организаторы, присмотритесь, может быть, это новый шаг в развитии ивентов конференций, чтобы Саша был комментатором ваших докладов!
Недавно мой товарищ Александр Кучук сел размышлять о плюсах и минусах тимлидской позиции. Долго размышлял и написал так много текста, что в тележные посты это вылилось долгими портянками. Но потом для удобства он это всё собрал в один файлик на гитхабе.
Его вам сегодня и приношу https://github.com/qcha/teamlead-cookbook/blob/main/teamlead_pros_cons.md
Мне кажется, это довольно полный и развернутый список. Минусов, конечно, получилось больше, чем плюсов. Но никто и не обещает, что будет легко. Я бы очень рекомендовал почитать этот документ всем тем, кто думает «а не податься ли мне в тимлиды?», или кому на работе такое предложили, или свежеиспеченным тимлидам, которые еще не до конца поняли, нравится ли им всё происходящее, или нет.
Спасибо Саше за то, что эту информацию освещает и распространяет.
А еще спасибо за его юмор и отборные мемесы, которые в его канале бывают. До сих пор помню, как добыл ему билет на тимлидконф и слушал его искрометные комментарии после докладов. В какой-то момент у меня так дыхание от смеха сперло, что сложно было вдохнуть 🙂
Товарищи организаторы, присмотритесь, может быть, это новый шаг в развитии ивентов конференций, чтобы Саша был комментатором ваших докладов!
GitHub
teamlead-cookbook/teamlead_pros_cons.md at main · qcha/teamlead-cookbook
Что такое быть тимлидом: советы, заметки и практика - qcha/teamlead-cookbook
Forwarded from gonzo-обзоры ML статей
Статьи:
* DeepSeek-V3 (https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf)
* DeepSeek-R1 (https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf)
* Janus-Pro (https://github.com/deepseek-ai/Janus/blob/main/janus_pro_tech_report.pdf)
* DeepSeek-VL2 (https://github.com/deepseek-ai/DeepSeek-VL2/blob/main/DeepSeek_VL2_paper.pdf)
* DeepSeek-V3 (https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf)
* DeepSeek-R1 (https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf)
* Janus-Pro (https://github.com/deepseek-ai/Janus/blob/main/janus_pro_tech_report.pdf)
* DeepSeek-VL2 (https://github.com/deepseek-ai/DeepSeek-VL2/blob/main/DeepSeek_VL2_paper.pdf)
Forwarded from Тагир Анализирует
Заголовком к посту – название выпуска подкаста "Быть СТО", который я послушал по наводке Антона из его поста про визибилити. Полтора часа выпуска пролетели незаметно и супер полезно, решил поделиться рассказом про материал здесь
Сам по себе термин visibility можно трактовать по-разному: степень «видимости» и понятности человека (или команды) в глазах окружающих, прозрачность действий, быть видным, быть заметным. В любом случае, для меня это является довольно понятной точкой роста
Саммари выпуска примерно такое: визибилити — это нечто большее, чем «пиар». Это инструмент управления, способ влияния на свое карьерное развитие и укрепления команды. При разумном подходе вы становитесь для окружающих не «черным квадратиком в Zoom», а понятным, надежным партнером или лидером, у которого хочется учиться и с которым хочется работать
Один из спикеров выпуска – Миша Трошев – работает большим руководителем разработки в Яндексе. Было очень интересно послушать, что об этом думают умные люди. В выпуске рассматривают визибилити и его аспекты с разных сторон: со стороны руководителя, сотрудников и смежников
Вот некоторые тезисы:
Визибилити = быть «Top of Mind». Руководители и коллеги вспоминают именно того, кто регулярно появляется «на радаре» с понятными результатами и инициативами
Видимость важна и «сверху», и «снизу»
Инструментов много: выберите удобный
Это могут быть короткие выступления на общих митапах, внутренняя рассылка, NDA канал отдела или регулярные отчёты. Главное — делать это системно
Визибилити иногда решает, кому доверить проект
Даже при выборе строительной бригады для ремонта мы выбираем тех, о ком мы слышали что-то хорошее. Также и в проектах
Не только успехи, но и неудачи
Особенно в R&D и сложных проектах полезно показывать логику экспериментов. Честные выводы из провалов укрепляют доверие
Рекомендую к прослушиванию сам выпуск – там практически не было воды и все было супер интересно. Часто слышно фразы вроде "нужно качать визибилити", но не всегда понятно, что и как нужно делать. Теперь понятно
Рассказывайте в комментариях, работаете ли вы как-то над визибилити и считаете ли это важным. Как всегда, особенно интересно послушать больших начальников – например, как вы развиваете (если) визибилити сотрудников и на что это влияет на ваш взгляд
@tagir_analyzes
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from rafanalytics
Как подготовиться к финальному собеседованию 😱
Помнишь, я рассказывал о том, как подготовиться к собеседованиям на аналитика?
Если да, то самое время поделиться с тобойволшебной таблеткой лайфхаками, как подготовиться к финальному собеседованию с командой, чтобы увеличить свои шансы на успех
Финальное собеседование (или "финал") - встреча или созвон с руководителем команды, в которой ты потенциально будешь работать. Команда со своей стороны хочет убедиться, что нанимает подходящего по своим запросам кандидата, а ты в свою очередь знакомишься с ней, принимая для себя решение, хочешь ли ты работать в такой команде и заниматься подобными задачами.
И в таком формате возникает проблема: у финального собеседования нет определённого формата. В зависимости от собеседующегои его настроения тебя могут спросить всё, что угодно: начиная от задачки на алгоритмы, заканчивая обычной беседой за жизнь, чтобы проверить что ты адекватный чел и с тобой можно комфортно взаимодействовать.
Исходя из таких вводных данных предлагаю следующий алгоритм подготовки:
1️⃣ После назначения финального собеседования попроси у рекрутера информацию о команде, мб ссылку на вакансию (чем подробнее, тем лучше, но сильно душнить тоже не надо). После этого ты идёшь в интернет и изучаешь там статьи/выступления экспертов на тему деятельности этой команды, смотришь на ключевые метрики, которые там могут использоваться 🌐
Ура! После этого тебе будет на порядок легче пройти собес в отличие от кандидата, который не позаботился о том, чтобы узнать об этом. Одно только это действие уже даёт тебе бОльшую часть результата
2️⃣ Подумай о том, как ты будешь презентовать себя свой предыдущий опыт в контексте новой команды. Если позаботишься об этом, то сможешь лучше себя "продать", а ещё на собеседовании не сложится ощущение, что твой предыдущий опыт вообще неприменим к текущим запросам команды.
3️⃣ Подготовь вопросы. Немного странно, когда у кандидата нет вопросов к команде, поэтому позаботься об этом заранее
Не забывай, что успешных финальных собеседований у тебя будет намного меньше, нежели технических и других предварительных. Например, я успешно прошёл лишь2 из 8 финальных собеседований в Яндексе за время моей работы - и это норм 🫡
Делись постом с другом, который проходит финалы, а также согрей пост огоньком 🔥 и клубникой 🍓
Помнишь, я рассказывал о том, как подготовиться к собеседованиям на аналитика?
Если да, то самое время поделиться с тобой
Финальное собеседование (или "финал") - встреча или созвон с руководителем команды, в которой ты потенциально будешь работать. Команда со своей стороны хочет убедиться, что нанимает подходящего по своим запросам кандидата, а ты в свою очередь знакомишься с ней, принимая для себя решение, хочешь ли ты работать в такой команде и заниматься подобными задачами.
И в таком формате возникает проблема: у финального собеседования нет определённого формата. В зависимости от собеседующего
Исходя из таких вводных данных предлагаю следующий алгоритм подготовки:
Например, тебе говорят, что собеседование будет с командой аналитики ценообразования Яндекс.Лавки.
В таком случае мы ищем материалы по запросу "ценообразование в ритейле" и находим видос, в котором слушаем про базовые подходы и обретаем некоторую экспертность в сфере деятельности команды🧐
Ура! После этого тебе будет на порядок легче пройти собес в отличие от кандидата, который не позаботился о том, чтобы узнать об этом. Одно только это действие уже даёт тебе бОльшую часть результата
И да, не нужно затягивать рассказ о себе, пусть он будет на пару минут и с выделением основных достижений, его можно отрепетировать в спокойной обстановке
🤟
Например, какой формат работы? Будет ли сотрудник, помогающий в адаптации? Какими задачами я буду заниматься?
👨💻
Не забывай, что успешных финальных собеседований у тебя будет намного меньше, нежели технических и других предварительных. Например, я успешно прошёл лишь
Делись постом с другом, который проходит финалы, а также согрей пост огоньком 🔥 и клубникой 🍓
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
rafanalytics
Как изучать анализ данных с нуля? (чтобы пройти собеседования на начинающего аналитика)
По многочисленным просьбам собрал все материалы, по которым, я считаю, можно подготвить аналитику и анализ данных с нуля за достаточно небольшое время (при этом можно…
По многочисленным просьбам собрал все материалы, по которым, я считаю, можно подготвить аналитику и анализ данных с нуля за достаточно небольшое время (при этом можно…
Forwarded from Dealer.AI
Думки Дяди про Huge DeepSeek и это вот все.
С одной стороны, я рад, что мои прогнозы (и не только лишь мои) про демократизацию AI (в первую очередь модели, код в open source) сбываются.
С другой стороны мы приходим снова к тому, что мало просто закидать компьютом обучение, отскейлить capacity по весам. Порой надо и мозг же включать в части оптимизации обучения (как они хакнули H800, красавцы !?), в части использования базовых уже известных хорошо работающих подходов (как оттолкнулись от llama и др. круто), и помножив это на хорошо собранный датасет и дизайн обучения,можно получить оказывается конкурентное решение. А если еще свое привнести улучшение в архитектуре, в дизайне экспериментов и тп,доказанное абляциями, разумеется, то можно вообще претендовать уже на свой инкремент, а не тупо форк го бррр.
И тут же, все чаще слышно: "да зачем мне ваше рнд, ща форкну, датку подготовлю гуд и го брр". Недаром уже HF сделало Open R1 проект,чтобы воспроизвести решение. Но вот вам и пример с DeepSeek на что надо еще и рнд шурупить. Пока вы форкаете код публичных лидеров, вы идете goflow за лидером, но вы не обгоняете их, а лишь следуете по его следам, а он, когда выложил что-то в открытый доступ,уже давно делает еще лучшее решение. А чтобы догнать и обогнать хорошо бы потратиться на R часть.
Да конечно, ничего магического нет в том,что сделали китайцы. Собрали все,что работает вместе, все статьи в доступе, код тоже, архитектуры - до всего дотянуться реально. Добавили пару своих фишек, хакнули компьют и присыпали своей модификацией ppo. Но под капотом еще у нас абляции, поиск лучшего комбо и затраты на получение той работающей формулы grpo.
Тут же напомню, как появлялись, к примеру последние интересные решения в разных областях DL:
- FILIP: берем CLIP вспоминаем про ColBERT loss изменяем нарезку и интеракции эмбов с "токенов изображенй и текста" как там и получаем инкремент.
- SimPO из DPO: создатели идут от базы, что в лоссе у нас используется pair-ranking loss с сигмоид релаксацией. А тк у нас есть еще и триплет лосс с зазором, без которого это как раз-таки pair ranking loss, то давайте это добавим в dpo. Потом уберем штраф к референс модели и накинем норму взамен.
- Пример улучшения обучения GPT2 с учётом ухода от Relu , к ReLU^2 и заменой LayerNorm на RmsNorm. Как следствие ускорение обучения (это когда за меньшее число эпох сходимся). Кстати авторы Qwen ту же нормализацию микстят с SwiGLU.
- Про улучшение PPO в GRPO советую почитать у моего товарища по цеху. А еще прикольное тут.
... И тп. и тд.
А теперь посмотрите на видимый прогресс llm с тч зрения дизайна экспов: next token prediction->instruct tuning->rlhf->CoT/ToT/multihop->то же самое с RL->тоже самое с self refine/RLAIF/SelfPlaying. Чуваки двигаются инкерементально, берут базовые/уже известные блоки и микстуют их, находят работающие комбо и получают прирост. Естественно сначала из прошлой итерации выжав все по-максимуму.
Да согласен,что где-то роляет чисто инженерный подход, зачастую, это ребята с опытом "прода" (у r1 вообще хэджфонд, кванты и тп) особенно в области оптимизации инференса или обучения (привет заход под CUDA/c++). Если же говорить о дизайне экспериментов:новых методах/лоссах, сэмплинге, токенайзере, архитектурных инкрементах, разумеется без РнД никуда. Вопрос остается в качестве и количестве единиц.
Если вы немаленький игрок на рынке, с ресурсами и желанием вложиться в прорыв, но сейчас делаете go flow, с блэкджеком и форками, DeepSeek пример того, как можно "сменить лидера". It's time подсидеть того самого соседа (внутри или снаружи), тк эти ребята доказали,что это возможно. Просто сконцентрируйтесь не на тех задачах,что дают вам +2-3% к тому, что уже есть, а приоритизируйте самые, по-вашему мнению, драйвящие фичи наверх. Возможно и стоит разобрать на косточки решение китайцев,но лишь для того,чтобы в багаж получить новые работающие хинты и собрать из них свой лего, улучшить их и возможно уже вы завтра станете game changers. Если конечно оно Вам надо...
Всем stay tuned. 🦾
С одной стороны, я рад, что мои прогнозы (и не только лишь мои) про демократизацию AI (в первую очередь модели, код в open source) сбываются.
С другой стороны мы приходим снова к тому, что мало просто закидать компьютом обучение, отскейлить capacity по весам. Порой надо и мозг же включать в части оптимизации обучения (как они хакнули H800, красавцы !?), в части использования базовых уже известных хорошо работающих подходов (как оттолкнулись от llama и др. круто), и помножив это на хорошо собранный датасет и дизайн обучения,можно получить оказывается конкурентное решение. А если еще свое привнести улучшение в архитектуре, в дизайне экспериментов и тп,доказанное абляциями, разумеется, то можно вообще претендовать уже на свой инкремент, а не тупо форк го бррр.
И тут же, все чаще слышно: "да зачем мне ваше рнд, ща форкну, датку подготовлю гуд и го брр". Недаром уже HF сделало Open R1 проект,чтобы воспроизвести решение. Но вот вам и пример с DeepSeek на что надо еще и рнд шурупить. Пока вы форкаете код публичных лидеров, вы идете goflow за лидером, но вы не обгоняете их, а лишь следуете по его следам, а он, когда выложил что-то в открытый доступ,уже давно делает еще лучшее решение. А чтобы догнать и обогнать хорошо бы потратиться на R часть.
Да конечно, ничего магического нет в том,что сделали китайцы. Собрали все,что работает вместе, все статьи в доступе, код тоже, архитектуры - до всего дотянуться реально. Добавили пару своих фишек, хакнули компьют и присыпали своей модификацией ppo. Но под капотом еще у нас абляции, поиск лучшего комбо и затраты на получение той работающей формулы grpo.
Тут же напомню, как появлялись, к примеру последние интересные решения в разных областях DL:
- FILIP: берем CLIP вспоминаем про ColBERT loss изменяем нарезку и интеракции эмбов с "токенов изображенй и текста" как там и получаем инкремент.
- SimPO из DPO: создатели идут от базы, что в лоссе у нас используется pair-ranking loss с сигмоид релаксацией. А тк у нас есть еще и триплет лосс с зазором, без которого это как раз-таки pair ranking loss, то давайте это добавим в dpo. Потом уберем штраф к референс модели и накинем норму взамен.
- Пример улучшения обучения GPT2 с учётом ухода от Relu , к ReLU^2 и заменой LayerNorm на RmsNorm. Как следствие ускорение обучения (это когда за меньшее число эпох сходимся). Кстати авторы Qwen ту же нормализацию микстят с SwiGLU.
- Про улучшение PPO в GRPO советую почитать у моего товарища по цеху. А еще прикольное тут.
... И тп. и тд.
А теперь посмотрите на видимый прогресс llm с тч зрения дизайна экспов: next token prediction->instruct tuning->rlhf->CoT/ToT/multihop->то же самое с RL->тоже самое с self refine/RLAIF/SelfPlaying. Чуваки двигаются инкерементально, берут базовые/уже известные блоки и микстуют их, находят работающие комбо и получают прирост. Естественно сначала из прошлой итерации выжав все по-максимуму.
Да согласен,что где-то роляет чисто инженерный подход, зачастую, это ребята с опытом "прода" (у r1 вообще хэджфонд, кванты и тп) особенно в области оптимизации инференса или обучения (привет заход под CUDA/c++). Если же говорить о дизайне экспериментов:новых методах/лоссах, сэмплинге, токенайзере, архитектурных инкрементах, разумеется без РнД никуда. Вопрос остается в качестве и количестве единиц.
Если вы немаленький игрок на рынке, с ресурсами и желанием вложиться в прорыв, но сейчас делаете go flow, с блэкджеком и форками, DeepSeek пример того, как можно "сменить лидера". It's time подсидеть того самого соседа (внутри или снаружи), тк эти ребята доказали,что это возможно. Просто сконцентрируйтесь не на тех задачах,что дают вам +2-3% к тому, что уже есть, а приоритизируйте самые, по-вашему мнению, драйвящие фичи наверх. Возможно и стоит разобрать на косточки решение китайцев,но лишь для того,чтобы в багаж получить новые работающие хинты и собрать из них свой лего, улучшить их и возможно уже вы завтра станете game changers. Если конечно оно Вам надо...
Всем stay tuned. 🦾
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#hpt #hpo #landmarking #multifidelity
Оказывается, всё уже изобретено до нас.
Landmarking in machine learning is a meta-learning technique that evaluates the performance of simple, computationally inexpensive models (called landmarkers) on a given dataset to extract useful meta-features. These meta-features can then be used to guide model selection, hyperparameter tuning, or other meta-learning tasks.
Key Ideas Behind Landmarking:
Using Simple Models: Instead of training complex models on a dataset, landmarking quickly evaluates the performance of basic classifiers or regressors (e.g., decision stumps, k-nearest neighbors with k=1, Naive Bayes).
Extracting Meta-Features: The accuracy, F1-score, or other performance metrics of these landmarkers act as meta-features that describe the dataset’s properties.
Guiding Model Selection: If a simple model performs well, it may indicate that more complex models of the same type will work well too. For example, if a 1-NN classifier performs well, then SVMs or Random Forests might also be suitable.
Example:
Suppose you have a new dataset and want to determine whether a neural network or a tree-based model would work best.
You could train a decision stump (a tree with one split) and a 1-nearest neighbor classifier.
If the decision stump performs well, this suggests that the dataset has simple, rule-based decision boundaries, making tree-based models a good choice.
Pros & Cons:
✅ Fast & Low-Cost: Landmarking is computationally cheap compared to training complex models.
✅ Useful for Cold Start Problems: Helps when no prior knowledge about dataset properties is available.
❌ Limited Predictive Power: Landmarkers are simple models and may not always capture dataset complexity well.
❌ Scalability Issues: The choice of landmarkers needs to be carefully designed for different types of datasets.
Landmarking and multi-fidelity methods are related but not synonyms. They both aim to reduce computation in machine learning, but they serve different purposes:
Landmarking (Meta-Learning Technique)
Landmarking is a meta-learning approach that uses the performance of simple models (landmarkers) to infer the difficulty of a dataset.
It is mainly used for model selection and meta-feature extraction.
Example: Training a 1-Nearest Neighbor model or a Decision Stump and using their accuracy as a meta-feature to predict which complex model will work best.
Multi-Fidelity (Optimization & Surrogate Modeling)
Multi-fidelity methods aim to speed up optimization by using low-fidelity approximations before running expensive high-fidelity computations.
It is used in hyperparameter optimization, Bayesian optimization, and neural architecture search (NAS).
Example: Instead of training a deep neural network for 100 epochs, a multi-fidelity approach might first evaluate it on 10 epochs to estimate its final performance.
In some cases, landmarking can be seen as a type of multi-fidelity method if we view simple models as low-fidelity approximations of complex models. However, multi-fidelity methods usually involve explicit modeling of the tradeoff between low- and high-fidelity evaluations, while landmarking is more heuristic.
In the selection process, we can use either the landmarkers’ absolute accuracy measures or the relationship of the landmarkers’ accuracy relative to each other (Fürnkranz and Petrak 2001). Often, a landmarker’s accuracy cannot represent the original algorithm’s accuracy well, causing a less effective algorithm to be selected. Sampling-based landmark (Petrak 2000; Fürnkranz and Petrak 2001; Soares et al. 2001) is another method for automatically selecting machine learning algorithms. To quickly obtain a rough estimate of each algorithm’s accuracy on a data set, the method applies the algorithm on a sample of the data set. The accuracy estimates are used to select the algorithm to be used on the whole data set.
Оказывается, всё уже изобретено до нас.
Landmarking in machine learning is a meta-learning technique that evaluates the performance of simple, computationally inexpensive models (called landmarkers) on a given dataset to extract useful meta-features. These meta-features can then be used to guide model selection, hyperparameter tuning, or other meta-learning tasks.
Key Ideas Behind Landmarking:
Using Simple Models: Instead of training complex models on a dataset, landmarking quickly evaluates the performance of basic classifiers or regressors (e.g., decision stumps, k-nearest neighbors with k=1, Naive Bayes).
Extracting Meta-Features: The accuracy, F1-score, or other performance metrics of these landmarkers act as meta-features that describe the dataset’s properties.
Guiding Model Selection: If a simple model performs well, it may indicate that more complex models of the same type will work well too. For example, if a 1-NN classifier performs well, then SVMs or Random Forests might also be suitable.
Example:
Suppose you have a new dataset and want to determine whether a neural network or a tree-based model would work best.
You could train a decision stump (a tree with one split) and a 1-nearest neighbor classifier.
If the decision stump performs well, this suggests that the dataset has simple, rule-based decision boundaries, making tree-based models a good choice.
Pros & Cons:
✅ Fast & Low-Cost: Landmarking is computationally cheap compared to training complex models.
✅ Useful for Cold Start Problems: Helps when no prior knowledge about dataset properties is available.
❌ Limited Predictive Power: Landmarkers are simple models and may not always capture dataset complexity well.
❌ Scalability Issues: The choice of landmarkers needs to be carefully designed for different types of datasets.
Landmarking and multi-fidelity methods are related but not synonyms. They both aim to reduce computation in machine learning, but they serve different purposes:
Landmarking (Meta-Learning Technique)
Landmarking is a meta-learning approach that uses the performance of simple models (landmarkers) to infer the difficulty of a dataset.
It is mainly used for model selection and meta-feature extraction.
Example: Training a 1-Nearest Neighbor model or a Decision Stump and using their accuracy as a meta-feature to predict which complex model will work best.
Multi-Fidelity (Optimization & Surrogate Modeling)
Multi-fidelity methods aim to speed up optimization by using low-fidelity approximations before running expensive high-fidelity computations.
It is used in hyperparameter optimization, Bayesian optimization, and neural architecture search (NAS).
Example: Instead of training a deep neural network for 100 epochs, a multi-fidelity approach might first evaluate it on 10 epochs to estimate its final performance.
In some cases, landmarking can be seen as a type of multi-fidelity method if we view simple models as low-fidelity approximations of complex models. However, multi-fidelity methods usually involve explicit modeling of the tradeoff between low- and high-fidelity evaluations, while landmarking is more heuristic.
In the selection process, we can use either the landmarkers’ absolute accuracy measures or the relationship of the landmarkers’ accuracy relative to each other (Fürnkranz and Petrak 2001). Often, a landmarker’s accuracy cannot represent the original algorithm’s accuracy well, causing a less effective algorithm to be selected. Sampling-based landmark (Petrak 2000; Fürnkranz and Petrak 2001; Soares et al. 2001) is another method for automatically selecting machine learning algorithms. To quickly obtain a rough estimate of each algorithm’s accuracy on a data set, the method applies the algorithm on a sample of the data set. The accuracy estimates are used to select the algorithm to be used on the whole data set.
Forwarded from Dealer.AI
От RStaR до DeepSeek и обратно. Или краткий обзор, а че это ваще было!?
Итак, deepseek наделало много шума. Но давайте бегло пройдемся в стиле "а чей-то вообще было?". Для начала, если взглянуть в архитектуру, то можно увидеть наследие llama, присыпанное МоЕ слоями. Это "чудо генной МоЕ инженерии" далее учили интересным образом. Первое это, разумеется pretrain. Однако после, мы видим, что для zero поколения не используют SFT стадию, а сразу переходят к RL.
Все знакомые задаются вопросом:
- "Почему без sft?".
При этом на просторах паутины всплывает статья. В ней описываются эксперимент, как влияет на генерализацию и др. способности после претрейна этапы sft и rl обучения моделей.
Если кратко, выводы такие, что sft работает лучше на запоминание паттернов, а rl лучше способствует ризонингу и генерализации на "новых задачах". Поясню. Т.е. sft надо включать тогда, когда хочется сделать domain adoptation и все. Ну а если вам хочется работать лучше на "неожиданных" out of fold примерах, лучше юзать rl.
Но, на взгляд Дяди, никто не запрещает микстить оба подхода. Еще замечу, что интуитивно мне понятно почему rl способствует большей "свободе" в ориентации по задачам. Сама постановка обучения с подкреплением - это работа с большей вариативностью исходов, которые обеспечивает среда, она может порождать больше примеров, чем рукописная выборка, а значит на этапе тюна мы увидим больше вариантов развития событий. Модель засчет награды научится эти варианты обрабатывать, улучшится ризонинг, планинг и тп.
Почитать выжимку также можно у коллеги тут.
Про no model rl. Еще один плюс подхода заключается в том, что в zero сетапе нет внешней модели, в качестве среды для grpo у нас выступают правила и компилятор. Тк задачи имеют точный итоговый ответ, то с ним можно сравниться по заданным критериям, а если это код использовать селф-дебаг и компилятор. Привет, к примеру RStaR. А еще это даёт возможность уйти от взлома reward модели, например, через oov примеры (модель награды не видела всех исходов).
Однако, для дальнейших стадий обучения авторы прибегнут и к внешней модели награды и к RLAIF подходу, и, конечно, будут делать sft, перемежая его с rl grpo. А все из-за "проблемы" с мультиязыком и как решить эти переходы во время рассуждений модели. В том числе, для этого, как пишут авторы, были добавлены стадии сфт и тп. Но у нас сложность интерпретации падает не только из-за мультияза, но и еще из-за LongCoT цепочек, как артефакта rl. Кстати, длинные рассуждения это артефакт взаимодействия rl обучения и thinking токенов - тут это формат, где мы указываем откуда начинать и где закончить блок рассуждений. И этот формат также проверяется в no model reward. Дядя бы и туда проверку на стабильность языка добавил, мол доля токенов целевого языка бы мерилась к нецелевой и добавлялась в награду.
Переход от zero к hero (zero deepseek r1 vs deepseek r1). Итого мы получаем, что на первом этапе модель учится в сетапе: pretrain+thinking area/tokens + rl. Так получается zero R1. После используется sft+rl+rlaif дообучение. Здесь нужно пояснение. Процесс обучения второй стадии начинается с холодного старта. DeepSeek v3 тюнят на рафинированном датасете, который просеян через Zero-R1 — отобранные high quality примеры. Так подтягивают читаемость. Далее проходит этап RL для улучшения ризонинга. Потом снова, используя модель со второго этапа и отбирают лучшие варианты из обучающей выборки (состоит в основном из рассуждений) + используют некую reward модель, о которой упоминается вскольз (но тоже на базе DeepSeek.v3), такой вот rejection sampling. Наконец, делают последний rl тюн на rule based награде и сете из разнообразных задач, тут же включают RLAIF подход для выравнивания. Такой длинный пайп, снова роднит нас, на мой взгляд с RStaR подходом обучения. Там тоже были схожие стадии просеивания и самоулучшения.
Далее 👇👇👇👇👇
Итак, deepseek наделало много шума. Но давайте бегло пройдемся в стиле "а чей-то вообще было?". Для начала, если взглянуть в архитектуру, то можно увидеть наследие llama, присыпанное МоЕ слоями. Это "чудо генной МоЕ инженерии" далее учили интересным образом. Первое это, разумеется pretrain. Однако после, мы видим, что для zero поколения не используют SFT стадию, а сразу переходят к RL.
Все знакомые задаются вопросом:
- "Почему без sft?".
При этом на просторах паутины всплывает статья. В ней описываются эксперимент, как влияет на генерализацию и др. способности после претрейна этапы sft и rl обучения моделей.
Если кратко, выводы такие, что sft работает лучше на запоминание паттернов, а rl лучше способствует ризонингу и генерализации на "новых задачах". Поясню. Т.е. sft надо включать тогда, когда хочется сделать domain adoptation и все. Ну а если вам хочется работать лучше на "неожиданных" out of fold примерах, лучше юзать rl.
Но, на взгляд Дяди, никто не запрещает микстить оба подхода. Еще замечу, что интуитивно мне понятно почему rl способствует большей "свободе" в ориентации по задачам. Сама постановка обучения с подкреплением - это работа с большей вариативностью исходов, которые обеспечивает среда, она может порождать больше примеров, чем рукописная выборка, а значит на этапе тюна мы увидим больше вариантов развития событий. Модель засчет награды научится эти варианты обрабатывать, улучшится ризонинг, планинг и тп.
Почитать выжимку также можно у коллеги тут.
Про no model rl. Еще один плюс подхода заключается в том, что в zero сетапе нет внешней модели, в качестве среды для grpo у нас выступают правила и компилятор. Тк задачи имеют точный итоговый ответ, то с ним можно сравниться по заданным критериям, а если это код использовать селф-дебаг и компилятор. Привет, к примеру RStaR. А еще это даёт возможность уйти от взлома reward модели, например, через oov примеры (модель награды не видела всех исходов).
Однако, для дальнейших стадий обучения авторы прибегнут и к внешней модели награды и к RLAIF подходу, и, конечно, будут делать sft, перемежая его с rl grpo. А все из-за "проблемы" с мультиязыком и как решить эти переходы во время рассуждений модели. В том числе, для этого, как пишут авторы, были добавлены стадии сфт и тп. Но у нас сложность интерпретации падает не только из-за мультияза, но и еще из-за LongCoT цепочек, как артефакта rl. Кстати, длинные рассуждения это артефакт взаимодействия rl обучения и thinking токенов - тут это формат, где мы указываем откуда начинать и где закончить блок рассуждений. И этот формат также проверяется в no model reward. Дядя бы и туда проверку на стабильность языка добавил, мол доля токенов целевого языка бы мерилась к нецелевой и добавлялась в награду.
Переход от zero к hero (zero deepseek r1 vs deepseek r1). Итого мы получаем, что на первом этапе модель учится в сетапе: pretrain+thinking area/tokens + rl. Так получается zero R1. После используется sft+rl+rlaif дообучение. Здесь нужно пояснение. Процесс обучения второй стадии начинается с холодного старта. DeepSeek v3 тюнят на рафинированном датасете, который просеян через Zero-R1 — отобранные high quality примеры. Так подтягивают читаемость. Далее проходит этап RL для улучшения ризонинга. Потом снова, используя модель со второго этапа и отбирают лучшие варианты из обучающей выборки (состоит в основном из рассуждений) + используют некую reward модель, о которой упоминается вскольз (но тоже на базе DeepSeek.v3), такой вот rejection sampling. Наконец, делают последний rl тюн на rule based награде и сете из разнообразных задач, тут же включают RLAIF подход для выравнивания. Такой длинный пайп, снова роднит нас, на мой взгляд с RStaR подходом обучения. Там тоже были схожие стадии просеивания и самоулучшения.
Далее 👇👇👇👇👇
arXiv.org
SFT Memorizes, RL Generalizes: A Comparative Study of Foundation...
Supervised fine-tuning (SFT) and reinforcement learning (RL) are widely used post-training techniques for foundation models. However, their roles in enhancing model generalization capabilities...