Как из предсказания слова получается диалог
Если модель просто продолжает текст, почему ChatGPT отвечает на вопросы, а не дописывает их? Этот урок соединяет «предсказатель токенов» с «собеседником».
Чат-разметка — это служебный формат, который превращает диалог с ролями (система, пользователь, ассистент) в единую последовательность токенов для модели.
Базовая модель просто продолжает
«Сырая» предобученная модель (base model) умеет лишь одно — продолжать текст. Если дать ей «Как приготовить омлет?», она с равным успехом может выдать рецепт, а может — продолжить список вопросов из учебника, ведь в интернете вопросы часто идут пачками. Базовая модель не знает, что от неё хотят ответа. Она угадывает наиболее вероятное продолжение, а не самое полезное.
Шаг 1. Дообучение под инструкции
Чтобы модель отвечала, а не продолжала, её дообучают на парах «инструкция → хороший ответ» (это SFT, разберём в разделе про обучение). После такого дообучения наиболее вероятным продолжением запроса становится именно полезный ответ. Модель не получила нового механизма — сместилось распределение: теперь после вопроса вероятнее идёт ответ, а не ещё один вопрос.
Шаг 2. Роли и чат-разметка
Диалог нужно как-то уложить в одну линейную последовательность токенов. Для этого вводят роли и служебные маркеры. Концептуально это выглядит так (формат у разных моделей свой):
<|system|>
Ты вежливый ассистент. Отвечай кратко и по делу.
<|user|>
Что такое токен?
<|assistant|>
Токен — это кусочек текста, единица, которой оперирует модель.
Здесь три роли:
- system — общие инструкции и характер ассистента (его «настройки»);
- user — реплики пользователя;
- assistant — ответы модели.
Модель по-прежнему делает ровно одно — предсказывает следующий токен. Но теперь она обучена так, что, увидев маркер <|assistant|>, продолжает текст как полезный, вежливый ответ. Диалог — это иллюзия, собранная из служебной разметки поверх всё того же предсказания токенов.
Шаг 3. Выравнивание
Финальный штрих — выравнивание (alignment) через обучение с обратной связью от людей (RLHF). Оно делает ответы не просто правдоподобными, а полезными, честными и безопасными: модель учится отказываться от вредных просьб и не выдумывать лишнего. Этому посвящён отдельный урок в разделе про обучение.
Почему это важно понимать
Осознав, что «диалог» — это разметка поверх предсказания токенов, вы сразу понимаете многие вещи: почему системный промпт влияет на поведение (он буквально часть входной последовательности), почему модель иногда «забывает» инструкцию (она ушла далеко за пределы внимания) и почему так важен порядок сообщений.
Итог
- Базовая модель только продолжает текст и не отличает вопрос от просьбы ответить.
- Дообучение под инструкции смещает распределение так, что после запроса вероятнее идёт полезный ответ.
- Роли system/user/assistant и чат-разметка укладывают диалог в одну последовательность токенов.
- Выравнивание (RLHF) делает ответы полезными, честными и безопасными.