Токены: атомы языковой модели
LLM не читает текст побуквенно и не по словам. Она разбивает текст на токены — фрагменты, которые могут быть частью слова, целым словом или знаком препинания. Примерно 1 токен ≈ 0.75 слова в английском; в русском токенов обычно больше из-за морфологии.
"Hello, world!" → ["Hello", ",", " world", "!"] // 4 токена
"Привет, мир!" → ["При", "вет", ",", " мир", "!"] // 5 токенов (примерно)
Почему это важно:
- Лимит контекста считается в токенах, не в словах
- Редкие слова (специфические термины) бьются на больше токенов → дороже
- Цена API рассчитывается по токенам
Эмбеддинги: смысл как вектор
Каждый токен превращается в вектор чисел (эмбеддинг) — точку в многомерном пространстве смыслов. Близкие по смыслу слова → близкие векторы.
"король" - "мужчина" + "женщина" ≈ "королева"
Это не метафора — классические эмбеддинги (Word2Vec) действительно давали такие результаты. Современные трансформеры строят контекстные эмбеддинги: одно слово «замок» будет иметь разные векторы в «замок двери» и «рыцарский замок».
Трансформер: механизм внимания
Ключевое изобретение (статья «Attention is All You Need», Google, 2017) — механизм внимания (attention). При генерации каждого токена модель смотрит на все предыдущие токены и взвешивает, какие из них наиболее релевантны для предсказания следующего.
Входная фраза: "Я оставил ключи на..."
Модель взвешивает:
"ключи" → высокий вес (релевантно для места)
"оставил" → средний вес
"Я" → низкий вес
→ предсказывает: "столе", "полке", "машине"...
Именно это позволяет модели улавливать зависимости на большом расстоянии — «её» в конце длинного предложения относится к «Анне» в начале.
Предобучение и файнтюнинг
-
Предобучение: модель обучается на сотнях миллиардов токенов текста из интернета, книг, кода. Задача — предсказывать следующий токен. После этого модель умеет продолжать любой текст.
-
RLHF (Reinforcement Learning from Human Feedback): люди оценивают ответы модели, и она учится давать те ответы, которые люди предпочитают. Именно это превращает «предсказатель токенов» в полезного ассистента.
-
Системный промпт: при развёртывании модели ей дают системный промпт, который задаёт роль, ограничения и стиль поведения.
Почему температура меняет поведение
Температура — параметр, контролирующий случайность при выборе следующего токена. При temperature=0 модель всегда берёт самый вероятный токен (детерминированный вывод). При temperature=1 добавляется случайность — ответы разнообразнее, но менее предсказуемы.
temperature=0 → "Столица Франции — Париж." (каждый раз одинаково)
temperature=0.7 → может добавить контекст, стиль варьируется
temperature=1.5 → креативно, но рискует стать бессвязным