Alterna · учебный материал

15.6 Из представления в оценки слов

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

Что в этом материале

Содержание и основные понятия

На предыдущей странице: несколько блоков подряд.
Последняя таблица выдаёт по оценке на каждый кандидат словаря. Вероятность и выбор получаются следующими отдельными действиями.
Вектор получает позиционную информацию, обменивается сведениями и отдельно перерабатывает своё состояние. Остаточные суммы сохраняют прежний путь. Последняя таблица выдаёт оценки словаря.
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
Последняя строка предсказывает следующий ID
После final norm каждая строка H соответствует обработанному префиксу. Линейная проекция даёт logits по vocabulary:
Z
=
H
U
+
c
∈
R
n
×
V
,
p
(
t
i
+
1
=
j
∣
t
≤
i
)
=
softmax
⁡
(
Z
i
)
j
.
Z=HU+c\in\mathbb R^{n\times V},\qquad
p(t_{i+1}=j\mid t_{\le i})=\operatorname{softmax}(Z_i)_j.
Z
=
H
U
+
c
∈
R
n
×
V
,
p
(
t
i
+
1
​
=
j
∣
t
≤
i
​
)
=
softmax
(
Z
i
​
)
j
​
.
Для текущего продолжения используется последняя строка. Во время будущего обучения targets будут сдвинуты на один токен; нельзя сравнивать output позицииiссамим входнымt_iи называть это next-token training.
Отдельный ручной head: h=[1,−1],U=[[1,0,1],[0,1,1]],c0. Logits[1,−1,0], нормировка делит [e,1/e,1] на их сумму. Все три scores получены одной общей проекцией, не тремя заранее приготовленными ответами.
Эксперимент.
В inspector доступны все logits и probabilities, не только top candidates. Порядок IDs согласован с конкретным BPE vocabulary. Один candidate может содержать неполную UTF-8 последовательность: тогда он показывается bytes/hex, а не выдуманным словом.
Наши seeded weights пока не обучены: высокие probabilities не подтверждают грамматику или истинность. Уже работают tokenizer, E, полный стек и head;
следующая глава16 должна добавить корпус, targets, backward/optimizer, validation и checkpoints
. Именно обучение позволит говорить о выученной маленькой языковой модели, а не только о правильной архитектуре.
from math import exp
h=[1,-1]; U=[[1,0,1],[0,1,1]]
z=[sum(h[i]*U[i][j] for i in range(2)) for j in range(3)]
p=[exp(v)/sum(exp(a) for a in z) for v in z]
assert z==[1,-1,0] and abs(sum(p)-1)<1e-12
Код повторяет только что разобранные операции.
Полный проверяемыйPython-пример главы
доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.
Tokenizer rules обучены отдельно; pretraining модели появится в16.
Арифметика работает. Но как подобрать полезные значения всех её коэффициентов?
Python-примеры главы 15
Академическая база →

Структурная карта учебников