Что такое context length и почему её сложно расширять?
Answer from AI
sobes.tech AI
Что хотят услышать интервьюеры:
Context length — это максимальный объём текста, который модель может учитывать за один проход: и входной промпт, и уже сгенерированные токены. Увеличивать её сложно, потому что растут вычисления, память и требования к качеству позиционного представления. На длинных контекстах часто проявляются деградация внимания и падение точности.
Определение:
Context length, или длина контекста, — это предел числа токенов, которые модель способна обработать одновременно. Для LLM это не просто “размер окна”, а реальный инженерный ограничитель: всё, что не помещается в контекст, модель не видит напрямую.
Сложность расширения связана с тем, что механизм attention обычно требует сравнения каждого токена с каждым другим токеном в окне контекста. Из-за этого стоимость по вычислениям и памяти быстро растёт при увеличении длины. Дополнительно нужно сохранять корректную информацию о порядке токенов, а на очень длинных последовательностях модели могут хуже удерживать релевантные связи.
Пример использования:
Допустим, модель с контекстом 8k токенов анализирует большой технический документ. Если документ вместе с инструкцией и ответом превышает лимит, часть текста придётся обрезать или разбивать на фрагменты.
Документ: 12 000 токенов
Контекст модели: 8 000 токенов
Что происходит:
1. Входной текст не помещается целиком.
2. Система режет его на части или удаляет хвост.
3. Модель видит только часть информации.
4. Ответ может потерять важные детали из обрезанной части.
Пояснение кода:
Код не требуется. В этом примере логика такая: есть длинный документ, есть ограничение модели по токенам, и часть данных не помещается в окно контекста. Если документ превышает лимит, нужно либо сокращать вход, либо делать chunking, либо использовать retrieval-подход, чтобы подставлять только релевантные фрагменты.
Ключевые моменты:
- Context length ограничивает, сколько токенов модель реально “держит в голове” за один запрос.
- Расширение окна контекста дорого по памяти и вычислениям, особенно для attention.
- На длинных последовательностях могут падать точность, устойчивость к шуму и качество поиска нужной информации.
- Увеличение context length — это не только “поднять число”, но и решить проблему позиционного кодирования и обучения на длинных примерах.
- На практике длинные документы часто обрабатывают через chunking, summarization или retrieval augmented generation.