Skip to main content

Передбачення наступного токена (Next-Token Prediction)(Авторегресійний інференс: математика та логіка передбачення наступного токена)

Фундаментальний механізм авторегресійних великих мовних моделей (LLM). Розрахунок логітів, функція Softmax, вплив температури та семплінгу (Top-P/Top-K). Пояснення, чому генерація тексту є послідовним процесом O(N) і як переглядати ймовірності через API.

1. Огляд концепції та математична суть

Коли ви спостерігаєте, як штучний інтелект проектує мікросервісну архітектуру або складає поему, легко повірити, що всередині комп'ютера виникла свідомість із власним внутрішнім монологом.

Проте на рівні обчислень під капотом будь-якої авторегресійної LLM (GPT-4o, Claude 3.7, Llama 3.3, DeepSeek R1) виконується один ітераційний цикл:

$$P(W) = \prod_{t=1}^{T} P(w_t \mid w_1, w_2, \dots, w_{t-1})$$

  1. Прочитати вхідну послідовність токенів $w_1, \dots, w_{t-1}$.
  2. Прогнати вектори через шари Transformer (Self-Attention + MLP).
  3. Розрахувати числовий бал (Logit) для кожного з 128 000 токенів у словнику.
  4. Застосувати Softmax та алгоритми відбору (Temperature, Top-P), обравши один токен $w_t$.
  5. Додати $w_t$ до контексту і повторити крок.

Ментальна модель: це не оракул, який заздалегідь знає кінцеву думку, а статистичний генератор траєкторії, який робить крок і лише після цього бачить, куди ступити далі.

┌─────────────────────────────────────────────────────────────┐
│              МАТЕМАТИЧНИЙ КОНВЕЄР ОДНОГО КРОКУ              │
├─────────────────────────────────────────────────────────────┤
│ 1. Вхідний контекст: «Київ — столиця»                       │
│    Векторизація токенів ➔ Прохід крізь шари трансформера    │
├─────────────────────────────────────────────────────────────┤
│ 2. Вихідний шар (Unembedding): 128 000 логітів              │
│    • Токен " України"   ➔ Logit: +14.2                      │
│    • Токен " стародавня" ➔ Logit: +8.1                      │
│    • Токен " Франції"   ➔ Logit: -4.5                       │
├─────────────────────────────────────────────────────────────┤
│ 3. Нормалізація Softmax(Logits / Temperature):              │
│    • " України"   ➔ 94.2%                                   │
│    • " стародавня" ➔ 5.1%                                   │
│    • " Франції"   ➔ 0.0001%                                 │
├─────────────────────────────────────────────────────────────┤
│ 4. Семплінг: вибір токена " України"                        │
│    Новий контекст: «Київ — столиця України» ➔ Наступний крок│
└─────────────────────────────────────────────────────────────┘

2. Реалізація семплінгу на Python та інспекція через CLI

Ось як виглядає розрахунок ймовірностей наступного токена мовою Python з урахуванням температури:

import numpy as np

def compute_next_token_probs(logits: np.ndarray, temperature: float = 0.7) -> np.ndarray:
    # 1. Масштабування температурою
    scaled = logits / max(temperature, 1e-4)
    # 2. Стабільний Softmax (віднімання максимуму для запобігання overflow)
    exp_logits = np.exp(scaled - np.max(scaled))
    probs = exp_logits / np.sum(exp_logits)
    return probs

# Приклад виклику: 4 можливі токени
mock_logits = np.array([12.5, 9.1, 4.0, 1.2])
print("Ймовірності токенів:", np.round(compute_next_token_probs(mock_logits, temperature=0.7), 4))

Як побачити сирі ймовірності токенів через cURL у терміналі:

Ви можете попросити API повернути точні логічні ймовірності (logprobs), щоб побачити альтернативи, які розглядала модель:

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Столиця Франції — це"}],
    "max_tokens": 1,
    "logprobs": true,
    "top_logprobs": 3
  }'

У відповіді JSON параметр top_logprobs покаже точні математичні бали для варіантів Париж, місто тощо.


3. Чому Next-Token призводить до галюцинацій та як це лікувати

Оскільки модель генерує текст локально "тут і зараз", вона схильна потрапляти у статистичні пастки:

  1. Помилка зобов'язання (Early Commitment): Якщо на перших двох словах модель випадково обрала невдалий токен, усі наступні токени будуть намагатися виправдати цей хибний вибір замість визнання помилки.
  2. Неможливість зворотного кроку (No Backtracking): Звичайний інференс не може стерти вже згенероване слово.
  3. Чому моделі міркувань (Reasoning Models / DeepSeek R1 / o3) працюють краще: Вони використовують ланцюжки роздумів (<thought>...</thought>), де перед наданням фінальної відповіді генерують сотні токенів внутрішнього аналізу та самоперевірки.

4. Практичний висновок для розробника

Пам'ятайте про авторегресійний конвеєр:

  • Промпти на кшталт "Подумай перед відповіддю" або "Розпиши крок за кроком" працюють не тому, що ШІ стає уважнішим, а тому, що ви змушуєте його згенерувати токени роздумів, які фізично стають вхідним контекстом для фінального токена з правильною відповіддю!
/ Часті запитанняSchema.org FAQPage

FAQ: Передбачення наступного токена (Next-Token Prediction)

Щоб із математичною точністю передбачати наступний токен у коді чи науковій статті, модель не може покладатися на поверхневу статистику слів: під час pretraining на трильйонах токенів вона була змушена сформувати у своїх вагах стиснуту модель світу, причинно-наслідкові зв'язки та алгоритмічну логіку.
/ Внутрішня перелінковка
Всі терміни
Моделі & Інференс

Токени простими словами (Скільки слів у токені)

Базова одиниця вимірювання тексту в мовних моделях. Пояснення того, як слова розбиваються на токени, чому це впливає на вартість запитів і чому українські слова споживають більше токенів, ніж англійські.

Читати термін
Моделі & Інференс

Температура генерації (Повзунок креативності та хаосу)

Ключовий числовий параметр генерації тексту (зазвичай від 0.0 до 1.0 або 2.0). Визначає ступінь непередбачуваності вибору наступного токена: від суворої детермінованої математики до вільного польоту фантазії.

Читати термін
Моделі & Інференс

Архітектура Transformer

Архітектура нейронних мереж, представлена дослідниками Google у 2017 році в статті «Attention Is All You Need». Основа всіх сучасних мовних моделей (GPT, Claude, Gemini, Llama), яка замінила повільні рекурентні мережі та навчилася паралельно обробляти весь текст одночасно.

Читати термін
Моделі & Інференс

KV-кеш (Key-Value Cache)

Оптимізація пам'яті в моделях Transformer, яка зберігає вектори ключів і значень (Keys and Values) уже оброблених токенів у швидкій пам'яті GPU. Дозволяє генерувати кожне наступне слово миттєво, але стрімко росте в розмірі з кожним новим повідомленням у чаті.

Читати термін