Ученый без степени | AI-блог Ани – Telegram
Ученый без степени | AI-блог Ани
821 subscribers
113 photos
5 videos
77 links
📊 Applied Scientist из Amazon о технологиях AI. Исследования, практика, новости из индустрии, полезные инструменты с AI - делюсь всем, чем сама интересуюсь.

Для связи: @piunova_a
Download Telegram
Пока многие text reasoning бенчмарки сатурируют, в домене audio understanding ситуация обстоит еще не очень 😭

Нашла статейку с новым аудио бенчмарком MMAU‑Pro — это 5305 отобранных реально сложных мульти-модальных задачек на ризонинг по звуку: здесь речевые QA, звуки и вопросы по ним, много музыки различных стилей, длинные записи, несколько аудио за раз (sound‑music‑speech), голосовой диалог, пространственный звук и также open ended questions

🤓 Что интересного показал бенчмарк

Топовые аудио модели пока далеки от уровня человеческого рассуждения на аудио: Gemini‑2.5 Flash лидер бенча и набирает в среднем лишь 59.2%, из открытых моделей Qwen2.5-Omni-7B 52.2%, Audio Flamingo 3 (AF3) — 51.7%. Qwen2.5‑Omni в среднем лучше на instruction following и открытых вопросах, а AF3 сильнее именно на музыке и звуках благодаря унифицированному энкодеру (Whisper-v3 + дообучение) и аудио датасетов типо AudioSkills-XL в тренировке.

😎Известно, что модели могут игнорировать аудио и опираться на general knowledge LLM’ки в ответах. Это классический вызов для аудио бенчмарков: как проверить, что модель реально слушает. Эксперимент с заменой аудио шумом показал:

🔥Qwen2.5‑Omni‑7B accuracy падает с 52.2% до 30.6% 😭
🔥AF3 — с 51.7% до 47.2%

Нуу, качество хоть и падает, но, очевидно, модели по максимуму используют текстовые подсказки, когда возможно.

Например, в вопросе “Аудио [звук] Вопрос: Что за классический инструмент играет? А) Электрогитара Б) Скрипка С) Барабаны” ответ-то можно и угадать. И авторы как раз старались минимизировать количество подобных задачек.

А вот и идея для тренировки audio-LLM: включать шумные входные данные, и тренировать модель обосновывать невозможность ответа, вместо угадывания


🤭 В вопросах с вариантами ответа если увеличить количество вариантов (дистракторов) с 3 до 10, точность тоже падает: у AF3 — с 51.4% до 37.8%, у Qwen‑7B — с 43.5% до 38.9%. Это значительно, и снова указывает на недостаточную способность эффективно использовать аудио контекст

Слабые места всех моделей это количественные рассуждения «по звуку», временные отношения (порядок, длительность), а также turn taking, сегментация и диаризация (посмотрите картинку😱). И это логично, так как аннотированных данных крайне мало, но для нас это и хорошо, ведь решать еще нерешенные проблемы веселее

Кстати, бенчмарк частично был создан в рамках воркшопа JSALT 2025. Что-то я совсем забыла про него в этом году, а ведь все сессии и презентации проектов выложен в открытый доступ на YouTube — вот тут

(А картинку сгенерила с нано-банана 😀)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥6👍5👀1
👻Как с помощью простых методов интерпретируемости и на данных почти без разметки понять, что ваша ASR модель галлюцинирует?

На практике ASR модели иногда выдают не лишенный смысла текст там, где в аудио шумно или тишина, а иногда подменяет слова в транскрипции, ломая семантику. Авторы статьи 🔗Beyond Trannoscription: Mechanistic Interpretability in ASR перенесли в речь простые техники из интерпретируемости LLM и показали, как предсказывать галлюцинации по внутренним представлениям Whisper и Qwen2‑Audio с точностью до 93%

🥹 Что удалось «снять» с внутренних представлений

Методом probing проверили, какие слои энкодера Whisper наиболее информативны для предсказания пола говорящего, акцента, акустических условий (чисто или шумно), а также того, есть ли речь на входе (или это другой звук).

Работает так: прогоняем аудио через натрененный энкодер, на выходах разных слоёв обучаем линейный классификатор. Если он успешно различает категории — значит, модель уже разложила эту информацию внутри себя. К 25–27-му слою Whisper уже линейно разделяет акцент с точностью ≈97%, определяет гендер говорящего на ≈94% и до 90% отличает чистую речь от шума.

Ожидаемо, что к верхним слоям энкодер выучит такие представления, ведь Whisper тренили на многоязычных задачах — транскрипция, перевод, классификация речи, определение языка.

🌷Но ценность здесь в том, что достаточно линейного разделителя. Модель не училась явно на акценты — это побочный продукт обучения, но она разместила информацию так компактно, что её легко извлечь. В applied-задачах пробинг часто используют, чтобы выбрать оптимальный слой энкодера под вашу задачу, например сегментацию или верификацию спикеров.

👻Детектим галлюцинации на лету

Оказалось, что по активациям 22-го слоя декодера на последнем токене (!) можно с точностью 93.4% предсказать, галлюцинирует модель или нет. Для Qwen2‑Audio точность ниже, но закономерность слоев та же. Дополнительно, по тем же активациям легко отличать речь/не речь — в Whisper это вообще 100% точности на широком диапазоне слоев. Хороший сигнал, чтобы помечать подозрительные участки стрима без VAD‑модели.

👓 Encoder Lens

А что, если остановить работу энкодера на любом слое и сразу передать результат декодеру. Эта техника как раз называется encoder lens. Что получаем в экспериментах над Whisper?

🤍С нижних слоёв (0-22): получаем пустоту или обрывки слов. Декодер ещё не понимает, что слышит
🤎Слои 20-27 — осмысленный, но неверный текст. Начало может совпадать с аудио, а дальше несуразица
🩵Предпоследние слои (27-30) — зацикливание, классические галлюцинации
🤍Только финальные слои (31-32) дают корректную транскрипцию

А вот Qwen2-Audio ведёт себя иначе. Нижние слои почти всегда приводят к выдаче одной заученной фразы («Kids are talking by the door»), независимо от языка или входного аудио. Когда модель не уверена — она просто цитирует что-то из тренировочных данных. Вот и тест на меморизацию

Также, в статье нашла ссылку на 🔗блог-пост (аж от 2023 года), где показывают, как конкретные нейроны MLP слоев Whisper’а активируются на определенные фонемы в аудио (даже демку можно послушать, звучит прикольно)

Вообще, мне нравится такое прикладное направление интерпретируемости, которое помогает отлаживать модель в проде, делая ее ответы более предсказуемыми

А как вам статья? Поделитесь плиз, как на ваш взгляд, валидны и полезны ли выводы авторов?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6🔥5
🤩 Why Stacking Sliding Windows Can't See Very Far

Вчера на собесе с кандидатом мы покопались в дизайне механизмов внимания. У него был опыт оптимизации обучения трансформеров — ну и я подумала, почему бы не обсудить attention, в том числе sliding‑window attention (SWA). SWA — это такой вид «локального» внимания, где каждый токен смотрит лишь на последние W токенов. Поэтому сложность падает с O(n^2) до O(n * W), что эффективно по вычислениям и приятно для длинных контекстов. Интуитивно: если у нас L слоев, то охват скейлится как L * W. На практике же «полезное окно» гораздо меньше: как только нужный фрагмент вываливается за окно (и из KV кэша), модель часто не видит его. 

Оттого часто это локальное внимание комбинируют с глобальным, несколько слоев локального, потом глобальный. Так, например, в Gemma 3 блоки чередуют 5 локальных слоёв с 1 глобальным (локальное окно 1024)

Глубже с кандидатом в это тему не пошли, но зато потом я нашла вот этот 🔗классный блог-пост с разбором того, как рассеивается внимание модели в SWA

Как влияет удаленный токен на текущий токен, тот, который мы предсказываем?

Даже если представить, что каждый токен имеет равное влияние 1/W в текущем окне, то проходя через несколько слоев, это влияние оказывается распределено совсем неравномерно (как «скользящее среднее» по W позициям). Информация из далекого токена проходит через несколько разных маршрутов внутри окон внимания предыдущих слоев, чтоб оказать влияние на текущий токен. Эти маршруты суммируются как шаги случайного блуждания (см. на картинке theoretical information propagation).

Если слоёв много, мы итеративно усредняем уже усреднённое. Поведение такого процесса описывается центральной предельной теоремой: многократная «свёртка» равномерного окна превращает профиль влияния прошлых токенов в гауссовский колокол. А ширина этого колокола скейлится сообразно корню из глубины сетки sqrt(L) * W, а вовсе не L * W. Интересно еще, что внутри каждого окна максимальный вклад дают не крайние позиции, а середина доступного диапазона — края «смываются» очередными усреднениями.

В реальных трансформерах есть не только внимание, но и residual connections. Упрощённо, выход слоя это сумма residual (с большим весом alpha) и внимания (с маленьким весом 1 - alpha). Тут alpha это не реальный параметр, а эффективная доля резидуала в смеси «residual + attention» после нормализации (наблюдаемое соотношение вкладов путей).

Это стабилизирует обучение, но создает жесткий барьер: чтобы сигнал перепрыгнул дальше окна, ему нужно многократно идти через слабую ветку внимания, а она экспоненциально гасит вклад. В итоге эффективный горизонт почти не зависит от глубины и оценивается примерно как 1.5 * W (при типичных alpha), что сильно расходится с интуитивной оценкой.

Получается, то, что делает трансформеры стабильными в обучении (residual connections), одновременно ограничивает их способность видеть далеко назад. Это объясняет, почему многие успешные long-context модели используют гибридные архитектуры, сочетая эффективность SWA с периодическими слоями полного внимания.

Кстати, автор поста — это автор статьи про attention sink: 🔗Efficient Streaming Language Models with Attention Sinks

Нашла у него 🔗еще отличный пост о том, как вообще получилась работа по attention sinks, точнее, как, он в ходе стажировки в Meta и работая над проблемой длинных контекстов пришел к фундаментальным инсайтам о трансформерах

🥹 А какой механизм внимание вы используете чаще всего на практике? А если бы у вас было бесконечное окно внимания, какую задачу вы бы сразу попробовали решить?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥9👍4
🍁 RL’s Razor: почему on‑policy RL забывает меньше, чем SFT

Несколько лет назад я плотно занималась continual learning для языковых моделей. Хотелось не переучивать модель с нуля в каждом релизе Алексы, а немного до-обучать: новые артисты, новая лексика. Тогда go-to подходом был простой микс «старых» данных, иначе модель охотно забывала базу, также применялись методы ограничивающие отклонение «важных» весов. И это во времена, когда большими считались языковые модели 1В

Проблема актуальна и сегодня, на модельках калибра 8–20B уж точно. А в перспективе мы бы хотели иметь само-обучающихся в среде агентов, которые не теряют базовые навыки. И, вроде бы, решение лежит на поверхности — пост‑тренинг через RL, а не SFT

В статье 🔗«RL's Razor: Why Online Reinforcement Learning Forgets Less» авторы сравнили SFT и RL как методы пост‑тренинга, результат такой (см. картинку):

RL даже без явной KL‑регуляризации даёт сопоставимую с SFT точность на новой задаче и заметно меньше забывает «старые» таски


Они сравнили переменные, которые ранее связывали с забыванием (изменения весов, внутренних активаций), посчитали корреляцию и сформулировали проблему забывания именно как проблему сдвига output distribution модели. Даже изменение весов модели меньше коррелирует с забыванием (тоже см. скрин).

Интуитивно, RL как бы и должен давать минимальный сдвиг output distribution, и вот почему

Возьмем GRPO для примера. Он учится на собственных выборках. Модель генерит пачку кандидатов, мы вознаграждаем удачные, и слегка перераспределяем вероятности внутри того, что модель уже считала правдоподобным. Это мягкий локальный сдвиг. И дело тут именно в on‑policy характере обучения; методы с негативными примеры сгенеренными внешней моделью супервайзером (SimPO) ведут себя больше как SFT.

А вот SFT это off‑policy обучение. Cross-entropy учится на последовательности one-hot векторов, то есть модель подталкивают к дословному воспроизведению цепочки. На этапе pre-train это оправдано: модель должна научиться воспроизводить текст, чтобы освоить язык и логику построения цепочек. Но в post‑training модель уже знает, как формулировать. One‑hot сужает пространство валидных решений и чаще уводит распределение далеко от начальной политики.

И все бы ничего, берем RL и треним 💫, но у него тоже есть проблемки: долго тренируется, дорого, и все еще нестабилен, также подвержен reward hacking, когда модель обходит логические выкладки и находит способы прийти к правильному ответу простым путем (💻 вот недавний пример “подсматривания в будущее” на SWE-Bench). С бинарными ревордами бывают «нулевые градиенты» (если все кандидаты одинаково хороши).

Тут авторы задались вопросом: а можно ли спроектировать SFT так, чтобы он тоже минимально сдвигал распределение?

В игрушечном эксперименте они заменили one-hot цели на soft-targets на базе исходной модели: оставили вероятности только для правильных ответов и нормализовали. 😮 В результате смогли с помощью SFT добиться даже лучшего уровня перфоманса при этом почти не забывая исходные данные. Наблюдаемый KL сдвиг выходного распределения также оказался минимален. (лучше все-таки почитать статью, там детали эксперимента)

И это, на мой взгляд, самые главные инсайты 💻:

🤩 Минимальная подверженность забыванию — следствие минимального KL-divergence между выходными распределениями модели до и после пост‑тренинга, это не фича RL алгоритма, того же можно добиться при аккуратном дизайне лэйблов для SFT

🤩 Оn-policy тренировка даже без KL регуляризации минимально смещает output distribution, поскольку обновления происходят относительно распределения самой модели, в то время как SFT тянет распределение в сторону

В общем работа хороша, но открытые вопросы остаются. В toy-эксперименте soft‑targets построить легко, а вот как системно проектировать такие цели в реальных задачах? И можно ли придумать простую SFT‑подобную оптимизацию, которая автоматически реализует принцип RL’s Razor?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥116👍4
Тут вышла новая статья (пре-принт) от Kyutai

🔗Continuous Audio Language Models

Я пока только поверхностно прочитала, нужно детальнее смотреть архитектуру и абляции, но общий подход выглядит интересно, шаг в сторону low-latency audio-LM, при этом качество генерации не падает по сравнению с дискретными моделями

😌
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥74