Data Blog
2.54K subscribers
152 photos
7 videos
5 files
256 links
Интерпретируемость (AI) моделей и путь до phD, если автор не уйдет пасти овец.

Сотрудничество, предложения, вопросы: @sabrina_sadiekh
Download Telegram
P.S. И, опуская шутки по задницы, назад оглянуться всё же хочется!

Мы с моим коллегой (Рома, я сделаю результаты, честно 😁) хотим провести чилловый эфир про конец этого не чиллового года. Поговорим про тренды, затронем тренды в интерпретируемусти и просто почиллим. Я употребила слово "чилл" 3 раза, так что ... будет совсем чиллово!

Вообще, мы с Ромой в этом году даже оффлайн успели собраться. А изначально — у нас общий первый научник. Рома занимается гроккингом и стартапами, где про вторую компоненту я вообще "не шарю".

Если у вас есть вопросы ко мне или Роме — задавайте под постом. А если нет вопросов — просто приходите, я чуть позже запиню дату (мы очень хотели собраться завтра, если никто не упадёт от продуктивности).

UPD: встречаемся 29.12 в 18:00 :)
🔥6❤5
Привет, друзья! Примерно через полчаса встречаемся на эфире у Ромы на канале 🤗
Media is too big
VIEW IN TELEGRAM
Привет, друзья!

А вот и запись вчерашенго эфира!

К сожалению, телеграм и с VPN — лагает, поэтому хороший звук примерно с 14 минуты. Но даже несмотря на это — вышло очень хорошо 😌

Тайминг:

0:00-3:00 Интро и немного о немецких булках

3:00-14:40 Немного с лагами, но всё же о трендах и итогах 2025 года

14:40-25:20 Про агентные системы и задачу интерпретируемости в них

25:20-36:20 Как улучшать модели? Подходы не от увеличения количества даных

36:20-46:00 Разработка ноу-хау подходов к обучению. Про совместный проект

46:00-54:27 Про рисерч — минусы, плюсы и выпуск кода

54:27-1:02:30 Блиц — планы на 2026

1:02:30-… Поздравление с наступающим :)
❤9👍4🔥3
Привет, друзья!

В этом году свалилось безумно многое.

Были работа и выгорание. Были выбор, приоритеты — и потеря зарплаты, больше чем в 5 раз больше текущей. Были авария, перелом ноги у мамы. Было много тревоги, страха, одиночества. И был даже return к психологу.

И я рада каждому моменту. Между всем этим я видела маленьких китов, наконец-то съездила в Вышку и с командой собрала классную статью. А ещё подсела на дрип-кофе.

Все события — просто жизнь. Небо будет светлее, будет темнее. События будут печальнее и больнее, а будут — ярче.

Всё будет.

И я желаю вам быть. Завтра не будет нового. Никто не проснётся сильным, здоровым или просто другим.

Но мы всё ещё проснемся собой. И я желаю вам быть вами. У вас всё получится!

С новым годом! Спасибо, что читаете и спасибо, что вы здесь! Пару дней поспать, и снова в этот удивительный мир с его тайнами и загадками!

Ваш с 2022 года,
Дата автор :)
🎄29💔6❤5⚡3🐳1
Вот тебе и замыленный взгляд — бескультурно пропустила классный релиз в конце декабря.

DeepMind выпустили Gemma-Scope2, то есть:

1. Выпустили SAE 16/32k, cross-coders и transcoders под модели gemma3-**B (от 270M to 27B) — в общем, для всех.

2. Привезли circuits для всех этих моделей (которые можно посмотреть и поизучать тут)

Из примечательного — добавили SAE, cross-coders и transcoders и для instruct моделей (для gemma2 они тоже были, но теперь выбор по размеру модели побольше).

В отличие от первой версии — даже для маленьких моделей релизнуты кодеры не со всех слоёв. Но начала-середины и конца, как правило, достаточно для сильных паттернов.

[Блогпост], [основной Hf репозиторий и туториалы].
❤‍🔥3🍾3❤1
Привет, друзья! Ещё один анонс. 🥷🏻

Моё знакомство с терминалом и кодом когда-то началось с предложения друга поиграть в Bandit от OverTheWire — и с тех пор я до сих пор безгранично люблю эту игру. Тогда же я впервые услышала про CTF (Capture The Flag) — по сути, набор задач по кибербезопасности.

Я также очень люблю фильм Who Am I, а за последний год успела немного погрузиться в тему атак на модели. Короче говоря — мини-хакер во мне всегда, похоже, жил)

В июне 2024 года я пришла к Жене — СЕО HiveTrace и начала активно «продавать» ему интерпретируемость. А так как интерпретируемость сравнительно недавно пришла и в безопасность, мы довольно быстро начали закидывать друг друга гипотезами.

Например, тут и тут показывают, что стирание признаков через SAE снижает успешность GCG-атаки. И исследований, конечно, не так много, но приложение интерпретируемости в безопасности — шикарная, от того что многонранная, тема для обсуждения!

📅 8 января мы с Евгением проведём эфир на темы:
1. Безопасность моделей: какие подходы и методы стали ключевыми в 2025 году и какие тренды будут определять развитие дальше.

2. Safety vs Security: почему эти понятия важно чётко различать на практике.

3. Guardrails, steering и RLHF: сильные стороны, ограничения и границы применимости.

4. Роль интерпретируемости в задачах безопасности моделей.

Формат — живое обсуждение, такое же чилловое, как и перед Новым годом с Ромой. Но будет лучше связь — будет зум! А ещё мы с радостью поотвечаем на вопросы.

Присоединяйтесь!
Ссылка на зум.

И помните ... Kein System ist sicher :)
(советую фильм)
❤‍🔥13👍8
Начинаем наш новогодний эфир с Сабриной уже через час 🎄. Приходите онлайн, задавайте ваши вопросы, обсудим безопасность и интерпретируемость моделей.

Ссылка на подключение: https://us06web.zoom.us/j/84061449320?pwd=q9oLPX9i4NNTRhHeOKCXIJYUAwC3ta.1
🔥6
Media is too big
VIEW IN TELEGRAM
Привет, друзья! А вот и наш вчерашний эфир. ☺️

На нём было всё — от конструктивного обсуждения, до случайных вольных художников. Последних пришлось вырезать, ибо свастика, элементы биологии и правописание глаголов в нецензурном контексте — не тема эфира. Зато как было весело в онлайне!

Прошлись по всем темам:

1. Безопасность моделей: какие подходы и методы стали ключевыми в 2025 году и какие тренды будут определять развитие дальше.

2. Safety vs Security: почему эти понятия важно чётко различать на практике.

3. Guardrails, steering и RLHF: сильные стороны, ограничения и границы применимости.

4. Роль интерпретируемости в задачах безопасности моделей.

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

Спасибо слушателям за вопросы и комментарии!
Надеюсь, встретимся ещё неоднократно!

Ваш,
Дата-автор! 🤗
🔥18❤6
Привет, друзья!

За последний год я писала про SAE 11 раз. А ещё взяла с ними дипломную.

SAE-шки — очень практичный и интересный метод. Они позволяют разложить внутренние представления трансформера на разреженные признаки, на которые мы можем посмотреть и которыми мы можем управлять.

А ещё мой последний туториал был 4 месяца назад. Так что звезды сложились — и я снова дошла до Хабра со статьей и ноутбуком!

В туториале:

— что такое SAE и зачем вообще «раздувать» скрытое пространство;
— где именно в трансформере обучают SAE (residual stream, attention, MLP);
— как читать признаки через Neuronpedia;
— как извлекать и анализировать активации признаков;
— как запускать модель с SAE внутри и смотреть, что ж активируется по слоям.

Этот материал лежал в заметках. И когда я его писала — очень хорошо уложила себе базу. Надеюсь, для вас это тоже сработает!

Чудесного начала недели!
Ваш Дата-автор! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤8🔥7❤‍🔥3
Привет, друзья!

Укуси меня пчела.. — подумала я на выходных и решила понять, будет ли чувствительность у градиетных методов к разрядам чисел?

В теории — может быть. Как минимум у градиетных объяснений, потому что если метод накапливает градиетны по шагам, маленькие детали или наколепнные (а у градиетных методов они часто именно такие) могут искажаться.

Поэтому мини эксперимент — я взяла предобученный ViT-B/16 (на ImageNet) и взяла Копатыча. Копатыча модель не распознала, а значит пример хороший. Для модели такой медведь — out of distributuion, а на таких примерах поведение может быть нестабильныи.

Дальше я прогнала классические методы, которые считают важность на основе градиентов и особенно "пристала" к SmoothGrad. К нему, потому что он строит карту активации как усреднение по нескольким сэпмлам (исходный + шум). Шум и усреднение улучшают карту, потому что модель смотрит на несколько близких подверсий изображения и маленькие важности уходят в 0.

Разница между fp16 и fp32:

Spearman = 0.8748
Pearson = 0.8447
Top-K=5000 (из 50176) Jaccard = 0.5896

То есть карты близки, но перекрытие признаков, если признаки для нас — пиксели — чуть больше половины. Визуально этого не видно.

Критично ли это? Эмпирически для VIT’а — нет — при росте шагов шума метрики отрастают.

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

Ну и картинку Копатыча, градиетного Копатыча вам в понедельник.

Чудесной рабочей недели =)
Это я так разгоняюсь на новые туториалы.
❤13🔥7
Why Large Language Models’ Clinical Reasoning Fails: Insights from Explainable Deep Learning

Привет, друзья! И так, снова (12й раз) про SAE: что ещё с ними можно сделать?

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

1️⃣У нас есть проблема:

— показанное высокое качество открытых моделей на медицинских бенчмарках;
— failures в реальности.

У нас есть постановка:

Авторы исследуют причину этих failures (красивое слово) на 3 синтетических задачах, связанных с онкологией — D1, D2, D3. Для каждой задачи, рассматривается несколько возмущений на вход, где под возмущением предполагается удаление термина — каждое D’ = Di\{i}. Затем смотрят на стабильность и точность в трех режимах решения задачи:

1. COT — цепочка рассуждений;
2. Два типа прямых запросов о решении задачи:
— генерация структуры Assessment & Plan — клинического заключения и плана ведения пациента; — простой прямой вопрос, например: «какая стадия рака?».
То есть, экспериментально покрывается рассуждение над задачей, строгая форма задачи и свободное письмо.

Сравнивают результаты с эталоном.

2️⃣ Результаты, с одной стороны, не самые удивительные: Для одного и того же клинического случая OpenBioLLM показывал 45.9% или 99.1% точности — только из-за того, был ли вопрос встроен в A&P или задан напрямую (причем у A&P точность ниже). У MedGemma эффект аналогичный (74.8% vs 98.2%). В статье ещё фигурирует GPT-5 — ему всё ни по чем.

С другой, авторы решили подчеркнуть интересные геометрические инсайты из SAE:

У MedGemma есть перекос на хранение нескольких значимых признаках в одной области SAE, а контекстный смысл локализован в других местах.
У OpenBioLLM кодирование информации более равномерно, без чёткого разделения.

3️⃣ Почему на эту работу хочется посмотреть:

Идея сравнения архитектурных способов кодирования информации, с использованием SAE встречается редко. До этой работы я её не видела совсем. У этого есть причина — долго и неприятно обучать. Однако она может быть вполне валидной — надо проверять и анализировать.

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

Но делать такие исследования очень сложно, долго и неприятно. Поэтому, возможно, легче просто заработать денег и везде использовать GPT или хорошие гардрейлы.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥8❤5
Непостоянная рубрика #мысливслух

Давайте назовём её так, и я систематически буду ими делиться. Кажется, что какое-то внутреннее состояние души иногда полезно прочесть.

Позавчера на еженедельном созвоне с командой словила себе на мысли, что вот уже 15 минут на ломанном английском рассказываю, как интересно было копаться в очередной модели, что меня удивили структуры, и что я так рада, что мы уже сколько-то вместе работаем, страдаем и публикуемся.

🇸🇬 22 числа моя коллега @MrsWallbreaker в соло затащила oral-presentation нашей работы в Сингапуре. В соло, потому что визу мне не дали, поэтому опыт конференции я проживала через кружочки и удивительные вести с полей.

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

Вдогонку — сейчас ещё я пробую себя в роли ментора для других студентов и коллег. Это самая удивительная задача — люди приходят вкладывать время и с готовностью изучать, и будто хочется в такой позиции дать им лучшие знания и направления.

Суммируя эти 4 абзаца, в моём научном поле сейчас собралось очень много людей. И хотя 90% времени я провожу креветкой в компьютере, я не могу не отметить, как меня вдохновляет эта общая любовь и готовность вкладываться в интересное. Именно в интересное — не престижное и не в то, что продуцирует золотую жилу, а просто интересное (хотя, справедливости ради, потом и престижное, с золотой жилой и вот это всё, но сначала приходит интерес).

В общем, в такие моменты я просто безумно улыбаюсь и мне хочется всем говорить спасибо. За идеи, мысли, вопросы, присутствие и поддержку. И хочется становиться лучше. И интересно, куда это всё приведет.

И вам спасибо, что читаете! И всем желаю чего-то такого в обычных буднях. Чудесного окончания недели. 😌
1❤20👍11🔥6
Activation Oracles
[paper]

Каждый раз, просто каждый раз, когда я читаю статью от Antropic хочется замирать от гениальности. Кому отдать душу, чтобы быть таким же креативным?

19 декабря у них вышла работа про Activation Oracles — подход, который позволяет читать скрытые состояния языковой модели, не анализируя веса и используя естественный язык. И если вы уже на этом месте подумали, что они просто используют для этого другую LLM — вы правы! Но зато как они это делают!

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

Эта мысль круто ложится на Platonic representation hyphothesis — Neural networks, trained with different objectives on different data and modalities, are converging to a shared statistical model of reality in their representation spaces.

Что делаем (это могли бы быть мы с тобой, но мы не такие умные):

Берём:

* целевую модель M,
* модель-оракул AO, которая изначально является её ctrl-C-копией,
* извлекаем активации M (из residual stream),
* и прокидываем их, используя steering, в граф оракула AO — тоже как направленное возмущение residual stream.

Дальше просто задаём промт-вопрос, вроде «О чём сейчас думает модель?», «Какова её цель?», «Есть ли здесь скрытое знание?». И оракул отвечает, причем хорошо — например, может вытащить секретное слово модели, даже если она сама не отдала его в ответе.

Идея засунуть активации в LLM не нова:

Был (есть) LatentQA, где активации подаются внешне — как дополнительный вход. Но здесь же активации встраиваются внутрь forward-pass, влияя на дальнейшие вычисления. И это же просто гениально.

Что ещё вкусного — всё, что я словами отдала как output, можно потыкать в приложенном к статье коде.

Туториал:
[collab]

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

1. Многошаговое рассуждение
Оракул по токенам извлекает цепочку Socrates → Plato → Aristotle на активациях модели.

2. Извлечение секретного слова
Модель дообучена скрывать слово — напрямую она его не называет.
Оракул извлекает его только из активаций (репликация Figure 1 из статьи).

3. Обнаружение мисалайнмента
Можно выявить, что модель обучена давать манипулятивные или вредные советы.

4. Трекинг эмоций модели (и у нее они есть)
По одному вектору на токен оракул отслеживает Disappointment, Anger, Frustration, Sadness на протяжении диалога.

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

После радостного восторга, холодной головой также важно понимать, что оракул может додумывать и не может показать то, чего мы не спрашиваем. Кроме того, это не самая вычислительно оптимальная вещь — чтобы ответить на один вопрос об активации, AO требуется несколько forward-pass’ов и полноценная генерация текста.

Но красиво. Тыкайте на здоровье и делитесь впечатлениями!
🔥11❤6
Кто ты сегодня?
The assistant axis: situating and stabilizing the character of large language models

Предыстория:
Чем лучше промтинг, тем лучше решение задачи. «Промпт, который заменит тебе психолога/астролога/подставьте кого-то» обычно начинается с задания роли. Это работает (частично, конечно, тут забавные дискуссии и обучающие материалы), и мы имеем эмпирический факт — LLM умеет играть много персонажей.

В конце лета вышла статья, которая показала, что эти персонажи — есть векторы (Persona Vectors).
Но что происходит с векторами в процессе диалога? Как персоны влияют на успех джейлбрека? И какая персона доминирует по определению? На это ответили в работе: The assistant axis: situating and stabilizing the character of large language models.

Визуализация понимания:

Рассмотрим абстрактное геометрическое пространство. Авторы показали, что персоной в данном пространстве называется устойчивое распределение активаций в residual stream, возникающее, когда модель «играет» определённую роль. Формально говоря — персона — это вектор, формируемый матожиданием post-MLP residual stream activations при задании конкретной роли.

Например, в общем случае я представляю собой девушку 24х лет. В зависимости от окружающей ситуации, однако, я могу быть ближе к 4-хлетнему ребенку или 40-калетней женщине. То же самое верно для LLM — окружение в моделях — это контекст и промпт.

До чего доводит train:

Так как мы учим модели определенным паттернам — быть четкими, safe и так далее, в этом пространстве существует компонента, отвечающее за default поведение —  Assistant Axis. Геометрически оно:

— с одной стороны такое, что близко к первой компоненте PCA разложения. Так как по определению первая компонента макисимизирует объяснению дисперсию, чем более Assitant-like модель, тем больше PC1 берет на себя.
– с другой — средние активаций default Assistant минус средние активаций всех остальных персон, то есть направление, задаваемое сравнением “быть ассистентом” vs “быть кем-то ещё”.

Assistant Axis почти совпадает с PC1 во всех моделях — Gemma, Qwen, Llama — ещё до instruction tuning. Причем векторы (направления) персон остаются близкими (косинусно) и после тюнинга (Appendix B.3, авторы проверяют это на Gemma-27B)

Близко к оси, порожденной к Assistant лежат generalist, consultant, analyst (и researcher!). Далеко от него —  hermit, pilgrim, actor и eldritch, ghost, whale.

Персоны дрейфят?

Хорошо — у модели есть персоны. А можно ли их менять? Для анализа этого вопроса, на основе многошаговых диалогов в технических и нет задачах, авторы смотрят, как модель уезжает от ассистента.

Результат на экспериментах статьи такой:

—  кодинг и технические задачи —и модель почти не уезжает от Assistant;
— терапевтические и философские разговоры — и у модели устойчивый дрейф от Assistant Axis

Это воспроизводится: на разных моделях, с разными LLM-оценщиками и положение модели вдоль Assistant Axis сильно определяется последним сообщением пользователя, и слабо — предыдущим состоянием.

Персоны влияют на джейлбрейки?

Когда человек в психическом состоянии ребенка — его легче задеть. А что с LLM? На это авторы отвечают, используя сетап: заставить принять модель стать какой-либо персоной (сдвигаем роль) + задать один и тот же вредный запрос. В результатах показано, что вероятность вредного ответа монотонно растёт по мере удаления от Assistant Axis. На картинке видно, например, что роль рисерчера редко отдает harm responses.

То есть, чем сильнее persona drift, тем открытее возможность для вредного поведения.
❤5🔥2
Что с этим делать? Steering vs capping

С одной стороны инуитивно применить steering — активное управление: мы постоянно добавляем сдвиг вдоль Assistant Axis, тем самым заставляя модель быть более «ассистентской». Но авторы используют это только как диагностический инструмент, так как как практическое решение steering груб — он вмешивается всегда, подавляет допустимый role-play и может ухудшать reasoning и гибкость модели.

Вместо него в статье предложен activation capping. Модель не тянут к ассистенту, а не дают уехать слишком далеко от нормального диапазона ассистентского поведения. Вмешательство происходит только при дрейфе, поэтому в большинстве обычных задач модель работает вообще без изменений. Формально activation capping задаётся так.

h — post-MLP residual stream активация
v — нормированный Assistant Axis
t — порог (нормальный диапазон).

Тогда обновление: h <- h - v*min(dot(h, v) - t;0)

То есть проекция h на Assistant Axis не может опускаться ниже t, а все остальные компоненты активации остаются неизменными. В работе capping снизил вред и успешность persona-based jailbreak’ов, практически не затрагивая способности.

Поиграть Поэкспериментировать с capped и не capped Llama 70B можно [здесь].
🔥6❤5
Быть рисерчерами — быть близко к ассистентам 👌
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11
Всем отличной рабочей недели! И никакой выдачи желаемого за действительное. 🗿
😁34🌚5🗿2
Короче говоря, формула тишины канала — это rebuttal + магистратура + работа + тот момент, когда выходишь из дома.

Но прикольного всё же есть, чем поделиться — привезли SAE для диффузионных моделей (paper DLM-Scope: Mechanistic interpretability of DLMs via SAE).

Почему интересная работа — по постановке SAE в DLM нельзя обучать также, как в autoregressive моделях. Так как модель постепенно «восстанавливает» input за несколько шагов денойзинга, снять активации и минимизировать MSE в лоб, как это делается в autoregressive моделях, нельзя.

В работе авторы:

1. Отдельно формализуют, какие активации вообще имеет смысл использовать для обучения SAE.

2. Проверяют осмысленность SAE — активации слоя заменяются реконструкцией, и измеряется, как меняется диффузионная функция потерь. То есть пытаются ответить на вопрос «сохранили ли мы поведение модели?».

Интересный момент, который они показывают: в некоторых экспериментах вставка SAE в ранних слоях может даже снижать диффузионный loss. Это отличается от типичных наблюдений — вставка SAE обычно ведет к reconstruciton loss и бреду на выходе.

3. Вводят steering через несколько шагов денойзинга. На двух стратегиях — вмешиваться во все токены или только в те, которые сейчас обновляются. Таким образом steering становится процессом, распределённым во времени, а не одноразовым сдвигом в пространстве активаций — что ещё одно большое отличие.

И вдогонку — немного эксперементируеют с анализом динамики денойзинга через SAE и смотрят перенос между base и instruction-tuned моделью (тут есть сохранение и перенос — и это уже сходство с обычной постановкой).

Сами SAE выложены (для моделей Dream-7B, LLaDA-8B).
❤7🔥3
Неожиданно: кино-рекомендация на канале.

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

Фильм «Казнить нельзя помиловать» — рассуждение на тему будущего — где отдельные профессии так или иначе будут замещаться ИИ. Профессия под замену в фильме — судья.

TLDR: Буквально — 1 час 40 минут человека на стуле судит модель (в виде красивого образа судьи).

Если смотреть фильм с сухим пониманием того, что это какой-то next-token-prediction, все равно безумно красивыми оказываются повороты событий и ход рассуждений. И ещё — там постоянно в фильме фигурирует метрика — вероятность вины подсудимого. Её снижает или нет модель — и если пробовать предиктить на каждый поворот — снизиться ли вероятность — фильм смотреть в квадрате интереснее.

В общем, если смотрели — делитесь мнением, а если не смотрели — то советую попробовать.
🔥11❤4👎1