Летом вышла HRM, модель на 27М с «биологически вдохновленной иерархией» и 32% на ARC-AGI. У нас тут был обзор на deep-dive от ARC-AGI, где показали, что эта самая иерархия не так и нужна
В комьюнити HRM уже успели покрутить, и вышел еще разбор, из которого про модель я узнала больше, чем из оригинальной работы. А следом Tiny Recursion Model, в которой отбросили всю сложность HRM
🔗HIERARCHICAL REASONING MODELS: PERSPECTIVES AND MISCONCEPTIONS
🔗Less is More: Recursive Reasoning with Tiny Networks
🤔 Что не так с RNN
RNN страдают от BPTT. Vanishing gradients возникают из-за того, что hidden state
В трансформерах каждый токен смотрит на весь контекст через self-attention. Параллелизация вычислений, стабильные градиенты. Недостаток в квадратичной сложности по длине последовательности и в фиксированной архитектурно «глубине обдумывания» каждого токена (кол-во слоев).
А ведь рекуррентность имеет смысл.❗️ Возможность «обдумать» входные данные несколько раз, уточняя ответ — хорошая стратегия, чего не хватает трансформерам.
❔ HRM напоминает диффузию?
HRM перенесла рекуррентность в латентное пространство. Вместо обновления hidden state по токенам, модель итеративно уточняет латентное представление
В обучении HRM использует one-step gradient через Implicit Function Theorem: градиенты считают только для последних двух итераций рекурсии. Память получается константной.
Это похоже на диффузию. Там модель учится из зашумленного
😐 Deep supervision
Команда ARC Prize тогда еще обнаружила, что deep supervision даёт ~+20% на ARC-AGI бенче. Что это значит? Обычно модель получает feedback только в самом конце: правильное ли решение. А с deep supervision модель получает feedback на промежуточных шагах. HRM делает 16 итераций уточнения (внутри каждой еще несколько итераций L-модуля без градиентов), и на каждой модель учится: первая итерация — первая попытка, последняя улучшает финальный ответ.
Помимо этого, HRM предполагает, что рекуррентный процесс достигает fixed point (где дальнейшие итерации ничего не меняют), и на этом основании использует упрощенный расчет градиентов. Но абляции показали, что модель по факту не достигает этой точки. Формула для градиентов работает не совсем корректно, и модель учится на неточных сигналах.
Механизм Adaptive Computation Time (ACT) тоже вызвал вопросы. В оригинальной статье Q-head предсказывает, когда остановить уточнение через Q-learning (Q_halt vs Q_continue). Но на практике максимальное число шагов всегда даёт лучший результат, что ставит под сомнение адаптивность.
😐 Tiny Reasoner Model
Авторы TRM просто начали удалять компоненты HRM, проверяя абляциями
Убрали H-модуль, оставили только L. Это согласуется с наблюдениями ARC-AGI.
Два слоя вместо восьми. Уменьшили глубину с 4+4 слоёв до 2 слоёв. Логично, что на датасете из ~1000 примеров, маленькие сети лучше генерализуются
Возвращение к полному BPTT вместо приближения. Это главное, пожалуй. Да, тут память растёт линейно с числом шагов, но сеть очень маленькая (2 слоя). В результате (вместе с заменой Attention на MLP) +30.9% на задаче Sudoku по сравнению с HRM
Выводы?
Рекуррентность пытаются возвращать. В виде итеративных обновлений в латентном пространстве, с deep supervision и адаптивной глубиной вычислений
🟠 RNN рекуррентны во времени (токен → токен)
🔴 Universal Transformer рекуррентен по глубине: один и тот же блок повторяется для всех позиций, иногда с ACT-остановкой
🔴 HRM/TRM рекуррентны в латентном пространстве: есть состояние, которое итеративно уточняется
Как думаете, есть будущее у этого подхода? Будет ли масштабироваться с ростом количества данных?
В комьюнити HRM уже успели покрутить, и вышел еще разбор, из которого про модель я узнала больше, чем из оригинальной работы. А следом Tiny Recursion Model, в которой отбросили всю сложность HRM
🔗HIERARCHICAL REASONING MODELS: PERSPECTIVES AND MISCONCEPTIONS
🔗Less is More: Recursive Reasoning with Tiny Networks
RNN страдают от BPTT. Vanishing gradients возникают из-за того, что hidden state
h_t зависит от всех предыдущих состояний. Чтобы посчитать градиент для h_0, нужно пройти через все промежуточные h_t. Градиент превращается в произведение якобианов, и при длине последовательности в сотни шагов испаряется.В трансформерах каждый токен смотрит на весь контекст через self-attention. Параллелизация вычислений, стабильные градиенты. Недостаток в квадратичной сложности по длине последовательности и в фиксированной архитектурно «глубине обдумывания» каждого токена (кол-во слоев).
А ведь рекуррентность имеет смысл.
HRM перенесла рекуррентность в латентное пространство. Вместо обновления hidden state по токенам, модель итеративно уточняет латентное представление
z всего ответа.В обучении HRM использует one-step gradient через Implicit Function Theorem: градиенты считают только для последних двух итераций рекурсии. Память получается константной.
Это похоже на диффузию. Там модель учится из зашумленного
x_t воспроизводить чистый x_0, обучаясь на парах (x_t, x_0) независимо. Рекурсия (постепенное убирание шума) появляется только на inference. HRM делает концептуально похожее: учится улучшать ответ с любого промежуточного состоянияКоманда ARC Prize тогда еще обнаружила, что deep supervision даёт ~+20% на ARC-AGI бенче. Что это значит? Обычно модель получает feedback только в самом конце: правильное ли решение. А с deep supervision модель получает feedback на промежуточных шагах. HRM делает 16 итераций уточнения (внутри каждой еще несколько итераций L-модуля без градиентов), и на каждой модель учится: первая итерация — первая попытка, последняя улучшает финальный ответ.
Помимо этого, HRM предполагает, что рекуррентный процесс достигает fixed point (где дальнейшие итерации ничего не меняют), и на этом основании использует упрощенный расчет градиентов. Но абляции показали, что модель по факту не достигает этой точки. Формула для градиентов работает не совсем корректно, и модель учится на неточных сигналах.
Механизм Adaptive Computation Time (ACT) тоже вызвал вопросы. В оригинальной статье Q-head предсказывает, когда остановить уточнение через Q-learning (Q_halt vs Q_continue). Но на практике максимальное число шагов всегда даёт лучший результат, что ставит под сомнение адаптивность.
Авторы TRM просто начали удалять компоненты HRM, проверяя абляциями
Убрали H-модуль, оставили только L. Это согласуется с наблюдениями ARC-AGI.
Два слоя вместо восьми. Уменьшили глубину с 4+4 слоёв до 2 слоёв. Логично, что на датасете из ~1000 примеров, маленькие сети лучше генерализуются
Возвращение к полному BPTT вместо приближения. Это главное, пожалуй. Да, тут память растёт линейно с числом шагов, но сеть очень маленькая (2 слоя). В результате (вместе с заменой Attention на MLP) +30.9% на задаче Sudoku по сравнению с HRM
Выводы?
Рекуррентность пытаются возвращать. В виде итеративных обновлений в латентном пространстве, с deep supervision и адаптивной глубиной вычислений
Как думаете, есть будущее у этого подхода? Будет ли масштабироваться с ростом количества данных?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥2
Microsoft предлагает использовать speech-LLM для оценки качества синтетической речи. Идея практичная, стандартные протоколы типа MOS и A/B тестов трудозатратны, а на выходе получаем оценку без качественных инсайтов, что именно пошло не так
🔗SpeechLLM-as-Judges: Towards General and Interpretable Speech Quality Evaluation
🐯 SQ-LLM
Авторы собрали датасет SpeechEval: 32к аудио (реальных и синтетики, включая коммерческие TTS), 128к аннотаций на 4 языках (en/zh/ja/fr). Аннотации включают оценки по 8 измерениям: overall quality, intelligibility, distortion, speech rate, dynamic range, emotional impact, artistic expression, subjective experience, а также развернутое текстовое описание «что не так».
Модель SQ-LLM на базе Qwen2.5-Omni-7B. Файн-тьюн LLM через LoRA, аудио энкодер не трогали. Обучали на 4: speech quality assessment (краткий текстовый разбор по 8 измерениям), парные сравнения A/B по тем же аспектам, генерация советов по улучшению, и детекция дипфейков.
Добавили CoT (это самое важное): модель предсказывает сами численные оценки по 8 измерениям❕ (см. картинку), затем текстовое описание и итоговый скор
Эксперименты в статье не совсем убедительны. Но есть все же несколько инсайтов🌸
🌀 Без доп. файн-тюна все speech-LLM дают слабую корреляцию с человеческими оценками (zero-shot не в деле). Эмерджентности не наблюдается, speechLLM, обычно крайне чувствительны к out-of-domain задачам. ‼️ Между их SQ-LLM и их же кастомными бейзлайнами (Whisper+Qwen3-8B, WavLM+Qwen3-4B) большой разницы тоже не вижу...
😎 Чтобы быть хорошим судьей, не нужно уметь генерить речь, важно глубоко понимать акустические характеристики. Бейзлайны с Whisper в среднем опережают остальных (особенно на deepfake detection), что подсказывает важность мощного энкодера. Было бы интересно проверить, даст ли до-обучение энкодера с головами предсказания отдельных метрик бОльший буст
🐈 CoT улучшает метрики, логично: 8 промежуточных численных предсказаний дают модели доп. сигналы помимо текста. Это мотивирует модель выучить отдельно факторы влияющие на качество и численно их оценивать, подкрепляя ответ. Полагаю, CoT еще снижает кол-во связных и красивых, но фактически некорректных формулировок
RL в виде GRPO даёт прирост по всем задачам, особенно на детекции дипфейков: модель достигает EER 6.2% и точности 89.4% против 15-18% у спец. систем типа RawNet2 (EER 15.84%, ACC 72.04%)
Что не понравилось в статье😭
🟡 Система якобы решает проблему интерпретируемости, но ни одного человеческого исследования нет, было бы круто прогнать на какую-нибудь TTS и проанализировать отзывы модели
🔴 SQ-LLM показывает, что speech-LLM можно адаптировать для оценки качества речи со средней точностью.. Pearson correlation 0.476 на оценке качества это скромно (хотелось бы 0.7+). Точность 67% в парных сравнениях, что всего на 17 п. выше угадывания
🟡 Непонятно, как файн-тюнили кастомные бейзлайны: была ли LoRA, был ли CoT? Не хватает сравнения разных аудио-энкодеров и LLM-декодеров
Самое главное: датасет не выпущен. Авторы собрали ценный ресурс, 128к качественных аннотаций, но пока не зарелизили
Выводы?
Я все еще скептически отношусь к LLM as a judge. Но для частичной автоматизации оценивания, почему бы и нет, например, чтобы выловить сложные примеры и углубиться в их анализ уже вручную.
P.S.: В этом году вела проект аннотации данных: подготовка, дизайн UI, правила для аннотаторов, обработка edge cases. Впечатление, что компании, специализирующиеся на данных, уже чаще вовлекают людей только для проверки и исправления ошибок ML пайплайнов. Это оптимизация и ускорение, но критически важна due diligence аннотаторов, не кликнуть на «тут все верно, идем дальше», если есть ошибки
Пока дописывала пост, релизнули 🔗OmniVinci. Идём читать 🤓
🔗SpeechLLM-as-Judges: Towards General and Interpretable Speech Quality Evaluation
Авторы собрали датасет SpeechEval: 32к аудио (реальных и синтетики, включая коммерческие TTS), 128к аннотаций на 4 языках (en/zh/ja/fr). Аннотации включают оценки по 8 измерениям: overall quality, intelligibility, distortion, speech rate, dynamic range, emotional impact, artistic expression, subjective experience, а также развернутое текстовое описание «что не так».
Модель SQ-LLM на базе Qwen2.5-Omni-7B. Файн-тьюн LLM через LoRA, аудио энкодер не трогали. Обучали на 4: speech quality assessment (краткий текстовый разбор по 8 измерениям), парные сравнения A/B по тем же аспектам, генерация советов по улучшению, и детекция дипфейков.
Добавили CoT (это самое важное): модель предсказывает сами численные оценки по 8 измерениям
Эксперименты в статье не совсем убедительны. Но есть все же несколько инсайтов
RL в виде GRPO даёт прирост по всем задачам, особенно на детекции дипфейков: модель достигает EER 6.2% и точности 89.4% против 15-18% у спец. систем типа RawNet2 (EER 15.84%, ACC 72.04%)
В своих проектах пришла к похожим выводам: учим LLM’ку извлекать и предсказывать количественные и качественные характеристики аудио внутри цепочки CoT (даже те, которые лишь косвенно связаны с down-stream) — получаем лучшее качество на основной задаче. Правда, это лишь мое эмпирическое наблюдение.
Что не понравилось в статье
Самое главное: датасет не выпущен. Авторы собрали ценный ресурс, 128к качественных аннотаций, но пока не зарелизили
Выводы?
Я все еще скептически отношусь к LLM as a judge. Но для частичной автоматизации оценивания, почему бы и нет, например, чтобы выловить сложные примеры и углубиться в их анализ уже вручную.
P.S.: В этом году вела проект аннотации данных: подготовка, дизайн UI, правила для аннотаторов, обработка edge cases. Впечатление, что компании, специализирующиеся на данных, уже чаще вовлекают людей только для проверки и исправления ошибок ML пайплайнов. Это оптимизация и ускорение, но критически важна due diligence аннотаторов, не кликнуть на «тут все верно, идем дальше», если есть ошибки
Пока дописывала пост, релизнули 🔗OmniVinci. Идём читать 🤓
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5✍2🔥2
На прошлой неделе вышла крутая статья от Kyutai Labs (да, я им симпатизирую): 🔗ARC-Encoder learning compressed text representations for large language models
Почему-то осталась относительно незамеченной, хотя на мой взгляд работа хорошо сделана и достойна deep-dive чтения. Как уже видно из названия, эта статья даже не про TTS & STT, здесь авторы придумали универсальный энкодер для сжатия длинных контекстов в LLM'ках в х4-8 раз практически без потерь качества ответов на различных downstream задачах (QA, text summarization, перевод), включая ICL
ARC-Encoder сжимает контекст в короткую последовательность эмбеддингов, которые напрямую подставляются в LLM декодер (после embedding layer), при этому саму LLM не до-обучают
LLM-пайплайны (RAG, multi-document QA) нуждаются в длинных контекстах. Но pre-fill на длинных промптах стоит дорого и быстро упирается в лимиты контекстного окна. Можно просто дропнуть наименее важные токены, или кратко суммаризировать промпт. Это hard compression. Альтернативный подход, soft compression, подразумевает извлечение смысловых эмбеддингов из пассажей контекста (инструкции промпта или документы). Часто такие методы также подразумевают fine-tune LLM декодера, ведь ему нужно еще научиться использовать эти сжатые репрезентации. ARC-Encoder же тем хорош, что никак не трогает decoder LLM, таким образом модель никак не будет менять своего поведения на других задачах
Как и что тренили?
Понравился оценочный сетап. Модели‑декодеры: Llama‑3.1‑8B и Mistral‑7B (base). Бейзлайны авторы ре-имплементили сами на базе тех же декодеров, данных и задачах. Дополнительно оценили open book (весь промпт вместе с документами для QA у модели в контексте) и closed book сетапы. Тренировочные сеты бенчмарков предусмотрительно не включали в тренировки.
На мой взгляд вся идея хорошо ложится на речевые и аудио модели, в которых проблема длинных контекстов стоит еще острее. Как думаете, является ли эта работа своего рода proof of concept и увидим ли мы эту идею в следующем Moshi? Также интересно, как далеко можно зайти с multi-decoder подходом: один универсальный энкодер для сжатия + мини адаптеры под каждую LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4🔥1
Хороший пост от разработчика PyTorch с обзором внутреннего устройства фреймворка
пост 2019 года, так что некоторые детали уже эволюционировали (слияние Variable/Tensor уже случилось, например), но ментальные модели про тензоры, страйды, автоград и путь вызова — это всё ещё актуально, мне понравилось
🔗 https://blog.ezyang.com/2019/05/pytorch-internals/
пост 2019 года, так что некоторые детали уже эволюционировали (слияние Variable/Tensor уже случилось, например), но ментальные модели про тензоры, страйды, автоград и путь вызова — это всё ещё актуально, мне понравилось
🔗 https://blog.ezyang.com/2019/05/pytorch-internals/
❤9🔥6👍5
В далеком 2020 году вывели степенные законы масштабирования для pre-training. Теперь команда Meta (и партнеры из академии) попытались сделать то же самое для RL
🔗«The Art of Scaling RL Compute for LLMs» показывает, что это предсказуемая сигмоида и предлагает ScaleRL рецепт стабильного RL проверенный на 100k GPU‑часов
😑 Почему не power law, а sigmoid?
В отличие от pre-training, где cross-entropy loss следует степенному закону, в RL метрики обычно ограничены сверху (accuracy, pass@k) и ведут себя как sigmoid. Логично: в начале модель исследует пространство, учится базовым навыкам, рост медленный. Затем наступает начинает собирать атомарные навыки в сложные стратегии, и точность взлетает. Ближе к потолку прогресс снова замедляется, образуя S-кривую.
Зачем это нужно?💵 Чтобы на малом compute 10k GPU-часов предсказать, что будет на 100k, и не тратить бюджет на алгоритм, который рано упрется в потолок
Авторы выяснили, что компоненты рецепта влияют на два параметра: асимптотический потолок (достижимая точность) и крутизну кривой (скорость обучения)
А теперь три самых важных параметра в RL тренировочном рецепте:
💪 Pipeline-RL off-policy архитектура
Обычный PPO синхронный. Генераторы создают роллауты, ждут, пока тренирующиеся обновят веса, получают новые веса, повторяют. Получается, что половину времени кто-то ожидает
А вот PipelineRL‑k стримит роллауты и делает на лету обновление весов генераторам даже посреди генерации последовательности (со старым KV‑кэшем); тренирующиеся инстансы ждут, если ушли вперёд более чем на k шагов. При схожей верхней асимптотике PipelineRL‑k значительно ускоряет обучение
🕺 Loss функция: CISPO vs DAPO
Сравнили лоссы основанные на GRPO: DAPO (GRPO с asymmetric DAPO clipping) CISPO (из Minimax) и GSPO. И вот у DAPO верхнюю границу оценили гораздо ниже (см. картинку), что критично на практике
GRPO в свое время запустил всю эту волну reasoning моделей (см. картинку). Идея такая: давайте избавимся от critic model и будем считать для каждого сэмпла advantage в зависимости от того, какой реворд он получил относительно всех других кандидатов в группе.
Последующие работы документировали недостатки алгоритма. Например была такая тема с fork токенами ("однако", "но", "следует", …), которые в базовой модели получали низкую вероятность, но они важны в рассуждениях и в RL получают высокий реворд, а из-за clipping’а не могут особо повлиять на тренировку и сдвинуть output distribution в верном направлении
CISPO возвращается к REINFORCE, но клипает только importance sampling ratio, оставляя градиент по самим токенам:
❕ FP32 для LM головы
FP32 precision для LLM лоджитов. Это третий столп стабильного RL. Проблема в том, что генераторы и тренирующиеся используют разные compute kernels, к небольшим численным отличия в лоджитах. В importance sampling расхождения дестабилизируют, а FP32 для финального слоя почти устраняет проблему
Авторы вывели рецепт самых «оптимальных решений для RL». Там множество трюков: исключение промптов, где все генерации имеют одинаковый реворд, форсирование ответа на длинных цепочках и др.
Так как эксперименты ограничены проверяемыми задачами с бинарным ревордом (математика, кодинг), то я бы пока просто приняла к сведению идеи. Непонятно, будет ли ScaleRL скейлиться на непроверяемых задачах, например prosody в TTS, мало абляций на downstream задачах.
На мой взгляд инсайт в том, что алгоритмические выборы значительно влияют не только на скорость, но и на потолок реально достижимой производительности; а в совокупности составляют мощный рецепт, где влияние каждого отдельного выбора уже не ломает систему
😎 P.S.: О precision в RL давно спорят, в x идет движ по этой статье. Предлагают переходить с bf16 на fp16. Оба типа занимают 16 бит, но fp16 аллоцирует больше бит под мантиссу, дает большую точность (при меньшем диапазоне) и помогает избежать коллапса тренировки
🔗«The Art of Scaling RL Compute for LLMs» показывает, что это предсказуемая сигмоида и предлагает ScaleRL рецепт стабильного RL проверенный на 100k GPU‑часов
В отличие от pre-training, где cross-entropy loss следует степенному закону, в RL метрики обычно ограничены сверху (accuracy, pass@k) и ведут себя как sigmoid. Логично: в начале модель исследует пространство, учится базовым навыкам, рост медленный. Затем наступает начинает собирать атомарные навыки в сложные стратегии, и точность взлетает. Ближе к потолку прогресс снова замедляется, образуя S-кривую.
Зачем это нужно?
Авторы выяснили, что компоненты рецепта влияют на два параметра: асимптотический потолок (достижимая точность) и крутизну кривой (скорость обучения)
А теперь три самых важных параметра в RL тренировочном рецепте:
Обычный PPO синхронный. Генераторы создают роллауты, ждут, пока тренирующиеся обновят веса, получают новые веса, повторяют. Получается, что половину времени кто-то ожидает
А вот PipelineRL‑k стримит роллауты и делает на лету обновление весов генераторам даже посреди генерации последовательности (со старым KV‑кэшем); тренирующиеся инстансы ждут, если ушли вперёд более чем на k шагов. При схожей верхней асимптотике PipelineRL‑k значительно ускоряет обучение
Сравнили лоссы основанные на GRPO: DAPO (GRPO с asymmetric DAPO clipping) CISPO (из Minimax) и GSPO. И вот у DAPO верхнюю границу оценили гораздо ниже (см. картинку), что критично на практике
GRPO в свое время запустил всю эту волну reasoning моделей (см. картинку). Идея такая: давайте избавимся от critic model и будем считать для каждого сэмпла advantage в зависимости от того, какой реворд он получил относительно всех других кандидатов в группе.
Последующие работы документировали недостатки алгоритма. Например была такая тема с fork токенами ("однако", "но", "следует", …), которые в базовой модели получали низкую вероятность, но они важны в рассуждениях и в RL получают высокий реворд, а из-за clipping’а не могут особо повлиять на тренировку и сдвинуть output distribution в верном направлении
CISPO возвращается к REINFORCE, но клипает только importance sampling ratio, оставляя градиент по самим токенам:
sg(clip(π_new/π_old, ε)) × Â. Stop-gradient делает это коэффициентом. GSPO в отличие от GRPO (и DAPO) переходит к importance sampling на уровне всей последовательности и стабильнее на длинных ответахFP32 precision для LLM лоджитов. Это третий столп стабильного RL. Проблема в том, что генераторы и тренирующиеся используют разные compute kernels, к небольшим численным отличия в лоджитах. В importance sampling расхождения дестабилизируют, а FP32 для финального слоя почти устраняет проблему
Авторы вывели рецепт самых «оптимальных решений для RL». Там множество трюков: исключение промптов, где все генерации имеют одинаковый реворд, форсирование ответа на длинных цепочках и др.
Так как эксперименты ограничены проверяемыми задачами с бинарным ревордом (математика, кодинг), то я бы пока просто приняла к сведению идеи. Непонятно, будет ли ScaleRL скейлиться на непроверяемых задачах, например prosody в TTS, мало абляций на downstream задачах.
На мой взгляд инсайт в том, что алгоритмические выборы значительно влияют не только на скорость, но и на потолок реально достижимой производительности; а в совокупности составляют мощный рецепт, где влияние каждого отдельного выбора уже не ломает систему
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥2
Генерация речи с LLM задача нетривиальная, мы тренируем модель воспроизводить наиболее вероятную последовательность аудио / речевых токенов; но это усреднение часто ведет к плоским ненатуральным интонациям, эмоциям и паузам, множеству артефактов. 💃 И здесь RL как раз неплохо вписывается, дает возможность вознаграждать разборчивость, и не поощрять непонятную речь
Если вам интересно попробовать RL post-training для TTS на практике, вот хороший пост-tutorial и репозиторий с кодом.
Что тут происходит?
🌸 Архитектура: TTS модель Llasa, на базе Llama-3.2 1В с X-codec-2 токенизатором
🪻 Вдохновением стала вот эта статья: 🔗GROUP RELATIVE POLICY OPTIMIZATION FOR TEXT-TO-SPEECH WITH LARGE LANGUAGE MODELS
🍀 Подход: GRPO с композитным ревордом, оценивающим качество синтетической речи через ASR word error rate (WER) и negative log likelihood на транскрипции. То есть оценивается разборчивость речи через WER и то, насколько для ASR модели вероятна референсная транскрипция при данном синтетическом аудио. В качестве ASR оценщика взяли Whisper-large v3
Бенчмарков нет, по оценке автора генерация стала стабильнее и улучшились интонации. Но… из-за вознаграждения за WER, модель стала синтезировать очень быструю речь, особенно если в промпте длинный текст. Это side-effect скорее всего проявился из-за того, что при фиксированной длине output’а модель пытается успеть произнести как можно больше
Чуть ранее другой автор проводил схожий эксперимент (🔗пост). Он натренил немецкую TTS SmolKartoffel-135M 😄 на базе SmolLM2 с почти таким же сетапом — GRPO с Whisper ASR ревордом.
Одной из проблем его бейзлайн модели было🍔 «зажевывание пластинки», когда модель застревала на повторении одних токенов. Так вот, post-training помог, но также как и в первом случае привел к довольно сильному ускорению речи.
В общем, если есть парочка свободных GPU, то можно поэкспериментировать с RL. Думаю, есть смысл попробовать разных ASR оценщиков, и лучше даже не самые мощные robust модели, чтобы усилить обучающий сигнал на аудио с артефактами. И как-то нужно контролировать скорость речи.
🐱 А какие у вас есть идеи по улучшению этого сетапа?
Если вам интересно попробовать RL post-training для TTS на практике, вот хороший пост-tutorial и репозиторий с кодом.
Что тут происходит?
Бенчмарков нет, по оценке автора генерация стала стабильнее и улучшились интонации. Но… из-за вознаграждения за WER, модель стала синтезировать очень быструю речь, особенно если в промпте длинный текст. Это side-effect скорее всего проявился из-за того, что при фиксированной длине output’а модель пытается успеть произнести как можно больше
Чуть ранее другой автор проводил схожий эксперимент (🔗пост). Он натренил немецкую TTS SmolKartoffel-135M 😄 на базе SmolLM2 с почти таким же сетапом — GRPO с Whisper ASR ревордом.
Одной из проблем его бейзлайн модели было
В общем, если есть парочка свободных GPU, то можно поэкспериментировать с RL. Думаю, есть смысл попробовать разных ASR оценщиков, и лучше даже не самые мощные robust модели, чтобы усилить обучающий сигнал на аудио с артефактами. И как-то нужно контролировать скорость речи.
Please open Telegram to view this post
VIEW IN TELEGRAM
huggingface.co
Llasa Goes RL: Training LLaSA with GRPO for Improved Prosody and Expressiveness
A Blog post by Steven Zheng on Hugging Face
🔥9❤7👍4