Недавно слушала работу, одним из направлений которых был анализ моделей методами интерпретируемости для понимания поведения предметной области. И одним из моих тейков автору был такой — модель — она на то и модель — мы не можем утверждать, что нашли лучшую и максимально корректную, а потому методы интерпретируемости и инсайты из них надо аккуратно аблитировать.
И в эту сторону мне попалась работа “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 — можно записывать в идеи-для-рисерча 🙂
Кстати, надеюсь на неделе допишу ещё туториал с обзором на новую библиотеку, но как говорят мои коллеги "зарекаться не буду" ))
И в эту сторону мне попалась работа “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 — можно записывать в идеи-для-рисерча 🙂
arXiv.org
Quantifying LLM Attention-Head Stability: Implications for Circuit...
In mechanistic interpretability, recent work scrutinizes transformer "circuits" - sparse, mono or multi layer sub computations, that may reflect human understandable functions. Yet, these network...
❤8🔥3
Ещё — мне тут посоветовали сменить название канала (посоветовали недели 2-3 назад, а я об этом всё ещё думаю.
Пока из всех вариантов в моей голове мне нравится "Не тот xAI", но быть может вы креативнее, чем я и сможете накидать мыслей в комментарии.
И раз так, да и за последнее вас стало сильно больше, то ещё буду рада услышать, что вам интересно почитать/поузнавать, помимо paper-s, библиотек вокруг XAI и тд.
Быть может, всё-таки нужны мемо-треды.
Пока из всех вариантов в моей голове мне нравится "Не тот 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]
На самом деле, я сама редко использую контрфактуалы, но интуитивно они полезны для задач, где полезно исследовать скорее не модель, а объект, к которому модель применяется. Хотя, уверенна, для исследования самой модели их тоже можно применить эффективно, просто я об этом ещё не знаю или не дошла руками. Такие дела.
И всем шикарной короткой рабочей недели!
Можете поставить звезду на гитхаб, буду счастливый пирожок 🌟
Тотально ничего не успеваю, но слово по библиотеке я дала — так что слово держу)
На днях наткнулась на свежую имплементацию 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
Привет, друзья!
Мне очень хотелось начать пост, спустя почти два месяца затишья, словами «Художник больше не голоден».
Но корректная в моем случае фраза — «художник задолбался». А причина — не до художеств было. Мне надо либо жить в споконой реальности, либо работать, хэндлить это вместе я пока не умею.
Но я — не я, если бы за это время не удалось всё-таки что-то сделать, и это что-то — статья, принятая в 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-ов и спокойствия в жизни,
Ваш, Дата-автор!
Мне очень хотелось начать пост, спустя почти два месяца затишья, словами «Художник больше не голоден».
Пояснительная бригада:
Фраза «художник должен быть голодным» (и её варианты) — это устойчивое выражение, восходящее к образу жизни богемы 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-ов и спокойствия в жизни,
Ваш, Дата-автор!
ACL 2026
The 64th Annual Meeting of the Association for Computational Linguistics
San Diego, California, United StatesJuly 2–7, 2026
🔥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/
Почему это здесь:
Когда работы публиковались, делались, улучшались — я радовалась (опять) как ребенок — потому что всегда приятно видеть результат, а когда он сделан рядом с тобой — как-то приятно даже, как за свой собственный.
Призываю прочитать (потому что интересно и полезно) и использовать (потому что данные и идеи для новых исследований на дороге не валяются, как говорится).
Всем чудесных команд, друзья!
И отличных выходных, если вы их планируете =)
Уже около трёх месяцев я помогаю коллегам доводить их работы до публикаций, статей и логических завершений. И также радостно, как залететь на очередную конфу, оказывается — увидеть результаты работ, к которым удалось приложить немного (правда, немного!) рук. И я прям очень хочу рассказать про них.
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/
Почему это здесь:
Когда работы публиковались, делались, улучшались — я радовалась (опять) как ребенок — потому что всегда приятно видеть результат, а когда он сделан рядом с тобой — как-то приятно даже, как за свой собственный.
Призываю прочитать (потому что интересно и полезно) и использовать (потому что данные и идеи для новых исследований на дороге не валяются, как говорится).
Всем чудесных команд, друзья!
И отличных выходных, если вы их планируете =)
ainlconf.ru
AINL 2026 - Program
🔥16❤7🏆4🎉1
Мне нравится слово интервенции.
Гугл с LLM-кой дает такой (конечно-же, cambridge-based) ouput — interventions есть действия, предпринимаемые для изменения ситуации, улучшения положения дел или предотвращения негативного развития событий.
И, так как негативных сценариев использования LLM можно придумать сколь угодно много, интервенции есть и для них. Сегодня — пост про них, с подборкой фремворков.
Прежде всего, говоря об интервенциях, следует различат два класса подходов:
1. Inference-time interventions (steering и смежные техники)
— не изменяют веса модели
— работают во время выполнения
— управляют поведением через представления
2. Parametric interventions (knowledge editing, fine-tuning)
— изменяют параметры модели
— влияют на “знания”, а не только на поведение
— имеют более устойчивый, но менее локальный эффект
У всех них есть наюнсы, проблемы и так далее, но прежде чем проблемы получить — предлагаю зафиксировать себе места, где их удобно искать =)
pyvene
Библиотека для интервенций и причинного анализа активаций
— activation patching, causal tracing
— проверка гипотез о репрезентациях
— подходит как для интерпретируемости, так и для экспериментов со steering
repeng
Читать через "реп" и будет у вас хорошее настроение. Для извлечения и применения steering-векторов
— построение направлений через полярные данные
— прямое применение в inference
— минималистичный инструментарий для activation steering
pyreft
Representation fine-tuning — что-то промежуточное между steering и fine-tuning
— обучение небольших модулей, влияющих на hidden states
— контроль поведения через обучаемые представления
EasyEdit
Редактирование знаний модели (knowledge editing) через параметры
— изменение конкретных фактов
— реализованы методы ROME, MEMIT и др. — если эти чудные слова вам о чем-либо говорят
EasySteer
Для activation steering, свежий фреймворк.
— упрощённое получение steering-векторов
— быстрый запуск экспериментов (за счет дружбы с vLLM)
NNsight
Контроль forward-pass модели во всех проекциях
— доступ к, перехват и модификация активаций
— batching interventions на несколько инпутов сразу
— ещё и skills repo есть, чтобы подтянуть агентов
Всеми не пользовалась, так что если у вас есть отзыв на какую-либо — welcome.
Ваш,
Дата автор!
Гугл с LLM-кой дает такой (конечно-же, cambridge-based) ouput — interventions есть действия, предпринимаемые для изменения ситуации, улучшения положения дел или предотвращения негативного развития событий.
И, так как негативных сценариев использования LLM можно придумать сколь угодно много, интервенции есть и для них. Сегодня — пост про них, с подборкой фремворков.
Прежде всего, говоря об интервенциях, следует различат два класса подходов:
1. Inference-time interventions (steering и смежные техники)
— не изменяют веса модели
— работают во время выполнения
— управляют поведением через представления
2. Parametric interventions (knowledge editing, fine-tuning)
— изменяют параметры модели
— влияют на “знания”, а не только на поведение
— имеют более устойчивый, но менее локальный эффект
У всех них есть наюнсы, проблемы и так далее, но прежде чем проблемы получить — предлагаю зафиксировать себе места, где их удобно искать =)
pyvene
Библиотека для интервенций и причинного анализа активаций
— activation patching, causal tracing
— проверка гипотез о репрезентациях
— подходит как для интерпретируемости, так и для экспериментов со steering
repeng
Читать через "реп" и будет у вас хорошее настроение. Для извлечения и применения steering-векторов
— построение направлений через полярные данные
— прямое применение в inference
— минималистичный инструментарий для activation steering
pyreft
Representation fine-tuning — что-то промежуточное между steering и fine-tuning
— обучение небольших модулей, влияющих на hidden states
— контроль поведения через обучаемые представления
EasyEdit
Редактирование знаний модели (knowledge editing) через параметры
— изменение конкретных фактов
— реализованы методы ROME, MEMIT и др. — если эти чудные слова вам о чем-либо говорят
EasySteer
Для activation steering, свежий фреймворк.
— упрощённое получение steering-векторов
— быстрый запуск экспериментов (за счет дружбы с vLLM)
NNsight
Контроль forward-pass модели во всех проекциях
— доступ к, перехват и модификация активаций
— batching interventions на несколько инпутов сразу
— ещё и skills repo есть, чтобы подтянуть агентов
Всеми не пользовалась, так что если у вас есть отзыв на какую-либо — welcome.
Ваш,
Дата автор!
GitHub
GitHub - stanfordnlp/pyvene: Stanford NLP Python library for understanding and improving PyTorch models via interventions
Stanford NLP Python library for understanding and improving PyTorch models via interventions - stanfordnlp/pyvene
❤11🔥6👍3
Привет, друзья!
Пятничный релиз, перед выходными/шатдауном/цифровым детоксом — выбирайте свой лагерь! 🗿
Сегодня. Мы. Чудной командой. Зарелизили супер-подробный technical report новой guardrail модели. А ещё саму модель (аж в 3 версиях) и данные, собранные глазами несчастных и одним Клодом.
От души:
GLiNER Guard: Unified Encoder Family for Production LLM Safety and Privacy — легковесный encoder-based guardrail для safety moderation и PII detection.
Что внутри:
— архитектура на базе GLiNER2
— uni / bi / omni encoder варианты
— safety classification + span-level PII extraction за один forward pass
— TensorRT / dynamic batching / serving benchmarks
Зачем мы выпустили ещё одну модель с приставкой guard?
В проде детекция персональных данных и поиск всего плохого — это вполне соседние задачи одного и того же first-stage pipeline: перед тем как запрос попадет в LLM или downstream систему, нужно одновременно проверить:
— нет ли вредоносного контента
— нет ли персональных данных
— не происходит ли prompt injection / policy violation
На практике это может быть решено несколькими шагами, что ухудшает технические метрики. Мы предложили сценарий, где safety classification и PII extraction работают в одном encoder-е.
Из интересного:
— до 37× быстрее WildGuard — с качеством мы подрабатываем;
— competitive prompt-level quality на Aegis 2.0 и StrongReject
— ~193 RPS на A100
Из ограничений:
— response-level moderation пока хуже больших LLM guardrails (ну, потому что это encoder =))
— часть PII extraction в pipeline rule-based
— serving evaluation пока только на A100
В комплекте мы открыли PII-Bench — benchmark для оценки извлечения персональных данных в end-to-end пайплайнах — он пока только для русского языка.
Ссылки:
Тех репорт: https://arxiv.org/abs/2605.05277
Модели: https://huggingface.co/collections/hivetrace/gliner-guard-v1
Бенчмарк: https://huggingface.co/datasets/hivetrace/pii-bench
Всем пятницы и отличных выходных!
Пятничный релиз, перед выходными/шатдауном/цифровым детоксом — выбирайте свой лагерь! 🗿
Сегодня. Мы. Чудной командой. Зарелизили супер-подробный technical report новой guardrail модели. А ещё саму модель (аж в 3 версиях) и данные, собранные глазами несчастных и одним Клодом.
От души:
GLiNER Guard: Unified Encoder Family for Production LLM Safety and Privacy — легковесный encoder-based guardrail для safety moderation и PII detection.
Что внутри:
— архитектура на базе GLiNER2
— uni / bi / omni encoder варианты
— safety classification + span-level PII extraction за один forward pass
— TensorRT / dynamic batching / serving benchmarks
GLiNER2 — encoder архитектура для extraction-задач, где модель ищет сущности и span’ы по текстовым описаниям категорий. Условно: вместо фиксированного набора классов ей можно сказать “найди prompt injection”, “найди адрес”, “найди unsafe request” — и она будет искать это как extraction-задачу. Gliner ничего не генерирует токен-за-токеном, а сразу считает scores для классов и spans. Мы посчитали, что такая схема очень естественно переносится на safety и policy pipelines, особенно если заняться ускорением модели.
Зачем мы выпустили ещё одну модель с приставкой guard?
В проде детекция персональных данных и поиск всего плохого — это вполне соседние задачи одного и того же first-stage pipeline: перед тем как запрос попадет в LLM или downstream систему, нужно одновременно проверить:
— нет ли вредоносного контента
— нет ли персональных данных
— не происходит ли prompt injection / policy violation
На практике это может быть решено несколькими шагами, что ухудшает технические метрики. Мы предложили сценарий, где safety classification и PII extraction работают в одном encoder-е.
Из интересного:
— до 37× быстрее WildGuard — с качеством мы подрабатываем;
— competitive prompt-level quality на Aegis 2.0 и StrongReject
— ~193 RPS на A100
Из ограничений:
— response-level moderation пока хуже больших LLM guardrails (ну, потому что это encoder =))
— часть PII extraction в pipeline rule-based
— serving evaluation пока только на A100
В комплекте мы открыли PII-Bench — benchmark для оценки извлечения персональных данных в end-to-end пайплайнах — он пока только для русского языка.
Ссылки:
Тех репорт: https://arxiv.org/abs/2605.05277
Модели: https://huggingface.co/collections/hivetrace/gliner-guard-v1
Бенчмарк: https://huggingface.co/datasets/hivetrace/pii-bench
Всем пятницы и отличных выходных!
arXiv.org
GLiNER Guard: Unified Encoder Family for Production LLM Safety and Privacy
Production LLM systems require both safety moderation and PII detection under strict latency and cost constraints. This creates a trade-off: autoregressive moderators are accurate but expensive,...
1🔥12❤4👍2💯1🤣1
Привет, друзья!
Ура, выходной понедельник!
На днях я наконец пережила кризис пришествия агентов в жизнь, уронила скепсис и решила собрать эксперимент со следующими вводными:
Взяла LangChain, модельку gpt-oss-120B (по апишке, конечно), простейший датасет с опухолями и поисследовала качество решения задачи в 3 сетапах — с простым агентом, агентом без свободы в tool calling и с тройкой агентов: интерпретирующий, критик и оформляющий.
Код туториала лежит здесь: https://github.com/SadSabrina/XAI-open_materials/tree/main/naive_agent_and_xai
TLDR результатов:
— Zero-shot агент не развалился (разве что чуть-чуть — не справился с SHAP) даже без подробного prompt-а.
При данных ему тулах, сделал нормальный XAI pipeline: sanity checks, посмотрели метрики, посмотрел feature importance.
Уточнение prompt-а решило проблему с SHAP и дало достаточно приемлемый отчет (который разве что надо скептически оценивать)
— Ручной вариант (в статье manual pipeline) тоже справился с оформлением, но не справился с налитием воды. Это можно фиксить и доделать до хорошего решения.
— Multi-agent вариант отлично справился со снижением «пустословия по выводам» (overclaiming), но налил безумно много той же воды и так как лепить 3 агентов дороже, чем справляться одним — оказался здесь лишним улучшением.
Main:
В целом, задача автоматизируется очень хорошо — построить агента, который объясняет модель достаточно легко. А вот построить аккуратный поток выводов из этого сложно =)
🌀 Хабропост почитать: https://habr.com/ru/articles/1033184/
И всем отличной недели!
Ура, выходной понедельник!
На днях я наконец пережила кризис пришествия агентов в жизнь, уронила скепсис и решила собрать эксперимент со следующими вводными:
а) с агентом
б) с автоматизацией задачи интерпретируемости
в) бесплатно
Взяла LangChain, модельку gpt-oss-120B (по апишке, конечно), простейший датасет с опухолями и поисследовала качество решения задачи в 3 сетапах — с простым агентом, агентом без свободы в tool calling и с тройкой агентов: интерпретирующий, критик и оформляющий.
Код туториала лежит здесь: https://github.com/SadSabrina/XAI-open_materials/tree/main/naive_agent_and_xai
TLDR результатов:
— Zero-shot агент не развалился (разве что чуть-чуть — не справился с SHAP) даже без подробного prompt-а.
При данных ему тулах, сделал нормальный XAI pipeline: sanity checks, посмотрели метрики, посмотрел feature importance.
Уточнение prompt-а решило проблему с SHAP и дало достаточно приемлемый отчет (который разве что надо скептически оценивать)
— Ручной вариант (в статье manual pipeline) тоже справился с оформлением, но не справился с налитием воды. Это можно фиксить и доделать до хорошего решения.
— Multi-agent вариант отлично справился со снижением «пустословия по выводам» (overclaiming), но налил безумно много той же воды и так как лепить 3 агентов дороже, чем справляться одним — оказался здесь лишним улучшением.
Main:
В целом, задача автоматизируется очень хорошо — построить агента, который объясняет модель достаточно легко. А вот построить аккуратный поток выводов из этого сложно =)
🌀 Хабропост почитать: https://habr.com/ru/articles/1033184/
И всем отличной недели!
1❤12🔥7⚡2🏆1
Галя, у нас отмена анализа чисел!
Мемы про людей я не люблю, потому что участникам, наверное, могло быть неловко. Но фраза въелась, поэтому живём с чем живём.
Anthropic выкатили, Neuronpedia подхватили Natural Language Autoencoders (NLA далее) — ещё один способ использовать архитектуру автоэнкодера в задачах интерпретируемости.
И вы верно догадалась — заняться они предложили переводом активаций в естественный язык. Они не первые, не последние — совсем недавно были ещё activation oracles. Но сейчас механика действия не стиринг — а дообучение.
Что с чем:
NLA всё ещё имеет вид простейшего автоэнкодера, но вместо скрытого вектора внутрь предложено засунуть текстовый bottleneck. Картинку прикреплю ниже. Он состоит из двух моделей:
Activation Verbalizer (AV) — берет activation vector из residual stream и пишет текстовое объяснение того, что, вероятно, закодировано в этом состоянии.
Activation Reconstructor (AR) — берет это объяснение и пытается восстановить исходную активацию.
Training loop выглядит +/- так:
1. Берут activation vectors из target model.
2. Для каждой activation AV генерирует несколько разных textual explanations.
3. AR пытается по каждому explanation восстановить исходную activation и обновляется обычным шагом спуска, минимизируя reconstruction error.
5. Далее rconstruction error превращается в reward для AV.
6. AV обновляется уже через RL, получая награду за объяснения, которые лучше сохраняют информацию об активации.
Что красивое:
По сути во всей постановке задача минимизации автоэнкодера (то есть наш обычный лосс) вообще ни коим образом не включает ничего про корректность задачи перевода активации на слова. Он включает только ошибку реконструкции и ревард за эту ошибку — то есть то, насколько хорошо автоэнкодер восстанавливает вход на основе текстового bottleneck.
Достигается это за счет тепленького (warm-start) — оба модуля инициализируют (почти) копией объясняемой модели и дополнительно дообучаются на задаче саммаризации (где вид задачи: из активации — в текстовое саммари).
То есть если мы хотим сделать объяснения того же Opus, то автоэнкодер — это два Opusa, стакнутые текстом.
Долго, дорого, но эффективно. Где и как это применить можно почитать прямо в статье. Правда есть огромное ограничения вида "что это правда — мы не проверим, но оно как-то работает" — почти себе градиетный спуск. Авторы это тоже признают.
На конец: оставлю ссылок, где это всё потыкать (и буду рада, если у кого-то дойдут руки до того, как дойдут мои!)
1. Ноутбук с примерами использования NLA для gemma3-27b, llama3.3-70b
2. Библотека для трейна и эвала NLA-шек
Чудесного вам вечера, ночи или утра, и с новой вас неделей!
Мемы про людей я не люблю, потому что участникам, наверное, могло быть неловко. Но фраза въелась, поэтому живём с чем живём.
Anthropic выкатили, Neuronpedia подхватили Natural Language Autoencoders (NLA далее) — ещё один способ использовать архитектуру автоэнкодера в задачах интерпретируемости.
И вы верно догадалась — заняться они предложили переводом активаций в естественный язык. Они не первые, не последние — совсем недавно были ещё activation oracles. Но сейчас механика действия не стиринг — а дообучение.
Что с чем:
NLA всё ещё имеет вид простейшего автоэнкодера, но вместо скрытого вектора внутрь предложено засунуть текстовый bottleneck. Картинку прикреплю ниже. Он состоит из двух моделей:
Activation Verbalizer (AV) — берет activation vector из residual stream и пишет текстовое объяснение того, что, вероятно, закодировано в этом состоянии.
Activation Reconstructor (AR) — берет это объяснение и пытается восстановить исходную активацию.
Training loop выглядит +/- так:
1. Берут activation vectors из target model.
2. Для каждой activation AV генерирует несколько разных textual explanations.
3. AR пытается по каждому explanation восстановить исходную activation и обновляется обычным шагом спуска, минимизируя reconstruction error.
5. Далее rconstruction error превращается в reward для AV.
6. AV обновляется уже через RL, получая награду за объяснения, которые лучше сохраняют информацию об активации.
Что красивое:
По сути во всей постановке задача минимизации автоэнкодера (то есть наш обычный лосс) вообще ни коим образом не включает ничего про корректность задачи перевода активации на слова. Он включает только ошибку реконструкции и ревард за эту ошибку — то есть то, насколько хорошо автоэнкодер восстанавливает вход на основе текстового bottleneck.
Достигается это за счет тепленького (warm-start) — оба модуля инициализируют (почти) копией объясняемой модели и дополнительно дообучаются на задаче саммаризации (где вид задачи: из активации — в текстовое саммари).
То есть если мы хотим сделать объяснения того же Opus, то автоэнкодер — это два Opusa, стакнутые текстом.
Долго, дорого, но эффективно. Где и как это применить можно почитать прямо в статье. Правда есть огромное ограничения вида "что это правда — мы не проверим, но оно как-то работает" — почти себе градиетный спуск. Авторы это тоже признают.
На конец: оставлю ссылок, где это всё потыкать (и буду рада, если у кого-то дойдут руки до того, как дойдут мои!)
1. Ноутбук с примерами использования NLA для gemma3-27b, llama3.3-70b
2. Библотека для трейна и эвала NLA-шек
Чудесного вам вечера, ночи или утра, и с новой вас неделей!
1❤10🔥3👍1👀1
Когда навигатор не работает — грустно.
Особенно когда ты делала его сама, так что я тут переделала, и теперь у нас есть свежая версия Навигатора по XAI-библиотекам.
Делала его ещё на 2-3 курсе бакалавриата. Была таблица с 36 библиотеками, фильтр по фреймворку и типу данных и ручной занос в БД.
Чуть-чуть дотюнила в связи с оббежавшим навигатор временем. Итого, стало:
🍙 51 библиотека вместо 36 — XAI развивается =) На главной странице оставлены только те, что обновлялись менее года назад;
🍙 Появилась отдельная категория — Mechanistic Interpretability (в настоящий момент без неё уже и никуда);
🍙 Фильтрация по парадигме (Classic XAI / Mechanistic / Hybrid), модальности и типу метода — мультиселект, всё сразу;
🍙 Ссылки теперь кликабельные (раньше это не работало, у меня лапки) — можно удобно перейти как в самые знаменитые библиотеки TransformerLens, SAELens, так и менее на слуху — например, Prisma для Vision MechInterp;
🍙 Для каждой библиотеки — звёзды GitHub и дата последнего обновления;
🍙 Прямо в приложении есть форма Suggest a Library — если знаете библиотеку, которой нет в списке, можно предложить её там, я просмотрю и добавлю.
Ссылка: https://xai-table.streamlit.app
Теперь и смотреть приятнее, надеюсь, и вам поможет найтись во всем обилии методов и библиотек)
#xai_navi
Особенно когда ты делала его сама, так что я тут переделала, и теперь у нас есть свежая версия Навигатора по XAI-библиотекам.
Делала его ещё на 2-3 курсе бакалавриата. Была таблица с 36 библиотеками, фильтр по фреймворку и типу данных и ручной занос в БД.
Чуть-чуть дотюнила в связи с оббежавшим навигатор временем. Итого, стало:
🍙 51 библиотека вместо 36 — XAI развивается =) На главной странице оставлены только те, что обновлялись менее года назад;
🍙 Появилась отдельная категория — Mechanistic Interpretability (в настоящий момент без неё уже и никуда);
🍙 Фильтрация по парадигме (Classic XAI / Mechanistic / Hybrid), модальности и типу метода — мультиселект, всё сразу;
🍙 Ссылки теперь кликабельные (раньше это не работало, у меня лапки) — можно удобно перейти как в самые знаменитые библиотеки TransformerLens, SAELens, так и менее на слуху — например, Prisma для Vision MechInterp;
🍙 Для каждой библиотеки — звёзды GitHub и дата последнего обновления;
🍙 Прямо в приложении есть форма Suggest a Library — если знаете библиотеку, которой нет в списке, можно предложить её там, я просмотрю и добавлю.
Ссылка: https://xai-table.streamlit.app
Теперь и смотреть приятнее, надеюсь, и вам поможет найтись во всем обилии методов и библиотек)
#xai_navi
Streamlit
XAI Library Navigator
A Streamlit app for finding and filtering libraries for ML model interpretation — covering both ...
2❤🔥16🔥7💯2
Почти ничего у меня полезного с прошлой недели нет, потому что было очень много чего на доделать. И львиную долю времени в этом «доделать» занимали ревью ВКР и статей (получила ачивку ревьюера на MechInterp Workshop-е ICML 2026).
Делаю ревью уже второй год, и каждый раз это портал в минимум час работы на один "артефакт", если не закидывать PDF в GPT. При этом, когда на ревью потрачено слишком много времени — от него уже тошнит, а когда слишком мало — это не слишком качественная работа.
Но ревьюшки обожаю, потому что, как говорит мой профессор: «ревью — это диалог». А ещё источник знаний. И чтобы не устраивать себе добровольное колесование (а на неделе было так, ибо работ вышло 9 — 3 ВКР, 3 статьи, подаваемые на конференции и ещё 3 — как раз спущенные с MechInt Workshop-a), выделила пару вещей, которые, быть может, и вам когда-то помогут. Или вы просто узнаете, что такое колесование =)
Первая — это читать статью в ограниченное число прочиток (мой максимум 5, по крайней мере — я в него целюсь), где первая — это беглое чтение (abstract + method + conclusion), вторая — вдумчивое (method + experiments/results), третья — понять method ещё раз (потому что с первого раза может быть не понятно), четвертая — ещё раз, если зашло совсем плохо, а пятая — это принятие своего непонимания и анализ всяких ошибок и помарок (ссылки, фигуры, подписи и прочее косметическое).
Какие-то работы правда очень сложно понять, сколько бы статей ты не прочитал. Принять свое непонимание — ещё сложнее, потому что «как так, я же <вставьте-свой-грейд>». Но это тоже забавный процесс, который мотивирует учиться.
По идее, это должно экономить время, но вот я почти всегда перепрыгиваю порог в 5 вычиток. В прочем, меня успокаивает существование видео Neel Nanda (одного из ведущих рисерчеров в MI) с ревью статей на 3 часа. Кстати, как учебный материал для себя — очень прикольно смотреть такое (осталось найти 3 часа).
Вторая — писать ревью с мыслью о том, что это должен быть именно диалог. То есть не «вы сделали каку, реджект», а «я вижу, что может быть не хватает этого, потому что …», сформулированное с разной степенью уверенности. Хотя иногда хочется защитить себя и показать, что «не я туплю, а у вас бред», мне кажется, хорошие работы — это не место для пафоса.
Я часто задаю себе вопросы, почему я хочу написать именно такой тезис. Это помогает очистить мое непонимание от правда пробела в методологии, и мне хочется верить, что это делает фидбек полезнее.
Мои кредо на этом закончились, но быть может, у вас есть что сюда докинуть, и если да — то welcome!
Из самого крутого, что всегда помогает — это принятый формат, наверное, почти всех ML конференций:
С него сложно уехать, и он уже во многом делает ревью лучше, чем оно могло бы быть в свободном формате. Поэтому, кстати, полезным может оказаться попросить LLM сделать ревью работы в NIPS/ICML-выбери свой- style. Какие-то тезисы правда очень помогают (хотя какие-то — всё ещё нет). А ещё у Стэнфорда есть paperreview.ai, но я им, как-то, доселе не пользовалась.
Из смешного, кажется, писать статьи на конференции — это ок, а вот писать ВКР о AI на русском — это уже пилотаж. Локализация терминов и перевод на основе Клода или GPT — просто невероятные. Мои свежесобранные и избранные (все совпадения случайны) — решение на основе нулевого выстрела (zero-shot), линейный пробник (linear probe), статистически значительный результат (похоже, statistically significant). В прочем, мне самой сложно плеваться переводами, поэтому речь иногда выглядит в духе "надо провести ablation".
На этом потоку конец, и всем human-based reviews и отличной недели!
Делаю ревью уже второй год, и каждый раз это портал в минимум час работы на один "артефакт", если не закидывать PDF в GPT. При этом, когда на ревью потрачено слишком много времени — от него уже тошнит, а когда слишком мало — это не слишком качественная работа.
Но ревьюшки обожаю, потому что, как говорит мой профессор: «ревью — это диалог». А ещё источник знаний. И чтобы не устраивать себе добровольное колесование (а на неделе было так, ибо работ вышло 9 — 3 ВКР, 3 статьи, подаваемые на конференции и ещё 3 — как раз спущенные с MechInt Workshop-a), выделила пару вещей, которые, быть может, и вам когда-то помогут. Или вы просто узнаете, что такое колесование =)
Первая — это читать статью в ограниченное число прочиток (мой максимум 5, по крайней мере — я в него целюсь), где первая — это беглое чтение (abstract + method + conclusion), вторая — вдумчивое (method + experiments/results), третья — понять method ещё раз (потому что с первого раза может быть не понятно), четвертая — ещё раз, если зашло совсем плохо, а пятая — это принятие своего непонимания и анализ всяких ошибок и помарок (ссылки, фигуры, подписи и прочее косметическое).
Какие-то работы правда очень сложно понять, сколько бы статей ты не прочитал. Принять свое непонимание — ещё сложнее, потому что «как так, я же <вставьте-свой-грейд>». Но это тоже забавный процесс, который мотивирует учиться.
По идее, это должно экономить время, но вот я почти всегда перепрыгиваю порог в 5 вычиток. В прочем, меня успокаивает существование видео Neel Nanda (одного из ведущих рисерчеров в MI) с ревью статей на 3 часа. Кстати, как учебный материал для себя — очень прикольно смотреть такое (осталось найти 3 часа).
Вторая — писать ревью с мыслью о том, что это должен быть именно диалог. То есть не «вы сделали каку, реджект», а «я вижу, что может быть не хватает этого, потому что …», сформулированное с разной степенью уверенности. Хотя иногда хочется защитить себя и показать, что «не я туплю, а у вас бред», мне кажется, хорошие работы — это не место для пафоса.
Я часто задаю себе вопросы, почему я хочу написать именно такой тезис. Это помогает очистить мое непонимание от правда пробела в методологии, и мне хочется верить, что это делает фидбек полезнее.
Мои кредо на этом закончились, но быть может, у вас есть что сюда докинуть, и если да — то welcome!
Из самого крутого, что всегда помогает — это принятый формат, наверное, почти всех ML конференций:
1. Summary своими словами
2. Сильные стороны
3. Слабые стороны
4. Предложение/вопросы авторам
5. Итоговая оценка.
С него сложно уехать, и он уже во многом делает ревью лучше, чем оно могло бы быть в свободном формате. Поэтому, кстати, полезным может оказаться попросить LLM сделать ревью работы в NIPS/ICML-выбери свой- style. Какие-то тезисы правда очень помогают (хотя какие-то — всё ещё нет). А ещё у Стэнфорда есть paperreview.ai, но я им, как-то, доселе не пользовалась.
Из смешного, кажется, писать статьи на конференции — это ок, а вот писать ВКР о AI на русском — это уже пилотаж. Локализация терминов и перевод на основе Клода или GPT — просто невероятные. Мои свежесобранные и избранные (все совпадения случайны) — решение на основе нулевого выстрела (zero-shot), линейный пробник (linear probe), статистически значительный результат (похоже, statistically significant). В прочем, мне самой сложно плеваться переводами, поэтому речь иногда выглядит в духе "надо провести ablation".
На этом потоку конец, и всем human-based reviews и отличной недели!
1🔥16❤6🙏2
Привет, друзья!
Хоть в CTF я и профан, занудная любовь к такому формату у меня есть и вряд ли когда-нибудь пройдет. Играть и что-нибудь захватывать любят, кажется, все — независимо от возраста, профессии и должности. Со временем меняется только формат)
И пока у меня самой не хватает времени на новые курсы (хотя осенью у меня будет целый предмет в ВШЭ (с открытой репой, надеюсь), но об этом расскажу, как только переживу лето), мои товарищи выпустили курс «AI Security: практикум по безопасности ИИ-приложений».
Курс — очень вводный (с нуля), очень классный и очень покрывающий тему безопасности AI-систем. Он построен вокруг (как раз) практических CTF-заданий и если вы не любите как-то долго читать теорию, и хотите учиться на практике — то, что нужно.
В курсе покрыты:
• Prompt Injection, jailbreak-техники (разница — есть!) и обход системных инструкций
• Разные ракурсы для вас, как для атакующего — Indirect Prompt Injection через документы, почту и веб-контент, а также атаки на агентные системы и отравление RAG
• Подходы к защите — от простых фильтров до архитектурных решений — потому что все мы за добро доброе
Курс не требует навыков программирования, поэтому подойдет как если вы хотите отдохнуть после работы в IDE, так и если вы в ней не работаете.
Есть демо-доступ.
Ссылка на курс (и я попросила нам персональный промокод, потому что мы с вами уже большие товарищи) со скидкой: здесь.
Тем же временем я в режиме "сечас-все-будет" дописываю ещё пару туториалов, так что тоже скоро зашерю. А вообще — почти первый день лета, и всем желаю, чтобы у вас был запланировало чилл-окно в эти несколько месяцев! 🗿
Хоть в CTF я и профан, занудная любовь к такому формату у меня есть и вряд ли когда-нибудь пройдет. Играть и что-нибудь захватывать любят, кажется, все — независимо от возраста, профессии и должности. Со временем меняется только формат)
И пока у меня самой не хватает времени на новые курсы (хотя осенью у меня будет целый предмет в ВШЭ (с открытой репой, надеюсь), но об этом расскажу, как только переживу лето), мои товарищи выпустили курс «AI Security: практикум по безопасности ИИ-приложений».
Курс — очень вводный (с нуля), очень классный и очень покрывающий тему безопасности AI-систем. Он построен вокруг (как раз) практических CTF-заданий и если вы не любите как-то долго читать теорию, и хотите учиться на практике — то, что нужно.
В курсе покрыты:
• Prompt Injection, jailbreak-техники (разница — есть!) и обход системных инструкций
• Разные ракурсы для вас, как для атакующего — Indirect Prompt Injection через документы, почту и веб-контент, а также атаки на агентные системы и отравление RAG
• Подходы к защите — от простых фильтров до архитектурных решений — потому что все мы за добро доброе
Курс не требует навыков программирования, поэтому подойдет как если вы хотите отдохнуть после работы в IDE, так и если вы в ней не работаете.
Есть демо-доступ.
Ссылка на курс (и я попросила нам персональный промокод, потому что мы с вами уже большие товарищи) со скидкой: здесь.
Тем же временем я в режиме "сечас-все-будет" дописываю ещё пару туториалов, так что тоже скоро зашерю. А вообще — почти первый день лета, и всем желаю, чтобы у вас был запланировало чилл-окно в эти несколько месяцев! 🗿
5❤12🔥10❤🔥4
Сегодня вышла новая версия отчёта OWASP State of Agentic AI Security and Governance.
Я так хотела пошутить про агентов 007, но не придумала как.
Кто такие OWASP?
Ребята правда большие и мощные. Я правда просто веселый увлеченный пирожок. И огромное количество радости я чувствую от того, что благодаря @kokuykin мне удалось внести вклад в работу над разделом Explainable AI and Agent Transparency — в 2 страницы из 139.
В отчёте собраны исследования, практический опыт и взгляды экспертов на ключевые вызовы Agentic AI: от угроз и инцидентов до вопросов идентичности, управления и регулирования. Это отличный источник, если вы ищете идеи для исследований, хотите разобраться в рисках агентных систем или просто понять, где именно могут скрываться уязвимости в AI.
Отчёт тут:
https://genai.owasp.org/resource/state-of-agentic-ai-security-and-governance/
Вообще, хочется не только пошерить отчет, но и сказать, что каждый маленький вклад — это прикольно. Я верю (быть может, наивно), что вопреки всей тревоги вокруг AI-эры (нас заменят, мы кожанные), перед нами есть возможность — адаптироваться, учиться и стараться стать частью чего-то большого.
Желаю вам этого чувства на работе, в повседневных задачах и когда теряетесь.
Всем чего-то хорошего (и отчет тоже классный)!
Я так хотела пошутить про агентов 007, но не придумала как.
Кто такие OWASP?
Это такое большое международное сообщество и некоммерческий фонд, которое занимается вопросами безопасности веб-приложений и программного обеспечения. А теперь ещё и LLM, и агентов, у нас ведь AI-эра.
Ребята правда большие и мощные. Я правда просто веселый увлеченный пирожок. И огромное количество радости я чувствую от того, что благодаря @kokuykin мне удалось внести вклад в работу над разделом Explainable AI and Agent Transparency — в 2 страницы из 139.
В отчёте собраны исследования, практический опыт и взгляды экспертов на ключевые вызовы Agentic AI: от угроз и инцидентов до вопросов идентичности, управления и регулирования. Это отличный источник, если вы ищете идеи для исследований, хотите разобраться в рисках агентных систем или просто понять, где именно могут скрываться уязвимости в AI.
Отчёт тут:
https://genai.owasp.org/resource/state-of-agentic-ai-security-and-governance/
Вообще, хочется не только пошерить отчет, но и сказать, что каждый маленький вклад — это прикольно. Я верю (быть может, наивно), что вопреки всей тревоги вокруг AI-эры (нас заменят, мы кожанные), перед нами есть возможность — адаптироваться, учиться и стараться стать частью чего-то большого.
Желаю вам этого чувства на работе, в повседневных задачах и когда теряетесь.
Всем чего-то хорошего (и отчет тоже классный)!
OWASP Gen AI Security Project
State of Agentic AI Security and Governance 2.01
The State of Agentic AI Security and Governance provides a comprehensive view of today’s landscape for securing and governing autonomous AI systems. It explores the frameworks, governance models, and global regulatory standards shaping responsible Agentic…
❤11👍8🔥6❤🔥1
Привет, друзья!
Я почти всегда сталкиваюсь с мозговой сложностью понять, как лучше задизайнить loss/метрику, где моя сложность — это увидеть ландшафт функции.
Потому что граничные случаи не всегда очевидны, а если ты ещё и крутишь что-то хитрое, голова совсем ломается.
Конечно, существует desmos, и я всем его советую, но он не всегда удобен для ML. Поэтому я собрала мини-место для визуализации метрик — Plot Your Metric: https://plot-your-metric.streamlit.app — вдруг вам тоже оно пригодится.
Что закинуто:
1. Metric Landscape — вводите любую функцию 2-3 переменных, задаете диапазоны — получаете 3D поверхность + heatmap с линиями уровня. Можно отметить порог и сразу видеть форму "зелёной зоны". Направление метрики (больше или меньше = лучше) тоже можно задать.
2. 1D Loss Explorer — несколько лосс-функций на одной оси, аннотации точек, референсные линии. Удобно сравнивать Hinge vs Logistic vs Squared одним взглядом. Или дизайнить свой лосс.
Чтобы было проще — есть примеры.
Код тут: https://github.com/SadSabrina/plot_your_metric
Тыкать тут: https://plot-your-metric.streamlit.app
Идеи приветствуются!
Я почти всегда сталкиваюсь с мозговой сложностью понять, как лучше задизайнить loss/метрику, где моя сложность — это увидеть ландшафт функции.
Потому что граничные случаи не всегда очевидны, а если ты ещё и крутишь что-то хитрое, голова совсем ломается.
Конечно, существует desmos, и я всем его советую, но он не всегда удобен для ML. Поэтому я собрала мини-место для визуализации метрик — Plot Your Metric: https://plot-your-metric.streamlit.app — вдруг вам тоже оно пригодится.
Что закинуто:
1. Metric Landscape — вводите любую функцию 2-3 переменных, задаете диапазоны — получаете 3D поверхность + heatmap с линиями уровня. Можно отметить порог и сразу видеть форму "зелёной зоны". Направление метрики (больше или меньше = лучше) тоже можно задать.
2. 1D Loss Explorer — несколько лосс-функций на одной оси, аннотации точек, референсные линии. Удобно сравнивать Hinge vs Logistic vs Squared одним взглядом. Или дизайнить свой лосс.
Чтобы было проще — есть примеры.
Код тут: https://github.com/SadSabrina/plot_your_metric
Тыкать тут: https://plot-your-metric.streamlit.app
Идеи приветствуются!
❤15🔥8❤🔥5🎄1
Привет, друзья!
Я решила вернуться красиво и напекла новый туториал. Какое-то количество постов назад писала о библиотеках для interventions и начала делать материалы, чтобы можно было "вкатиться" в них на практике. В туториале описан Activation Steering — это inference-time интервенция: мы не трогаем веса модели, а вмешиваемся в поток вычислений «на лету», пока трансформер генерирует.
В туториале описаны три способа реализовать это вмешательство: PyTorch hooks и две библиотеки nnsight, pyvene.
Попутно разобрана вся теория. А именно:
• Метод CAA (Contrastive Activation Addition) — откуда вообще берётся steering vector;
• Почему residual stream и почему последний токен
• Странные термины: failure modes: prompt leakage, oversteering, layer mismatch, concept entanglement
• PCA-диагностика: видим ли мы разделение классов в латентном пространстве вообще?
Модель — GPT-2, запускается везде, коллаб тоже сделан.
🐑 [ссылка на ноутбук]
🐑 [ссылка на Хабр]
Я решила вернуться красиво и напекла новый туториал. Какое-то количество постов назад писала о библиотеках для interventions и начала делать материалы, чтобы можно было "вкатиться" в них на практике. В туториале описан Activation Steering — это inference-time интервенция: мы не трогаем веса модели, а вмешиваемся в поток вычислений «на лету», пока трансформер генерирует.
Базовая идея:
h⁽ˡ⁾ ← h⁽ˡ⁾ + α · v̂
Вектор v̂ кодирует нужное направление, α — сила вмешательства.
В туториале описаны три способа реализовать это вмешательство: PyTorch hooks и две библиотеки nnsight, pyvene.
Попутно разобрана вся теория. А именно:
• Метод CAA (Contrastive Activation Addition) — откуда вообще берётся steering vector;
• Почему residual stream и почему последний токен
• Странные термины: failure modes: prompt leakage, oversteering, layer mismatch, concept entanglement
• PCA-диагностика: видим ли мы разделение классов в латентном пространстве вообще?
Модель — GPT-2, запускается везде, коллаб тоже сделан.
🐑 [ссылка на ноутбук]
🐑 [ссылка на Хабр]
🔥18❤🔥5
Там в посте должен быть какой-то call to action по канонам текстов, но я в это плохо умею, поэтому просто ставьте огонечки, и я всех люблю : )
А вообще — мне недавно сказали, что мой туториал шерили на семинаре в Сириусе. Спасибо, друзья, каждое такое знание повышает коэффициент требования к материалам и радует душу.
Шерьте, трогайте, пишите — это делает меня самым счастливыми пирожком на земле!
Всем чудесной недели!
А вообще — мне недавно сказали, что мой туториал шерили на семинаре в Сириусе. Спасибо, друзья, каждое такое знание повышает коэффициент требования к материалам и радует душу.
Шерьте, трогайте, пишите — это делает меня самым счастливыми пирожком на земле!
Всем чудесной недели!
🔥11❤🔥10🎄2
Я почти не смотрю мемы, но некоторые мемы смотрят на меня. С этого я смеялась — сегодня его вспомнила — вдруг вы тоже посмеетесь и ваша неделя пройдёт легче. 😁
Визуализация:
«тут работы - непочатый клод» (с) MrsWallbreaker
Визуализация:
«тут работы - непочатый клод» (с) MrsWallbreaker
😁14❤8🎄4👏1
Набор рефлексии о том, что важно и нужно, когда ты лидируешь что-либо.
Пусть это будет какой-то #outofresearch контент
Вчера вечером у меня был talk с ребятами на курсе по AI Safety, а сегодня — ретро-синк с моей командой. И так меня удивили вопросы и мысли, что захотелось вытащить несколько тейков из головы и сюда.
Контекст: помимо исследований, путя до phD, преподавания и курса, я сейчас работаю на позиции R&D-лида, где основная моя задача — effort на исследования не только свои: их ведение, публикация и так далее.
За короткое время многое произошло и сейчас у меня получилось подумать о самой позиции и о том, что на самом деле важно, когда у тебя вот такой набор амбиций, чуть "сверху".
И я обожаю копаться в своей голове, регулировать и фокусировать мысли. И их так много, что я лопну, если не достану часть наружу.
Сейчас должен быть, знаете, этот какой-то байт вида «продолжение в комментариях/в карусели», но комментариев у меня нет, и я люблю лонгриды.
1. Быть советником — плохо.
Или я офигела от вопроса "а как верно давать фидбек".
Совет свой сам себе советуй. Когда ты работаешь с командой, которая вложила очень много усилий, и всё, что ты делаешь, — говоришь «тут не хватает», ты портишь отношения и, по-другому говоря, обесцениваешь. Команда, как правило, знает свой микро-проект изнутри, собрала кучу багов — и если улучшение правда нужно, лучше дать чёткие инструкции «как», сформулировать гипотезу в виде вопроса, или вообще сделать самому — если это в твоей зоне компетенций.
2. Делать чекпойнты себе как лидеру и человеку важно.
(«где я сейчас?», «что я сделал(а)?», «что получилось плохо?»)
Мы работаем в удивительном мире, где поток информации, гипотез и идей бежит быстрее Усейна Болта. Останавливаться и сверяться — жизненно необходимо. И для взаимодействия с людьми, и для взаимодействия с собой. Иначе можно уехать с рельсов очень сильно и не прийти к своим глубоким целям (а зачем тогда вообще жить?)
3. Важно знать себя.
70% вклада в отсутсвие выгорания
Я, например, очень легко увлекаюсь. Могу жить на идее, долгих прогулках и сне, в котором эта же идея продолжает крутиться. Потом могу так же успешно выгореть. А ещё я очень коммуникабельна ровно до тех пор, пока регулярно «трогаю траву». Понимание таких вещей сильно помогает управлять собой и не отправлять людей далеко и надолго, когда ресурс заканчивается.
4. В человеке интересен не столько статус, сколько путь к нему — и то, кем он остаётся за его пределами.
Наши способы оптимизации жизни и карьеры вряд ли сработают для кого-то в zero-shot. Но они показывают, как бывает. И как не бывает. И это безумно интересно.
5. Люди — это важно.
Но важно и уметь оставаться открытым, не позволяя этой открытости себя съесть — особенно, когда границы между "своими" и "чужими" размылись до предела. Есть чатик любого уголка мира, где можно найти работу, друзей, место для покупки <вставьте своё> и места для ноготочков (мужская часть аудитории — выбирайте своё).
Быть может, вам что-то из этого откликнется. А если нет — относитесь к этому как к заметке из чьей-то амбициозной рисерч-головы, которая вышла из мира пространств : )
Пусть это будет какой-то #outofresearch контент
Вчера вечером у меня был talk с ребятами на курсе по AI Safety, а сегодня — ретро-синк с моей командой. И так меня удивили вопросы и мысли, что захотелось вытащить несколько тейков из головы и сюда.
Контекст: помимо исследований, путя до phD, преподавания и курса, я сейчас работаю на позиции R&D-лида, где основная моя задача — effort на исследования не только свои: их ведение, публикация и так далее.
За короткое время многое произошло и сейчас у меня получилось подумать о самой позиции и о том, что на самом деле важно, когда у тебя вот такой набор амбиций, чуть "сверху".
И я обожаю копаться в своей голове, регулировать и фокусировать мысли. И их так много, что я лопну, если не достану часть наружу.
Сейчас должен быть, знаете, этот какой-то байт вида «продолжение в комментариях/в карусели», но комментариев у меня нет, и я люблю лонгриды.
1. Быть советником — плохо.
Или я офигела от вопроса "а как верно давать фидбек".
Совет свой сам себе советуй. Когда ты работаешь с командой, которая вложила очень много усилий, и всё, что ты делаешь, — говоришь «тут не хватает», ты портишь отношения и, по-другому говоря, обесцениваешь. Команда, как правило, знает свой микро-проект изнутри, собрала кучу багов — и если улучшение правда нужно, лучше дать чёткие инструкции «как», сформулировать гипотезу в виде вопроса, или вообще сделать самому — если это в твоей зоне компетенций.
2. Делать чекпойнты себе как лидеру и человеку важно.
(«где я сейчас?», «что я сделал(а)?», «что получилось плохо?»)
Мы работаем в удивительном мире, где поток информации, гипотез и идей бежит быстрее Усейна Болта. Останавливаться и сверяться — жизненно необходимо. И для взаимодействия с людьми, и для взаимодействия с собой. Иначе можно уехать с рельсов очень сильно и не прийти к своим глубоким целям (а зачем тогда вообще жить?)
3. Важно знать себя.
70% вклада в отсутсвие выгорания
Я, например, очень легко увлекаюсь. Могу жить на идее, долгих прогулках и сне, в котором эта же идея продолжает крутиться. Потом могу так же успешно выгореть. А ещё я очень коммуникабельна ровно до тех пор, пока регулярно «трогаю траву». Понимание таких вещей сильно помогает управлять собой и не отправлять людей далеко и надолго, когда ресурс заканчивается.
4. В человеке интересен не столько статус, сколько путь к нему — и то, кем он остаётся за его пределами.
Наши способы оптимизации жизни и карьеры вряд ли сработают для кого-то в zero-shot. Но они показывают, как бывает. И как не бывает. И это безумно интересно.
5. Люди — это важно.
Но важно и уметь оставаться открытым, не позволяя этой открытости себя съесть — особенно, когда границы между "своими" и "чужими" размылись до предела. Есть чатик любого уголка мира, где можно найти работу, друзей, место для покупки <вставьте своё> и места для ноготочков (мужская часть аудитории — выбирайте своё).
Быть может, вам что-то из этого откликнется. А если нет — относитесь к этому как к заметке из чьей-то амбициозной рисерч-головы, которая вышла из мира пространств : )
❤19🏆5