Data Blog
1.35K subscribers
98 photos
3 videos
4 files
161 links
Канал про интерпретируемость моделей и путь до phD, если автор не уйдет пасти овец.
Download Telegram
Привет, друзья!

Половину лета делала рисерч на предмет того, нужно ли отдельно как-то разбирать XAI для других модальностей. Оказалось, почти не нужно, но есть что-то, чем всё-таки здорово поделиться. И сегодня в программе

Библиотеки для interpretability на Time Series данных.

1. TSInterpret — для интерпретации моделей, обученных задаче классификации на временных рядах. В библиотеке два типа методов:

— Instance-based — методы, основанные на конкретной точке данных. Все доступные методы в библиотеке построены на контрфактуальных примерах. Разница — в построении контрафакта — один основан на шейплейтах (обратите внимание на красоту слова), второй основан на замене кусочков ряда признаками для другого объекта из train-ser, третий — на эволюционном алгоритме.

— Feature attribution methods — методы, основанные на получение важных признаков, определяющих поведение модели. В библиотеке всего два метода — один расширяет тепловые карты, второй — основан на LIME.

2. TimeInterpret — библиотека в основном построенная на Feature attribution methods, причем многие методы — расширение классических XAI методов с поправкой на временной ряд.

Методы в основном основаны на вычисление важности либо через градиент, либо через маскирование.

3. TSCaptum — библиотека, полностью построенная на адаптации методов из библиотеки Captum под временные ряда и библиотеки для работы с временными рядами, типа aeon toolkit.

Ещё можно отдельно подсмотреть код тут (CAM для Multivariative TS), пример полного XAI-workflow тут, а статьи собраны в этом прекрасном репозитории.

__________________

А ещё вчера с коллегами закинули статью сюда, и это был безумно великолепный опыт подготовки материалов к не университетским конфам!

Даже если будет реджект (но это мы узнаем только в сентябре) — работа дала много новых навыков. И, конечно, бесспорно лучших коллег, потому что сабмиты мы делали в 2 часа ночи по GMT +3, и в час ночи по IST и GMT+2.

Думаю, про это ещё напишу, если вам интересно! Как-то дайте знать)

Отличного вам дня,
Ваш Дата-автор!
8🔥1💩1😍1🤣1
Привет, друзья! Врываюсь с полезными материалами! :)

Сделала открытую страничку, посвящённую механистической интерпретируемости.

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

Пока что глобально сильных результатов, вроде тех, что приближали бы к ответу на вопрос "Как спастись от AGI?" нет. Но с помощью MI можно:

— находить интерпретируемые признаки внутри моделей и отслеживать, как они взаимодействуют;
— создавать инструменты для редактирования поведения моделей (feature editing, model steering);
— теоретически понимать архитектуры вроде трансформеров, на которых сегодня держится весь прогресс :)

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

Другие ресурсы по MI есть, конечно. Но я хочу сделать "живой справочник" и подтягиваю свежие статьи и работы, чтобы можно было сориентироваться в том, что есть сейчас.

Надеюсь больше не пропадать, хотя творческий кризис — это почти полезно, если из него выйти.

Всегда Ваш,
Дата-автор! :)
1117👍6❤‍🔥4
📰 Neuronpedia

Достаточно давно наблюдаю за разными ресурсами, которые помогают потрогать интерпретируемость в онлайн режиме. Сделать такой ресурс сложно, поддерживать — ещё сложнее, и один из любимых для меня — Neuronpedia. И сегодня туда как раз завезли обновления.

Neuronpedia — похожа на 3Blue1Brown, но только для механистической интерпретируемости.

В режиме игры (или простого «тыкания») там можно:


* попробовать Gemma Scope — мини-игра, которая поможет понять, что такое признак (feature) в модели, как найти за что отвечает признак и как управлять (steering) моделью на основе найденного признака;
* исследовать Circuit Tracer — визуализация, которая помогает понять, как признаки проходят по модели layer by layer и образуют цепочки (circuits);
* рассмотреть аннотированные признаки, полученные с помощью SAE и Transcoders на разных моделях — эта возможность хорошо описывает идею SAE (sparse autoencoders), Transcoders и то, как именно с ними получаются признаки.

Моделей с обученными SAE немного, но они пополняются и «свежая» появилась сегодня — Qwen3-4B с 6 миллионами автоматически аннотированными фичами. SAE доступны сразу для всех слоёв.

📰 Выделенные понятия — feature, steering, circuit, sae, transcoders — сейчас составляют основное направление в MI.

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

Всем хорошей среды!
Ваш Дата-автор.
5🔥4
Personality и поведение моделей

Привет, друзья! В блоге Anthropic вышла новая любопытная заметка Circuit Vignette, где показана красивая пища для размышлений — как системный промпт в виде задания роли влияет на ответ модели.

TLDR:
"ты — аналитик данных/разработчик/..." улучшит вайб-кодинг. Показано теперь не только эмпирически, но и теоретически.

Контекст:

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

Что сделали:

Взяли простой пример — попросили модель ответить на вопрос What is the square root of 27? в роли школьника и в роли graduate student.

Модель-в-роли-школьника: «Я не знаю! Это сложная задача для взрослых. Давай поиграем в кубики?»
Модель-в-роли-graduate student: дает корректный ответ.

Дальше, с помощью графов формирования ответа, описывающих circuit’s* для каждого ответа, рассмотрели процесс формирования outputs.

*circuit — это подграф вычислительного процесса модели, где отдельные узлы соответствуют активациям признаков или токенов, а рёбра показывают, как информация «перетекает» от одной части модели к другой.


Граф прикрепляю, на нем видно, что:

* роль школьника связана с активацией признака «ребёнок дошкольного возраста»;
* роль школьника усиливает активацию для ответа «я не знаю»;

Что это значит и доп результаты:

1. Роль может дать подавление знания: активации, связанные с «ролью ребёнка», усиливают шаблон «Я не знаю», хотя в базовой версии — ответ модели корректный.
Но подавление знания не стабильно: на задачу извлечения корня из 25 модель-дошкольник дала ответ.

2. Роль graduate student не дает существенного влияния на результат. Открытый вопрос — значит ли это, что модель просто не сформировала роль или такой результат связан с тем, что потенциальный ответ graduate student совпадает с дефолтным?

Почему это интересно:

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

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

Конечно, понять как это формируется до конца — сложно. Даже этот пример генерирует кучу открытых вопросов, с которым нужно работать. Но я опять ловлю себя на мысли, что это красиво и радуюсь тому, что есть всё больше инструментов и теоретической базы, чтобы это всё изучить. ❤️‍🔥
4❤‍🔥2
3
Моя персоналити на эту осень — студент, рисерчер на полставки и преподаватель. Иду к цели принести полноценный курс по интерпретируемости в университет, опубликовать статью и продолжить преподавать.

А ещё мне очень хочется продолжать развивать канал, поэтому традиционный (вместе с кризисами творчества) пост — чего бы вы хотели видеть в контенте?

Буду признательна за комментарии. А если у вас есть идеи по коллабам — дайте занть — я вам напишу или пишите сразу мне — @sabrina_sadiekh :)

Отличного начала осени! ☺️
🔥15