alterna ai
ALTERNA AI / ГЛАВА 15 · 06

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

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

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

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

Последняя строка предсказывает следующий ID

После final norm каждая строка H соответствует обработанному префиксу. Линейная проекция даёт logits по vocabulary:

Z=HU+c∈Rn×V,p(ti+1=j∣t≤i)=softmax⁡(Zi)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.

Для текущего продолжения используется последняя строка. Во время будущего обучения 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 Академическая база →