Истории (не)успеха (ИИ)ЕИ
440 subscribers
171 photos
89 videos
2 files
265 links
Просто о математике, нейросетях, программировании, спорте, политике, культуре. Общение, контакты, международные онлайн дискуссии/лекции в формате лайвстрим, встречи на спорт в Мюнхене.
Download Telegram
2/2. начало 👆

Эти фичи делятся на два типа:

🟦 Input features — активируются в ответ на входной текст.
🟥 Output features — напрямую влияют на финальный выбор токена.

Всё это соединено в виде графа, где видно, как сигнал проходит от входа к выходу.

🔬 Как такие features возникают?
Внутри модели существуют features — абстрактные внутренние понятия, которые представляют собой устойчивые паттерны активаций нейронов.
Вот что важно:
Никто не прописывал эту фичу вручную.
Она автоматически сформировалась во время обучения модели.

Как это происходит? Во время тренировки: Модель многократно видит тексты, где рядом встречаются, например: "France — Paris", "French food — Paris restaurants", "capital of France is Paris" и т.д. Внутри модели (в слое внимания) некоторые нейроны/веса начинают стабильно активироваться, когда появляются такие шаблоны. Эти стабильные паттерны "конденсируются" в фичу — вроде "French / Paris".

Эта фича закрепляется потому, что она полезна для предсказаний — она помогает модели угадать следующее слово, связанное с Францией.

Input features — что это? Это такие паттерны активаций, которые возникают в ответ на входной текст.
Например, если модель видит слово «Paris», активируется фича, связанная с географией или столицей Франции.
Эти паттерны не прописаны вручную, а формируются во время обучения — модель сама выделяет важные свойства текста.

Output features — что это?
Это паттерны, которые напрямую влияют на выбор следующего слова (токена).
Они как бы «голосуют» за определённый ответ и формируют итоговую вероятность.
Эти features находятся ближе к выходу модели и управляют тем, что модель в итоге выдаст.

Как мы узнаём о существовании этих features?
👉
С помощью методов атрибуции — вычисляем, какой вклад в ответ внес каждый нейрон или группа нейронов.
👉Через абляции — отключаем части модели и смотрим, как меняется поведение.
👉Анализируем активации — ищем повторяющиеся, стабильные паттерны.
👉Создаём визуализации — например, атрибуционные графы, которые показывают цепочки влияния от входа к выходу.

📌 Пример
Ты вводишь: "The capital of France is".
Input feature "French / Paris" активируется. Дальше она передаёт сигнал к более абстрактным фичам, типа:
"capital-of-country", "factual-geography-knowledge", "France → Paris association".

И уже на финальном этапе output features "проталкивают" токен "Paris".

💻 Попробовать самому:

Веб-интерфейс
. Просто открой и введи любую фразу:
👉
https://www.neuronpedia.org/gemma-2-2b/graph
(На базе Gemma-2 2B, от Google)

Или прямо в Google Colab
. Готовый ноутбук от Anthropic, никаких установок:
👉
https://github.com/safety-research/circuit-tracer/blob/main/demos/circuit_tracing_tutorial.ipynb

Посмотри, какие input features срабатывают на твоём примере и как они влияют на output features. Это настолько наглядно показывает, что происходит "внутри" ИИ, насколько это сегодня вообще возможно показать наглядно.


#Interpretability #DevInterp #MechInterp #Antropic #AttributionGraphs

@easy_about_complex
2👍1