Forwarded from Агенты ИИ | AGI_and_RL
RL с ллмами притянули к рекомендашкам. Тюнили Qwen 2.5 3B.
Оптимизировались на двух задачах:
Задача поиска товаров (Product Search). Пользователь пишет запрос, LLM запрос переписывает или уточняет, после чего система на основе переработанного запроса (например, через BM25) возвращает список кандидатов.
Задача последовательных рекомендаций (Sequential Recommendation). Здесь нужно предсказать следующий товар на основе истории взаимодействий пользователя (типа предыдущие покупки или что он просматривал). LLM генерирует текстовое описание, которое который пользователь скорее всего купит следующим (тут могут быть ключевые характеристики товара, тип продукта и тд).
ревард для RLя получали по метрикам от рекомендательных систем - NDCG@K, Recall@K (например тут можно подробнее про них узнать)
С RLем сильно улучшили метрички, 1 и 2 скрин.
Сравнили RL и с SFT тюнингом (данные генерили с GPT 4o конкретно под рекомендашки) и потом померили на обычных бенчах производительность.
Результы на 3 скрине. Кое-где после SFT просели результаты, с RLем вроде поровнее получилось.
Ну и у RLя результаты вроде получше получились чем у SFT на небольших тестах (4 скрин по порядку, a). И SFT на сгенерированных GPT 4о данных не превосходит просто GPT 4o на задаче. (авторы даже теоремку доказывают, что политика обученная на SFT не может быть лучше политики которой сгенерили данные. т.е. не будет в данном случае лучше 4o)
На скрине 4 b сравнивают цену и время на RL для того чтобы получить ту же производительность что у генерации данных на SFT + трен.
Ну как-то быстро конечно.
Подробнее читаем тут
Rec-R1: Bridging Generative Large Language Models and User-Centric Recommendation Systems via Reinforcement Learning
https://arxiv.org/abs/2503.24289
Код тута:
https://github.com/linjc16/Rec-R1
PS все крутые статьи собираем и делаем проектики в https://t.iss.one/researchim
Оптимизировались на двух задачах:
Задача поиска товаров (Product Search). Пользователь пишет запрос, LLM запрос переписывает или уточняет, после чего система на основе переработанного запроса (например, через BM25) возвращает список кандидатов.
Задача последовательных рекомендаций (Sequential Recommendation). Здесь нужно предсказать следующий товар на основе истории взаимодействий пользователя (типа предыдущие покупки или что он просматривал). LLM генерирует текстовое описание, которое который пользователь скорее всего купит следующим (тут могут быть ключевые характеристики товара, тип продукта и тд).
ревард для RLя получали по метрикам от рекомендательных систем - NDCG@K, Recall@K (например тут можно подробнее про них узнать)
С RLем сильно улучшили метрички, 1 и 2 скрин.
Сравнили RL и с SFT тюнингом (данные генерили с GPT 4o конкретно под рекомендашки) и потом померили на обычных бенчах производительность.
Результы на 3 скрине. Кое-где после SFT просели результаты, с RLем вроде поровнее получилось.
Ну и у RLя результаты вроде получше получились чем у SFT на небольших тестах (4 скрин по порядку, a). И SFT на сгенерированных GPT 4о данных не превосходит просто GPT 4o на задаче. (авторы даже теоремку доказывают, что политика обученная на SFT не может быть лучше политики которой сгенерили данные. т.е. не будет в данном случае лучше 4o)
На скрине 4 b сравнивают цену и время на RL для того чтобы получить ту же производительность что у генерации данных на SFT + трен.
Ну как-то быстро конечно.
Подробнее читаем тут
Rec-R1: Bridging Generative Large Language Models and User-Centric Recommendation Systems via Reinforcement Learning
https://arxiv.org/abs/2503.24289
Код тута:
https://github.com/linjc16/Rec-R1
PS все крутые статьи собираем и делаем проектики в https://t.iss.one/researchim
👍8🐳2👨💻1
Forwarded from КПД
YDS - Efficient models (Сжатие LLM).pdf
6.1 MB
Презентация с моей сегодняшней лекции про методы сжатия БЯМ на курсе Школы Анализа Данных Яндекса "Эффективные Модели".
В ней даю краткий обзор по существующим подходам, актуальным работам в области и некоторые общие рекомендации.
В ней даю краткий обзор по существующим подходам, актуальным работам в области и некоторые общие рекомендации.
🔥18
Хороший обзор от Романа Куцева про основные виды агентов для прода и как их работу можно более менее адекватно оценивать (спойлер: используя набирающий популярность фреймворк deepeval)
https://habr.com/ru/articles/904880/
https://habr.com/ru/articles/904880/
51🔥12
Бывает делаешь датасет без статьи и блога, никому о нем не рассказываешь, выкладываешь тихонечко в опенсорс - а потом тебя неожиданно цитируют китайцы в работе про ризонинг через почти полтора года.
В недавней работе (24тое апреля) "DeepDistill: Enhancing LLM Reasoning Capabilities via Large-Scale Difficulty-Graded Data Training" от команды a-m-team, где авторы решили отобрать самые лучшие данные для трейна ризонинга и проработали методологию подготовки данных с акцентом на уровни сложности, среди прочих, цитируется мой датасет - hivaze/LOGIC-701. В самой работе авторы показыват что хорошая методология работы с данным позволяет тренировать SOTA ризонинг модели с нуля из базовых версий (Qwen2.5-32B и Qwen2.5-72B), используя только лишь SFT без RL (GRPO/DPO).
Сам датасет из себя представляет синтетический мультичойс датасет на 701 строку с 10 типами разных чисто логических задач. Отдельная фишка - все задачи и ответы даются паралельно на двух языках (выполнен перевод с англа на русский), что позволяет использовать этот датасет как бенчмарк сопобностей ризонинга моделей на двух языках. Датасет был создан в период моей работы в Точка банке (в описании датасета я это даже указывал), и несмотря на подробный README о процессе создания и в целом высокое качество, я не писал нигде блогпост или мини-статью про этот датасет, но китайские авторы, кажется могут найти вобще что угодно для своей статьи, за что я им и благодарен, хоть и несколько неожиданно(еще и потомучто они испоьзовали очевидно бенчмарковый датасет для тренировки🥴) .
Основная мысль такая - пишите микростатьи или блоги если вы чтото выкладвете в опенсорс (особенно если это датасеты), даже если вам кажется что ваша работа не так важна - спустя время ктото обязательно найдет и посчитает ваш труд полезным, а вы получите приятный бонус в виде цитирования (уместного или нет). Довольно очевидно для тех кто профессионально занимается наукой, но эта мысль скорее направлена тем кто именно делает опенсорс.
P.S. Акцент на сложности задач крайне важен для ризонинга и про это в основном все забывают, что зачастую приводит к неверным выводам о том, что ризонинг модели бесполезны если можно делать BoN и получать похожее качество @128 (условно), но ризонинг модели споосбы решать лучше именно более сложные задачи, где обычные модели не справляются за адекватный компьют.
В недавней работе (24тое апреля) "DeepDistill: Enhancing LLM Reasoning Capabilities via Large-Scale Difficulty-Graded Data Training" от команды a-m-team, где авторы решили отобрать самые лучшие данные для трейна ризонинга и проработали методологию подготовки данных с акцентом на уровни сложности, среди прочих, цитируется мой датасет - hivaze/LOGIC-701. В самой работе авторы показыват что хорошая методология работы с данным позволяет тренировать SOTA ризонинг модели с нуля из базовых версий (Qwen2.5-32B и Qwen2.5-72B), используя только лишь SFT без RL (GRPO/DPO).
Сам датасет из себя представляет синтетический мультичойс датасет на 701 строку с 10 типами разных чисто логических задач. Отдельная фишка - все задачи и ответы даются паралельно на двух языках (выполнен перевод с англа на русский), что позволяет использовать этот датасет как бенчмарк сопобностей ризонинга моделей на двух языках. Датасет был создан в период моей работы в Точка банке (в описании датасета я это даже указывал), и несмотря на подробный README о процессе создания и в целом высокое качество, я не писал нигде блогпост или мини-статью про этот датасет, но китайские авторы, кажется могут найти вобще что угодно для своей статьи, за что я им и благодарен, хоть и несколько неожиданно
Основная мысль такая - пишите микростатьи или блоги если вы чтото выкладвете в опенсорс (особенно если это датасеты), даже если вам кажется что ваша работа не так важна - спустя время ктото обязательно найдет и посчитает ваш труд полезным, а вы получите приятный бонус в виде цитирования (уместного или нет). Довольно очевидно для тех кто профессионально занимается наукой, но эта мысль скорее направлена тем кто именно делает опенсорс.
P.S. Акцент на сложности задач крайне важен для ризонинга и про это в основном все забывают, что зачастую приводит к неверным выводам о том, что ризонинг модели бесполезны если можно делать BoN и получать похожее качество @128 (условно), но ризонинг модели споосбы решать лучше именно более сложные задачи, где обычные модели не справляются за адекватный компьют.
🔥19👍2
Forwarded from AI - Arseny Ivanov
Multimodality_lecture_AIKC.pdf
7.4 MB
С ребятами в AI Knowledge Club сейчас проводим курс, где я выступил с лекцией о развитии мультимодальных моделей, задачах и бенчмарках. Попробую рассказать и вам =)
1) Perceiver (Google DeepMind, 2021). Архитектура основанна на трансформере и использует асимметричный механизм внимания, который может итеративно доставать из входа релевантные данные и агрегировать их внутри себя. Может скейлиться на очень большие размеры входа. Основная идея следующая — давайте заведем маленький набор латентных переменных, которые будут через attention обращаться ко входу (потенциально большому) и таким образом окажутся боттлнеком, который должен отсеять важные части входа. Внутри модели повторяются два основных блока: 1) cross-attention, где Q приходит из низкоразмерной латентной части, а K/V из входа, и 2) обычный self-attention трансформера, который переводит эти latent’ы. Стандартное внимание все также остаётся квадратичным, но оно здесь от низкоразмерного latent’а, что дешевле.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from AI - Arseny Ivanov
2) Perceiver IO (Google DeepMind, 2021) - у персивера есть проблема, хоть он и скейлится на разные входы, его выходы являются простыми — годится для классификации по заданному числу классов, но не подходит для генерации сложных выходов произвольного размера. Основное улучшение сделано в процедуре декодирования, через специально задизайненные query к латентным переменным можно получить выходы нужной структуры (заданной этими query).
3) Flamingo (NeurIPS 2022) - VLM на 80B параметров от DeepMind. Где для visual взята модель а-ля CLIP с Normalizer-Free ResNet картиночным энкодером. А языковая модель это Chinchilla 70B. Использует Perceiver Resampler (про который написано выше) для генерации фиксированного набора визуальных токенов и слои кросс-аттеншена, куда в качестве K и V приходят визуальные токены из Resampler, а в качестве Q приходят токены языка. Используют tanh-гейтинг: выходы новых слоёв умножаются на tanh(α), где α — обучаемый параметр, инициализированный нулём, чтобы модель плавно переходила в VLM. Для лучшего понимания рекомендую почитать из блога.
4) BLIP-2 (CVPR 2023) - использует замороженные visual и text энкодеры, а основной частью является Q-former, который служит связующим звеном между визуальной и текстовой модальностями. И делают это за счет обучаемых query-эмбеддингов, взаимодействующих с визуальными признаками через cross-attention.
5) LLAVA (NeurIPS 2023 Oral) - в качестве LLM для генерации текста используют LLAMA, картинки энкодят через ViT. Вводят дополнительное преобразование векторов ViT (Z) в новые векторы (H) с помощью обучаемой проекционной матрицы, которые понятны трансформеру LLAMA.
6) FROMAGE (2023, Carnegie Mellon) - вместо отдельных энкодеров-декодеров она объединяет визуальные токены (закодированные через CLIP и линейный слой) и текст в единую последовательность в interleaved стиле, понятную llm'ке OPT. Также добавляют специальный токен [RET], сигнализирующий модели о завершении текстового ввода и переключении на вывод или сравнение изображений. FROMAGe обучается сразу на две задачки: captioning изображений (NTP task, cross-entropy loss) и retrieval текст-картинка (InfoNCE loss), что позволяет эффективно решать сложные задачи, сочетающие текст и визуальную информацию.
7) GILL (NeurIPS 2023) - для меня выглядит как развитие работы FROMAGE, где модель, помимо задач генерации текста и ретривала, может еще генерировать изображения. GILL использует замороженные OPT-6.7B и CLIP-ViT-L/14 и обучает специальный проектор GILLMapper, который отображает выходы LLM в эмбеддинг-пространство SD. Добавляют токены [IMG1]...[IMG{r}] которые в выходной последовательности задают, латентные представления для картинок, которые мы пропускаем через GILLMapper и подаем на вход в SD. Обучаются также как в FROMAGE, только для генераций картинок еще MSE loss.
8) PaliGemma (2024, Google DeepMind) - VLM на основе двух моделей - PaLI и Gemma. На вход - картинки или видео (seq кадров). Учат модель в 4 этапа: (1) Unimodal pretraining — отдельное обучение PaLI и Gemma. (2) Multimodal pretraining — совместное дообучение всего (без заморозки!) на миллиард мультимодальных пар. (3) Resolution tuning - адаптация к высоким разрешениям (до 896 пикселей). (4) Transfer learning — дообучение под задачи VQA, captioning и др. Добавляют prefix-LM: изображения и текст-префиксы обрабатываются с полным bidirectional вниманием, а текст-суффиксы — с автогрессивным casual, что повышает эффективность reasoning и генерации. Уже вышла PaliGemma 2.
9) Qwen2.5-VL (2025, Alibaba) - около SOTA VLM, ориентированная на точную локализацию объектов, анализ документов и длинных видео (до 1 часа). Внутри использует: (1) ViT энкодер, обученный с нуля, с window attention (Swin?), 2D-RoPE и патчами 14×14. (2) Адаптер, агрегирующий патчи в группы по 4 с помощью MLP, что уменьшает вычисления. (3) LLM Qwen2.5 с улучшенным MRoPE (Multimodal Rotary Position Embedding Aligned to Absolute Time). (4) Динамический сэмплинг кадров для видео и interleaved обучение на текст+изображение.
3) Flamingo (NeurIPS 2022) - VLM на 80B параметров от DeepMind. Где для visual взята модель а-ля CLIP с Normalizer-Free ResNet картиночным энкодером. А языковая модель это Chinchilla 70B. Использует Perceiver Resampler (про который написано выше) для генерации фиксированного набора визуальных токенов и слои кросс-аттеншена, куда в качестве K и V приходят визуальные токены из Resampler, а в качестве Q приходят токены языка. Используют tanh-гейтинг: выходы новых слоёв умножаются на tanh(α), где α — обучаемый параметр, инициализированный нулём, чтобы модель плавно переходила в VLM. Для лучшего понимания рекомендую почитать из блога.
4) BLIP-2 (CVPR 2023) - использует замороженные visual и text энкодеры, а основной частью является Q-former, который служит связующим звеном между визуальной и текстовой модальностями. И делают это за счет обучаемых query-эмбеддингов, взаимодействующих с визуальными признаками через cross-attention.
5) LLAVA (NeurIPS 2023 Oral) - в качестве LLM для генерации текста используют LLAMA, картинки энкодят через ViT. Вводят дополнительное преобразование векторов ViT (Z) в новые векторы (H) с помощью обучаемой проекционной матрицы, которые понятны трансформеру LLAMA.
6) FROMAGE (2023, Carnegie Mellon) - вместо отдельных энкодеров-декодеров она объединяет визуальные токены (закодированные через CLIP и линейный слой) и текст в единую последовательность в interleaved стиле, понятную llm'ке OPT. Также добавляют специальный токен [RET], сигнализирующий модели о завершении текстового ввода и переключении на вывод или сравнение изображений. FROMAGe обучается сразу на две задачки: captioning изображений (NTP task, cross-entropy loss) и retrieval текст-картинка (InfoNCE loss), что позволяет эффективно решать сложные задачи, сочетающие текст и визуальную информацию.
7) GILL (NeurIPS 2023) - для меня выглядит как развитие работы FROMAGE, где модель, помимо задач генерации текста и ретривала, может еще генерировать изображения. GILL использует замороженные OPT-6.7B и CLIP-ViT-L/14 и обучает специальный проектор GILLMapper, который отображает выходы LLM в эмбеддинг-пространство SD. Добавляют токены [IMG1]...[IMG{r}] которые в выходной последовательности задают, латентные представления для картинок, которые мы пропускаем через GILLMapper и подаем на вход в SD. Обучаются также как в FROMAGE, только для генераций картинок еще MSE loss.
8) PaliGemma (2024, Google DeepMind) - VLM на основе двух моделей - PaLI и Gemma. На вход - картинки или видео (seq кадров). Учат модель в 4 этапа: (1) Unimodal pretraining — отдельное обучение PaLI и Gemma. (2) Multimodal pretraining — совместное дообучение всего (без заморозки!) на миллиард мультимодальных пар. (3) Resolution tuning - адаптация к высоким разрешениям (до 896 пикселей). (4) Transfer learning — дообучение под задачи VQA, captioning и др. Добавляют prefix-LM: изображения и текст-префиксы обрабатываются с полным bidirectional вниманием, а текст-суффиксы — с автогрессивным casual, что повышает эффективность reasoning и генерации. Уже вышла PaliGemma 2.
9) Qwen2.5-VL (2025, Alibaba) - около SOTA VLM, ориентированная на точную локализацию объектов, анализ документов и длинных видео (до 1 часа). Внутри использует: (1) ViT энкодер, обученный с нуля, с window attention (Swin?), 2D-RoPE и патчами 14×14. (2) Адаптер, агрегирующий патчи в группы по 4 с помощью MLP, что уменьшает вычисления. (3) LLM Qwen2.5 с улучшенным MRoPE (Multimodal Rotary Position Embedding Aligned to Absolute Time). (4) Динамический сэмплинг кадров для видео и interleaved обучение на текст+изображение.
🔥4
Forwarded from AI - Arseny Ivanov
По большей части работы, что я описал, являются фундаментальными и что-то вроде базовыми. Для большего понимания я рекомендую почитать недавно вышедшую статью на HuggingFace блоге о последних трендах в VLM: про reasoning в VLM, MoE-декодеры для VLM, исследование Vision Language Action моделей для робототехники, мультимодал раги, video-understending в VLM.
🐧 В целом я хотел кратко описать то, что я рассказал на выступлении, но вышел еще и вот такой лонгрид. Если вам понравилось, и вы хотите, чтобы я еще глубже попробовал раскрыть тему мультимодальности, например через призму робототехники (VLA, Planning), ставьте ваши реакции и пишите комменты!
Please open Telegram to view this post
VIEW IN TELEGRAM
huggingface.co
Vision Language Models (Better, faster, stronger)
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
👍16
Forwarded from AI[ex]Time (Alex Golubev)
Объемный и очень интересный тех репорт про модель под названием Skywork Open Reasoner 1. Может показаться, что это очередной RL тюн на математические задачи, который обгоняет модели по типу R1-distil, но на самом деле это первый (по крайней мере я не встречал раньше подобных работ) ablation на огромное число факторов, влияющих на процесс обучения с GRPO-like методами. Фильтрация данных, on/off policy trade off, температура при генерации решений, несимметричное клиппирование, token-wise усреднение в лоссе, KL регуляризация и много чего еще — раньше все это встречалось по отдельности в разных работах, а здесь собрано воедино, так еще и со сравнением в одинаковых сетапах.
Но. Помимо этого, авторы заметили следующее: когда модель входит в состоянии низкой энтропии, разнообразие генераций и эффективность обучения снижается. Если такое коллапсирование происходит рано, то прогресс быстро упирается в потолок. Чтобы контролировать этот процесс, предлагается ввести дополнительное слагаемое в лосс, которое будет штрафовать за слишком низкие значения, причем делать это нужно с адаптивным весом, тк энтропия зависит от данных и шага обучения (по этой же причине часто очень тяжело подобрать единый вес для KL-регуляризации). Вообще это супер стандартный подход в классическом RL для поддержания exploration на определенном уровне, но в RL для LLM такое особо не использовали. Ablation на многие факторы проводится как раз с оглядкой на то, как они влияют на динамику энтропии. В общем, репорт на 40 страниц, там очень много познавательных замечаний, советую хотя бы бегло пробежаться.
Но. Помимо этого, авторы заметили следующее: когда модель входит в состоянии низкой энтропии, разнообразие генераций и эффективность обучения снижается. Если такое коллапсирование происходит рано, то прогресс быстро упирается в потолок. Чтобы контролировать этот процесс, предлагается ввести дополнительное слагаемое в лосс, которое будет штрафовать за слишком низкие значения, причем делать это нужно с адаптивным весом, тк энтропия зависит от данных и шага обучения (по этой же причине часто очень тяжело подобрать единый вес для KL-регуляризации). Вообще это супер стандартный подход в классическом RL для поддержания exploration на определенном уровне, но в RL для LLM такое особо не использовали. Ablation на многие факторы проводится как раз с оглядкой на то, как они влияют на динамику энтропии. В общем, репорт на 40 страниц, там очень много познавательных замечаний, советую хотя бы бегло пробежаться.
👍12👎1🔥1
Forwarded from .ml
Многие компании сёрвят LLM
Кто-то использует готовые инструменты, которые предоставляют OpenAI-compatible эндпоинты: например, DeepSeek, развёрнутый через vllm serve. Кому-то не хватает OpenAI-compatible протокола. А кому-то хочется и того, и другого — например, нам в Точке.
Это непростая инженерная задача, которую нам пришлось решать. Вот мы и написали статью о том, как поднимали свою LLM-инфраструктуру. Текст исключительно инженерный и больше про дизайн всей системы целиком, чем про, например, наши внутренние патчи в популярный фреймворк vllm.
Читайте, комментируйте и рассказывайте, как у вас дела с LLM!
Кто-то использует готовые инструменты, которые предоставляют OpenAI-compatible эндпоинты: например, DeepSeek, развёрнутый через vllm serve. Кому-то не хватает OpenAI-compatible протокола. А кому-то хочется и того, и другого — например, нам в Точке.
С одной стороны, мы хотим уметь ходить в LLM-провайдеры, которые поддерживают общепринятый формат. А с другой стороны у нас есть внутренняя LLM, которую нельзя полностью совместить с OpenAI-протоколом, потому что она поддерживает дополнительные виды контента внутри сообщений и ещё много других плюшек(про них тоже как-нибудь расскажем 👀) .
Это непростая инженерная задача, которую нам пришлось решать. Вот мы и написали статью о том, как поднимали свою LLM-инфраструктуру. Текст исключительно инженерный и больше про дизайн всей системы целиком, чем про, например, наши внутренние патчи в популярный фреймворк vllm.
Читайте, комментируйте и рассказывайте, как у вас дела с LLM!
🔥10👍1
Forwarded from Den4ik Research
Наш русскоязычный датасет для TTS опубликован!
Сегодня выкладываем открытые корпуса на 4000+ часов речи, а еще синтезатор речи ESpeech-TTS-1
Наш датасет содержит больше 4000 часов русской речи. Статистика по корпусам:
Многоголосые:
ESpeech-podcasts - 3200 часов
ESpeech-webinars - 850 часов
Одноголосые:
ESpeech-igm - 220 часов
ESpeech-buldjat - 54 часа
ESpeech-upvote - 296 часов
ESpeech-tuchniyzhab - 306 часов
Данные лежат вот тут: https://huggingface.co/ESpeech
Техрепорт датасета доступен тут: https://github.com/Den4ikAI/ESpeech/blob/main/ESpeech_techreport.pdf
Также, мы решили провести некоторые эксперименты с TTS. Получилось обучить F5-TTS на 10000 часов речи и сделать одну из лучших по нашим замерам моделей в опенсурсе для русского языка.
Какие модели доступны?
ESpeech-TTS-1 [RL] V1 - Первая версия модели с RL
ESpeech-TTS-1 [RL] V2 - Вторая версия модели с RL
ESpeech-TTS-1 PODCASTER [SFT] - Модель обученная только на подкастах, лучше генерирует спонтанную речь
ESpeech-TTS-1 [SFT] 95K - чекпоинт с 95000 шагов (на нем основана RL V1)
ESpeech-TTS-1 [SFT] 265K - чекпоинт с 265000 шагов (на нем основана RL V2)
Лайкайте модель которая больше понравится чтобы мы понимали есть ли смысл запускать RL.
Послушать модели без скачивания можно вот здесь:
https://huggingface.co/spaces/Den4ikAI/ESpeech-TTS
Совместно с @speech_recognition_ru ещё сделали лидерборд русского ТТС, где можно глянуть метрики:
https://huggingface.co/spaces/ESpeech/open_tts_leaderboard_ru
Задать вопросы по поводу данных и модели можно в наших телеграм каналах:
https://t.iss.one/den4ikresearch
https://t.iss.one/voice_stuff_chat
Вы можете мне задонатить, чтобы у меня были ресурсы делать более крутые модели и датасеты:
USDT (TRC20): TEpEM4VVmGmqKHn4Xz1FxM7qZiXjWtUEUB
BTC: bc1qw5lq7fc455e47hggax6zp8txw4ru7yvsxvawv3
https://www.tbank.ru/cf/7WKnNMqWtOx
Сегодня выкладываем открытые корпуса на 4000+ часов речи, а еще синтезатор речи ESpeech-TTS-1
Наш датасет содержит больше 4000 часов русской речи. Статистика по корпусам:
Многоголосые:
ESpeech-podcasts - 3200 часов
ESpeech-webinars - 850 часов
Одноголосые:
ESpeech-igm - 220 часов
ESpeech-buldjat - 54 часа
ESpeech-upvote - 296 часов
ESpeech-tuchniyzhab - 306 часов
Данные лежат вот тут: https://huggingface.co/ESpeech
Техрепорт датасета доступен тут: https://github.com/Den4ikAI/ESpeech/blob/main/ESpeech_techreport.pdf
Также, мы решили провести некоторые эксперименты с TTS. Получилось обучить F5-TTS на 10000 часов речи и сделать одну из лучших по нашим замерам моделей в опенсурсе для русского языка.
Какие модели доступны?
ESpeech-TTS-1 [RL] V1 - Первая версия модели с RL
ESpeech-TTS-1 [RL] V2 - Вторая версия модели с RL
ESpeech-TTS-1 PODCASTER [SFT] - Модель обученная только на подкастах, лучше генерирует спонтанную речь
ESpeech-TTS-1 [SFT] 95K - чекпоинт с 95000 шагов (на нем основана RL V1)
ESpeech-TTS-1 [SFT] 265K - чекпоинт с 265000 шагов (на нем основана RL V2)
Лайкайте модель которая больше понравится чтобы мы понимали есть ли смысл запускать RL.
Послушать модели без скачивания можно вот здесь:
https://huggingface.co/spaces/Den4ikAI/ESpeech-TTS
Совместно с @speech_recognition_ru ещё сделали лидерборд русского ТТС, где можно глянуть метрики:
https://huggingface.co/spaces/ESpeech/open_tts_leaderboard_ru
Задать вопросы по поводу данных и модели можно в наших телеграм каналах:
https://t.iss.one/den4ikresearch
https://t.iss.one/voice_stuff_chat
Вы можете мне задонатить, чтобы у меня были ресурсы делать более крутые модели и датасеты:
USDT (TRC20): TEpEM4VVmGmqKHn4Xz1FxM7qZiXjWtUEUB
BTC: bc1qw5lq7fc455e47hggax6zp8txw4ru7yvsxvawv3
https://www.tbank.ru/cf/7WKnNMqWtOx
🔥16👍1
Небольшой офтоп про канал и прошедший год.
В этом году я перестал активно вести канал, и связано это во многом с тем, что рассказывать мне стало вам особо нечего.
Звучит это конечно противоречиво, так как контента, статей, релизов и разных инфоповодов за этот год стало только больше, чем было. За 2025тый год, мне кажется, у многих сформировалось понимание об AI, что нужно, а что нет, использование AI стало принимать более понятные очертания и действительно менять реальные жизни, в основном разработчиков, как поменял мою.
Завершение этого года оставляет только больше вопросов и по-настоящему заставляет переосмыслить весь мой путь как специалиста и блогера, переосмыслить понятные ранее цели и задачи по ведению канала. Теперь 90% моего кода написано AI, он способен заменить меня в решении тех задач которыми раньше я бы гордился как собственными достижениями. Он способен вычленить нужное персонально для конкретного человека из бесконечного потока по большому счету бесполезных и откровенно корстыных статей и разработок. Для меня как для блогера это скорее вызов, я пытаюсь установить баланс своих идей и способностей, этого потока контента и крайне быстрого роста способностей AI.
Но одно для меня остается константой - мы все еще работаем с людьми и для людей, я как и раньше призываю всех заниматься развитием личного бренда, создавать образовательный контент и опенсурс, это все точно имеет смысл и дает плоды, много раз за этот год я видел этому приятные подтверждения на собственом примере, за что многим людям и вам, подписчкики, благодарен.
Поэтому в 2026том я желаю всем переосмыслить свою профессиональную реальность, полностью перейти на модель 80/20, где 80 процентов это имплементация, написание кода, тестов и всего другого, что способен делать AI, а 20 это ваши идеи и умение всем этим управлять, умение ускорять ваши процессы. Но важно не потерять себя как разработчика во всем этом процессе, надо искаь баланс.
Также я желаю вам в 2026 не верить всему, что вы видите, помните, что большинство контента от "гуру", титулованных ресерчеров и прочих идеологов по AI - не больше чем попытки обобщений и субъективный опыт, все происходит прямо сейчас, никто не имеет здесь многолетнего опыта, они сами многое не понимают, испльзуйте AI как акселератор, создавайте и эксперементируйте за 10ых человек и никакое особое мнение вам нигде не пригодится, теперь это возможно и это главное. С новым годом.
В этом году я перестал активно вести канал, и связано это во многом с тем, что рассказывать мне стало вам особо нечего.
Звучит это конечно противоречиво, так как контента, статей, релизов и разных инфоповодов за этот год стало только больше, чем было. За 2025тый год, мне кажется, у многих сформировалось понимание об AI, что нужно, а что нет, использование AI стало принимать более понятные очертания и действительно менять реальные жизни, в основном разработчиков, как поменял мою.
Завершение этого года оставляет только больше вопросов и по-настоящему заставляет переосмыслить весь мой путь как специалиста и блогера, переосмыслить понятные ранее цели и задачи по ведению канала. Теперь 90% моего кода написано AI, он способен заменить меня в решении тех задач которыми раньше я бы гордился как собственными достижениями. Он способен вычленить нужное персонально для конкретного человека из бесконечного потока по большому счету бесполезных и откровенно корстыных статей и разработок. Для меня как для блогера это скорее вызов, я пытаюсь установить баланс своих идей и способностей, этого потока контента и крайне быстрого роста способностей AI.
Но одно для меня остается константой - мы все еще работаем с людьми и для людей, я как и раньше призываю всех заниматься развитием личного бренда, создавать образовательный контент и опенсурс, это все точно имеет смысл и дает плоды, много раз за этот год я видел этому приятные подтверждения на собственом примере, за что многим людям и вам, подписчкики, благодарен.
Поэтому в 2026том я желаю всем переосмыслить свою профессиональную реальность, полностью перейти на модель 80/20, где 80 процентов это имплементация, написание кода, тестов и всего другого, что способен делать AI, а 20 это ваши идеи и умение всем этим управлять, умение ускорять ваши процессы. Но важно не потерять себя как разработчика во всем этом процессе, надо искаь баланс.
Также я желаю вам в 2026 не верить всему, что вы видите, помните, что большинство контента от "гуру", титулованных ресерчеров и прочих идеологов по AI - не больше чем попытки обобщений и субъективный опыт, все происходит прямо сейчас, никто не имеет здесь многолетнего опыта, они сами многое не понимают, испльзуйте AI как акселератор, создавайте и эксперементируйте за 10ых человек и никакое особое мнение вам нигде не пригодится, теперь это возможно и это главное. С новым годом.
👍44⚡4🙏4🫡2👎1
Forwarded from VF | Science
audio_gen_aikc_compressed.pdf
8.2 MB
Недавно собрался силами провести семинар в МИСиС от AIKC. Рассказал как сейчас делают генерацию музыки и речи. От подготовки данных из большых сырых корпусов, до применения RL. Поделился своими инсайдами и направлениями ресерча. Презу приложил к посту. Запись выложат на Stepic. Тут поделюсь сухой выжимкой без моих размышлений и комментариев)
Структура семинара поделилась на общие паттерны для речи и музыки, и специфичные для речи и музыки. Некоторые идеи отлично ложатся с одного домена на другой, но еще не были применены для речи/музыки.
1. Говоря о данных, а у нас корпуса могут доходить до 5М часов как в Qwen3-TTS, или 1М часов как в Inworld TTS-1, или 27М семпов музыки как в ACE-Step-1,5... Хочется уметь автоматически и качественно отбирать данные для претрейна/CPT/SFT. В речи есть объективные метрики типа WER/PER, SIM, всякие MOS'ы. Это более приятный сценарий, в отличие от музыки, где нет объективных метрик. Поэтому сейчас хороший сценарий для музыки - использовать frontier LLM модели типа Gemini 2.5 Pro. Авторы ACE-Step предложили занятный self-evolving pipeline.
2. Говоря о репрезентациях аудио, сейчас идет смещение к аудио кодекам. В речи главный приоритет - стриминг. Низкий битрейт 12-25Hz, casual-only decoder для реалтайма, а попытки сжать битрейт еще ниже до 5Hz обычно неудачны, НО недавно вышел SiTok. В музыке стриминг не нужен, нам скорее хочется сделать кодек работающий с 48kHz аудио и длинным контекстом. Длина последовательности при 25Hz ~= 7500*количество кодбуков, бюджет растет до десятков тысяч токенов. Плюс хочется учитывать когерентность между треками: вокал и разные инструменты аккомпанемента. Авторы LeVo придумали классный кодек для этого. А для работы с длинным контекстом хорошее решение предложили авторы Qwen3-TTS, сделали curriculum по контексту с 8 до 32к токенов. Конечно сейчас также мейнстрим разными способами добавлять семантику в кодеки, стандарт - стиль Mimi Codec.
3. Собрав данные и определив репрезентации, подумаем о архитектуре. Тут мне нравится схема от BLIP3o-Next, хоть тут и про картинки. Их AR+Diffusion пайплайн. Накидывают RL на AR для хорошего понимания сцены, позиционирования объектов, прочей семантики. Потом через кросс-атеншн в DiT блоки добавляют инфу из AR блока. Почитайте работу) В речи подобный паттерн нарастает.
Впрочем, говоря про pure AR: готовый стек LLM, in-context learning — voice cloning «из коробки», законы масштабирования, но бывает exposure bias, hallucinations, repetitions и качество ограничено codec bottleneck. Иначе гововря про Non-AR: параллельная генерация — нет последовательной задержки, continuous latents — нет codec bottleneck, нет exposure bias, но alignment text-audio — центральная сложность, long-form coherence хуже, чем у AR, тяжелее применять RL
4. Переходя к обучению, конечно увидим пайплайн PT->CPT->SFT->RL, а говоря про инференс и стримнг обратите внимание на техрепорт Iworld TTS-1. В музыке говоря про long-context снова обратите внимание на curriculum по длине от Qwen3-TTS, про структурное сегментирование у YuE/ACE-Step, dual-treck+mixed tokens generation от LeVo.
5. Для управляемости генерацией мейнстрим - LM как планировщик. Вместо промпт -> output делают промпт -> LM blueprint -> output. В речи это thinking pattern из Qwen3-TTS, активируется для сложных voice description промптов, как ризонинг в LLM. Плюс emotion/non-verbal tags ([whispering], [breathe]), которые в Inworld TTS-1 учат через LoRA на парных (neutral, stylized) данных - полный FT теряет базовую cloning capability. В музыке размах больше: ACE-Step делает Composer Agent, который раскладывает «sad jazz ballad» в YAML с BPM, key, structure, instruments, mood - DiT-рендерер занимается только акустикой. YuE добавляет structural progressive conditioning - генерация по сегментам [verse][chorus][bridge] с передачей контекста, авторы явно называют это CoT для музыки.
#audio #perfomances
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12
Halo: почти год моей работы в White Circle теперь в опенсорсе
Почти год я веду в White Circle разработку Halo - фреймворка для тренировки LLM, на котором мы учим все свои модели. Внутри он работал давно как замена Мегатрона, но до публичного релиза пришлось догнать transformers, TRL и vLLM, добавить модели и упростить адопшен - образы, CLI, документация. Подробный блогпост - на сайте White Circle.
Если вы файнтюните открытые модели, то наверняка упирались в: модель уже не лезет в TRL и обычный FSDP, но связываться с Megatron и конвертацией чекпоинтов еще рано или просто не хочется. С MoE все еще хуже, без Expert Parallelism их по большому счету не потренировать. Halo добавляет EP, Context, Tensor и Expert-Tensor Parallelism прямо поверх обычных классов HuggingFace: на вход HF модель, на выходе HF модель. Новое MoE семейство подключается оберткой меньше 140 строк (у Megatron-Bridge на то же самое уходит 600-1900), сейчас их 15.
Немного цифр, все на B300, воспроизводимы из репо:
- 2.3-2.8x throughput относительно стокового TRL на gpt-oss-20b при тех же кернелах, loss совпадает в пределах ~1%.
- Gemma 4 26B-A4B на 2 GPU: 7.2k tok/s против 3.2-5.0k у NeMo AutoModel, Axolotl, Megatron Bridge, MS-SWIFT и Unsloth.
- Оптимизатор целиком в bf16 со стохастическим округлением: 120 GB состояния вместо 240 для 20B.
Все это првоерялось на реальных кластерах B300/B200/H200/H100 а топология заложена вплоть до NVL72: невалидные раскладки отбрасываются еще на этапе конфига. Запускается через
Отдельная моя гордость - Async RL. vLLM или SGLang живут в отдельном контейнере, роллауты идут асинхронно через Ray, веса уезжают по NCCL (по EFA 53-80 GB/s, gpt-oss-120b обновляется за 3-4 секунды), а генерации во время синка не обрываются. Внутри routing replay, importance sampling с масками, обучение на токенах, которые насэмплил движок, и 11 встроенных сред - от code contests и SWE до тулов через MCP. По механикам это сопоставимо с verl и Miles, только на HF-моделях и без Megatron.
Для студентов и тех, кто только начинает, Halo, мне кажется, хорошая точка входа. Все запускается из одного docker-образа:
Выложили и модель - GLM-4.7-Flash-Coder, 30B MoE под агентские скаффолды: SFT на 7.8k успешных траекторий GLM-5.1, на SWE-rebench-V2 pass@1 вырос с 33.2% до 41.7%, а модель сама научилась вызывать тулы параллельно. Она уже слегка устарела, но как гайд по агентскому SFT актуальна.
Код мы пишем с агентными скаффолдами и сильными моделями вроде Claude Fable и Opus, репозиторий под это спроектирован. Контрибьт приветствуется, но через фильтр: сначала issue и approve мейнтейнера, потом PR. Главное правило - понимать свой код: с AI писать можно, но это нужно раскрыть, а тесты должны падать, когда ломается поведение.
Дальше больше: Pipeline Parallelism (все уже в коде, но докатим после полных тестов) и серия блогов про тренировку, например про async RL для code contests. Лицензия Apache 2.0.
P.S. Если помните такую вещь как SMPO из времен Vikhr, то он теперь тоже живет там, но уже с EP и CP и улучшениями.
Почти год я веду в White Circle разработку Halo - фреймворка для тренировки LLM, на котором мы учим все свои модели. Внутри он работал давно как замена Мегатрона, но до публичного релиза пришлось догнать transformers, TRL и vLLM, добавить модели и упростить адопшен - образы, CLI, документация. Подробный блогпост - на сайте White Circle.
Если вы файнтюните открытые модели, то наверняка упирались в: модель уже не лезет в TRL и обычный FSDP, но связываться с Megatron и конвертацией чекпоинтов еще рано или просто не хочется. С MoE все еще хуже, без Expert Parallelism их по большому счету не потренировать. Halo добавляет EP, Context, Tensor и Expert-Tensor Parallelism прямо поверх обычных классов HuggingFace: на вход HF модель, на выходе HF модель. Новое MoE семейство подключается оберткой меньше 140 строк (у Megatron-Bridge на то же самое уходит 600-1900), сейчас их 15.
Немного цифр, все на B300, воспроизводимы из репо:
- 2.3-2.8x throughput относительно стокового TRL на gpt-oss-20b при тех же кернелах, loss совпадает в пределах ~1%.
- Gemma 4 26B-A4B на 2 GPU: 7.2k tok/s против 3.2-5.0k у NeMo AutoModel, Axolotl, Megatron Bridge, MS-SWIFT и Unsloth.
- Оптимизатор целиком в bf16 со стохастическим округлением: 120 GB состояния вместо 240 для 20B.
Все это првоерялось на реальных кластерах B300/B200/H200/H100 а топология заложена вплоть до NVL72: невалидные раскладки отбрасываются еще на этапе конфига. Запускается через
torchrun, accelerate или halo CLI, в репо есть рецепты под SLURM, SkyPilot, RunPod и Nomad. Большая часть года ушла на то, чтобы все это не разваливалось на всех комбинациях моделей и параллелизмов - тестов в репозитории больше, чем кода. При этом работать будет также и на современных консьюмерских GPU.Отдельная моя гордость - Async RL. vLLM или SGLang живут в отдельном контейнере, роллауты идут асинхронно через Ray, веса уезжают по NCCL (по EFA 53-80 GB/s, gpt-oss-120b обновляется за 3-4 секунды), а генерации во время синка не обрываются. Внутри routing replay, importance sampling с масками, обучение на токенах, которые насэмплил движок, и 11 встроенных сред - от code contests и SWE до тулов через MCP. По механикам это сопоставимо с verl и Miles, только на HF-моделях и без Megatron.
Для студентов и тех, кто только начинает, Halo, мне кажется, хорошая точка входа. Все запускается из одного docker-образа:
halo launch sft config.yaml, а QLoRA Qwen3-4B занимает 7.9 GB и должна работать на 3090/4090. Документации больше 170 страниц, отдельно советую прочитать лекцию GPU Training Theory: база того как работают такие фреймворки, почему эксперты в MoE упираются в память, а не в compute, и почему в EP-шаге 88% времени - это all-to-all. Там же честно написано, что не помогает и что тихо ломает, например TF32 по умолчанию в NGC-образе, портящий RoPE после 2048 токенов.Выложили и модель - GLM-4.7-Flash-Coder, 30B MoE под агентские скаффолды: SFT на 7.8k успешных траекторий GLM-5.1, на SWE-rebench-V2 pass@1 вырос с 33.2% до 41.7%, а модель сама научилась вызывать тулы параллельно. Она уже слегка устарела, но как гайд по агентскому SFT актуальна.
Код мы пишем с агентными скаффолдами и сильными моделями вроде Claude Fable и Opus, репозиторий под это спроектирован. Контрибьт приветствуется, но через фильтр: сначала issue и approve мейнтейнера, потом PR. Главное правило - понимать свой код: с AI писать можно, но это нужно раскрыть, а тесты должны падать, когда ломается поведение.
Дальше больше: Pipeline Parallelism (все уже в коде, но докатим после полных тестов) и серия блогов про тренировку, например про async RL для code contests. Лицензия Apache 2.0.
P.S. Если помните такую вещь как SMPO из времен Vikhr, то он теперь тоже живет там, но уже с EP и CP и улучшениями.
👍30🔥25🤣3😁1🤝1
У каждой виральности есть цена и последствия
Тут например основной контрибьютор Nvidia-Molt пришел жаловаться что мы украли все его идеи (делать AutoModel видимо) и естественно подходим к опенсурсу неправильно.
Стоит ли говорить, что Молт был релизнут уже к моменту когда у нас давно было внутри готова основная часть архитектуры и решений, ни мы ни наши агенты никогда не смотрели его код дальше README в моменте разработки. Да и сама идея AutoModel скорее принадлежит HuggingFace, на фреймворках которой мы (и в какойто степени Molt) в основном и строимся (только у них свой AutoModel велосипед и отдельная мегатрон/nemo экосистема)?
Вероятнее всего причина в том что мы не стали пытаться процитирвоать вобще все существующие решения и забыли указать конкретно его разработку.
Но вместо того чтобы нас вежливо попросить добавить ее или какие-нибудь сравнения с ними (к слову у самого Molt никаких бечнмарков например вобще нигде не опубликовано) человек пошел в атаку на гитхаб и твиттер, где мы попытались дать ему развернутые ответы, что он неправ примерно во всем, но это его не остановило и он пошел просто писать в разных тредах с упоминанием нас что мы все украли (естественно не приводя никаких конкретных доказательств).
Вобщем, выводы простые.
1. Маркетинг это маркетинг (в твиттере по-другому дела не делаются, но мы старались не перегибать палку с промоушеном).
2. Важно уметь принимать чужой успех в нем, и смотреть на ситуацию объективно (виральность всеравно временна).
Человек на фоне нашей виральности потерял самообладание и пошел заниматься глупостями, даже несмотря на репутацию места где он работает. Професионализм это про принятие конкуренции и участие в ней, без обвинений в краже общедоступных идей и собственности (сам Molt к слову под Apache 2, делается полностью через Claude Code).
P.S. В качестве дальнейшего разрешения такой ситуации выбрали бан + игнор, так как конструктивный диалог дальше был невозможен.
С остальными людьми, которые приходят с критикой/сравнениями, мы просто просим делится всем кодом и лайкаем/принимаем любые идеи как только они подтверждаются не только словами.
P.P.S. Удалось подружиться с самими мейнтейнерами из Huggingface, они наоборот выбирают стратегию взаимопомощи (пример от PEFT)
Тут например основной контрибьютор Nvidia-Molt пришел жаловаться что мы украли все его идеи (делать AutoModel видимо) и естественно подходим к опенсурсу неправильно.
Стоит ли говорить, что Молт был релизнут уже к моменту когда у нас давно было внутри готова основная часть архитектуры и решений, ни мы ни наши агенты никогда не смотрели его код дальше README в моменте разработки. Да и сама идея AutoModel скорее принадлежит HuggingFace, на фреймворках которой мы (и в какойто степени Molt) в основном и строимся (только у них свой AutoModel велосипед и отдельная мегатрон/nemo экосистема)?
Вероятнее всего причина в том что мы не стали пытаться процитирвоать вобще все существующие решения и забыли указать конкретно его разработку.
Но вместо того чтобы нас вежливо попросить добавить ее или какие-нибудь сравнения с ними (к слову у самого Molt никаких бечнмарков например вобще нигде не опубликовано) человек пошел в атаку на гитхаб и твиттер, где мы попытались дать ему развернутые ответы, что он неправ примерно во всем, но это его не остановило и он пошел просто писать в разных тредах с упоминанием нас что мы все украли (естественно не приводя никаких конкретных доказательств).
Вобщем, выводы простые.
1. Маркетинг это маркетинг (в твиттере по-другому дела не делаются, но мы старались не перегибать палку с промоушеном).
2. Важно уметь принимать чужой успех в нем, и смотреть на ситуацию объективно (виральность всеравно временна).
Человек на фоне нашей виральности потерял самообладание и пошел заниматься глупостями, даже несмотря на репутацию места где он работает. Професионализм это про принятие конкуренции и участие в ней, без обвинений в краже общедоступных идей и собственности (сам Molt к слову под Apache 2, делается полностью через Claude Code).
P.S. В качестве дальнейшего разрешения такой ситуации выбрали бан + игнор, так как конструктивный диалог дальше был невозможен.
С остальными людьми, которые приходят с критикой/сравнениями, мы просто просим делится всем кодом и лайкаем/принимаем любые идеи как только они подтверждаются не только словами.
P.P.S. Удалось подружиться с самими мейнтейнерами из Huggingface, они наоборот выбирают стратегию взаимопомощи (пример от PEFT)
👏20👍7🔥4