tariel.ge › Полезное: бесплатные книги › ИИ изнутри: от нейрона до своей моделиБесплатно · автор Тариел Бежанидзе
← ИИ изнутри ЛИСТ 09Смысл в числахРЕВ. 1
Глава 09 · Смысл в числах

Трансформер: собираем целиком

Все части собраны. Осталось увидеть, как они складываются в одну конструкцию — и почему она везде одинаковая, от чат-бота до генератора картинок.

Один блок

Трансформер — это стопка одинаковых блоков. Внутри блока всего две содержательные части.

блок трансформера
вход
 │
 ├──────────────┐
 │              │
 ↓              │
нормализация    │
 ↓              │
ВНИМАНИЕ        │  ← слова смотрят друг на друга
 ↓              │
 ⊕ ←────────────┘  ← остаточная связь
 │
 ├──────────────┐
 │              │
 ↓              │
нормализация    │
 ↓              │
ПОЛНОСВЯЗНЫЙ    │  ← каждое слово обрабатывается отдельно
 ↓              │
 ⊕ ←────────────┘
 │
выход → на вход следующего такого же блока
Разделение труда

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

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

Модель целиком

полный путь текста через модель
текст
  ↓  разбиение на токены
[1284, 97, 3301, ...]
  ↓  таблица эмбеддингов + кодирование позиции
векторы
  ↓
блок 1
блок 2
  ...
блок 32           ← глубина модели
  ↓
финальная нормализация
  ↓
проекция на словарь → оценка для каждого возможного токена
  ↓  softmax
вероятности → выбор следующего токена

Всё. Ширина вектора и число блоков определяют размер модели: у 7B это примерно 4096 и 32, у моделей покрупнее — больше и того и другого.

Почему модель пишет по одному слову

Модель выдаёт только один следующий токен. Чтобы получить предложение, результат приписывается к входу, и всё прогоняется заново.

генерация
«Паяльник надо»            → «держать»
«Паяльник надо держать»    → «за»
«Паяльник надо держать за» → «ручку»
Отсюда две вещи, которые вы видите на практике

Маска: почему модель не подглядывает

При обучении модель видит весь текст сразу. Но предсказывая пятое слово, она не должна знать шестое — иначе задача тривиальна и учиться нечему.

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

Как выбирается токен

На выходе — вероятности всех токенов словаря. Дальше нужно выбрать один, и здесь есть настройки, которые вы видели в интерфейсах.

ПараметрЧто делаетПрактика
ТемператураСглаживает или заостряет распределение перед выбором0 — всегда самый вероятный, предсказуемо. 0.7 — обычный разговор. Выше 1 — креативно и бессвязно
Top-kВыбирать только из k самых вероятныхОтсекает совсем маловероятную чушь
Top-pВыбирать из тех, что в сумме дают вероятность pГибче top-k: размер набора зависит от уверенности модели
Штраф за повторПонижает вероятность уже сказанногоЛечит зацикливание
Практический совет

Для кода, извлечения данных и любых задач агента ставьте температуру близко к нулю. Там нужна не фантазия, а воспроизводимость. Для текстов и идей — 0.7–0.9. Половина жалоб «модель выдумывает» лечится этой одной настройкой.

Разновидности одной конструкции

ТипУстройствоДля чего
Только декодерМаска, генерация вперёдВсе языковые модели, которые вы запускаете
Только энкодерБез маски, видит весь текстЭмбеддинги, классификация. Глава 07
Энкодер-декодерОбе частиПеревод, распознавание речи. Глава 19

Отдельно стоит знать про смесь экспертов: полносвязная часть делится на множество «экспертов», и для каждого токена активируется лишь пара из них. Модель получается огромной по числу параметров, но считается как маленькая. Минус — в память грузить всё равно надо целиком, поэтому на 16 ГБ такие модели помогают мало.

Одна архитектура для всего

Самое удивительное свойство: то же самое работает не только с текстом.

ДанныеЧто играет роль «слова»
ТекстТокен
ИзображениеКвадратный кусочек картинки
ЗвукКороткий фрагмент спектра
ВидеоКусочек кадра плюс время
Почему это важно для остальной книги

Разобравшись здесь, вы разобрались и в главах про картинки, звук и зрение. Меняется только то, что подают на вход и что считают ответом. Механизм один.

Проверьте, что поняли

Что дальше

Устройство понятно. Теперь самый интересный вопрос: почему из «угадай следующее слово» получается что-то, похожее на понимание.

Глава09 — Трансформер: собираем целиком
БлокСмысл в числах
Далее10 — Почему предсказание слова даёт разум — и где граница
Ревизия1
↑ Оглавление Предыдущая глава← 08 · Внимание: как сеть решает, на что смотреть Следующая глава10 · Почему предсказание слова даёт разум — и где граница →

Бесплатная книга · tariel.ge · версии инструментов и команды проверяйте в документации проектов

Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.