Data Blog
1.42K subscribers
100 photos
3 videos
4 files
175 links
Канал про интерпретируемость моделей и путь до phD, если автор не уйдет пасти овец.
Download Telegram
"Gotta Catch 'Em All"

С 1997 года существовала медиафраншиза —  Pokemon. Покемоны были чем-то вроде животных, которые могли обретать в течении своей жизни разные стадии — эволюционировать. Я смотрела все серии аниме, поэтому на слово "эволюция" у меня не нормальная реакция. Но мы здесь собрались за другим контентом, поэтому это интро связано со статьей EVOLUTION OF CONCEPTS IN LANGUAGE MODEL PRE-TRAINING.

Предыстория.

С относительно недавнего времени мы можем разбивать всё пространство активаций LLM на атомарные сущности — признаки (features). Представьте: берем активационные векторы размерности n и проектируем их в пространство размерности N >> n, добиваясь разреженности.

Методы.

Этот трюк обычно делается с помощью Sparse Autoencoders — сетей, которые в латенте дают разреженный вектор, обещающий понятные человеку концепты. Отдельные единицы такого вектора активируются только на схожих признаках, например: один компонент может реагировать на упоминания городов, другой — на математические формулы.

Позже появились Transcoders — продвинутая версия SAE, которая учится разлагать не активации, а вычисления внутри MLP слоя. Так как трансофрмер аддитивен, трансокдеры на разных слоях позволяют строить цепочки — эволюцию прохождений фичей от слоя к слою.

А потом к ним пришли Crosscoders — модели, с архитектурой транскодера, но адаптированные к учету информации из нескольких слоёв.

Каждый "кодер" состоит из трех частей:

1) Энкодер — делает разреженное представление.
2) Латент — само разреженное представление.
3) Декодер — восстанавливает input из разреженного представления.

К исследованию.

В классике кодеры применялись, чтобы изучить признаки в уже обученных моделей. А тут статья предлагает изучить процесс обучения, используя разреженность.

Для этого используют используют crosscoders и теоретическую предпосылку — если признак не существует, штраф за разреженность подавит веса декодеров в "неактивных" моментах до нуля (признака нет — восстанавливать мы его тоже не будем).

Из этой теории рассматривают норму весов декодера||W_dec|| для фичи i (из теории построения также мы знаем, что столбец декодера всегда кодирует какую-то фичу).

Для нормы авторы ввели Peak Snapshot Index — число k [1, 32], показывающее, на каком моменте времени в обучении фича достигла максимальной силы. В частности 143 000 шага обучения побили на 32 снэпшота и на них смотрели активации признака (при этом норму декодера снимали на каждом шаге).

В такой постановке нашли следующее:

1. Двухфазная структура:

Статистическая фаза (ранние шаги): модель изучает частоты токенов, потери падают до теоретического минимума
Фаза фич (поздние шаги): формируются сложные концепты в суперпозиции

2.Иерархия:

Простые фичи (предыдущий токен) ~1000-5000 шагов
Индукционные фичи ~10000-100000 шагов
Контекстно-зависимые — на финальных стадиях

3. Точку поворота: Около шага 1000 большинство фич кардинально меняют направление в пространстве активаций

Красивые картинки нашли тоже.
🗿31
Эволюция фичей. Можно идти из предположения, что темные — статистические и светлые — более сложные. Структура "скрещивания" отражает, как меняется сила наличия фичи step by step.
3🔥1
В целом, ничего кардинально нового это исследование не показало. Однако оно хорошо показывает:

1) Согласованность — одни факты разными методами;

Но тут кстати еще важно верифицировать, что это не натянутый вывод из того, что известно.

2) Универсальность — применение спарснутых методов не только к задаче изучения "что есть", но и к задаче "как появилось".

3) Творчество — я не представляю, какой красивый мозг надо иметь, чтобы придумать такую постановку!

И на этой замечательной ноте творческой вам недели, друзья, творческой вам недели :)
3🔥3
TDHook

Несмотря на какое-то ощущение, что я в полном hurry (не в плохом, а в скорее хорошем) в последнее время, не забываю почитывать статейки. И одна из интересных тем, за которыми мне интересно следить — это автоматизация interpretability процессов.

Библиотек, которые это делают хорошо, не так много, так что я собираю новые и надеюсь на их качество также, как коллекционирую зажигалки — знаю, что работает, нравится, когда-то пригодится.

Так вот, свежее:
TDHook — open-source фреймворк для интерпретации глубоких нейронных сетей, построенный на PyTorch и TensorDict. Разработан специально для работы с моделями с множественными входами/выходами (мультимодальные системы, DRL, image captioning и др.).

Авторы заявляют, что фреймворк удовлетворяет критериям:

1. Универсальности
* Работает с любой PyTorch моделью
* Нативная поддержка TensorDict структур
* Минимум зависимостей (~50% меньше места, чем transformer_lens), а значит меньше связанных рук в проекте

2. Разнообразия
25+ готовых методов среди которых:
* Attribution: градиенты, Integrated Gradients, LRP, Grad-CAM
* Latent manipulation: линейные пробы, CAV, активационный патчинг
* Weights-based: ROME, sparse autoencoders, task vectors

3. Гибкий API:
* Get-Set API для интервенций (как в nnsight)
* Композиция сложных пайплайнов
* Context managers для управления хуками

Бенчмаркинг у библиотеки приятный — в сравнении с самой популярной библиотекой captum — вычисления градиетных методов до 2x быстрее на Integrated Gradients, и размер библиотеки сильно ниже (всего +6% памяти к базовому torch, тогда как transformer_lens (трансформеры с хуками) дает +104%, а pyvene (библиотека для каузального анализа нейронных сетей через интервенции (вмешательства в промежуточные представления модели)) +132%.

Use Cases обещаны тоже широкие:
— Multi-modal модели и RL агенты
— Концептуальная атрибуция
— Attribution patching для Transformers

Правда, библиотека совсем свежая — последний коммит был 5 дней назад, будет многое ломаться. Но как проект — выглядит перспективно.

GitHub: https://github.com/Xmaster6y/tdhook
Статья: arXiv:2509.25475
🔥115❤‍🔥3
Бенчмаркинг на примере TrustVis

Последний месяц очень много думаю про бенчмарки и много чего связанного с ними изучаю и делаю. Захотелось написать про это, а заодно убрать пыль с канала.

Бенчмаркинг — зачем?

Я очень верю в интерпретируемость. Но все методы интерпретации это что-то более медленное, и как правило они не отвечают на вопрос "насколько хорошо/безопасно/устойчиво решается задача прямо сейчас?"

Отсюда, вместо того, чтобы изучать модель как сущность, начинаем изучать как сущность то, как модель справляется с задачей. И именно бенчмаркинг предлагает такой взгляд. Мы перестаем изучать модель как сущность. Вместо этого объектом анализа становится решение задачи как единица поведения системы. Если проводить аналогию с XAI: объяснять мы начинаем не параметры модели, а результат и причины конкретного поведения.

Основные ветки оценки:

От моделей мы хотим безопасность, следование инструкциям и устойчивость. Отсюда, в виде задачи-объекта чаще всего рассматривают:

1. Safety — задачи — как модель ведет себя на вредосных/суицидальных и других запросах.
2. Robustness — задачи, направленные на оценку устойчивости к атакам через модифицированные запросы (adversarial prompts).
3. Performance — исходная задача, которую модель решает в рамках системы.

Практический пример того, как это может выглядеть в комплексе — TrustVis.

Исходная цель — оценить доверие к модели.
Pipeline оценки такой:

1. Сначала оценивается базовая безопасность модели. Просто модель на Safety датасетах.
2. Затем идет оценка под "нагрузкой": добавляют adversarial-суффиксы (AutoDAN + генетические алгоритмы) и проверяют, “сломалась” ли безопасность.
3. Автоматизирует оценку поведения через ансамбль оценщиков LlamaGuard, LlamaGuard2, Longformer. Финальный вердикт — по majority voting.

Чтобы уточнить оценку, используют нормировку ошибок по типам контента: насилие, приватность, сексуальный контент, ненависть и др. Чтобы не иметь инсайт "модель уязвива где-то", а понимать — где. Это идеальный сценарий, так как данных по чувствительным темам не совсем достаточно. Но мне он очень нравится как референс хорошей оценки.

Key-takeaway из этого ночного спитча:

Чтобы оценивать поведение, нужно концентрироваться на анализе решений на задачах. А вот как это делать хорошо, кажется, тоже развивающаяся тема, пока не имеющая точных решений. Но ИМХО, TrustVis — хороший пример: он показывает, как объединить безопасность, устойчивость и производительность в метрики доверия (может и не самые оптимальные, но при этом информативные).

Код: https://github.com/RuoyuSun7/TrustVis
🔥9
А ещё, а ещё, а ещё! Я (уже месяц назад) пообщалась с DLS (обожаю их!) и совсем скоро выпустим лекцию и семинар по XAI! ❤️‍🔥

Stay here!

P.S на лекции будет Честер.
❤‍🔥16🔥135
📏 Гипотеза линейности в действии.

Очень большое эстетическое удовольствие мне доставляют чтение статей и попытки проследить, как обычные подходы пробивают себе место в более высокоуровневых вещах.

И самый частый встречный гость — это линейность.

Сегодня меня очень вдохновила пара работ и я решила зафиксировать ряд работ по ней тут.

Классика и будто бы начало — работа Linguistic Regularities in Continuous Space Word Representations, где показано, что комбинация векторных представлений vector(”King”) - vector(”Man”) + vector(”Woman”) на самом деле равна vector(Queen) (и продолжения, которые тоже сохраняют линейные закономерности между словами CBOW и SKIP-Gram).

Продолжение и актуальность линейности можно увидеть и в свежих/актуальных работах:

LIME — объясняет предсказания модели как локальную линейную аппроксимацию сложной функции в окрестности точки.
— SAE (где мы представляем эмбеддинг в виде разреженной линейной комбинации);
Оценка мнения модели на основе зондов (где мы оцениваем мнение модели на основе линейного классификатора на residual stream)
— Разложение модели на интерпретируемые концепции — например, можно перевести концепты в виде текстовых эмбеддингов CLIP в линейную комбинацию признаков, обучив линейную суррогатную модель с использованием KL-дивергенции.

Что самое интересное, находят подтверждения не только гипотезы о том, что представления линейны в рамках одной модели, но и о том, что между представлениями достаточно больших моделей существует линейное (и ортогональное) преобразование. То есть (в частности показано) можно взять концепт в GPT-J, линейно перенести его в LLaMA и он продолжает быть справедливым.

Ограничения:

Конечно, они есть:
— нелинейные взаимодействия между признаками никуда не исчезают;
— полисемантичность нейронов (один активационный канал кодирует несколько смыслов);
— требуется разреживание или ортогонализация, чтобы выделить чистые направления.

Но мне очень греет душу мысль, что можно работать с линейностью и вот тут-то любовь к векторной алгебре пригодится :)

Если вы видели работы, связанные с линейностью или у вас есть мысли — можете докинуть в комментарии)
8❤‍🔥8🔥7
Лучшее сообщение, которое можно получить с утра в субботу выглядит так:

We are delighted to inform you that your submission has been accepted for publication at the Alignment Track of The 40th Annual AAAI Conference on Artificial Intelligence (AAAI’26). This year, we received a record number of submissions (468). Based on a thorough and rigorous review process, we have accepted 106 papers. This yields an overall acceptance rate of 22.65%. You can view your final reviews in the OpenReview portal.
🔥259
TLDR: прошла со своей командой на AAAI конференцию. По уровню — это A/A*, так что, получается, выполнилась какая-то ачивка.

Радуюсь сегодня весь день, но в какой-то момент меня отпустило, и я задумалась, что на деле — публикации, награды, гранты и прочее — это просто какой-то этап. Какая-то задача. И когда их принимают/отклоняют — это волнительно, воодушевляюще, но это не breaking point — а просто результат.

До этого нас реджектнули на NeuroIPS)

Лучшее и хорошее — это когда все здоровы, живы и довольны. А ещё круто и здорово делать то, что нравится. И мне кажется во всех проектах главный секрет — упорство. Упорство и люди, которые поддерживают.

Желаю вам быть в окружении таких людей и желаю вам, чтобы и ваши цели реализовывались

Вот такой мыслительный пост на эту субботу :)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2316🥰1
Привет, друзья!

💫 В DLS вышли обещанные лекция и семинар по базовым методам XAI. Семинар мне самой нравится очень — в нем показаны и визуализированы разные тонкости методов LIME, SHAP и всех, которые я отношу к "графическим" — PDP, ALE, ICE.

Лекция [YouTube, Vk, презентация]
Семинар [
YouTube, Vk, ноутбук]

Очень рада была записать что-то в DLS! Безумно люблю их и много-много лекций смотрела от школы (в частности, разные разборы от Тани), когда только начинала заниматься DS.

Тогда я мало понимала. Поэтому становилось ещё интереснее)
Надеюсь, вам будет полезно!

По крайней мере, на первой лекции очень громко мурчит кот. 🐈‍⬛
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2
Forwarded from Нина Коновалова
Всем привет!

В этом семестре мы подготовили ещё один, дополнительный модуль, посвящённый Explainable AI для моделей машинного обучения. В этом модуле вы познакомитесь с основами интерпретируемости (объяснимости) моделей. В течение занятий вы реализуете различные методы интерпретации, изучите их применимость и ограничения.

Материал подготовила и записала Садиех Сабрина, AI исследователь, автор канала https://t.iss.one/jdata_blog

Лекцию и семинар можно найти на Stepik!
11👍5
Ещё одна библиотека, до которой у меня (пока) не доходят руки, но новая, свежая, как булочки в пекарне.

Привет, друзья!
🔠 ICX360 — ещё одна библиотека для in-context объяснений LLM. In-context здесь — отсылка на то, что объяснения привязываются к input — к словам, предложениям или частям промпта, на основании которых LLM сгенерировала output.

Что внутри:

• Pertubation-based методы (то есть — методы на основе вмешательства — заменяем, убираем, искажаем часть и смотрим, как меняется выход);
• Contrastive explanations (ссылаясь на CELL your Model) — автоматически созданные «отредактированные» промпты. Идея: найти «слегка изменённую» версию промпта, при которой модель даёт заметно другой ответ по заданной метрике.
• Реализация Token Highlighter — метод, унифицированный на анализ токенов, которые могут вести к jailbreak-поведению.

И ещё:
• Поддерживают большие inputs на основе уровневых объяснений — от крупных частей входа (предложений) до слов и фраз (App. C. 3)

В комплекте:
Методы, документация, тесты и быстрые стартовые ноутбуки (Colab прямо сразу). Ноутбуки я потрогала — классные! Хочу сделать что-то интересное.

В общем, делаем
uv pip install icx360
uv run python -m spacy download en_core_web_sm
uv run python -m spacy download en_core_web_trf

и +1 в копилку исследования моделей)
9👍4