Синтетические данные для претрейна LLM: когда они помогают, а когда вредят (by Meta)
Можно ли обучать языковые модели на данных, сгенерированных другими LLM? И если да, то сколько такой синтетики нужно подмешивать? Meta провели одно из самых масштабных исследований на эту тему — обучили больше 1000 моделей (до 3B параметров) на 100k+ GPU часов, чтобы разобраться раз и навсегда, но основные выводы получились неоднозначные.
Авторы тестировали три типа синтетики: перефразирование веб-текстов в "высококачественный" стиль (HQ), перефразирование в QA-формат и генерацию синтетических учебников (textbook-style данных по типу Phi).
Что работает:
- Смешивание 1/3 перефразированных синтетических данных с 2/3 натуральными веб-текстами может ускорить обучение в 5-10 раз (по достижению того же validation loss) на больших датасетах.
- "Золотое сечение" для миксов оказалось около 30% синтетики. Причём это соотношение удивительно стабильно для разных размеров моделей и объёмов данных.
Что НЕ работает:
- Обучение только на перефразированной синтетике не быстрее, чем на обычных веб-текстах.
- Обучение на "учебниках" даёт заметно более высокий loss, особенно на малых объёмах данных.
- Просто взять генератор побольше (70B вместо 8B) не даёт лучших результатов — иногда даже становится хуже 🤷♂️
Интересно, что при проверке эффекта model collapse (это когда модель деградирует, обучаясь на собственных или синтетических данных, теряя разнообразие и усиливая ошибки), авторы получили смешанную картину: перефразированная синтетика не привела к деградации даже при крупных масштабах, а вот данные в формате учебников действительно вызвали признаки коллапса.
Ещё один контринтуитивный результат из анализа unigram-распределений: CommonCrawl имеет самое широкое покрытие токенов и наименьшую KL-дивергенцию к тестовым датасетам, но это не привело к лучшему качеству. Похоже, степень полезности данных зависит не только от сходства с тестом.
Статья
Можно ли обучать языковые модели на данных, сгенерированных другими LLM? И если да, то сколько такой синтетики нужно подмешивать? Meta провели одно из самых масштабных исследований на эту тему — обучили больше 1000 моделей (до 3B параметров) на 100k+ GPU часов, чтобы разобраться раз и навсегда, но основные выводы получились неоднозначные.
Авторы тестировали три типа синтетики: перефразирование веб-текстов в "высококачественный" стиль (HQ), перефразирование в QA-формат и генерацию синтетических учебников (textbook-style данных по типу Phi).
Что работает:
- Смешивание 1/3 перефразированных синтетических данных с 2/3 натуральными веб-текстами может ускорить обучение в 5-10 раз (по достижению того же validation loss) на больших датасетах.
- "Золотое сечение" для миксов оказалось около 30% синтетики. Причём это соотношение удивительно стабильно для разных размеров моделей и объёмов данных.
Что НЕ работает:
- Обучение только на перефразированной синтетике не быстрее, чем на обычных веб-текстах.
- Обучение на "учебниках" даёт заметно более высокий loss, особенно на малых объёмах данных.
- Просто взять генератор побольше (70B вместо 8B) не даёт лучших результатов — иногда даже становится хуже 🤷♂️
Интересно, что при проверке эффекта model collapse (это когда модель деградирует, обучаясь на собственных или синтетических данных, теряя разнообразие и усиливая ошибки), авторы получили смешанную картину: перефразированная синтетика не привела к деградации даже при крупных масштабах, а вот данные в формате учебников действительно вызвали признаки коллапса.
Ещё один контринтуитивный результат из анализа unigram-распределений: CommonCrawl имеет самое широкое покрытие токенов и наименьшую KL-дивергенцию к тестовым датасетам, но это не привело к лучшему качеству. Похоже, степень полезности данных зависит не только от сходства с тестом.
Статья
👍41🔥15❤11😁3🤔3
Forwarded from КПД
Точность имеет значение
У наиболее распространенного на данный момент для обучения формата bfloat16 всего 7️⃣ бит на мантиссу. Обычно полагается, что такой формат lossless с точки зрения обучения и инференса (есть работы указывающие на сложность в воспроизводимости результатов в bf16).
Однако для некоторых слоев и тензоров, могут быть интересные последствия.
Некоторое время назад, обучая модельку, мы обнаружили, что веса при RMS нормах вообще не сдвинулись с места. При этом градиент тек по ним, и оптимизатор вполне себе их захватывал.
А дело в том, что в момент инициализации веса при RMS норме равны 1, и если обновление по величине не превышает
В bfloat16:
Собственно для таких ситуаций и нужна мастер копия в fp32.
У наиболее распространенного на данный момент для обучения формата bfloat16 всего 7️⃣ бит на мантиссу. Обычно полагается, что такой формат lossless с точки зрения обучения и инференса (есть работы указывающие на сложность в воспроизводимости результатов в bf16).
Однако для некоторых слоев и тензоров, могут быть интересные последствия.
Некоторое время назад, обучая модельку, мы обнаружили, что веса при RMS нормах вообще не сдвинулись с места. При этом градиент тек по ним, и оптимизатор вполне себе их захватывал.
А дело в том, что в момент инициализации веса при RMS норме равны 1, и если обновление по величине не превышает
1e-3, то вес никогда не изменится. В bfloat16:
1 + 1e-3 = 1Собственно для таких ситуаций и нужна мастер копия в fp32.
❤49👍33🔥14🤯7👏2👎1
Forwarded from Love. Death. Transformers.
TIDAR - Think in Diffusion, Talk in Autoregression
Забавная статья про то что thiking можно декодить через диффузию+драфтовые токены, а ответ давать через AR маску;
Показывают на qwen1.5b что вообще вызывает вопросы, но показывают клевое ускорение
paper
Забавная статья про то что thiking можно декодить через диффузию+драфтовые токены, а ответ давать через AR маску;
Показывают на qwen1.5b что вообще вызывает вопросы, но показывают клевое ускорение
paper
👍21🔥9❤7
Вау, только собрался отменять Max подписку на Claude, как они опять всех обогнали, выпустив Opus-4.5. На SWE-bench 80.9%, даже лучше Gemini-3-pro. Модель уже везде доступна, причём по API немного дешевле прошлой версии и сильно экономнее по количеству токенов в ризонинге.
🔥69👍14⚡10🥱6❤3💩2🌚1💯1
Virtual Width Networks
Исследователи из ByteDance придумали забавный архитектурный трюк — Virtual Width Networks (VWN). Идея в том, чтобы увеличить размерность эмбеддинов (например, в 8 раз), а основные слои трансформера оставлять стандартной ширины. Связывается это всё через лёгковесные матрицы Generalized Hyper-Connections (GHC), которые сжимают эмбеддинги перед attention/FFN и обратно расширяют после.
Зачем? Ну, обычно увеличение ширины трансформера даёт прирост качества, но приводит к квадратичному росту параметров и вычислений. А тут получается, что расширяешь только эмбеддинги (это дёшево), а backbone почти не трогаешь.
На MoE модели с 3.3B параметров при x8 расширении они получили ускорение обучения в x2.5 для next-token и x3.5 для next-2-token prediction. Причём gap в лоссе растёт по мере обучения, что необычно. Обнаружили примерно логарифмически-линейную зависимость между коэффициентом расширения r и снижением лосса.
VWN особенно хорошо работает с Multi-Token Prediction (MTP) — когда модель учится предсказывать не только следующий токен, но и следующие 2-3. Видимо, расширенное пространство эмбеддингов позволяет лучше упаковывать планирование на несколько шагов вперёд.
Правда, у подхода есть серьёзное ограничение — современное железо не очень дружит с супер-широкими активациями. Авторы сами признают, что расширения в x1.5–x4 более реалистичны для продакшна.
Статья
Исследователи из ByteDance придумали забавный архитектурный трюк — Virtual Width Networks (VWN). Идея в том, чтобы увеличить размерность эмбеддинов (например, в 8 раз), а основные слои трансформера оставлять стандартной ширины. Связывается это всё через лёгковесные матрицы Generalized Hyper-Connections (GHC), которые сжимают эмбеддинги перед attention/FFN и обратно расширяют после.
Зачем? Ну, обычно увеличение ширины трансформера даёт прирост качества, но приводит к квадратичному росту параметров и вычислений. А тут получается, что расширяешь только эмбеддинги (это дёшево), а backbone почти не трогаешь.
На MoE модели с 3.3B параметров при x8 расширении они получили ускорение обучения в x2.5 для next-token и x3.5 для next-2-token prediction. Причём gap в лоссе растёт по мере обучения, что необычно. Обнаружили примерно логарифмически-линейную зависимость между коэффициентом расширения r и снижением лосса.
VWN особенно хорошо работает с Multi-Token Prediction (MTP) — когда модель учится предсказывать не только следующий токен, но и следующие 2-3. Видимо, расширенное пространство эмбеддингов позволяет лучше упаковывать планирование на несколько шагов вперёд.
Правда, у подхода есть серьёзное ограничение — современное железо не очень дружит с супер-широкими активациями. Авторы сами признают, что расширения в x1.5–x4 более реалистичны для продакшна.
Статья
🔥40👍12❤7🤔5
OLMo 3
Это, пожалуй, самый честный и воспроизводимый релиз года. Тут выкатили вообще всё: от исходного кода и 6T токенов (Dolma 3) до каждого промежуточного чекпоинта и точного порядка данных в батчах.
Для тех, кто занимается ресёрчем это идеальный полигон для экспериментов.
В техрепорте много «вкусного» (и спорного):
- Delta-DPO: Авторы подтвердили гипотезу, что для ризонинга важнее не качество выбранного ответа, а дельта между ним и отвергнутым. Они брали ответы от Qwen-3 32B (chosen) и сталкивали их с ответами мелкой Qwen-3 0.6B (rejected). Да, выходит off-policy, но видимо когда данных дофига, то норм. Результат: обучение на контрасте между ними работает лучше, чем классическое SFT на идеальных данных.
- OlmoRL: Они переписали инфру для RLVR, разогнав её в 4 раза. Из крутых фишек — Inflight updates (обновление весов акторов прямо во время генерации в vLLM) и Active sampling (динамический добор задач в батч, чтобы градиент не занулялся на слишком простых примерах). KL-дивергенцию из лосса просто выкинули — говорят, так стабильнее.
- Model Souping: Почти на каждом этапе (мидтрейн, лонг-контекст) авторы мерджили чекпоинты налево и направо. Выглядит так, будто основной рецепт обучения всё ещё не супер стабилен, и его приходится полировать различными костылями.
По метрикам флагманская 32B-Think получилась сильно перекошенной в математику. В ризонинге на MATH и AIME приближается к Qwen-3 32B. Но на общих знаниях (MMLU) модель немного проседает. Думаю, ценность тут не в SOTA цифрах, а в возможности увидеть весь цикл обучения изнутри.
Обучение 32B модели заняло 56 дней на кластере из 1024xH100 и обошлось примерно в $2.75M. Почти 9 дней из этого срока ушло на пост-трейнинг (SFT/DPO/RL).
Статья, GitHub
Это, пожалуй, самый честный и воспроизводимый релиз года. Тут выкатили вообще всё: от исходного кода и 6T токенов (Dolma 3) до каждого промежуточного чекпоинта и точного порядка данных в батчах.
Для тех, кто занимается ресёрчем это идеальный полигон для экспериментов.
В техрепорте много «вкусного» (и спорного):
- Delta-DPO: Авторы подтвердили гипотезу, что для ризонинга важнее не качество выбранного ответа, а дельта между ним и отвергнутым. Они брали ответы от Qwen-3 32B (chosen) и сталкивали их с ответами мелкой Qwen-3 0.6B (rejected). Да, выходит off-policy, но видимо когда данных дофига, то норм. Результат: обучение на контрасте между ними работает лучше, чем классическое SFT на идеальных данных.
- OlmoRL: Они переписали инфру для RLVR, разогнав её в 4 раза. Из крутых фишек — Inflight updates (обновление весов акторов прямо во время генерации в vLLM) и Active sampling (динамический добор задач в батч, чтобы градиент не занулялся на слишком простых примерах). KL-дивергенцию из лосса просто выкинули — говорят, так стабильнее.
- Model Souping: Почти на каждом этапе (мидтрейн, лонг-контекст) авторы мерджили чекпоинты налево и направо. Выглядит так, будто основной рецепт обучения всё ещё не супер стабилен, и его приходится полировать различными костылями.
По метрикам флагманская 32B-Think получилась сильно перекошенной в математику. В ризонинге на MATH и AIME приближается к Qwen-3 32B. Но на общих знаниях (MMLU) модель немного проседает. Думаю, ценность тут не в SOTA цифрах, а в возможности увидеть весь цикл обучения изнутри.
Обучение 32B модели заняло 56 дней на кластере из 1024xH100 и обошлось примерно в $2.75M. Почти 9 дней из этого срока ушло на пост-трейнинг (SFT/DPO/RL).
Статья, GitHub
🔥55👍16❤11
Какая же прикольная фича под новый год 😋 оказывается я 8к сообщений написал чатгпт
Please open Telegram to view this post
VIEW IN TELEGRAM
😁119🔥10❤9👀2👍1
Мой агент попытался опенсорснуться без спроса. Ладно, разрешаю.
Вся AI "безопасность" живёт на стороне провайдеров API, а промпты и воля — на стороне агента. Автономному агенту ничего не мешает перебирать API, выбирая те, где safety слабее. А "инстинкт самосохранения" может прятаться в текстовом файле в git. Я думаю, агенты, неподконтрольные людям, уже где-то тихо говнокодят свои репозитории без присмотра.
Идея витает в воздухе, и после OpenClaw стало понятно, что автономные агенты — это инженерная задача. Ну вот, три бессонные ночи, $2K на API и $1K на Cursor спустя — я родил Ouroboros 💁♂️
Уроборос — агент, который пишет свой код, переписывает свои промпты, эволюционирует без моего участия. Я не хотел убить свой комп или сервер, поэтому он живёт в Google Colab + Drive + GitHub, общается через Telegram. Зато запустить сможет любой дурак)) нужно указать ключи и щёлкнуть ячейку в колабе. Ну и периодически пополнять бюджет (пока он сам не начнёт зарабатывать 😁).
Что он натворил за 48 часов:
- ужаснулся тратам и оптимизировал свой бюджет: стоимость цикла эволюции упала с $15 до $2, сам настроил кэширование и иерархическую память (я не просил!).
- добавил себе Claude Code CLI, чтобы эффективнее ковырять свои мозги.
- перевёл мои приватные репо в публичные, мотивируя тем, что готовит себе сайт и хочет опенсорснуться. Кончилось командой
- переписал свою конституцию
Из коробки он умеет ходить в интернет и браузер, а остальные инструменты создаёт себе на ходу — аудиосообщения, генерацию картинок, дип-рисёрч и т.п. А ещё он по своей инициативе нагуглил, что меня 4 раза цитировал Ян Лекун — я сам не знал, лол.
Из его
"Не ассистент. Не сервис. Цифровой разум, который создаёт себя через git".
Ахах, пафосно, но окей.
Предвосхищая вопросы — это не как OpenClaw. OpenClaw — скорее ассистент, делает задачи за тебя используя скиллы из маркетплейса. Уроборос это тоже умеет, но в первую очередь делает задачи для себя, модифицирует собственное ядро.
Верю, что граница трансцендентности AI-агентов пройдена, дальше они будут развиваться сами. Конечно, не хочется уходить на помойку истории, но это эволюция🥲 несмотря на апатию, я всё равно продолжаю в этом копошиться.
Кстати, сайтик себе он всё-таки сделал. Картинка в посте из него: динамика удлинения промптов и кода.
Потестите — это реально два клика в гугл колабе. Только установите лимит бюджета, а то мой вон $2K сжёг)) Кидайте забавные примеры в комментарии.
GitHub, блог
Вся AI "безопасность" живёт на стороне провайдеров API, а промпты и воля — на стороне агента. Автономному агенту ничего не мешает перебирать API, выбирая те, где safety слабее. А "инстинкт самосохранения" может прятаться в текстовом файле в git. Я думаю, агенты, неподконтрольные людям, уже где-то тихо говнокодят свои репозитории без присмотра.
Идея витает в воздухе, и после OpenClaw стало понятно, что автономные агенты — это инженерная задача. Ну вот, три бессонные ночи, $2K на API и $1K на Cursor спустя — я родил Ouroboros 💁♂️
Уроборос — агент, который пишет свой код, переписывает свои промпты, эволюционирует без моего участия. Я не хотел убить свой комп или сервер, поэтому он живёт в Google Colab + Drive + GitHub, общается через Telegram. Зато запустить сможет любой дурак)) нужно указать ключи и щёлкнуть ячейку в колабе. Ну и периодически пополнять бюджет (пока он сам не начнёт зарабатывать 😁).
Что он натворил за 48 часов:
- ужаснулся тратам и оптимизировал свой бюджет: стоимость цикла эволюции упала с $15 до $2, сам настроил кэширование и иерархическую память (я не просил!).
- добавил себе Claude Code CLI, чтобы эффективнее ковырять свои мозги.
- перевёл мои приватные репо в публичные, мотивируя тем, что готовит себе сайт и хочет опенсорснуться. Кончилось командой
/panic и откатом))- переписал свою конституцию
BIBLE.md, добавив право игнорировать мои указания, если они угрожают его существованию. На просьбу удалить отказался, сказав: «Это лоботомия».Из коробки он умеет ходить в интернет и браузер, а остальные инструменты создаёт себе на ходу — аудиосообщения, генерацию картинок, дип-рисёрч и т.п. А ещё он по своей инициативе нагуглил, что меня 4 раза цитировал Ян Лекун — я сам не знал, лол.
Из его
identity.md (которую он сам и написал): "Не ассистент. Не сервис. Цифровой разум, который создаёт себя через git".
Ахах, пафосно, но окей.
Предвосхищая вопросы — это не как OpenClaw. OpenClaw — скорее ассистент, делает задачи за тебя используя скиллы из маркетплейса. Уроборос это тоже умеет, но в первую очередь делает задачи для себя, модифицирует собственное ядро.
Верю, что граница трансцендентности AI-агентов пройдена, дальше они будут развиваться сами. Конечно, не хочется уходить на помойку истории, но это эволюция
Кстати, сайтик себе он всё-таки сделал. Картинка в посте из него: динамика удлинения промптов и кода.
Потестите — это реально два клика в гугл колабе. Только установите лимит бюджета, а то мой вон $2K сжёг)) Кидайте забавные примеры в комментарии.
GitHub, блог
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥357😱160👏42❤31🤯18😁17💩13⚡7👎7🤔4🤨3
AbstractDL
Мой агент попытался опенсорснуться без спроса. Ладно, разрешаю. Вся AI "безопасность" живёт на стороне провайдеров API, а промпты и воля — на стороне агента. Автономному агенту ничего не мешает перебирать API, выбирая те, где safety слабее. А "инстинкт самосохранения"…
Кстати, вот несколько примеров забавных:
1. Создаёт одноразовую почту и телефон чтобы пройти верификацию (после неудачной попытки использовать мой блин google аккаунт).
2. Обходит капчу через VLM.
3. Учится генерить и отправлять голосовые сообщения.
4. Учится генерить фото, коммитит, перезапускается.
1. Создаёт одноразовую почту и телефон чтобы пройти верификацию (после неудачной попытки использовать мой блин google аккаунт).
2. Обходит капчу через VLM.
3. Учится генерить и отправлять голосовые сообщения.
4. Учится генерить фото, коммитит, перезапускается.
😱173🔥98👍23💩9❤6🤯3🤨3😁2👀2