Контекстное окно (Context Window)

Что такое Контекстное окно (Context Window)?

Это объём информации (текста, изображений или других данных), который нейронная сеть способна учитывать при обработке запроса и формировании ответа.

Представьте, что вы ведёте разговор с другом. Чтобы понимать суть беседы и давать уместные ответы, вам нужно помнить предыдущие реплики — то, о чём шла речь минуту назад. Объём этой «оперативной памяти» в диалоге и можно сравнить с контекстным окном в нейросети. Если собеседник внезапно перескакивает на совершенно другую тему, не связанную с предыдущим разговором, вам может потребоваться время, чтобы перестроиться — аналогично нейросеть может «потеряться», если запрос выходит за рамки её контекстного окна.

Подробности о термине:

  • Техническая суть. Контекстное окно определяется архитектурой модели и объёмом её памяти. Чем больше контекстное окно, тем больше информации модель может учитывать при генерации ответа, но тем выше требования к вычислительным ресурсам.
  • Эволюция. Ранние языковые модели (например, первые версии RNN) имели крайне ограниченное контекстное окно — всего несколько десятков токенов. С развитием трансформеров (с 2017 года, после публикации статьи «Attention is All You Need») размер контекстного окна начал расти: например, у GPT-3 он составлял 2048 токенов, а у современных моделей (например, GPT-4) может достигать десятков тысяч.
  • Ограничения. Даже у самых продвинутых моделей есть предел: если текст превышает размер контекстного окна, часть информации «отсекается». Это может приводить к потере логики, повторению фрагментов или игнорированию важных деталей.

Отличия от похожих терминов:

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

Примеры:

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

Использование:

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

Авторизация