Что такое контекст в языковых моделях?
Елена, Чебоксары 423 просм.
Веду с ChatGPT длинный диалог по рабочему проекту, а он вдруг начинает путать детали, которые сам же называл двадцать сообщений назад, или вообще о них "забывает". Что за контекст такой, о котором все говорят, и почему у него есть предел?
Дмитрий Волков инженер по машинному обучению
ответил
Контекст — это весь текст, который модель видит перед тем, как сгенерировать ответ: и ваши сообщения, и свои прошлые ответы в этом же диалоге. Модель не хранит память между сессиями и не «запоминает» разговор в человеческом смысле — при каждом новом сообщении она заново читает всю историю переписки целиком и по ней формирует ответ.
У этой истории есть предел, который называют размером контекстного окна, и измеряется он в токенах — примерно это кусочки слов, обычно один токен это часть слова или короткое слово целиком. У разных моделей окно разного размера: от нескольких тысяч токенов у более старых и легких версий до сотен тысяч у современных. Когда переписка перерастает этот лимит, начало диалога просто перестает попадать в то, что модель видит, — отсюда и ощущение, что она «забыла».
Что с этим можно сделать на практике:
- периодически напоминать модели ключевые факты своими словами, а не рассчитывать, что она удержит их из истории;
- для долгих проектов выносить важные детали (условия задачи, цифры, решения) в отдельное сообщение-справку и время от времени вставлять его заново;
- если диалог разросся и путаница пошла постоянно, проще начать новый чат и коротко пересказать суть, чем продолжать в старом.
Важно не путать контекстное окно с обучением: даже если модель «запомнила» что-то в рамках одного разговора, на других пользователей и на будущие сессии это никак не влияет — каждый новый диалог начинается с чистого листа.
Задать свой вопрос
Вопросы проходят модерацию. Ответ эксперта публикуется на сайте в течение пары дней.
Вопрос отправлен на модерацию. После проверки он появится на сайте вместе с ответом эксперта.