Выложили с коллегами статью по Audio SAE на arxiv. Это одна из первых работ, посвященная применению разряженных автоэнкодеров в аудио домене
Sparse Autoencoder (SAE) - это инструмент механистической интерпретации, который "распутывает" активации модели, переводя их в пространство большей размерности. SAE учится таким образом, что вектор его латентных активаций становится разреженным, в результате активации модели на каждом токене описываются небольшим множеством фичей (компонент латентного вектора SAE). Эти фичи в идеале должны быть моносемантичны и интерпретируемы, но этими свойствами зачастую обладает лишь небольшая их часть. Моносемантичность значит что фича кодирует один доминирующий концепт, а свойство интерпретируемости позволяет человеку описать этот концепт через анализ последовательностей токенов, на которых фича имеет наибольшую активацию. Таким образом можно понять на что именно обращает внимание модель
Аудио модели заметно хуже интерпретируются по сравнению с моделями в NLP и CV доменах. Одной из причин этого является то, что перед подачей в энкодер аудио разбивается на фреймы, каждый их которых кодирует маленький временной промежуток, порядка нескольких десятков миллисекунд. Из за этого акустические события, претендующие на название индивидуальных и интерпретируемых концептов, например произношение конкретной фонемы, размазываются по активациям на несколько фреймов, из чего следует низкая семантическая плотность представлений
Интерпретация сложна также тем, что она может проводиться на нескольких уровнях: акустическом (прослушивание сегментов активности), спектральном (просмотр сегментов на спектрограмме), семантическом (анализ корреляции фичи с метками классификации аудио-эвентов) и текстовом (анализ описаний, полученных из LLM)
При попытке поиска простых акустических концептов (например высоты тона, тембра, громкости) возникает проблема того что в речи они постоянно меняются и сложно найти и проанализировать сегменты, где в теории должна активироваться характерная фича
Сложные же речевые концепты (например акцент, возраст, настроение говорящего) искать легче, но они не локализованы в рамках одной SAE фичи. В наших экспериментах по их классификации было достаточно небольшого набора признаков (5-100), но для достижения unlearning'а (наблюдения ухудшения классификации после зануления ключевых компонент) нужно значительно больше фичей, что указывает на многокомпонентную структуру сложных аудиоконцепций
В наших экспериментах мы проанализировали фичи, относящиеся как к локальным, так и к глобальным концептам. Первые активируются на конкретных звуковых событиях, например смехе, кашле, произношении фонем. Вторые соответствуют более общим концептам, начиная с доменной области аудио (речь, звуки, музыка), заканчивая атрибутами речи говорящего, такими как пол, язык, эмоциональная окраска
Был поставлен эксперимент, показывающий связь некоторых фичей SAE с ЭЭГ сигналом человека, слушающего аудио. В результате было найдено некоторое количество фичей с высокой корреляцией, что подтверждает гипотезу о том что аудио модели и человеческий мозг активируются на схожих аудио атрибутах
Также нам удалось значительно снизить количество галлюцинаций модели Whisper, которая склонна распознавать речь там где её нет. Для этого мы применили метод "стиринга" активаций, который меняет скрытые представления, изменяя тем самым генерацию модели. Стиринг с помощью SAE оказался более эффективным по сравнению с стирингом на исходных активациях и снизил количество галлюцинаций в 3 раза, при незначительном увеличении метрики распознавания WER
Исходный код и чекпоинты будут выложены в открытый доступ в скором времени. Сейчас же мы выложили статью на huggingface, так что вы можете поставить ей свои классы, чтобы больше людей её увидело
Sparse Autoencoder (SAE) - это инструмент механистической интерпретации, который "распутывает" активации модели, переводя их в пространство большей размерности. SAE учится таким образом, что вектор его латентных активаций становится разреженным, в результате активации модели на каждом токене описываются небольшим множеством фичей (компонент латентного вектора SAE). Эти фичи в идеале должны быть моносемантичны и интерпретируемы, но этими свойствами зачастую обладает лишь небольшая их часть. Моносемантичность значит что фича кодирует один доминирующий концепт, а свойство интерпретируемости позволяет человеку описать этот концепт через анализ последовательностей токенов, на которых фича имеет наибольшую активацию. Таким образом можно понять на что именно обращает внимание модель
Аудио модели заметно хуже интерпретируются по сравнению с моделями в NLP и CV доменах. Одной из причин этого является то, что перед подачей в энкодер аудио разбивается на фреймы, каждый их которых кодирует маленький временной промежуток, порядка нескольких десятков миллисекунд. Из за этого акустические события, претендующие на название индивидуальных и интерпретируемых концептов, например произношение конкретной фонемы, размазываются по активациям на несколько фреймов, из чего следует низкая семантическая плотность представлений
Интерпретация сложна также тем, что она может проводиться на нескольких уровнях: акустическом (прослушивание сегментов активности), спектральном (просмотр сегментов на спектрограмме), семантическом (анализ корреляции фичи с метками классификации аудио-эвентов) и текстовом (анализ описаний, полученных из LLM)
При попытке поиска простых акустических концептов (например высоты тона, тембра, громкости) возникает проблема того что в речи они постоянно меняются и сложно найти и проанализировать сегменты, где в теории должна активироваться характерная фича
Сложные же речевые концепты (например акцент, возраст, настроение говорящего) искать легче, но они не локализованы в рамках одной SAE фичи. В наших экспериментах по их классификации было достаточно небольшого набора признаков (5-100), но для достижения unlearning'а (наблюдения ухудшения классификации после зануления ключевых компонент) нужно значительно больше фичей, что указывает на многокомпонентную структуру сложных аудиоконцепций
В наших экспериментах мы проанализировали фичи, относящиеся как к локальным, так и к глобальным концептам. Первые активируются на конкретных звуковых событиях, например смехе, кашле, произношении фонем. Вторые соответствуют более общим концептам, начиная с доменной области аудио (речь, звуки, музыка), заканчивая атрибутами речи говорящего, такими как пол, язык, эмоциональная окраска
Был поставлен эксперимент, показывающий связь некоторых фичей SAE с ЭЭГ сигналом человека, слушающего аудио. В результате было найдено некоторое количество фичей с высокой корреляцией, что подтверждает гипотезу о том что аудио модели и человеческий мозг активируются на схожих аудио атрибутах
Также нам удалось значительно снизить количество галлюцинаций модели Whisper, которая склонна распознавать речь там где её нет. Для этого мы применили метод "стиринга" активаций, который меняет скрытые представления, изменяя тем самым генерацию модели. Стиринг с помощью SAE оказался более эффективным по сравнению с стирингом на исходных активациях и снизил количество галлюцинаций в 3 раза, при незначительном увеличении метрики распознавания WER
Исходный код и чекпоинты будут выложены в открытый доступ в скором времени. Сейчас же мы выложили статью на huggingface, так что вы можете поставить ей свои классы, чтобы больше людей её увидело
❤26🎉9 6🤯4 2👍1
Telegram
Олимпиадное комьюнити ЦУ
Сегодня день X на международной олимпиаде по искусственному интеллекту
С 23 по 27 февраля в Словении среди школьников проходила IAIO. Сборная России заняла сразу три призовых места среди 95 сильнейших участников со всего мира!
🏆 Серебро взял Вадим Прокофьев…
С 23 по 27 февраля в Словении среди школьников проходила IAIO. Сборная России заняла сразу три призовых места среди 95 сильнейших участников со всего мира!
🏆 Серебро взял Вадим Прокофьев…
https://xn--r1a.website/olimpiad_CU/210
Завершился зимний ИИ межнар IAIO, от летнего IOAI он отличается тем что в нём есть теоретическая часть с математическими задачками (в летнем только практическая). Последние три недели мы готовили ребят, в частности я готовил к теор части. Ребята вообще большие молодцы, до подготовки я не думал что школьники могут так хорошо шарить за теорию ML. То есть аргумент о том что они оверфитнуты только под хакатоны и соревы, где надо настакать побольше бертов или катбустов не совсем правдивый, по крайней мере для тех четырёх ребят, которых мы готовили. (в посте их трое, потому что один из них к сожалению заболел прямо накануне вылета, так бы было на одну медаль больше). Впрочем, всё равно есть куда расти, золота мы к сожалению не взяли
Сам я конкретно устал за время подготовки, в очередной раз оказалось что готовить и читать лекции вообще очень сложно. Но отдохнуть у меня пока что не получится, на следующей неделе начнутся сборы с подготовкой к заклу ВсОШа по ИИ, на них я тоже поеду читать ML CV и NLP (жаль аудио там нет)
Завершился зимний ИИ межнар IAIO, от летнего IOAI он отличается тем что в нём есть теоретическая часть с математическими задачками (в летнем только практическая). Последние три недели мы готовили ребят, в частности я готовил к теор части. Ребята вообще большие молодцы, до подготовки я не думал что школьники могут так хорошо шарить за теорию ML. То есть аргумент о том что они оверфитнуты только под хакатоны и соревы, где надо настакать побольше бертов или катбустов не совсем правдивый, по крайней мере для тех четырёх ребят, которых мы готовили. (в посте их трое, потому что один из них к сожалению заболел прямо накануне вылета, так бы было на одну медаль больше). Впрочем, всё равно есть куда расти, золота мы к сожалению не взяли
Сам я конкретно устал за время подготовки, в очередной раз оказалось что готовить и читать лекции вообще очень сложно. Но отдохнуть у меня пока что не получится, на следующей неделе начнутся сборы с подготовкой к заклу ВсОШа по ИИ, на них я тоже поеду читать ML CV и NLP (
❤22 7 3
Саша выложил четыре поста про то как команда готовилась и выступала на зимнем межнаре. Особенно интересные последние два, про кринжату со стороны организаторов
https://xn--r1a.website/aguschin_ai/240
https://xn--r1a.website/aguschin_ai/240
Telegram
Жизнь и датка
1/4
Обещал рассказать про нашу поездку на IAIO, как отосплюсь, думаю, пора это сделать:) В эту поездку пошло не так примерно все. С этого и начну. Будет много букв! Но история, на мой взгляд, эпическая.
Сначала мы думали, что олимпиады в принципе не будет…
Обещал рассказать про нашу поездку на IAIO, как отосплюсь, думаю, пора это сделать:) В эту поездку пошло не так примерно все. С этого и начну. Будет много букв! Но история, на мой взгляд, эпическая.
Сначала мы думали, что олимпиады в принципе не будет…
❤15🕊7 5 1
Всем привет
На этой неделе были выложены две статьи с моим первым авторством:
1) стиринг ASR модели Whisper против галлюцинаций, принята на Interspeech
2) геометрический анализ стиринга с точки зрения angular и norm компонент, препринт, засабмичен на EMNLP
Вторая статья в особенности важна для меня, потому что открывает череду исследований теории стиринга, которую я хотел бы развить
Подробнее про каждую из них расскажу в постах ниже
На этой неделе были выложены две статьи с моим первым авторством:
1) стиринг ASR модели Whisper против галлюцинаций, принята на Interspeech
2) геометрический анализ стиринга с точки зрения angular и norm компонент, препринт, засабмичен на EMNLP
Вторая статья в особенности важна для меня, потому что открывает череду исследований теории стиринга, которую я хотел бы развить
Подробнее про каждую из них расскажу в постах ниже
❤19 6👍5🕊1
Whisper Hallucination Detection and Mitigation via Hidden Representation Steering and Sparse AutoEncoders
Модель распознавания речи Whisper страдает от "галлюцинаций" на неречевых аудио. Галлюцинации в данном контексте понимаются как связанный текст, распознанный на аудио без речи. То есть этот текст грамматически верен, но не имеет с аудио ничего общего. Это следствия методики обучения этой модели: использовалось большое количество слабо размеченных аудио. Например для аудиодорожек с ютуба текстовым таргетом были их субтитры. Так, например, на шумных фрагментха при зафиксированном русском языке эта модель распознаёт "Субтитры сделал DimaTorzok", что является авторской маркой, вставляемой в конце фильма в субтитры, когда на аудио дорожке уже нет речи. До недавнего времени распознавание голосовых сообщений в телеграме также было подвержено проблеме таких галлюцинаций, вероятно использовалась именно эта модель
Статья является продолжением исследования AudioSAE, я использовал те же предобученные SAE, веса которых не так давно были выложены
У Whisper уже есть встроенный механизм фильтрации галлюцинаций. Считаются две скалярные величины: no_speech_prob (вероятность специального токена <|nospeech|>) и avg_logprob (средний logprob сгенерированных токенов). Таким образом текст на аудио считается пустым, если no_speech_prob > 0.6 или avg_logprob < -1.0. На практике этот эвристический фильтр работает плохо (см. рис. 1). Мы также используем эти два параметра для определения галлюцинаций среди неречевых аудио. Для речевых аудио мы инвертируем логическое условие, ведь на них модель как раз таки должна быть и уверена (низкий логпроб), и предсказывать низкую вероятность токена <|nospeech|>. То есть ставится задача понизить средний логпроб на токенах генерации и повысить no_speech_prob для неречевых аудио, при это сохранив метрики распознавания речи на аудио с речью
Стиринг производился на активациях резидуал стрима между трансформер блоками аудио энкодера. В качестве бейзлайна был взят CAA метод стиринга, который на инференсе прибавляет к активациям стиринг-вектор, посчитанный как разность между центроидами кластеров активаций двух классов (негаллюцинации минус галлюцинации) с некоторым коэффициентом. Для стиринга SAE сначала выбираются репрезентативные фичи, которые с точки зрения классификации имеют максимальную по модулю важность, а на инференсе к этим фичам прибавляется их средняя активация на тренировочном неречевом датасете, умноженная также на некоторый коэффициент. Стоит отметить что фичи SAE, которые имеют отрицательную важность (при увеличении двигают классификатор к классу галлюцинаций), при стиринге уменьшались
На практике получилось что лучшее качество достигается именно с помощью стиринга небольшого количества (10-25) SAE фичей, при чём с большим отрывом от CAA
Итого на тестовом наборе датасетов удалось достичь следующего снижения галлюцинаций:
- small 72.63% → 14.11%
- large-v3 86.88% → 27.33%
Ухудшение метрик на речевых датасетах, а так же на каждом неречевом датасете по отдельности, можете посмотреть в прикреплённой таблице
Сравнивались мы со статьёй Calm-Whisper, которые зануляли атеншн хеды в декодере. Они применяли метод только для large-v3 версии на датасете UrbanSound8K, и достигли 95.98% → 24.10% галлюцинаций в постановке без дообучения с снижением WER 2.11 → 3.57 на LibriSpeech test-clean. Наш метод же снизил процент галлюцинаций до 19.88% на этом датасете при повышении WER до 3.70
Поддержать работу вы можете поставив класс на huggingface)
[arxiv]
[sae_weights]
Модель распознавания речи Whisper страдает от "галлюцинаций" на неречевых аудио. Галлюцинации в данном контексте понимаются как связанный текст, распознанный на аудио без речи. То есть этот текст грамматически верен, но не имеет с аудио ничего общего. Это следствия методики обучения этой модели: использовалось большое количество слабо размеченных аудио. Например для аудиодорожек с ютуба текстовым таргетом были их субтитры. Так, например, на шумных фрагментха при зафиксированном русском языке эта модель распознаёт "Субтитры сделал DimaTorzok", что является авторской маркой, вставляемой в конце фильма в субтитры, когда на аудио дорожке уже нет речи. До недавнего времени распознавание голосовых сообщений в телеграме также было подвержено проблеме таких галлюцинаций, вероятно использовалась именно эта модель
Статья является продолжением исследования AudioSAE, я использовал те же предобученные SAE, веса которых не так давно были выложены
У Whisper уже есть встроенный механизм фильтрации галлюцинаций. Считаются две скалярные величины: no_speech_prob (вероятность специального токена <|nospeech|>) и avg_logprob (средний logprob сгенерированных токенов). Таким образом текст на аудио считается пустым, если no_speech_prob > 0.6 или avg_logprob < -1.0. На практике этот эвристический фильтр работает плохо (см. рис. 1). Мы также используем эти два параметра для определения галлюцинаций среди неречевых аудио. Для речевых аудио мы инвертируем логическое условие, ведь на них модель как раз таки должна быть и уверена (низкий логпроб), и предсказывать низкую вероятность токена <|nospeech|>. То есть ставится задача понизить средний логпроб на токенах генерации и повысить no_speech_prob для неречевых аудио, при это сохранив метрики распознавания речи на аудио с речью
Стиринг производился на активациях резидуал стрима между трансформер блоками аудио энкодера. В качестве бейзлайна был взят CAA метод стиринга, который на инференсе прибавляет к активациям стиринг-вектор, посчитанный как разность между центроидами кластеров активаций двух классов (негаллюцинации минус галлюцинации) с некоторым коэффициентом. Для стиринга SAE сначала выбираются репрезентативные фичи, которые с точки зрения классификации имеют максимальную по модулю важность, а на инференсе к этим фичам прибавляется их средняя активация на тренировочном неречевом датасете, умноженная также на некоторый коэффициент. Стоит отметить что фичи SAE, которые имеют отрицательную важность (при увеличении двигают классификатор к классу галлюцинаций), при стиринге уменьшались
На практике получилось что лучшее качество достигается именно с помощью стиринга небольшого количества (10-25) SAE фичей, при чём с большим отрывом от CAA
Итого на тестовом наборе датасетов удалось достичь следующего снижения галлюцинаций:
- small 72.63% → 14.11%
- large-v3 86.88% → 27.33%
Ухудшение метрик на речевых датасетах, а так же на каждом неречевом датасете по отдельности, можете посмотреть в прикреплённой таблице
Сравнивались мы со статьёй Calm-Whisper, которые зануляли атеншн хеды в декодере. Они применяли метод только для large-v3 версии на датасете UrbanSound8K, и достигли 95.98% → 24.10% галлюцинаций в постановке без дообучения с снижением WER 2.11 → 3.57 на LibriSpeech test-clean. Наш метод же снизил процент галлюцинаций до 19.88% на этом датасете при повышении WER до 3.70
Поддержать работу вы можете поставив класс на huggingface)
[arxiv]
[sae_weights]
🎉13❤8 4💩2
Telegraph
A Geometric Account of Activation Steering through Angle-Norm Decomposition
Чаще всего стиринг активаций LLM реализуют как параллельный перенос активаций вдоль предпосчитанного вектора концепта (стиринг вектора). Такой дизайн исходит из гипотезы о локальной линейности множества активаций LLM. Но недавно вышли работы, которые критикуют…
Чаще всего стиринг активаций LLM реализуют как параллельный перенос активаций вдоль предпосчитанного вектора концепта (стиринг вектора). Такой дизайн исходит из гипотезы о локальной линейности множества активаций LLM. Но недавно вышли работы, которые критикуют такой подход, заявляя, что при линейном стиринге сильно меняется норма активации, а это выводит активацию в out-of-distribution, что ломает модель. Предлагаемая альтернатива — сферический стиринг, который сохраняет нормы активации, только поворачивая их в сторону вектора концепта на некоторый угол
Но сами гипотезы, на которых строится этот подход (что активации лежат на сфере, а норма для концепта не важна), эмпирически не проверялись. Мы с Таней решили закрыть этот пробел: построили фреймворк, объединяющий сферический и линейный стиринг в один общий класс методов, и выделили норму и угол вектора как два интерпретируемых параметра (вместо одного, неинтерпретируемого, в линейном стиринге)
Оказалось, что активации не лежат строго на сфере, а норма всё-таки важна для стабильности генерации, и опираясь на это мы предложили новый метод, совмещающий сильные стороны обоих подходов
Полный обзор написал в [телеграфе]
Если вам понравилась статья, поддержите её классом на huggingface daily papers, чтобы больше людей её увидело :)
[arxiv]
Но сами гипотезы, на которых строится этот подход (что активации лежат на сфере, а норма для концепта не важна), эмпирически не проверялись. Мы с Таней решили закрыть этот пробел: построили фреймворк, объединяющий сферический и линейный стиринг в один общий класс методов, и выделили норму и угол вектора как два интерпретируемых параметра (вместо одного, неинтерпретируемого, в линейном стиринге)
Оказалось, что активации не лежат строго на сфере, а норма всё-таки важна для стабильности генерации, и опираясь на это мы предложили новый метод, совмещающий сильные стороны обоих подходов
Полный обзор написал в [телеграфе]
Если вам понравилась статья, поддержите её классом на huggingface daily papers, чтобы больше людей её увидело :)
[arxiv]
❤15💅3 1 1
Сегодня вышли ещё две статьи с моим соавторством:
1) TTS диффузия на FSQ токенах, работа моего коллеги Вадима, принята на ICML. Основным результатом этой работы стала модернизация архитектуры CosyVoice2, за счёт замены LLM бекбона на диффузионную модель, предсказывающую дискретные речевые токены, с предиктором длительности синтезируемого аудио. За счёт этого удалось достичь ускорения инференса модуля бекбона в 5-10 раз, в зависимости от длины синтеза и количества шагов обратной диффузии, при этом сохранив (и частично улучшив) качество синтеза на английских данных
2) интерпретация и стиринг TTS модели с помощью SAE, коллаборация с коллегами из лабы тинькоффа, препринт. В этой работе мы проанализировали TTS модель CosyVoice3, посчитали количество текстовых/аудио/универсальных SAE фичей на разных слоях, собрали их описания с помощью пайплайна автоинтерпретации и постирили некоторые из них. Так, например, была найдена фича гендера (высоты тона), стиря которую в положительную сторону синтезируемый голос становился женским, а если в отрицательную, то наоборот, мужским
Такие дела, все публикации, над которыми я работал последние полгода, вышли на этой неделе. Дальше хочется поисследовать геометрию манифолдов разных LLM и что-нибудь понять уже наконец
1) TTS диффузия на FSQ токенах, работа моего коллеги Вадима, принята на ICML. Основным результатом этой работы стала модернизация архитектуры CosyVoice2, за счёт замены LLM бекбона на диффузионную модель, предсказывающую дискретные речевые токены, с предиктором длительности синтезируемого аудио. За счёт этого удалось достичь ускорения инференса модуля бекбона в 5-10 раз, в зависимости от длины синтеза и количества шагов обратной диффузии, при этом сохранив (и частично улучшив) качество синтеза на английских данных
2) интерпретация и стиринг TTS модели с помощью SAE, коллаборация с коллегами из лабы тинькоффа, препринт. В этой работе мы проанализировали TTS модель CosyVoice3, посчитали количество текстовых/аудио/универсальных SAE фичей на разных слоях, собрали их описания с помощью пайплайна автоинтерпретации и постирили некоторые из них. Так, например, была найдена фича гендера (высоты тона), стиря которую в положительную сторону синтезируемый голос становился женским, а если в отрицательную, то наоборот, мужским
Такие дела, все публикации, над которыми я работал последние полгода, вышли на этой неделе. Дальше хочется поисследовать геометрию манифолдов разных LLM и что-нибудь понять уже наконец
👍16❤7✍2