Своя LLM с нуля
Словарик
Все термины учебника коротко и по-человечески. У каждого — английское название и глава, где он появляется.
- AdamW AdamW
- Популярный оптимизатор: импульс плюс свой масштаб шага для каждого параметра. глава 10 →
- BPE BPE
- Byte Pair Encoding: строим словарь, раз за разом склеивая самую частую пару соседних токенов. глава 6 →
- KV-кэш KV cache
- Сохранённые ключи и значения уже прочитанных токенов, чтобы не пересчитывать их на каждом шаге. глава 11 →
- LoRA LoRA
- Дообучение через маленькие добавки низкого ранга к весам: меняется 2–3 % параметров. глава 13 →
- Muon Muon
- Оптимизатор, который ортогонализует обновление каждой матрицы. Росток учился с ним быстрее, чем с AdamW. глава 10 →
- RLHF, DPO RLHF, DPO
- Обучение по человеческим предпочтениям: какой из двух ответов лучше. глава 14 →
- RMSNorm RMSNorm
- Нормировка: делим вектор на его среднеквадратичную длину, чтобы числа не разрастались. глава 8 →
- RoPE RoPE
- Поворотные позиционные эмбеддинги: запрос и ключ поворачиваются на угол, зависящий от позиции. глава 8 →
- SFT SFT
- Supervised fine-tuning: дообучение на примерах хороших ответов, ошибка — только на словах ассистента. глава 12 →
- Softmax Softmax
- Превращает логиты в вероятности: берёт экспоненту каждого и делит на сумму. глава 3 →
- SwiGLU SwiGLU
- Вариант сети прямого распространения с «воротами»: silu(xW₁) ⊙ xW₃. глава 8 →
- Top-k, top-p Top-k, top-p
- Отсечь маловероятный хвост: оставить k лучших токенов или столько, сколько набирают вероятность p. глава 11 →
- Авторегрессия Autoregression
- Способ писать текст: выбрать следующий токен, дописать его и снова спросить модель — уже про следующий. глава 0 →
- Базовая модель Base model
- Модель после предобучения: продолжает текст, но не умеет отвечать как собеседник. глава 12 →
- Батч Batch
- Пачка примеров, по которой считается один шаг обучения. У Ростка — 32 768 токенов. глава 10 →
- Биграмма Bigram
- Пара соседних символов. Биграммная модель — самая простая: вероятность следующего символа зависит только от предыдущего. глава 1 →
- Внимание Attention
- Механизм, которым каждый токен собирает информацию с предыдущих, решая, на кого смотреть. глава 7 →
- Выборка (сэмплирование) Sampling
- Случайный выбор значения с учётом вероятностей, как бросок нечестного кубика. глава 1 →
- Голова внимания Attention head
- Одно независимое внимание. Несколько голов смотрят на текст по-разному одновременно. глава 7 →
- Градиент Gradient
- Вектор производных по всем параметрам. Показывает, куда ошибка растёт быстрее всего. глава 3 →
- Градиентный спуск Gradient descent
- Шаг за шагом сдвигать параметры против градиента, чтобы ошибка уменьшалась. глава 3 →
- Дедупликация Deduplication
- Удаление повторов из корпуса, чтобы модель не зубрила одно и то же. глава 9 →
- Законы масштабирования Scaling laws
- Эмпирические формулы: как ошибка падает с ростом модели, данных и вычислений. глава 10 →
- Запрос, ключ, значение Query, key, value
- Три вектора внимания: запрос спрашивает, ключ отвечает «про что я», значение — что передать. глава 7 →
- Каузальная маска Causal mask
- Запрет смотреть в будущее: токен видит только себя и тех, кто был раньше. глава 7 →
- Квантование Quantisation
- Хранить веса меньшим числом бит (у Ростка в браузере — 8 бит), почти без потери качества. глава 11 →
- Корпус Corpus
- Весь текст, на котором учится модель. У Ростка — 1,43 миллиарда токенов. глава 9 →
- Кросс-энтропия Cross-entropy
- Среднее удивление модели на настоящем тексте. Главная функция потерь языковых моделей. глава 2 →
- Логиты Logits
- Сырые оценки модели для каждого токена до softmax — любые числа, не вероятности. глава 3 →
- Нат, бит Nat, bit
- Единицы информации: с натуральным логарифмом — наты, с двоичным — биты. 1 нат ≈ 1,44 бита. глава 2 →
- Нейрон Neuron
- Взвешенная сумма входов плюс нелинейность (tanh, ReLU и т. п.). глава 4 →
- Обратное распространение Backpropagation
- Способ посчитать все градиенты сразу: пройти граф вычислений от ошибки назад, применяя цепное правило. глава 4 →
- Остаточный поток Residual stream
- Вектор, который проходит через все блоки; каждый блок прибавляет к нему свою поправку. глава 8 →
- Параметр Parameter
- Одно число внутри модели, которое подбирается обучением. У Ростка их 17,3 миллиона. глава 0 →
- Переобучение Overfitting
- Модель запоминает обучающие примеры вместо общих закономерностей и хуже работает на новом тексте. глава 5 →
- Перплексия Perplexity
- e в степени кросс-энтропии: «из скольких равновероятных вариантов модель как будто выбирает». глава 2 →
- Правдоподобие Likelihood
- Вероятность, которую модель даёт настоящему тексту. Чем больше, тем лучше модель его предсказывает. глава 2 →
- Производная Derivative
- Скорость изменения функции: насколько она вырастет, если чуть сдвинуть аргумент. глава 3 →
- Ранг матрицы Matrix rank
- Сколько независимых направлений хранит матрица. Матрица ранга r — сумма r «простых» слоёв. глава 13 →
- Скалярное произведение Dot product
- Сумма попарных произведений координат двух векторов — мера их похожести. глава 5 →
- Скорость обучения Learning rate
- Размер шага градиентного спуска. Слишком маленький — учимся вечно, слишком большой — разносит. глава 3 →
- Температура Temperature
- Делитель логитов перед softmax: ниже — модель смелее выбирает главное, выше — разнообразнее. глава 11 →
- Токен Token
- Кусочек текста, который модель видит как одно целое: слово, часть слова, знак. глава 6 →
- Трансформер Transformer
- Архитектура из блоков «внимание + сеть прямого распространения» с остаточными связями. Основа всех современных LLM. глава 8 →
- Удивление (информация) Surprise (information)
- Минус логарифм вероятности: −log p. Маловероятное событие удивляет сильнее. глава 2 →
- Условная вероятность Conditional probability
- Вероятность события при условии, что другое уже случилось: p(b | a). глава 1 →
- Функция потерь Loss
- Одно число, которое говорит, насколько модель ошибается. Обучение его уменьшает. глава 3 →
- Цепное правило Chain rule
- Производная сложной функции — произведение производных её частей. глава 4 →
- Шаблон чата Chat template
- Способ записать диалог токенами с метками ролей: <|user|>, <|assistant|>, <|end|>. глава 12 →
- Эмбеддинг Embedding
- Вектор из обучаемых чисел для каждого токена. Похожие токены получают близкие векторы. глава 5 →
- Энтропия Entropy
- Среднее удивление самого распределения: насколько оно неопределённо. глава 2 →
- Языковая модель Language model
- Программа, которая по началу текста оценивает вероятность каждого возможного продолжения. глава 0 →