Как GPT генерирует текст
Что проверяют
Понимаете ли вы генерацию как пошаговый процесс, а не как «модель пишет ответ целиком». Следом обычно спрашивают про параметры сэмплинга: что делает температура и чем top-p отличается от top-k.
Как отвечать
Идите по конвейеру:
- токенизация: текст режется на токены (BPE и родственные схемы), это части слов, а не слова. Каждый токен превращается в эмбеддинг, к нему добавляется информация о позиции;
- decoder-only трансформер: стек блоков из masked self-attention и полносвязного слоя. Маска каузальная: токен видит себя и то, что левее, будущие позиции закрыты;
- логиты: из последней позиции получается вектор оценок размером со словарь, softmax превращает его в распределение вероятностей следующего токена;
- выбор токена: greedy берёт самый вероятный, temperature делит логиты перед softmax (ниже 1 распределение острее, выше 1 площе), top-k оставляет k лучших, top-p берёт минимальный набор с суммарной вероятностью p;
- авторегрессия: выбранный токен дописывается в контекст, и шаг повторяется до стоп-токена или лимита длины.
Про обучение: предобучение на предсказании следующего токена с кросс-энтропией, где все позиции считаются параллельно (teacher forcing). Чат-модели дальше проходят SFT на инструкциях и выравнивание через RLHF или DPO.
Плюсом будет инженерная часть. KV-кэш хранит ключи и значения прошлых токенов, поэтому новый шаг не пересчитывает весь контекст. Отсюда две фазы: prefill обрабатывает промпт параллельно, decode идёт по одному токену и упирается в пропускную способность памяти.
Где спотыкаются
Говорят о словах вместо токенов. Из-за этого не могут объяснить, почему модель плохо считает буквы в слове или почему русский текст расходует лимит контекста быстрее английского.
Путают обучение и генерацию. На обучении все позиции считаются за один проход, а на выводе генерация строго последовательная.
Считают, что температура 0 делает модель «умнее» или гарантирует одинаковый ответ. Это просто greedy-выбор, а разные ответы при нуле случаются из-за недетерминизма вычислений на GPU и батчинга.