Ещё одна библиотека, до которой у меня (пока) не доходят руки, но новая, свежая, как булочки в пекарне.
Привет, друзья!
🔠 ICX360 — ещё одна библиотека для in-context объяснений LLM. In-context здесь — отсылка на то, что объяснения привязываются к input — к словам, предложениям или частям промпта, на основании которых LLM сгенерировала output.
Что внутри:
• Pertubation-based методы (то есть — методы на основе вмешательства — заменяем, убираем, искажаем часть и смотрим, как меняется выход);
• Contrastive explanations (ссылаясь на CELL your Model) — автоматически созданные «отредактированные» промпты. Идея: найти «слегка изменённую» версию промпта, при которой модель даёт заметно другой ответ по заданной метрике.
• Реализация Token Highlighter — метод, унифицированный на анализ токенов, которые могут вести к jailbreak-поведению.
И ещё:
• Поддерживают большие inputs на основе уровневых объяснений — от крупных частей входа (предложений) до слов и фраз (App. C. 3)
В комплекте:
Методы, документация, тесты и быстрые стартовые ноутбуки (Colab прямо сразу). Ноутбуки я потрогала — классные! Хочу сделать что-то интересное.
В общем, делаем
и +1 в копилку исследования моделей)
Привет, друзья!
🔠 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 в копилку исследования моделей)
GitHub
GitHub - IBM/ICX360: In-Context Explainability 360 toolkit
In-Context Explainability 360 toolkit. Contribute to IBM/ICX360 development by creating an account on GitHub.
❤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 — и, наверное, это золотая отправная точка "входа" в трансфомеры. Так что если вдруг трансформеры входят в ваши планы на Новый год — рекомендую почитать.
Привет, друзья! Наверное, уже мало кого можно удивить визуализациями 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 — и, наверное, это золотая отправная точка "входа" в трансфомеры. Так что если вдруг трансформеры входят в ваши планы на Новый год — рекомендую почитать.
peterlai.github.io
Mapping the Inner Workings of Simple LLMs
View interpretable “circuits” extracted from LLMs using the GPT-2 architecture.
❤10
И немного updates:
Сейчас наконец-то удается заниматься рисерчем уровнем выше, чем только самостоятельные исследования. Плотно работаю с просто лучшей научницей https://t.iss.one/MrsWallbreaker , исследую в мини группе с товарищами из UVA University и подключилась к ещё одному проекту, где пока ничего не сделала, но в процессе. 😁
Ещё из крутого, помимо того, что нас с коллегами приняли на AAAI, нам дали ещё и время на oral presentation — выступление с докладом перед аудиторией. Мои ораторские навыки к нулю не стремятся, а вот ораторские навыки на английском — где-то там. Поэтому я очень жду этот опыт выступления и чуть-чуть волнуюсь.
Про статью, да — у нашего детища появился препринт на архиве!
Кроме того, за это время мне удалось фуллтайм поработать с просто крутейшими ребятами, но пришлось что-то выбирать, и о своем опыте магистратуры-и-работ позвали рассказать в ВШЭ на декабрьский воркшоп.
Так что вот так я постепенно приду в себя после марафона, достану все черновики туториалов и продолжу вести канал.
⛄️ ❤️
Сейчас наконец-то удается заниматься рисерчем уровнем выше, чем только самостоятельные исследования. Плотно работаю с просто лучшей научницей 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, почему нужны доверительные интервалы и прочие базовые, но нужные вещи, которые помогают приземлиться при планировании эксперимента. Кроме того, в нем много практических задач (и в том числе объясняются те-самые-ДИ). Может, пригодится и вам.
Вчера потребовалось понять, как считать доверительный интервал для пропорции.
Эта задача возникает, когда у вас есть пропорция, посчитанная по N наблюдениям (скажем, число ответивших «да» в эксперименте). Дать одно число нечестно — при прочих равных эксперимент зависит от случайности. Поэтому всегда и везде, ДИ требуется.
В моем случае эта задача возникла рядом с анализом attack success rate (ASR) (успешной атаки на модель) в двух конфигурациях эксперимента. Какое-то время я изучала статьи, и меня эта метрика всегда вводила в ступор — она устоявшаяся, а меня все случаи оценки пропорций настораживают ещё от доли неправильных ответов из ML (accuracy). Поэтому, чтобы быть в ступоре поменьше (и потому что ДИ — это единственный корректный метод предоставления результата), было решено добавить больше формальности.
Обычные интервалы называются Wald intervals и проблема, которая заставила задуматься и не использовать их— это то, что в базовой постановке ДИ может выйти за [0,1], а значений больше 1 и меньше 0 для пропорции быть не должно. Эта проблема связана с симметричностью интервала.
У статистики на многое есть решение — и, оказалось, есть решение и на это. Вместо обычного ДИ, который приближает распределение пропорции нормальным, можно использовать Wilson score интервал. Интервалы Вильсона асимметричны за счет сдвига и добавления знаменателя — полная формула красиво объяснена тут. Интуитивно построение таково — если наблюдаемая пропорция близка к 0 или 1, то неопределённость в сторону границы меньше, чем в сторону центра. В питоне из коробки их тоже можно посчитать (см. statsmodels).
Пока копалась, нашла забавный учебник о том, что такое рисерч. В нем описано, как строить эксперименты, зачем ставить RQ, почему нужны доверительные интервалы и прочие базовые, но нужные вещи, которые помогают приземлиться при планировании эксперимента. Кроме того, в нем много практических задач (и в том числе объясняются те-самые-ДИ). Может, пригодится и вам.
corp.ling.stats
Binomial → Normal → Wilson
Introduction One of the questions that keeps coming up with students is the following. What does the Wilson score interval represent, and how does it encapsulate the right way to calculate a confid…
❤5🔥2🤝2