tgindex
Data Blog
@jdata_blogрусский

Интерпретируемость (AI) моделей и путь до phD, если автор не уйдет пасти овец. Сотрудничество, предложения, вопросы: @sabrina_sadiekh

Последний пост
13 авг.
Последнее чтение
20:10
Постов за неделю
3
Всего постов
23
Тип
открытый
Язык
русский
В каталоге с
12 авг.
Подписчики
2 214
мало замеров
Замеров пока мало
Сутки
0
0,00%
Неделя
 
Месяц
 
Просмотров на пост
109
3 постов
Вовлечённость
4,9%
к подписчикам
Постов в день
0,4
всего 23
Упоминаний
10
каналов
Охват размещения
оценка
1/24сутки в ленте
2
1/48двое суток
2
1/72трое суток
2

Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.

Посты

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

  • И так, нам в большей степени отсюда стоит рассмотреть процесс того, как Клод пришел к доказательству. Я сама использую Клода в качестве советника и критика, у меня есть разный опыт и степени довольства. Где читать: к статье приложен Appendix C — короткая выжимка процесса работы. Плюс выложены полные транскрипты двух ключевых агентов, с аннотациями. В них я и пошла на почитать. Что интересного: 1. Две попытки доказательства и веселый коучинг. В первую агенты собрали 106 «выживших» идей, ни одна не оказалась доказательством. После завершения тезисы вторую сессию начали просьбой продолжить и напутствием (цитата) «you need to believe in yourself». Модель в этот момент отдала That’s not a confidence problem I can fix by believing harder—a proof of RH either exists on the page and survives refereeing or it doesn’t, and confidence is not an input to that. Мотивировать Клода продолжили. Теми же фразами и агент с субагентами пошли работать дальше и вернулись с результатами. 2. Дизайн поиска. Было 23 параллельных агента, каждому своя линия работ. Три инструкции были на агента: 1) Писать цепочку рассуждений, а не набор тезисов. 2) Проверять любой механизм на контрольных объектах, для которых аналог гипотезы заведомо ложен. 3) Назвать первый шаг, который не обоснован. Это прям классика хорошего контроля над Клод-экспами. Иначе потом не ясно, это Клод решил не тратить ресурсы и дал число или правда есть результат. 3. Случайность результата. Агент, который принес основной вклад (в логе — E2), был отправлен решать противоположную задачу: ограничить сверху число нулей вне прямой. Он не смог, но в рабочем скрипте завел новый столбец — который отдал примерно половину результата (для любящих детали — это была доля собственных значений, доказуемо положительных, считаемая из простых чисел — половина будущей теоремы). 4. Дизайн контроля. Взяли три агента (слепых на результаты друг друга). Агенты проверяли утечку и качество. Внимание, самое прикольное, что потом результат упал, но сохранился в логах. Основные тезисы собрали из них. Да, но как Клод это сделал? Транскрипты двух успешных агентов опубликованы целиком. В них видно, что два важных перехода произошли в скрытых рассуждениях. Так что как, простите, извините, в голове. Скрытые рассуждения в экспорт не попадают. В логе они присутствуют как интервалы: «молчание 14 минут 40 секунд», «молчание 24 минуты», «молчаливый вызов 1 час 31 минуту». И блин, как же это прикольно — мы моделями можем делать больше и лучше, но не знаем ни-фи-га. Значит, у нас всё ещё будет работа, коллеги. Что унести с собой: Учимся дизайнить у лучших, прости господи. ▪️ Правило репорта. Посыл “работай и доложи, что вышло — включая „ничего”” правда помогает, ибо модель всегда что-то отдает. Чем больше контекста получено, тем легче найти мусор. ▪️ Дерьмовый коучинг. Дерьмовый, потому что «поверь в себя» отлично работает как разрешение и мотивация копать шире и не работает как аргумент. Планку доказательности оно не двигает. ▪️ Негативный контроль. Дать объект, на котором идея должна валиться. При этом, модели не говорить. Если там успех — ура, ошибка найдена, а мы ещё и не ошиблись. ▪️ Спрашивать вместо «всё посчитано?», «где первый необоснованный шаг?». Второй заставляет искать место, где стало плохо — это капец как удобно. ▪️ Слепое ревью на сабагентах — просто бесплатные (за вашу подписку) коворкеры. Проверено, юзаю. ▪️Логировать, много логировать. У них агент за три с половиной часа написал три коротких сообщения, остальное — файлы. Поэтому результат пережил падение процесса: он лежал на диске. ▪️ Иметь стоп-правило. Момент, когда очередной внутренний прогон перестаёт добавлять информацию, надо уметь распознать и выйти наружу — к человеку (иначе Клод трындец долго гоняет очень низкого качества штуки или вообще не то). Прикольно, вкусно и забавно. Поели, и дальше работать.

  • Привет, друзья! Мы набегались из песочниц, пришло время решать Клодом математические задачи веков. Если вы ещё не видели — time to: «Клод поднял нижнюю оценку доли нулей на критической прямой», «Клода попросили решить задачу и вот что случилось» и далее по списку. Математика — область, где я чувствую себя и как дома, и безгранично тупой. Я много её изучаю и не смогла обойти работу стороной. В ней есть интересные нюансы с точки зрения постановки, давайте посмотрим. А что случилось? Кратко: статья. Клод внес свой вклад в доказательство гипотезы Римана (но не доказал). Что за гипотеза: Простые числа — классные ребята. Простые — это такие, что делятся только на себя и единицу, остальные идут лесом. С одной стороны показано, что чем дальше по числовой оси (1, 2, 3…), тем они реже. И у нас в мире есть формула, предсказывающая, сколько простых меньше заданного числа: в грубом виде это x/ln x, в точном — логарифмический интеграл Li(x) (то есть площадь под кривой 1/ln t). С другой стороны — конкретные простые числа эту формулу игнорируют и есть погрешность. Вопрос: какая и какие числа её дают волнует нас очень давно. В 1859 году Бернхард Риман показал, что если взять красивую дзета-функцию: ζ(s) = 1 + 1/2ˢ + 1/3ˢ + 1/4ˢ + … продолжить её на комплексные числа (то есть s = σ + it), то ошибка приближения раскладывается по нулям этой функции — точкам, где она обращается в ноль. Каждый нуль даёт свою волну по всей числовой оси, и сумма этих волн — то, чем реальное количество простых отличается от Li(x). Показано, что интересные нули — то есть те, которые наверное связаны с ошибками в Li(x) — лежат в вертикальной полосе между 0 и 1. Риман предположил где именно — на прямой Re s = 1/2. Это и есть гипотеза Римана, а прямая называется критической. Что это даёт миру? 1. Анализ поведения простых чисел: как густо расставлены в мире чисел эти товарищи. 2. Много доказанных теорем, которые начинаются словами «предположим, гипотеза Римана верна». Доказательство легализовало теоремы, но его нет и вместо доказательства делают так: раз «все нули на прямой» не выходит, доказывают «хотя бы столько-то процентов нулей на прямой». Что было: Процент поднимали с 1914 года: Харди (бесконечно много нулей на прямой, но это 0% от всех), Сельберг (положительная доля), Левинсон (1/3), Конри (2/5), и с 2020-го рекорд 5/12 (41.6%). Что стало: 67.25%. И это сделал Клод. Понимать математику можно долго в работе, а вот хинты самогоэксперимента мне понравились. Поэтому о них дальше закину.

  • Привет, друзья! Я очень часто и очень много слышу про SHAP, как про традиционный метод. С традиционностью спорить нельзя — это правда так — безумно сама его люблю. Однако классическая постановка (вот была коалиция, были и есть игроки-признаки) касается только табличного примера и очень плохо показывает, как и почему SHAP переносится на другие модальности и задачи — и какие ограничения это несёт. Что сделала: Вооружившись «загашником» (разговорное: место, куда откладывают что-либо про запас), я свела многое в Хабр-статью: улучшения SHAP от "было" до "стало", со ссылками на все либы и интуицией "что там навешано". В статье и напоминание: классическая формула и SHAP как задача взвешенного МНК, и три вопроса, которые-всех-волнуют и развивают метод. Из вопросов описаны 15 расширений, для каждого — зачем оно возникло, что поменяли и есть ли кодовая реализация. Можно сохранить как шпору и утащить себе список библиотек с SHAP: 1. shap — основная библиотека 2. kernelshap — KernelSHAP для R 3. GPUTreeShap — TreeSHAP на CUDA 4. Fast TreeSHAP — TreeSHAP быстрее на CPU 5. shapley-regression — несмещённый KernelSHAP 6. fastshap — реализация под PyTorch, TensorFlow 7. leverageshap — KernelSHAP с гарантией точности решения 8. sage-importance — глобальная важность 9. shapiq — взаимодействия высших порядков 10. shapr — условные значения Шепли 11. GenAISHAP — Token / Pixel / Video / AgentSHAP 12. mllm-shap — SGPA для аудио Статья на Хабре: https://habr.com/ru/articles/1067656/ Приятного чтения!

  • Чем ещё хотела поделиться — вот прошли выходные (с фикшенными багами), как мы выпустили open-xai. И я смотрю на эти первые 60 пользователей (спасибо вам!), смотрю на наш начальный дизайн, на модули, на обновления в работе — и так хочется улучшать это всё! Мой восторг сменился постепенно на рациональность — мало выпустить продукт, надо думать о UI, UX, доходимости, понятности и кому он нужен, прайс-не прайс, retention, ltv и-так-далее. А я привыкла думать как сложить/умножить/агрегировать и так далее. Я знаю что продукты умирают, и надеюсь, мы не умрем. P.S. Название поменяем, на второй день до нас дошло, что и XAI и open — уже стырено. Но отсылок не было. Честно.

  • Что получили, не работает: На джейлбрейках уязвимость минимум на 1% запросов — у всех методов без исключения. Под адаптивным ред-тимингом FNR выбранного авторами зонда — 42%. Так что против обычного трафика зонд — хорошо, а против думающего противника — нет. Общий нюанс: зонду нужен доступ к внутренностям. То есть это инструмент владельца модели или того, кто крутит открытые веса. Сидя на API, зондов нет, но какова идея! Нюанс два: Слой снимаем один и фиксированный, обычно из середины модели. Она (середина) богаты на всякие представления. Ибо активации тяжёлые. Один пример на миллион токенов при d в несколько тысяч и float32 — десятки гигабайт на один промпт. Обучать дорого, в статье с этим парятся. А потом не парятся и учат только на коротком контексте, а длину обрабатывают архитектурой агрегации. P. S. Пока думала над названием поста, в голове возникла песня Хованского «Батя в здании». Такие артефакты молодости. Почему она тут уместна — потому что по своей природе зонд — бинарный классификатор, а бинарный классификатор — потомок линейной модели, а линейной модели больше лет, чем всему DL. И я такие отсылки в базовую базу люблю всем сердцем. Сколь бы много автоматизации в нашем мире ни возникало, всегда есть это — красивое и старое. В общем, получается любим базу, друзья! Надеюсь вам будет также красиво от этой работы, как мне : )

  • Зонды в проде и что послушать/почитать Что такое зонд: Зонд — мини-ML-вида-модель, которая работает на активациях большой модели. Задача такова: Наш Х — скрытое состояние LLM на каждом токене — список матриц (для каждого примера — матрица d × n, где n — длина последовательности, d — внутренняя размерность модели). Не тензор, потому что есть нюансы — скину в комменты. Наш Y на списке матриц — бинкласс — как там сейчас говорят «норм или стрём». Зачем: На зонд можно смотреть как на аппроксимацию. Ряд Тейлора мы тоже не считаем до конца, а берем приближение — тут также — мы что-то приближаем (пространство решений нашей страшной модели), чем-то попроще. И, гуляя по интернету — я словила два свежих упоминания, где лабы выкатили детекторы-зонды на внутренних состояниях в прод. Anthropic: короткое и без деталей Борис Черни рассказал, что у них на трафике (на нас, получается) крутится классификатор prompt injection, который смотрит на загорающиеся нейроны — модель об инъекции не скажет, а нейроны видно. Но это подкаст, и всё в нём — слова. DeepMind: подлиннее, с деталями Building Production-Ready Probes For Gemini. Статья январская, но я её нашла в июльском отчёте, где как раз и написано, что зонды доехали до прода. Там же написано, что это «сложное изменение, затрагивающее много частей инфраструктурного стека» — но раз внедрили, видимо, оно того стоило. Что делали: Ловили cyber-offensive промпты на входе Gemini 2.5 Flash. Вредные запросы здесь очень похожи на легитимные вопросы по безопасности и вообще на обычный процесс написания кода. Почему — потому что давайте сами вспомним свой последний запрос в LLM при починке прода или эксперимента — специфика области. Тезисы на забрать или осмыслить: 1. Линейная модель — база, но в прод доедет не на всём. В статье семь семейств: четыре из прошлых работ (линейный, EMA, MLP, attention) и три своих (MultiMax, Max of Rolling Means Attention и найденные автоматическим поиском через AlphaEvolve). Различаются они функцией агрегации (не путать с активацией) — тем, как n оценок, по одной на токен, сворачиваются в один скаляр. 2. Линейная модель фолзит, и фолзит агрегация. FNR на длинноконтекстных атаках у линейного зонда с mean pooling — 99.13%. Причина — усреднение, вред — это очень мало токенов из их большого количества. При этом, если сменить только агрегацию (на скользящее экспоненциальное среднее с максимумом), то FNR падает в среднем с 58.84% до 7.12%, но растет FPR (с 5.29% до 26.69%) и в целом ошибка модели на пару процентов. Зонды также не бьют LLM-классификаторы по общей ошибке, но бьют их по FNR на длинном контексте и джейлбрейках (на многоходовых и адаптивных атаках — проигрывают). 3. Сид в зондах — слабая компонента влияния на качество. Менять сиды в зондах — классическое требование всех статей, отсюда и GDM гоняли по 100 сидов на архитектуру. Отбор лучшего по валидации даёт выигрыш 0.008 test loss. А выбор архитектуры — 0.064 у линейного mean против 0.025 у лучшего. 4. Для практического внедрения зонда порог выбирается не по его качеству. В статье порог — взвешенная сумма FPR и FNR на валидации, и веса — цена каждого типа ошибки. Упрощая: заблокировать невиновного здесь в десять раз дороже, чем пропустить виновного (вес 50 против 5) — потому что настоящих атак в трафике исчезающе мало, а обиженных пользователей будет много. С чего в прод понесли? Зонд — это инференс стоимостью обученных весов. У простейшего линейного зонда таких весов выйдет всего d; у остальных архитектур больше, но всё равно на порядки меньше любой LLM. Активации — почти бесплатный датасет — модель всегда считает сама для forward pass-а, мы их подбираем. В статье разрыв в стоимости с LLM-классификатором — больше 10 000× (это вычислительная стоимость инференса на запрос). Что получили, работает: Каскад: они отправляют в LLM только ~8% запросов, где зонд не уверен, — и получают ошибку ниже, чем у самой LLM. Причём Flash по всей кривой цена/качество бьёт Pro версию и мы (снова) видим, что большая модель ≠ лучший классификатор.

  • Мы выпускаем образовательный ресурс open-xai. Привет, друзья! Я шла к этому очень долго и наконец-то готова выпустить образовательный ресурс open-xai! Ресурс построен как точка, где можно учиться просто всему, что есть в интерпретируемости. От классических методов, до геометрии и математики в моделях. Сейчас в нем: ⁃ 2 трека. XAI Practitioner — объяснять поведение моделей руками, от классики до LLM. Math of LLMs — математика и mechanistic interpretability изнутри модели, на уровне весов и схем. ⁃ 17 тематических блоков — сквозняком от линейной регрессии до Sparse Autoencoders. ⁃ 50+ методов интерпретируемости. Мы открываем ресурс и открываем первые два модуля (часть ресурса будет бесплатной и такие блоки будут открываться первыми сейчас). Открытые с сегодня блоки погружают в термины и мир интерпретируемых моделей. После модулей вы никогда больше не сможете смотреть на них прежними глазами) Это только начало галактики — и новые модули будем докатывать. Для понимания апдейтов можно завести аккаунт: https://open-xai-platform.web.app/register (письмо-подтверждение может упасть в спам — гляньте туда, если не пришло). Тыкать, пробовать и делать баг-репорты (мы надеемся, что последнего будет мало) сюда: https://open-xai-platform.web.app

  • В целом, мир observability/трейсинга бОльший — Langfuse, Phoenix/Arize, AgentOps, плюс eval-фреймворки типа Inspect. Они все показывают, ЧТО делал агент (логи, шаги, стоимость), но не объясняют ПОЧЕМУ. Это ближе к мониторингу, а не интерпретируемости и тут очень сложно разводить границы. Прикольная карта направления — обзор «Agentic-Transparency» (survey + таксономия). Но сейчас interp (более менее не экспериментальный) построен на SHAP. Посмотрим, куда доплывем! Если вы что-то юзаете на регулярной основе — было бы интересно послушать.

  • XAI для агентов: библиотеки Консерватор с тревожкой, когда кто-то что-то делает за него (я), наконец докопался до XAI для агентов. Что у нас есть: С агентами, вместо модели, нас интересует действие и их последовательность. Отсюда мы ставим вопрос: «почему был выбран этот путь/тула/шаг?». На текущем этапе развития интерпретируемости мы бы умерли, если бы тащили для ответа Mech-Interp, потому что у нас появляется гамбургер: Агенты что-то делають. [агенты-тусят] Агент что-то сделаль. [шаги-действий] Модель, задающая мозг агента. [о-веса-если-они-открыты] Поэтому агентский XAI работает как привыкли в классике и использует в основном SHAP (SHapley Additive exPlanations). Что это: SHAP — супер-фундаментальный-в-XAI — метод из кооперативной теории игр. Идея на аналогиях — решить задачу справедливого разделения выигрыша между игроками. На выходе всегда вклад каждого игрока, хитро взвешенный на его участие. Классический SHAP всегда требует 2ⁿ прогонов, где n — число игроков. Можно протыкать по нему урок в free курсе (на русском). В игровом подходе нас интересует то, что игроками могут быть разные штуки: сами агенты (когда их много — мультиагентная система), то, что они юзают, если мучаем одного агента (его инструменты) и то, что агент подтянул в контекст (документы в RAG). В такой парадигме сейчас есть две либы: — AgentSHAP — Shapley-атрибуция важности инструментов агента через метод Монте-Карло (ММК). ММК оптимизирует 2ⁿ необходимость. Концептуально AgentSHAP дёргает только вход-выход и строит на этом распределение Shap. Проверок пока немного (по сути только в самой статье), и по людям кажется, ещё не разошлось. Плюс — без PyPI, надо клонировать локально (я уже; наиграюсь — сделаю туториал). — LLMX — возможно, статья на rebuttal =). Тоже «Shapley-атрибуция для RAG на минималках»: ShapleyAttributor считает вклад каждого извлечённого документа/куска контекста в вероятность конкретного ответа — прямой ответ на «что из контекста реально сработало» в RAG и мультиагентных пайплайнах. Чем отличается от AgentSHAP: Другие игроки: там инструменты агента, тут куски контекста. Второе — что считаем «выигрышем»: AgentSHAP смотрит на падение качества ответа (семантическая близость), а LLMX — на вероятность (log-prob), которую модель даёт нужному ответу. Плюс аппроксимация не только ММК, а целых пять. В том числе две основанные на суррогатах — линейных модельках. Суррогат мне показался тоже прикольным на подсвет: Вместо перебора коалиций гонят LLM на ~X случайных «масках» (какие куски контекста включены/выключены) и записывают, какая вероятность ответа вышла. На этих X примерах учат лёгкую линейную модельку «маска → результат», и её веса по каждому куску — это и есть атрибуция. В классическом XAI так работает LIME. Что есть ещё: Это без SHAP, но и не про интерпретируемость (интерпретируемость предполагает всегда оценку вклада сколь угодно уточненную от эмпирики каким-то методом, а все, что ниже — отслеживание эмпирического почему). — Docent — не вижу ничего лучше, чем назвать как "анализатор логов". Шага два: DQL — фильтр-поиск по логам, типа «покажи все, где агент лез к файлам». Reading-шаг — а на каждый вытащенный ран натравливается LLM, читает его и ставит метку / оценку / короткий пересказ (один ран = один запрос к модели). Это всё Python-скрипты с кэшем. Я это делаю руками)) — Petri — pipeline-версия для богатых — агент-аудитор, изучающий поведение целевой модели. Схема из трёх ролей: auditor ведёт многоходовый диалог (до 30 шагов, с симуляцией инструментов и откатами), target отвечает, judge размечает транскрипт. Target — целевая модель, Judge — ещё одна LLM. Работает, красиво, но дорого и долго. — AgentBoard — аналитическая eval-доска для multi-turn агентов: fine-grained progress rate, разбивка по сабскиллам и визуализация траекторий — видно, на каком шаге и почему агент сыпется, но без чиселки важности.

  • видео или голосовое, без подписи

  • +1

    Пишу rebuttal эксперименты на NIPS. Статью делали ещё осенью, кажется, так что пришлось заново читать, чтобы осознаться. Так вот — открыла текст не тем редактором — а там prompt injection 🙂 Оказалось: защита NIPSa от LLM-ревью. Вот вам и "сложные времена рождают сложные решения". Счастливых всем rebuttals и пусть удача всегда будет с вами.

  • видео или голосовое, без подписи

  • видео или голосовое, без подписи

  • Если лень читать — заходите за красивыми картинками.

  • Привет, друзья! Как запаковать мир? Всё свободное время я ботаю математику, и это рождает побочную красоту. И наконец-то я добила новый туториал — про то, как модели упаковывают концепты в многообразия. Я била его долго — и он побил меня. Надеюсь, вам понравится! Многообразие — это пространство, которое вблизи каждой точки выглядит как обычная прямая или плоскость, даже если целиком оно замкнуто и искривлено. Муравей на окружности уверен, что ползёт по прямой. Мы на почти-круглой Земле уверены, что вокруг плоскость. Туториал описывает то, как (и когда) в моделях возникает простейший пример такой структура — окружность. В туториале описана связанная теория и даже теорема — где мы пытаемся понять, как и сколько структур в виде многообразий модель может в себя упаковать. Если вы не знаете, что такое многообразие, концепт, и прочие слова из заголовка — там всё-всё описано. Также в туториале можно сходить поискать эти окружности в GPT-2 руками. И найти идеальный циклический порядок (метрика цикла — τ = 1.00) и абсолютно кривой круг (метрика круга — R² ≈ 0). То есть модель хранит порядок, а не кружочек. Почему, как можно точнее и так далее, а также постановки экспериментов ждут вас на Хабр и на гитхабе! Весь код воспроизводим (plug-play-and-research-please), но статья толстая. 📖 Статья: https://habr.com/ru/articles/1063222/ 💻 Ноутбук: https://github.com/SadSabrina/XAI-open_materials/blob/main/geometrical_structures/whitney_manifolds.ipynb

  • P.S. Вы — лучшие — я вчера прям на какой-то момент остановилась (вчено куда-то бегу) и поняла, что очень ценю людей вокруг, которые помогают мне двигаться вперед и дальше. Спасибо за все приятнейшие слова и сердечко-огонечки! ❤️‍🔥

  • Порадовались (друзья, спасибо вам всем громадное!)— структурируемся — вновь свеженькая библиотека — CircuitKIT. Идея библиотеки красивая — упростить процесс работы с цепочками (или схемами, выберите тот перевод на русский, который вам ближе) — circuits. Напоминание: Circuit — минимальный подграф модели (головы + MLP), причинно отвечающий за конкретное поведение. Пример, задача IOI (indirect object identification). Вход: «When Mary and John went to the store, John gave a drink to ___» — модель должна продолжить «Mary». За это отвечает не вся сеть, а конкретный набор attention-голов: одни находят повторяющееся имя (John), другие его подавляют, а «name-mover heads» копируют в ответ оставшееся — Mary. Вот этот набор голов и есть circuit для задачи IOI. В реальности, работа с цепочками и задачами вокруг них содержит 3 шага: 1. Найти это (discover) 2. Проверить, что мы нашли то, что искали (evaluate) 3.Попробовать изменить поведение модели (intervene) Под каждый шаг есть набор библиотек. У авторов есть таблица (см. Table 1 в статетьй) с покрытием и с тем, что авторы решают, исходя из существующего — агрегируют всё. Для каких моделей: Поиск circuits сделан через TransformerLens и покрывает модели оттуда — GPT-2, Pythia, Llama, Gemma, Qwen, Mistral, Phi, Falcon. Интервенции требуют ещё «дореализации» — сейчас покрыли только Llam-у, Qwen, Gemm-у. Что внутри: 🪁 Discovery — 13 алгоритмов в четырёх семействах, разделённых на stable и research tier по объёму кросс-модельной проверки. В stable — градиентная атрибуция (EAP (Edge Attribution Patching) / EAP-IG / EAP-GP), поисковый ACDC (поднять козу \m/), IBCircuit и contextual decomposition (CD-T). Есть уровни детализации: — node level — importance score на целую attention-голову или MLP-подслой, — neuron level считает отдельный score для каждого head-канала и каждого MLP-нейрона. Neuron level удобен с точки зрения вмешательств — в них точечно по определению можно вмешиваться, а для MLP можно (нужно) выбирать, где мерить: на residual-интерфейсе (mlp_out, по умолчанию) или на post-activation слое (post_act). Ограничение — 7 вариантов из EAP-семейства провалидированы на одной GPT-2/IOI, шесть других методов, обозначенных за stable, гоняли кросс-модельно (GPT-2, Llama, Gemma, Qwen). Данные — свой CSV / JSONL / HF-датасет заводится в задачу декларативными шаблонами, без кода под каждый датасет. Ещё библиотека умеет синтезировать данные. Сюда я особо не долезла (но все есть в статье и доке). 🪁 Evaluation — декомпозиция оценки на 6 метрик patching, ablation, stability, robustness, baselines, generalization. Логика нравится, ибо одиночная метрика очень не устойчива к способу оценки, а тут покрытие на разные стороны. 🪁 Intervention — семь модулей: структурный прунинг, mixed-precision квантизация, selective fine-tuning, редактирование знаний (ROME / MEMIT), activation steering, Circuit-restricted LoRA healing, Hallucination probing. Также есть диаграммы визуализации и туториалы на потрогать. Документация: https://lexsi-labs.github.io/CircuitKIT/ Примеры и туториалы: https://lexsi-labs.github.io/CircuitKIT/examples/overview/ (красиво собрали) Репозиторий: https://github.com/Lexsi-Labs/CircuitKIT Статья: arXiv:2607.19317 Ешё душненькие нюансы: Лицензия source-available от Lexsi Labs — free for research, evaluation, education, and audit, но для коммерции — ни-ни), поддержка TransformerLens 3.x только в планах и большая часть методической части реализована в статье на задаче — IOI (он же стоит дефолтом почти во всех примерах кода). Ширину оценки добирают: — Greater-Than — задачей числовой порядок: на вход что-то вроде «The war lasted from the year 1717 to the year 17__», и модель должна продолжить большим двузначным годом (> 17). Проверяет, умеет ли модель сравнивать числа. — Бенчмарками— стандартные оценочные датасеты: BoolQ (yes/no вопросы) и MMLU (знания с выбором ответа). В табличку тоже закинула, заодно с related-либой Auto-Circuit (но она давно не обновлялась по коммитам).

  • видео или голосовое, без подписи

  • Ну вот чтоб вы понимали, этот масштаб-щенячьего-восторга)))