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

Сотрудничество, предложения, вопросы: @sabrina_sadiekh
Download Telegram
Привет, друзья! Ещё один анонс. 🥷🏻

Моё знакомство с терминалом и кодом когда-то началось с предложения друга поиграть в 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
Недавно слушала работу, одним из направлений которых был анализ моделей методами интерпретируемости для понимания поведения предметной области. И одним из моих тейков автору был такой — модель — она на то и модель — мы не можем утверждать, что нашли лучшую и максимально корректную, а потому методы интерпретируемости и инсайты из них надо аккуратно аблитировать.

И в эту сторону мне попалась работа “Quantifying LLM Attention-Head Stability: Implications for Circuit Universality” с вопросом: если мы обучаем одну и ту же GPT-архитектуру на одних и тех же данных, но с разными random seeds, получаем ли мы одни и те же attention-головы и одни и те же circuits?

Что сделали:

Натренировали 26 моделей (от 2 до 12 слоёв) с разными seeds и сравнили attention-головы между рефитами. Метрика — best-match по cosine similarity между post-softmax attention maps. То есть, для каждой головы h_i берётся max similarity к головам h_j в другой модели. На этой основе они показали три вещи.

Что нашли:

1. Ранние и последние слои оказываются относительно стабильными (от сида к сиду attentions похожи по метрике), а со средними слоями это не работает и провал усиливается с глубиной модели.

2. Стабильность отрицательно коррелирует с ℓ2-нормами query-матриц: где норма больше — там согласованность между seed’ами ниже .

3. В более глубоких слоях нестабильные головы оказываются более важными — важность для авторов — насколько меняется perplexity при удалении головы.

4. Residual stream стабильнее отдельных attention-голов . То есть локальные модули могут гулять, а магистральное представление — сходиться.

5. Оптимизатор может влиять на стабильность: AdamW даёт более стабильные головы, чем Adam, без заметной потери качества. (Но тут сразу возникает вопрос — а если притащить другие оптимизаторы, scheduler’ы? Насколько это эффект AdamW и именно его?)

Почему прикольно:

Меня зацепили дизайн работы и результаты для средних слоев. Потому что на моей практике, mid-layers богаты на "приколы" — представления, переломы и локализации признаков (и вроде у Antropic есть работа и тейк про богатство middle layers) — и если именно они нестабильны при refits, это грустно — стрельба пушкой по воробьям, если рассматривать одну модель (никогда так не делайте).

С другой стороны, claims звучат сильнее, чем позволяет эксперимент. Модели небольшие (до GPT-2 small, 124М). Неочевидно, что те же эффекты сохранятся при масштабировании на 1B+ или instruction-tuned модели. И, конечно, близость attention maps по cosine similarity не гарантирует функциональную эквивалентность голов.

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

Кстати, надеюсь на неделе допишу ещё туториал с обзором на новую библиотеку, но как говорят мои коллеги "зарекаться не буду" ))
❤8🔥3
Ещё — мне тут посоветовали сменить название канала (посоветовали недели 2-3 назад, а я об этом всё ещё думаю.
Пока из всех вариантов в моей голове мне нравится "Не тот xAI", но быть может вы креативнее, чем я и сможете накидать мыслей в комментарии.

И раз так, да и за последнее вас стало сильно больше, то ещё буду рада услышать, что вам интересно почитать/поузнавать, помимо paper-s, библиотек вокруг XAI и тд.

Быть может, всё-таки нужны мемо-треды.
🔥7❤3
Привет, друзья!
Тотально ничего не успеваю, но слово по библиотеке я дала — так что слово держу)

На днях наткнулась на свежую имплементацию XAI для контрфактуальных объяснений. COLA (нет, не zero без сахара) — реализация Refining Counterfactual Explanations With Joint-Distribution-Informed Shapley Towards Actionable Minimality.

Напоминание:
Контрфактуальное объяснение (Counterfactual Explanation) — это ближайшее объяснение к объекту, но при этом с другим прогнозом. Игрушечный пример такой:

Представьте, что вы прогнозируете вес через 3 года на основе признаков. Записав свои данные, вы, со стартовым весом в 60кг получаете прогноз — 80кг. Звучит невкусно и грустно и вы не довольны. Почему ваш вес должен пойти вверх, и что минимально сделать, чтобы остаться fit and amazing? Ответ на это могло бы дать контрафактуальное объяснение.

Проблема:
Задача найти ближайший пример в пространстве примеров — сложная. Разные опимизации решения есть, но они не гарантируют минимального количества поменянных признаков. В нашей задаче быть fit and amazing это значит, что будет порекомендована куча микро-действий, которые совсем не нужны.

Идея:
Авторы COLA пытаются нивелировать это, используя SHAPley values. Легендарный алгоритм, который сначала отбирает наиболее значимые признаки, а затем — дергает только их для контрфактуала.

Разобраться:
Я сделала небольшой обзор теории + код под библиотеку. Можно потыкать, почитать и вникнуть. Библиотека не без багов, но идея красивая.

Основная либа:
[github]

На самом деле, я сама редко использую контрфактуалы, но интуитивно они полезны для задач, где полезно исследовать скорее не модель, а объект, к которому модель применяется. Хотя, уверенна, для исследования самой модели их тоже можно применить эффективно, просто я об этом ещё не знаю или не дошла руками. Такие дела.

И всем шикарной короткой рабочей недели!
Можете поставить звезду на гитхаб, буду счастливый пирожок 🌟
❤11
Привет, друзья!
Мне очень хотелось начать пост, спустя почти два месяца затишья, словами «Художник больше не голоден».

Пояснительная бригада:
Фраза «художник должен быть голодным» (и её варианты) — это устойчивое выражение, восходящее к образу жизни богемы XIX века и мифологизации творчества (с) Интернет. Идея такая — голодный — творишь, сытый — не творишь. Блог — это творчество.


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

Но я — не я, если бы за это время не удалось всё-таки что-то сделать, и это что-то — статья, принятая в Findings на ACL 2026! 🌟

Статья:
Towards Understanding the Robustness of Sparse Autoencoders
Название не удачное, но простительное — мы придумали его за пару часов до дедлайна.

Про что:
Мы исследовали,могут ли Sparse Autoencoders (SAE), обычно используемые для интерпретируемости моделей, одновременно повышать устойчивость LLM к jailbreak-атакам.

Вопрос статьи:
Если пропускать внутренние активации модели через разрежённое представление во время инференса, станет ли атакующему сложнее подобрать вредоносный суффикс?

Как отвечали на вопрос:
В выбранный слой трансформера вставляли обученный SAE. Градиенты при этом сохраняли, такая защита не прячет модель от атакующего, а именно меняет внутреннюю геометрию представлений через разреженный фильтр. Через этот «фильтр» мы пропускали white-box атаки — GCG и BEAST — как основной эксперимент, и black-box наборы jailbreak-промптов — как побочный эксперимент. Побочный эксперимент не так интересен, хотя там снижается ASR, качество генерации тоже снижается, и для прода это, мягко говоря, фу.

Эксперименты проводили на Gemma, LLaMA, Mistral и Qwen размером от 2B до 70B параметров. Отдельно анализировали переносимость атак между моделями, влияние уровня разреженности и выбор слоя для вставки SAE.

Приколы:
🌟 SAE снижает успешность атак. Для GCG медианный Attack Success Rate упал с 55% до 19.05%, для BEAST — с 19.35% до 9.7%. В некоторых конфигурациях снижение доходило до 5 раз относительно базовой модели.

🌟 SAE снижает transferability суффиксов — что самый интересный результат для меня — найденные для обычных моделей суффиксы, хуже переносились на версии с SAE. При этом сами суффиксы — вернее их признаки через SAE— остаются похожи с точки зрения близости Жаккарда (см красивые матрички с ячейками).

🌟 Чем выше разреженность SAE (чем длиннее центральный вектор), тем сильнее защита.

🌟 Лучший reduce ASR-а дают средние слои. Ранние сильнее режут атаки, но могут портить обычное поведение модели (так как идет накопление ошибки реконструкции), а поздние почти не помогают.

Приколы, которые мы не учли:
Мы никак не анализировали качество генерации, так что хотя снижается ASR и transferability, модель также может терять в адекватности output-a. Так что исследование скорее про теоретическое наблюдение.

Только две атаки. Хотя они разные по механике (и нагенерить суффиксы — это надо убиться) — две атаки, учитывая море подходов, не так много.

Послевкусие:
Работа была очень веселой. Особенно потому что мы нашли багу в коде за неделю до подачи и писали папиру с 0 =)

Технически делать любые эксперименты на white-box атаках неприятно, ибо это долго. И подождать можно — когда вызнаете, что ищете, но для статей это не всегда так работает.

Я в восторге от align-а эффекта между семействами моделей. Хочу дальше укопаться туда.

Совмещать работу, горящие под подачу статьи и магистратуру — 0 из 10.

Надеюсь, достаточно красиво после долгого затишья. Не обещаю стабильно вернуться, но ползу к этому.

Всем accept-ов и спокойствия в жизни,
Ваш, Дата-автор!
🔥26❤9🏆3
Последние дни выдались насыщенными на результаты, решения и прочее, прочее. В голове много раз всплывала фраза «я — последняя буква алфавита», но всплывала она в виде немецкого аналога „Der Esel nennt sich immer zuerst“ — осёл всегда называет себя первым. Ослы классные, если что, но идиома есть идиома =)

Уже около трёх месяцев я помогаю коллегам доводить их работы до публикаций, статей и логических завершений. И также радостно, как залететь на очередную конфу, оказывается — увидеть результаты работ, к которым удалось приложить немного (правда, немного!) рук. И я прям очень хочу рассказать про них.

1. Две статьи моих коллег приняты на AINL 2026
(профильная конференция по AI/NLP с индексацией в RSCI)

Ширин А. — “Cross-Lingual Jailbreak Detection via Semantic Codebooks”
Работа про обход фильтров атак через переводы на другие языки. Предложен метод детекции без дообучения моделей — через семантическое сходство с набором известных jailbreak-запросов. Эксперименты проведены на мультиязычных эмбеддингах (Qwen, Llama, GPT-3.5) показали, что подход рабочий, но нестабилен в зависимости от типа атак — есть куда копать дальше.

Статья, данные

Вера К. — “Cascading Failures in Multi-Agent LLM Systems”
Про один из ключевых рисков агентных систем (по OWASP) — каскадные ошибки.
В работе сделан офигенный вклад в безопаность агентных систем. Вера спроектировала разработана мультиагентную архитектуру, выявила сценарии каскадных сбоев и сделала контрибьют в виде open-source инструмента Cascade Lab.

GitHub:
https://github.com/Vera-bahval/finbot-ctf-multiagent
https://github.com/GenAI-Security-Project/finbot-ctf

Демо:
https://drive.google.com/file/d/1whgM6JTPuo2SGR3nYlbou555JKdFz-WM/view

2. Описана статья на Хабре (про безопасность ML-моделей)

Слава М. исследовал один из инструментов, проверяющий модели на безопасноть. Контекст такой — многие форматы хранения моделей позволяют упаковать вместе с весами ещё и код, который может выполниться при десериализации и это открывает вектор атаки на supply chain: достаточно специально подготовленного файла.

Hugging Face уже использует ряд инструментов для проверки моделей: Picklescan, ModelScan, ClamAV, JFrog Scanner, VirusTotal, но везде есть нюансы. Об этом у Славы теперь две статьи, и свежая — вот: https://habr.com/ru/articles/1027192/

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

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

Всем чудесных команд, друзья!
И отличных выходных, если вы их планируете =)
🔥16❤7🏆4🎉1