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