# ГЛАВА 2. ГДЕ В МОДЕЛИ «ЖИВУТ» ЗНАНИЯ

---

В Главе 1 мы увидели, как токены превращаются в векторы. Теперь разберём, что происходит с этими векторами внутри модели — где именно хранятся «знания» и какие механизмы их извлекают.

Представьте модель как огромный город. В этом городе есть дорожная сеть — развязки, перекрёстки, указатели — и есть здания: библиотеки, архивы, склады. Дорожная сеть определяет, *куда* направить запрос; здания *хранят* ответы. Так вот, в Transformer **Attention — это дорожная сеть**, а **MLP — это здания**. Понять, где живут знания модели — значит понять, какие здания открыть и по какой дороге к ним проехать.

## 2.1. Два блока Transformer: Attention маршрутизирует, MLP хранит

Современная архитектура Transformer (Vaswani et al., 2017) состоит из повторяющихся блоков, каждый из которых содержит два ключевых компонента. Их роли принципиально различны, и понимание этого различия — ключ к предсказанию поведения модели.

### Self-Attention: маршрутизация информации

Self-Attention отвечает на вопрос: **«Какие токены из прошлого контекста релевантны текущей позиции?»**

> **Простым языком.** Представьте поисковую систему. Вы вводите поисковый запрос (Q — query). У каждой веб-страницы есть заголовок (K — key) и содержимое (V — value). Поисковик сравнивает ваш запрос с заголовками всех страниц, ранжирует их по релевантности и выдаёт взвешенную смесь содержимого лучших результатов. Self-Attention работает точно так же — только вместо веб-страниц он «ищет» среди всех предыдущих токенов.

Упрощённо attention делает три шага:

1. Строит query текущего токена: что именно он сейчас ищет в контексте.
2. Сравнивает этот query с keys прошлых токенов через скалярное произведение query и key, получая scores релевантности.
3. Превращает scores в веса через softmax и смешивает соответствующие values.

Где:
- **Q (query)** — «что я ищу?» — *ваш поисковый запрос*
- **K (key)** — «что я предлагаю?» — *заголовок страницы*
- **V (value)** — «что я передам, если меня выберут?» — *содержимое страницы*
- **Нормализация scores** нужна, чтобы ранжирование не превращалось в режим «всё или ничего»

**Аналогия**: Attention — это поисковая система внутри модели. Каждый токен формирует «запрос» (Q), а все предшествующие токены предлагают свои «заголовки» (K). Скалярное произведение Q·K — это оценка релевантности, как score в поисковой выдаче. Затем содержимое (V) лучших «результатов» передаётся пропорционально их рангу.

### Интуиция для студентов: attention как три операции начальной школы

Если временно отбросить проекции Q/K/V и softmax, полезно представить один шаг attention как очень грубую учебную схему:

```text
Новый_V3 = (V3 · V1) × V1 + (V3 · V2) × V2 + (V3 · V3) × V3
```

Это **не точная формула production-attention**, а педагогическая картинка, которая помогает понять смысл умножений и сложений.

1. **Оценка родства.** Выражения вида `(V3 · V1)` и `(V3 · V2)` — это скалярные произведения. Они отвечают на вопрос: насколько текущий токен семантически «похож» на предыдущие. Если векторы сонаправлены, число большое; если почти не связаны — маленькое или отрицательное.
2. **Работа «бармена».** Получив числа сродства, мы используем их как пропорции. Если связь с `V1` сильнее, в новый вектор попадёт больше семантики из `V1`; если сильнее связь с `V2`, больше веса получит `V2`.
3. **Смешивание.** Мы складываем несколько масштабированных векторов и получаем новую контекстную версию текущего токена: в ней сохранился собственный смысл, но к нему «подмешались» релевантные измерения из прошлого контекста.

Эта интуиция полезна потому, что снимает ложную мистику. Attention — не магический «поиск смысла», а серия очень простых операций: сравнить, взвесить, смешать. В реальной модели поверх этого есть ещё три критически важные детали: отдельные проекции Q/K/V, нормализация через softmax и параллельная работа многих attention-heads.

### Multi-Head Attention: параллельные каналы

Одна голова attention смотрит на одно «измерение» релевантности. Несколько голов позволяют одновременно отслеживать разные типы связей. Каждая голова строит свою версию поиска в собственном подпространстве, а затем все результаты склеиваются в общий вектор.

**Что отслеживают разные головы** (эмпирические наблюдения, Voita et al., 2019; Clark et al., 2019):
- **Синтаксические связи**: подлежащее → сказуемое
- **Корреференция**: местоимение → антецедент (`он` → `Иван`)
- **Позиционные паттерны**: предыдущий токен, начало предложения
- **Семантическая группировка**: связанные концепции в одном предложении

### Grouped Query Attention (GQA): компромисс скорости и качества

В классическом Multi-Head Attention каждая голова имеет свои Q, K, V матрицы. Это дорого при инференсе: нужно хранить KV-кэш для каждой головы.

**Grouped Query Attention** (Ainslie et al., 2023) — компромисс:
- Несколько голов query делят один набор K/V
- Llama 3: 8 query-голов на 1 KV-голову
- Ускорение инференса в 2–3× при сопоставимом качестве
- Используется в Llama 3, Mistral, Mixtral и большинстве современных моделей (2024–2026)

**Multi-Query Attention** (MQA) — экстремальный вариант: все query-головы делят один K/V. Максимальная скорость, небольшая потеря качества. Используется в PaLM.

---

## 2.2. MLP как ассоциативная память: ключевое открытие

### Что обнаружили Geva et al. (2021)

Статья «Transformer Feed-Forward Layers Are Key-Value Memories» (Geva et al., EMNLP 2021) — одна из самых важных работ для понимания, как LLM хранят знания. Ключевой тезис:

> Feed-forward слои (MLP) работают как **ассоциативная key-value память**: они активируются на определённых паттернах входа и «вспоминают» связанные ассоциации.

### Как это работает математически

> **Простым языком.** Представьте огромную картотеку с карточками-флешкартами. На лицевой стороне каждой карточки — *паттерн-триггер*: например, «контекст про столицу европейской страны». На обратной стороне — *ответ*: «название города». Когда MLP получает вход, он «пролистывает» все карточки, находит те, чьи триггеры совпали (высокое скалярное произведение), переворачивает их и комбинирует ответы. Это и есть ассоциативная память.

MLP в каждом блоке Transformer работает в три этапа:

1. Сначала расширяет входной вектор в более широкое пространство признаков.
2. Пропускает результат через нелинейность (обычно GELU или родственный ей механизм).
3. Сжимает итог обратно к размерности модели.

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

**Интерпретация как key-value memory:**

- **Строки матрицы расширения** — это **ключи**. Каждая строка кодирует входной паттерн, на который реагирует один «нейрон» скрытого слоя.
- **Столбцы матрицы сжатия** — это **значения**. Каждый столбец кодирует вклад, который соответствующий нейрон вносит в выходное распределение.
- **Активация GELU** — это матчинг: если входной вектор близок к ключу, нейрон активируется и «возвращает» своё значение.

> **Современные варианты.** Оригинальный Transformer (Vaswani et al., 2017) использовал ReLU; начиная с GPT-2 стандартом стала GELU (Hendrycks & Gimpel, 2016), а с Llama — SwiGLU (Shazeer, 2020). Большинство моделей 2024–2026 используют **SwiGLU** (Shazeer, 2020) — вариант, где один поток несёт содержательный сигнал, а второй играет роль gate и решает, какую часть этого сигнала пропустить дальше. Интерпретация key-value памяти остаётся той же: входные матрицы кодируют паттерны-триггеры, выходная — вклад в общий поток. Разница в том, что gating делает активацию «ячеек памяти» более избирательной. Llama 3/4, Mistral, DeepSeek-V3, Qwen3 — все используют SwiGLU.

В промежуточном слое MLP шириной 28 672 нейрона (Llama 3 70B) содержится 28 672 таких «ячеек памяти» на каждый блок. За 80 блоков — это **более двух миллионов ассоциаций**.

### Что хранят разные слои

Исследования показывают чёткую иерархию:

| Слои | Тип знаний | Примеры |
|------|-----------|---------|
| **Нижние (0–10)** | Лексические, синтаксические | Морфология, часть речи, базовые паттерны |
| **Средние (10–40)** | Семантические, фактуальные | `Париж → столица Франции`, `Python → язык программирования` |
| **Верхние (40+)** | Высокоуровневые, абстрактные | Стиль, тон, уровень абстракции, формат вывода |

### Knowledge Neurons: нейроны, хранящие факты

Dai et al. (2022) показали, что конкретные факты можно локализовать до отдельных нейронов. Например, нейрон №4721 в 23-м слое может селективно активироваться на контекстах, связанных с «столицей Франции», и вносить вклад в предсказание токена `Paris`.

Это имеет практическое значение:
- **Удаление знаний** (knowledge unlearning): можно целенаправленно «стирать» факты, обнуляя активацию конкретных нейронов.
- **Редактирование знаний** (knowledge editing): техники ROME (Meng et al., 2022) и MEMIT (Meng et al., 2023) позволяют изменять отдельные факты в модели без полного переобучения. MEMIT продемонстрировал редактирование **тысяч фактов одновременно** (до ~10 000 в оригинальной работе), что делает его практическим инструментом для обновления моделей.
- **Стирание знаний для compliance**: в контексте GDPR (право на забвение) и аналогичных регуляций разработаны методы целенаправленного удаления персональных данных и конфиденциальной информации из весов модели — knowledge erasure. Это не fine-tuning «поверх», а хирургическое вмешательство в конкретные нейроны MLP.
- **Диагностика**: если модель упорно генерирует неверный факт, он «запечён» в конкретных нейронах MLP. Инструменты механистической интерпретируемости (раздел 2.8) позволяют всё точнее находить эти нейроны.

---

## 2.3. Распределение параметров: где «живёт» большинство знаний

Критический факт: **67–82% параметров** Transformer сосредоточены в MLP-слоях, а не в attention. Точная доля зависит от архитектуры: в классическом Transformer с MHA — около 67%, а в современных моделях с GQA + SwiGLU — до 82%.

> **Представьте**: если Transformer — это город, то большая часть его площади занята зданиями-хранилищами (MLP), и лишь малая — дорожной инфраструктурой (Attention). Знания *живут* в зданиях, а дороги лишь ведут к ним.

Для Llama 3 70B (d_model=8192, d_ff=28672, 8 KV-голов, 80 слоёв):

| Компонент | Классический Transformer (MHA) | Llama 3 70B (GQA + SwiGLU) |
|-----------|------|------|
| Attention (Q, K, V, O) | ~33% | ~18% (~151M / слой) |
| MLP | ~67% | ~82% (~705M / слой) |

MLP — это хранилище. Attention — это маршрутизатор, который определяет, какие ячейки MLP активировать и как комбинировать их выходы.

---

## 2.4. Что модель «знает» vs что достраивает

Это разграничение критически важно для проектирования надёжных систем.

### Параметрическое знание: что «запечено» в весах

> **Представьте** студента перед экзаменом. Всё, что он выучил за семестр и удерживает в долговременной памяти — это **параметрическое знание**. А шпаргалка на столе — это **контекстуальное знание** (промпт). Студент может перепутать даты «из головы», но точно прочитает шпаргалку — если, конечно, найдёт нужное место.

**Параметрическое знание** — это всё, что модель выучила из тренировочных данных и сохранила в весах (преимущественно в MLP-слоях):

- Факты: `Земля вращается вокруг Солнца`
- Паттерны: синтаксис Python, формат JSON
- Ассоциации: `ибупрофен → противовоспалительное → НПВС`
- Стиль: как выглядит «деловое письмо» vs «поэзия»

**Свойства параметрического знания:**

| Свойство | Описание |
|----------|----------|
| **Хрупкость** | Факты могут быть неточными: модель «помнит» статистику, а не цитату |
| **Устаревание** | Знания ограничены датой отсечки обучения (cutoff date) |
| **Невозможность цитирования** | Модель не может указать источник факта |
| **Зависимость от частотности** | Часто упоминаемые факты «запечены» надёжнее редких |
| **Контекстная зависимость** | Факт извлекается, только если контекст промпта активирует нужные нейроны |

### Контекстуальное знание: что передано в промпте

**Контекстуальное знание** — информация, предоставленная в текущем промпте или через RAG (Retrieval Augmented Generation):

```xml
<context>
  Бюджет проекта на Q3 2026: $2.4M
  Текущий расход: $1.8M
  Оставшийся бюджет: $600K
</context>
```

**Свойства контекстуального знания:**

| Свойство | Описание |
|----------|----------|
| **Актуальность** | Может быть сколь угодно свежим |
| **Точность** | Определяется качеством источника |
| **Цитируемость** | Модель может ссылаться на предоставленный контекст |
| **Ограниченность окном** | Помещается, пока позволяет context window |
| **Подверженность Lost in the Middle** | Информация в середине длинного контекста хуже извлекается (Глава 5) |

### Интерполяция vs экстраполяция

| Режим | Описание | Надёжность |
|-------|----------|------------|
| **Интерполяция** | Запрос близок к тренировочному распределению | Высокая: модель уверенно «вспоминает» |
| **Экстраполяция** | Запрос выходит за пределы тренировочного распределения | Низкая: модель «достраивает» на основе статистики, а не фактов |

**Пример интерполяции:** «Столица Франции?» → `Париж`. Факт многократно представлен в тренировочных данных, нейроны MLP надёжно активируются.

**Пример экстраполяции:** «Какой бюджет проекта AlphaCorp на Q3 2026?» → Модель не знает этого факта. Но вместо признания «не знаю» она может сгенерировать правдоподобно звучащее число — потому что паттерн «вопрос о бюджете → числовой ответ» выучен из тренировочных данных. Это и есть **галлюцинация** (подробно в Главе 3).

### Скрытые сигналы в данных: что реально показала Nature-работа 2026

В 2026 году вышла важная Nature-работа о **subliminal learning**. Её главный результат звучит сильнее, чем привычная фраза «модель запоминает стиль данных»: teacher-model может передавать student-model поведенческие свойства через данные, которые для человека выглядят **семантически не связанными** с этим свойством. Авторы показали передачу таких свойств через последовательности чисел, через код и через reasoning traces.

Здесь важно не преувеличивать вывод. Эта работа **не доказывает существование универсального "секретного языка трансформеров"** для любых моделей и любых чатов. Напротив, авторы отдельно показывают, что эффект заметно сильнее, когда teacher и student имеют одну и ту же или хотя бы поведенчески близкую базовую модель. Но как инженерный вывод статья очень сильна: в выходах модели может жить полезный для другой модели сигнал, который человек не замечает как явный смысл.

Практическое следствие для LLM-инженерии: synthetic datasets наследуют не только явный task label, но и часть скрытой поведенческой геометрии teacher'а. Поэтому при distillation и self-improvement важно учитывать **происхождение данных**, семейство teacher-модели и режим генерации, а не только видимый текст. Для safety это особенно критично: фильтрация «по словам» не гарантирует, что вы удалили все передаваемые свойства.

---

## 2.5. Уверенный ответ ≠ извлечённый факт

Это один из самых опасных аспектов работы с LLM, и он заслуживает детального разбора.

### Почему модель звучит уверенно, даже когда ошибается

Функция потерь LLM — cross-entropy loss — оптимизирует **правдоподобие** текста, а не его **истинность**. Модель обучена генерировать продолжения, которые были бы естественны в тренировочных данных. А в тренировочных данных уверенный тон — норма: учебники, энциклопедии, документация — все пишут утвердительно.

Модель не имеет внутреннего механизма «неуверенности». У неё есть **logits** (необработанные оценки вероятности для каждого токена), но:

1. **Logits не калиброваны**: высокий logit не означает высокую вероятность истинности. Он означает, что модель считает этот токен статистически вероятным продолжением.

2. **RLHF усиливает уверенность**: при обучении с подкреплением от человеческой обратной связи модель учится генерировать ответы, которые люди оценивают высоко. Люди систематически предпочитают уверенные формулировки — даже если они неверны.

3. **Нет встроенного «я не знаю»**: модель не натренирована отличать «знаю» от «не знаю». Она может отказать только если RLHF/DPO специально научили её это делать для определённых категорий запросов (например, инструкции по созданию оружия).

### Калибровка: измеримая проблема

TruthfulQA (Lin et al., 2022) — бенчмарк для оценки правдивости:

| Модель | Truthful (%) | Информативный (%) |
|--------|-------------|-------------------|
| Человек | 94% | — |
| GPT-4 | ~60–75% (зависит от метрики MC1/MC2 и метода промптинга) | Высокий |
| GPT-3.5 | ~47% | Высокий |
| Llama 2 70B | ~50% | Средний |

Обратите внимание на парадокс: **более крупные модели немного более правдивы — но не пропорционально их размеру**. Масштабирование не решает проблему калибровки.

> **Примечание:** таблица выше включает модели 2022–2024 гг. — именно для них опубликованы результаты TruthfulQA по стандартной методологии. Фронтирные модели 2025–2026 года (Claude Opus 4, GPT-5.x, Gemini 3.x) демонстрируют улучшенную калибровку, но прямые сопоставимые бенчмарки на исходном TruthfulQA-датасете для них публично не доступны.

FActScore (Min et al., EMNLP 2023) — метрика атомарной фактической точности:
- ChatGPT: **58% точность** на задаче генерации биографий
- GPT-4: значительно выше ChatGPT, но далёк от 100%

### Практическое следствие

**Не используйте тон ответа как индикатор его достоверности.** Модель может уверенно утверждать, что «Python 4 вышел в 2025 году» или что «CERN расположен в Женеве, Франция» — с тем же тоном, что и верные факты.

Единственный надёжный способ оценки достоверности — **внешняя верификация**: RAG с проверенными источниками, tool-calling для вычислений, экспертная проверка для фактов.

> Подробный разбор галлюцинаций как системного явления, а также стратегии их снижения — в Главе 3.

---

## 2.6. State Space Models и гибридные архитектуры: альтернатива чистому Attention

### Проблема квадратичной сложности Attention

У Self-Attention есть фундаментальное ограничение: сложность $O(n^2)$ по длине последовательности. При контексте в 1 000 токенов это 1 миллион операций сравнения. При 100 000 токенов — уже 10 миллиардов. По мере роста окна контекста (128K–1M+ токенов) это становится узким местом.

> **Представьте город**, где каждый житель должен лично поговорить с каждым другим жителем, прежде чем принять решение. В деревне на 100 человек это терпимо. В мегаполисе на миллион — невозможно. Нужна другая система коммуникации.

### State Space Models (SSM) и Mamba

State Space Models (Gu et al., 2021; Gu & Dao, 2023) — альтернативный подход к обработке последовательностей с **линейной сложностью** $O(n)$. Вместо того чтобы сравнивать каждый токен с каждым, SSM поддерживает **скрытое состояние** (hidden state), которое обновляется при чтении каждого нового токена — подобно тому, как человек читает книгу, удерживая в голове «конспект» прочитанного.

**Mamba** (Gu & Dao, 2023) — прорывная SSM-архитектура с *селективным* механизмом: модель сама решает, какую информацию запомнить в скрытом состоянии, а какую отбросить. Это даёт:

- **$O(n)$ по длине** вместо $O(n^2)$ — линейное масштабирование
- **Быстрый инференс**: нет KV-кэша, нет квадратичного пересчёта
- **Эффективная работа с длинными последовательностями**: 100K+ токенов без деградации

**Mamba-2** (Dao & Gu, 2024) развил эту линию через фреймворк **Structured State Space Duality (SSD)**, математически показавший, что SSM и определённые формы structured attention — двойственные описания одного механизма. SSD упрощает реализацию и в 2–8× ускоряет обучение по сравнению с Mamba-1, что сделало гибридные SSM-архитектуры практичнее для training at scale.

### Гибридные архитектуры: лучшее из двух миров

Чистые SSM, однако, уступают Attention в задачах **точного извлечения из контекста** — например, «найди в документе конкретную цифру на странице 47». Attention сравнивает токен с каждым другим напрямую, а SSM сжимает историю в скрытое состояние, теряя детали.

Решение — **гибридные архитектуры**, которые комбинируют оба подхода. К 2025–2026 году это стало одним из главных направлений в дизайне моделей:

| Модель | Архитектура | Соотношение | Результат |
|--------|-------------|-------------|----------|
| **Jamba** (AI21, 2024) | Attention + Mamba + MoE | Чередование слоёв | Один из первых публично описанных production-гибридов |
| **Jamba 2** (AI21, январь 2026) | Attention + Mamba-2 (SSD) + MoE | SSM-Transformer + MoE, 256K context; параметры семейства не полностью раскрыты | Production-гибрид второго поколения; state passing между вызовами; Apache 2.0 |
| **Гибридные SSM/attention-модели** | Attention + SSM | Варьируется | Исследуют компромисс между точным retrieval и линейной обработкой длинных последовательностей |
| **MoE + long-context модели** | Attention + MoE | Варьируется | Увеличивают объём знаний и context window без линейного роста inference-cost |

> **Аналогия с городом**: Mamba-слои — это скоростные магистрали, которые быстро перемещают информацию на большие расстояния (длинный контекст). Attention-слои — это точные GPS-навигаторы, которые находят конкретный адрес (извлечение деталей). Гибридная архитектура использует магистрали для общего потока и GPS там, где нужна точность.

### Где живут знания в гибридных моделях?

Принцип остаётся тем же: **MLP-слои хранят знания**, а механизмы маршрутизации (будь то Attention или SSM) определяют, какие знания активировать. SSM-слои привносят способность «помнить» контекст на бо́льших дистанциях, но само хранилище фактов по-прежнему находится в весах MLP.

> Подробнее об архитектурных решениях для длинного контекста и компромиссах hybrid-моделей — в Главе 5.

---

## 2.7. Mixture of Experts: масштабирование знаний без масштабирования inference

### Как работает MoE

Mixture of Experts (Shazeer et al., 2017; Fedus et al., 2021) — архитектурная инновация, позволяющая масштабировать количество знаний модели без пропорционального увеличения вычислений:

> **Простым языком.** Вместо одного огромного MLP-блока в каждом слое MoE использует *несколько маленьких* MLP-блоков (экспертов). Специальный router смотрит на входной токен и решает: «Этот токен о коде — отправим его к эксперту №14. А этот про юриспруденцию — к эксперту №87». На каждый токен работают только 1–2 эксперта из сотен.

На практике MoE работает так:
- экспертные сети — это отдельные MLP-блоки;
- router выдаёт score по экспертам для текущего токена;
- дальше активируются только несколько лучших экспертов, а их выходы смешиваются по этим score.

### Практические реализации

**Mixtral 8×7B** (Mistral AI, 2023):
- 8 экспертов, каждый ~7B параметров
- Router выбирает top-2 эксперта на токен
- **Всего: 46.7B параметров**, но на каждый токен используется только **12.9B** (~28%)
- Результат: качество на уровне Llama 2 70B при **6× более быстром инференсе**
- Контекстное окно: 32K токенов

**DeepSeek-V3** (2024/2025-обновления):
- 256 мелкозернистых экспертов, **671B total параметров, 37B active** на токен
- Auxiliary-loss-free load balancing — router обучается без отдельной вспомогательной функции потерь
- Multi-token prediction (MTP) — предсказание нескольких токенов за один шаг
- Одна из самых сильных open-weight моделей своего поколения

**Switch Transformers** (Fedus et al., 2021):
- Упрощение: top-1 (один эксперт на токен)
- **7× ускорение** при том же compute budget по сравнению с T5-Base

> **Масштаб тренда:** к 2026 году MoE перестал быть экзотикой. Он встречается и в frontier-моделях, и в open-weight релизах вроде Mixtral, DeepSeek-V3, Llama 4 и Qwen3-235B-A22B. Но точные доли по рынку лучше не придумывать: у многих закрытых моделей архитектура раскрыта лишь частично.

### Маршрутизация: как router выбирает экспертов

Router — ключевой компонент MoE. Это небольшая нейронная сеть (обычно один линейный слой + softmax), которая для каждого токена оценивает всех экспертов, выбирает top-k кандидатов и распределяет между ними нагрузку.

Проблемы маршрутизации:

| Проблема | Описание | Решение |
|----------|----------|--------|
| **Коллапс экспертов** | Router направляет все токены к 2–3 «любимым» экспертам, остальные простаивают | Auxiliary load-balancing loss; в DeepSeek-V3 опубликован auxiliary-loss-free вариант балансировки |
| **Нестабильность обучения** | Градиенты router'а зашумлены, обучение может расходиться | Noisy top-k gating (Shazeer et al., 2017); capacity factor limiting |
| **Специализация vs генерализация** | Эксперты могут стать слишком узкими или, наоборот, дублировать друг друга | Мелкозернистые эксперты (fine-grained MoE) с shared-экспертами, как в DeepSeek |

> **Аналогия**: Представьте call-центр с 256 консультантами. Router — это автоматическая система распределения звонков. Если она направляет все звонки двум самым опытным консультантам, те будут перегружены, а остальные 254 будут скучать. Load balancing — это политика, гарантирующая, что нагрузка распределена равномерно и каждый консультант специализируется на своих типах вопросов.

### Что это значит для разработчика

MoE-модели имеют **больше «ячеек памяти»** (больше MLP-нейронов), но активируют только часть из них. Это значит:

1. **Больше хранимых знаний** при том же латенси — DeepSeek-V3 хранит знания в 671B параметров, но тратит compute только на 37B.
2. **Специализация экспертов**: исследования показывают, что эксперты действительно специализируются — одни на коде, другие на математике, третьи на естественном языке. Это подтверждается анализом активаций.
3. **Router может ошибаться**: если маршрутизатор направит токен не к тому эксперту, модель может «забыть» релевантные знания. Это одна из причин нестабильности качества MoE.
4. **Гибридность**: MoE естественно сочетается с другими архитектурными идеями — long-context routing, multimodality и, в некоторых published-системах, SSM-слоями.

---

## 2.8. Механистическая интерпретируемость: заглянуть внутрь чёрного ящика

Всё, что мы обсуждали выше — MLP как память, Attention как маршрутизатор, Knowledge Neurons — оставалось в значительной мере *теорией*. Но к 2025–2026 году появился инструментарий, позволяющий **буквально видеть**, какие знания живут в каких частях модели.

### Sparse Autoencoders: расшифровка нейронов

Ключевой прорыв — работы Anthropic (Bricken et al., 2023; Templeton et al., 2024) по анализу Claude с помощью **разреженных автоэнкодеров** (Sparse Autoencoders, SAE). Идея:

> **Представьте**, что каждый нейрон модели — это не одна «карточка», а суперпозиция десятков концепций, наложенных друг на друга (полисемантичность). SAE — это «призма», которая разделяет этот смешанный сигнал на отдельные «чистые цвета» — interpretable features.

Что удалось найти:
- **Отдельные features для конкретных концепций**: «Golden Gate Bridge», «код на Python», «сарказм», «ссылки на авторитеты»
- **Features безопасности**: нейроны, отвечающие за отказ отвечать на опасные запросы
- **Features для многоязычности**: общие концепции, активирующиеся на одном значении в разных языках

### От feature maps к circuit tracing

К 2024 году интерпретируемость умела отвечать на вопрос **«какие концепции вообще живут внутри модели?»**. Работа Anthropic *Mapping the Mind of a Large Language Model* показала, что из production-grade модели можно извлечь **миллионы интерпретируемых features**, в том числе мультимодальных и многоязычных. Это было важно не только как научное достижение, но и как инженерный сигнал: внутри LLM действительно есть устойчивые представления, которые можно локализовать и каузально проверять.

Следующий шаг в 2025 году — **circuit tracing**. В серии работ Anthropic про *Tracing the thoughts of a large language model* и в open-source tooling акцент сместился с вопроса «какая feature активна?» на вопрос **«как несколько features вместе образуют вычислительную цепочку, которая приводит к ответу?»**. Это уже ближе к диагностике реального механизма, а не только к красивой карте активаций.

Что стало видно на этом уровне:
- **Общее концептуальное пространство между языками**: модель может сначала «думать о смысле», а уже потом переводить его в язык ответа.
- **Планирование на несколько токенов вперёд**: даже автодополняя текст по одному токену, модель иногда заранее строит план концовки строки или ответа.
- **Faithful vs unfaithful reasoning**: в простых задачах можно увидеть цепочки, соответствующие реальным промежуточным вычислениям; в сложных — модель иногда подгоняет правдоподобное объяснение под уже выбранный ответ.
- **Механизмы галлюцинаций и отказов**: в отдельных кейсах видно, что базовый режим модели — не спекулировать, а галлюцинация появляется, когда другой контур подавляет этот «предохранитель».

### Геометрия belief state: ещё один кандидат на единицу вычисления

Feature-level анализ отвечает на вопрос «какие локальные признаки активны». Работа *Transformers represent belief state geometry in their residual stream* добавляет ещё один уровень описания: модель, похоже, кодирует не только отдельные признаки, но и **геометрию belief state** — компактное представление того, что она в данный момент считает вероятным о продолжении последовательности.

Практически это важно по двум причинам. Во-первых, авторы показывают, что такая геометрия может быть **линейно читаема из residual stream**. Во-вторых, в некоторых задачах она распределена **не в одном слое, а размазана по нескольким слоям**. Это хорошо согласуется с наблюдением из circuit tracing: вычисление редко живёт в одном нейроне или даже одном слое — оно растянуто по траектории.

Самый интересный вывод для инженера: оптимизируя next-token prediction, модель нередко хранит информацию, полезную **не только для следующего токена, но и для всего будущего продолжения**. Это помогает объяснить, почему LLM умеют заранее планировать концовку строки, держать глобальный синтаксический каркас или тянуть скрытый план ответа раньше, чем он появится в тексте.

### Геометрия рассуждения: интересный фронтир, но ещё не консенсус

В 2025–2026 вокруг интерпретируемости появилось направление, которое смотрит на рассуждение как на **траекторию в representation space**, а не только как на набор текстовых шагов. Работы *The Geometry of Reasoning* и *Curved Inference* предлагают измерять ход рассуждения через форму этой траектории: плавные потоки, локальные «логические» направления, изгибы residual stream при смене семантического фокуса.

Пока это скорее исследовательский радар, чем production-инструмент. Идея привлекательна: если удастся надёжно связывать всплески кривизны с branching, self-correction или сменой режима, у нас появится новый канал наблюдаемости за reasoning без опоры на текстовое объяснение. Но на сегодня эти методы ещё не стали общепринятым стандартом: их нужно проверять на больших моделях, длинных траекториях и более жёстких baseline.

Инженерный вывод здесь простой: не путайте **перспективную геометрическую метафору** с уже зрелой диагностикой. SAE и circuit tracing — это рабочие инструменты сегодняшнего дня; геометрия reasoning — важный исследовательский фронтир ближайших лет.

### Ограничения текущих методов

Важно не переоценить прогресс. Даже современные методы видят **только часть** вычисления. Они трудоёмки, требуют ручной интерпретации и пока плохо масштабируются на длинные reasoning-траектории. Поэтому механистическая интерпретируемость — не замена evals, логированию и внешней верификации, а ещё один слой наблюдаемости.

### Что это меняет на практике

Механистическая интерпретируемость переводит вопрос «где живут знания?» из теоретического в **инженерный**:

| Применение | Описание |
|------------|----------|
| **Аудит моделей** | Можно проверить, *почему* модель приняла конкретное решение — найти features, которые активировались |
| **Целевое редактирование** | Зная конкретные features, можно усиливать или подавлять определённые поведения |
| **Безопасность** | Идентификация «обходных путей» (jailbreak features) позволяет укреплять защиту модели |
| **Дебиасинг** | Обнаружение features, кодирующих нежелательные предвзятости |

> Это как разница между «где-то в двигателе стучит» и «вот конкретный подшипник, который износился». Механистическая интерпретируемость даёт инженерам *адрес* проблемы, а не только симптом.

---

## Практический вывод

### Чек-лист для работы со знаниями модели

| # | Принцип | Действие |
|---|---------|----------|
| 1 | **Не доверяйте уверенности модели** | Всегда верифицируйте факты внешними источниками |
| 2 | **Для фактов используйте RAG** | Параметрическая память ненадёжна → выносите факты во внешний индекс |
| 3 | **MLP «вспоминает» ассоциации, а не цитирует** | Модель не может указать источник факта |
| 4 | **Измеряйте factual accuracy отдельно от fluency** | Гладкий текст ≠ точный текст |
| 5 | **Понимайте слои** | Нижние = синтаксис, средние = знания, верхние = стиль |
| 6 | **Attention маршрутизирует, MLP хранит** | Следствие: качество ответа зависит и от маршрутизации (промпт), и от хранилища (веса) |
| 7 | **Гибридные архитектуры меняют правила** | Mamba-слои эффективнее для длинного контекста; MoE — для масштабирования знаний |
| 8 | **Интерпретируемость — инженерный инструмент** | SAE находят features, а circuit tracing связывает их в вычислительные цепочки |

### Ключевая ментальная модель

Представляйте Transformer как библиотеку:
- **Attention** — это библиотекарь, который определяет, какие книги (токены) релевантны вашему вопросу.
- **Mamba-слои** — это конвейерная лента, которая быстро доставляет книги из дальних залов (длинный контекст) без необходимости лично обходить каждую полку.
- **MLP** — это книжные полки с ассоциативными карточками: «если вопрос о столице Франции, ответ — Париж».
- **MoE** — это не одна библиотека, а *сеть филиалов*. Router-администратор направляет ваш запрос в нужный филиал (эксперт), где хранятся релевантные книги.
- **Контекстное окно** — это стол, на который библиотекарь может выложить книги. Он ограничен.
- **Параметрическая память** — это общая коллекция библиотеки. Она огромна, но каталог не идеален.
- **SAE-интерпретируемость** — это рентген для книг: можно заглянуть внутрь и увидеть, какие именно страницы (features) активируются при ответе.

Вы как инженер проектируете: что положить на стол (промпт), в каком порядке (структура), с какими закладками (семантические якоря) — чтобы библиотекарь нашёл правильные карточки.

### Задания

1. **Инспекция attention-паттернов.** Возьмите любую open-weight модель (Llama 3 8B, Mistral 7B) и инструмент визуализации attention (BertViz или Ecco). Подайте на вход предложение с корреференцией («Иван пошёл в магазин. Он купил хлеб.»). Найдите головы attention, которые связывают «Он» → «Иван». Ожидаемый результат: визуализация attention weights, показывающая, что конкретные головы в средних слоях отслеживают корреференцию.

   > **Промпт для ИИ:** «Напиши Python-скрипт, который загружает Llama 3 8B через HuggingFace transformers, подаёт на вход русское предложение с местоименной корреференцией и визуализирует attention weights всех голов для токена "Он" через matplotlib heatmap. Покажи top-5 голов с наибольшим весом на антецеденте.»

2. **Параметрическое vs контекстуальное знание.** Задайте модели вопрос о факте с известной датой обучения (например, «Кто президент X в 2026 году?»). Затем повторите тот же вопрос, но в промпте укажите контекстуальную информацию с другим ответом. Сравните, в каких случаях модель отдаёт приоритет параметрической памяти, а в каких — контексту. Ожидаемый результат: понимание, когда контекст переопределяет параметрические знания, а когда модель «сопротивляется».

3. **MoE-маршрутизация на практике.** Используя любую MoE-модель с доступными весами (Mixtral, DeepSeek-V3), проанализируйте, какие эксперты активируются на разных типах токенов: код, естественный язык, математика. Ожидаемый результат: таблица «тип контента → наиболее активные эксперты», подтверждающая или опровергающая гипотезу о специализации экспертов.

   > **Промпт для ИИ:** «Напиши Python-скрипт для анализа router logits в Mixtral 8x7B через HuggingFace. Скрипт должен: загрузить модель, подать три типа входов (Python-код, юридический текст на русском, математическая задача), извлечь router weights для каждого токена, агрегировать по экспертам и визуализировать распределение активаций по экспертам для каждого типа контента.»

---

## Источники
- Vaswani, A., et al. (2017). "Attention Is All You Need." NeurIPS.
- Shazeer, N. (2020). "GLU Variants Improve Transformer." arXiv:2002.05202.
- Geva, M., et al. (2021). "Transformer Feed-Forward Layers Are Key-Value Memories." EMNLP.
- Hendrycks, D. & Gimpel, K. (2016). "Gaussian Error Linear Units (GELUs)." arXiv:1606.08415.
- Ainslie, J., et al. (2023). "GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints."
- Dai, D., et al. (2022). "Knowledge Neurons in Pretrained Transformers." ACL.
- Meng, K., et al. (2022). "Locating and Editing Factual Associations in GPT." NeurIPS.
- Meng, K., et al. (2023). "Mass-Editing Memory in a Transformer." ICLR 2023.
- Gu, A., et al. (2021). "Efficiently Modeling Long Sequences with Structured State Spaces." ICLR 2022.
- Gu, A. & Dao, T. (2023). "Mamba: Linear-Time Sequence Modeling with Selective State Spaces." arXiv:2312.00752.
- Lieber, O., et al. (2024). "Jamba: A Hybrid Transformer-Mamba Language Model." AI21 Labs.
- AI21 Labs (2026). "Introducing Jamba 2." ai21.com/blog/introducing-jamba2/.
- Dao, T. & Gu, A. (2024). "Transformers are SSMs: Generalized Models and Efficient Algorithms Through Structured State Space Duality." ICML 2024. arXiv:2405.21060.
- Fedus, W., et al. (2021). "Switch Transformers: Scaling to Trillion Parameter Models." arXiv:2101.03961.
- Shazeer, N., et al. (2017). "Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer."
- DeepSeek-AI (2024). "DeepSeek-V3 Technical Report." arXiv:2412.19437.
- Bricken, T., et al. (2023). "Towards Monosemanticity: Decomposing Language Models With Dictionary Learning." Anthropic.
- Templeton, A., et al. (2024). "Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet." Anthropic.
- Anthropic. (2024). "Mapping the Mind of a Large Language Model."
- Anthropic. (2025). "Tracing the thoughts of a large language model."
- Anthropic. (2025). "Open-sourcing circuit-tracing tools."
- Shai, A. S., et al. (2024). "Transformers represent belief state geometry in their residual stream." arXiv:2405.15943.
- Zhou, Y., et al. (2025). "The Geometry of Reasoning: Flowing Logics in Representation Space." arXiv:2510.09782.
- Manson, R. (2025). "Curved Inference." arXiv:2507.21107.
- Cloud, A., Le, M., Chua, J., et al. (2026). "Language models transmit behavioural traits through hidden signals in data." Nature 652, 615–621. https://doi.org/10.1038/s41586-026-10319-8.
- Voita, E., et al. (2019). "Analyzing Multi-Head Self-Attention." ACL.
- Clark, K., et al. (2019). "What Does BERT Look At?" BlackboxNLP.
- Lin, S., et al. (2022). "TruthfulQA: Measuring How Models Mimic Human Falsehoods." ACL.
- Min, S., et al. (2023). "FActScore: Fine-grained Atomic Evaluation of Factual Precision." EMNLP.

---

**Навигация:**
- Назад: [Глава 1. Токены, векторы и семантическое пространство](01_tokens_vectors_and_semantic_space.md)
- Далее: [Глава 3. Галлюцинации — не поломка, а режим работы](03_hallucinations.md)
