Ученый без степени | 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