Модель предсказывает следующий токен
Большая языковая модель — нейросеть-трансформер, которая делает одну вещь: по уже написанному тексту оценивает вероятности следующего токена. Ответ получается, когда это повторяют шаг за шагом: выбрали токен, дописали его, снова предсказали следующий.
Отсюда главное свойство LLM: она выдаёт правдоподобный текст, а не сверяется с базой фактов. Если правдоподобный ответ неверен, модель напишет его так же уверенно, как верный. Это и есть галлюцинация.
Токены и контекстное окно
Модель работает не с буквами, а с токенами — кусками слов. Частые слова — один токен, редкие разбиваются на части. Русский текст обычно занимает больше токенов, чем английский того же смысла, а значит, дороже и быстрее заполняет окно.
Контекстное окно — сколько токенов модель видит за раз: системный промпт, история диалога, документы, вопрос и ответ. Не влезло — модель этого не видит. Провайдеры берут деньги за входные и выходные токены отдельно, выходные обычно дороже.
Как модель выбирает токен
Параметры выборки управляют разнообразием:
- temperature — низкая делает ответы предсказуемыми (извлечение данных, код), высокая — разнообразными (идеи, тексты);
- top-p — оставляет только самые вероятные токены.
Обычно меняют что-то одно, и даже temperature 0 не гарантирует одинаковые ответы.
Откуда берутся знания и поведение
Модель обучают в несколько этапов. Предобучение на огромном корпусе даёт знания о языке и мире — получается base-модель, которая просто продолжает текст. Дообучение на инструкциях и выравнивание по предпочтениям превращают её в instruct-модель, которая выполняет просьбы. В продуктах используют именно её.
Знания фиксируются на дату среза обучения. О более поздних событиях модель не знает — свежие данные передают ей в контексте: поиском, инструментами, текущей датой в системном промпте.
Запрос к API
Запрос — список сообщений с ролями: system (правила), user (запросы), assistant (прошлые ответы). Модель не хранит диалог: приложение каждый раз отправляет историю целиком. В ответе важно смотреть причину остановки (если ответ обрезан по лимиту, его нельзя показывать как полный) и расход токенов — из него считается стоимость. Ключ API хранится только на сервере.
Итог
- LLM предсказывает следующий токен и не проверяет факты.
- Стоимость и лимиты считаются в токенах, вход и выход — по-разному.
- Параметры выборки управляют разнообразием ответа.
- Свежие знания — только через контекст.
- Историю диалога хранит и отправляет приложение.