Data Blog
1.47K subscribers
100 photos
3 videos
4 files
178 links
Канал про интерпретируемость моделей и путь до phD, если автор не уйдет пасти овец.
Download Telegram
Ещё одна библиотека, до которой у меня (пока) не доходят руки, но новая, свежая, как булочки в пекарне.

Привет, друзья!
🔠 ICX360 — ещё одна библиотека для in-context объяснений LLM. In-context здесь — отсылка на то, что объяснения привязываются к input — к словам, предложениям или частям промпта, на основании которых LLM сгенерировала output.

Что внутри:

• Pertubation-based методы (то есть — методы на основе вмешательства — заменяем, убираем, искажаем часть и смотрим, как меняется выход);
• Contrastive explanations (ссылаясь на CELL your Model) — автоматически созданные «отредактированные» промпты. Идея: найти «слегка изменённую» версию промпта, при которой модель даёт заметно другой ответ по заданной метрике.
• Реализация Token Highlighter — метод, унифицированный на анализ токенов, которые могут вести к jailbreak-поведению.

И ещё:
• Поддерживают большие inputs на основе уровневых объяснений — от крупных частей входа (предложений) до слов и фраз (App. C. 3)

В комплекте:
Методы, документация, тесты и быстрые стартовые ноутбуки (Colab прямо сразу). Ноутбуки я потрогала — классные! Хочу сделать что-то интересное.

В общем, делаем
uv pip install icx360
uv run python -m spacy download en_core_web_sm
uv run python -m spacy download en_core_web_trf

и +1 в копилку исследования моделей)
10👍6
Ещё больше ссылок про трансформеры.

Привет, друзья! Наверное, уже мало кого можно удивить визуализациями attention flow и тем, как работает трансформер. Но, каждый раз находя новые, я всё ещё ловлю детский восторг.

Недавно нашла широкую и аккуратную визуализацию circuits в модели GPT-2, где видно, как признаки из разреженного базиса формируют цепочки.

Напомню, что circuits — это цепочки внутренних активаций признаков. Важное слово в определении — цепочки — вот этот токен активировал эту фичу, эта фича — другую, та — грамматический паттерн, и так далее до следующего предсказанного слова.

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

Circuits на SAE.

Приложение отсюда демонстрирует circuits, найденные с использованием SAE. Как это построено:

1. Для каждого вектора берем его разреженное представление. Так как представление разреженно — у нас много неактивных признаков;

2. Далее фиксируется пример и для него выбираются активные признаки последнего слоя (пусть L)

3. Далее последовательно для каждого L-i выбираем значимые признаки с прошлого слоя, выключаем их (стаим, например, в 0) и смотрим, поменялись ли активации выше по слою. Если да, то считаем признак участвующим в формировании цепочки, тригерящей признак на слое будущем.

4. После процедуры 3 все найденные связи собираются в граф, который проходит через pruning. И так получается circuit.

В чём продуктивность circuits?

Если посмотреть на приложение может показаться, что circuits — просто что-то классненькое. Но на деле их применяют для дебаггинга, управления (при помощи патчинга) и для понимания моделей с точки зрения теории (в том числе для анализа внутренней геометрии).

Теоретически их можно масштабировать — если какой-то circuit появляется в GPT-2, GPT-2-medium и GPT-J — значит это может быть масштабируемым вычислительным механизмом, встроенным в архитектуру, что даёт больше понимания о моделях, как о сущности, хоть мы и не знаем, почему модели вообще учатся ещё на уровне проблем с лоссом.

Помимо этого материала у меня есть подборки тут, тут и даже конспект лекции о том, как работают трансформеры — тут. Кроме того, существует большой материал от 3Blue1Brown — и, наверное, это золотая отправная точка "входа" в трансфомеры. Так что если вдруг трансформеры входят в ваши планы на Новый год — рекомендую почитать.
10
И немного updates:

Сейчас наконец-то удается заниматься рисерчем уровнем выше, чем только самостоятельные исследования. Плотно работаю с просто лучшей научницей https://t.iss.one/MrsWallbreaker , исследую в мини группе с товарищами из UVA University и подключилась к ещё одному проекту, где пока ничего не сделала, но в процессе. 😁

Ещё из крутого, помимо того, что нас с коллегами приняли на AAAI, нам дали ещё и время на oral presentation — выступление с докладом перед аудиторией. Мои ораторские навыки к нулю не стремятся, а вот ораторские навыки на английском — где-то там. Поэтому я очень жду этот опыт выступления и чуть-чуть волнуюсь.

Про статью, да — у нашего детища появился препринт на архиве!

Кроме того, за это время мне удалось фуллтайм поработать с просто крутейшими ребятами, но пришлось что-то выбирать, и о своем опыте магистратуры-и-работ позвали рассказать в ВШЭ на декабрьский воркшоп.

Так что вот так я постепенно приду в себя после марафона, достану все черновики туториалов и продолжу вести канал.
⛄️❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
20🔥8👍3
Материалы для чтения.

Вчера потребовалось понять, как считать доверительный интервал для пропорции.

Эта задача возникает, когда у вас есть пропорция, посчитанная по N наблюдениям (скажем, число ответивших «да» в эксперименте). Дать одно число нечестно — при прочих равных эксперимент зависит от случайности. Поэтому всегда и везде, ДИ требуется.

В моем случае эта задача возникла рядом с анализом attack success rate (ASR) (успешной атаки на модель) в двух конфигурациях эксперимента. Какое-то время я изучала статьи, и меня эта метрика всегда вводила в ступор — она устоявшаяся, а меня все случаи оценки пропорций настораживают ещё от доли неправильных ответов из ML (accuracy). Поэтому, чтобы быть в ступоре поменьше (и потому что ДИ — это единственный корректный метод предоставления результата), было решено добавить больше формальности.

Обычные интервалы называются Wald intervals и проблема, которая заставила задуматься и не использовать их— это то, что в базовой постановке ДИ может выйти за [0,1], а значений больше 1 и меньше 0 для пропорции быть не должно. Эта проблема связана с симметричностью интервала.

У статистики на многое есть решение — и, оказалось, есть решение и на это. Вместо обычного ДИ, который приближает распределение пропорции нормальным, можно использовать Wilson score интервал. Интервалы Вильсона асимметричны за счет сдвига и добавления знаменателя — полная формула красиво объяснена тут. Интуитивно построение таково — если наблюдаемая пропорция близка к 0 или 1, то неопределённость в сторону границы меньше, чем в сторону центра. В питоне из коробки их тоже можно посчитать (см. statsmodels).

Пока копалась, нашла забавный учебник о том, что такое рисерч. В нем описано, как строить эксперименты, зачем ставить RQ, почему нужны доверительные интервалы и прочие базовые, но нужные вещи, которые помогают приземлиться при планировании эксперимента. Кроме того, в нем много практических задач (и в том числе объясняются те-самые-ДИ). Может, пригодится и вам.
5🔥2🤝2