LLM

Что такое контекст в языковых моделях?

Елена, Чебоксары 423 просм.

Веду с ChatGPT длинный диалог по рабочему проекту, а он вдруг начинает путать детали, которые сам же называл двадцать сообщений назад, или вообще о них "забывает". Что за контекст такой, о котором все говорят, и почему у него есть предел?

Дмитрий Волков инженер по машинному обучению

ответил

эксперт

Контекст — это весь текст, который модель видит перед тем, как сгенерировать ответ: и ваши сообщения, и свои прошлые ответы в этом же диалоге. Модель не хранит память между сессиями и не «запоминает» разговор в человеческом смысле — при каждом новом сообщении она заново читает всю историю переписки целиком и по ней формирует ответ.

У этой истории есть предел, который называют размером контекстного окна, и измеряется он в токенах — примерно это кусочки слов, обычно один токен это часть слова или короткое слово целиком. У разных моделей окно разного размера: от нескольких тысяч токенов у более старых и легких версий до сотен тысяч у современных. Когда переписка перерастает этот лимит, начало диалога просто перестает попадать в то, что модель видит, — отсюда и ощущение, что она «забыла».

Что с этим можно сделать на практике:

  • периодически напоминать модели ключевые факты своими словами, а не рассчитывать, что она удержит их из истории;
  • для долгих проектов выносить важные детали (условия задачи, цифры, решения) в отдельное сообщение-справку и время от времени вставлять его заново;
  • если диалог разросся и путаница пошла постоянно, проще начать новый чат и коротко пересказать суть, чем продолжать в старом.

Важно не путать контекстное окно с обучением: даже если модель «запомнила» что-то в рамках одного разговора, на других пользователей и на будущие сессии это никак не влияет — каждый новый диалог начинается с чистого листа.

Задать свой вопрос

Вопросы проходят модерацию. Ответ эксперта публикуется на сайте в течение пары дней.

Похожие вопросы

Все в теме