Как работают нейросети

Как обрабатывается текст в Transformer-модели

Допустим, у нас есть текст из 10 слов. После токенизации он превратился в 20 токенов:

[154, 27, 891, 42, ..., 517]

1. Токены превращаются в векторы

У модели есть матрица эмбеддингов.

EmbeddingMatrix
[Размер словаря × 4096]

Каждая строка соответствует одному токену.

154 → [0.32, -1.17, ..., 0.11]
27 → [-0.55, 0.81, ..., 0.42]
891 → [1.03, -0.27, ..., -0.15]

После замены всех токенов на их векторы получаем матрицу:

20 токенов × 4096 чисел
X = [20 × 4096]

2. Первый слой Transformer

Модель берёт сразу всю матрицу:

X = [20 × 4096]

и умножает её на обученные матрицы весов:

Q = X × Wq
K = X × Wk
V = X × Wv
Q = [20 × 4096]
K = [20 × 4096]
V = [20 × 4096]

3. Механизм внимания (Attention)

Теперь модель вычисляет:

Q × Kᵀ

Размер результата:

[20 × 4096] × [4096 × 20] = [20 × 20]

Получается матрица связей между токенами.

кот сидит на ковре
кот: 8 2 1 1
сидит: 3 7 2 1
на: 1 2 6 4
ковре: 1 1 3 8

4. Обмен контекстом

Используя коэффициенты внимания, модель смешивает информацию из матрицы V. Каждый токен получает информацию о других токенах.

она ↔ Маша

5. MLP-блок

После attention идёт ещё один набор преобразований.

X

умножение на матрицу весов

нелинейность

ещё одно умножение

Это позволяет модели строить более сложные признаки и зависимости.

6. Завершение слоя

После attention и MLP получается новая матрица:

[20 × 4096]

Размер остаётся тем же, но содержимое меняется. Теперь векторы содержат больше информации о контексте.

7. Повторение через множество слоёв

Количество повторений зависит от числа слоёв модели.

20 токенов

Матрица 20 × 4096

Слой 1

Слой 2

...

Слой 80

8. Предсказание следующего токена

После последнего слоя берётся представление последнего токена:

h = [4096]

Затем:

logits = h × W_vocab
кот 2.1
собака 1.5
дом -0.8
бежит 8.7

9. Softmax

Оценки превращаются в вероятности:

бежит 84%
кот 9%
собака 6%
дом 1%

Модель выбирает следующий токен и повторяет процесс.

10. KV-cache (кэширование токенов)

Для уже обработанных токенов значения K и V сохраняются в памяти.

Token 1: K1, V1
Token 2: K2, V2
Token 3: K3, V3

Для нового токена вычисляются только новые значения:

Q4
K4
V4

После этого:

Q4 ↔ K1
Q4 ↔ K2
Q4 ↔ K3
Q4 ↔ K4

Такое сохранение промежуточных результатов называется KV-cache.

Главное понимание

Для текста из 20 токенов модель хранит матрицу:

20 × 4096

На каждом слое она:

  • умножает матрицу на обученные матрицы весов;
  • считает внимание между всеми токенами;
  • обменивается контекстом между токенами;
  • пропускает результат через MLP-блок.

После десятков слоёв получается сложное представление смысла текста, по которому модель оценивает вероятности следующих токенов.

Популярные сообщения из этого блога

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

Гермес-агент — что это и как он полезен

Партия войны и партия мира — что это такое

Гугл Хром — заметка свитчера

Как проводить конференции и что вам простят