Сколько можно кормить модель текстом?
Помните тот момент, когда вы пытались загрузить в ChatGPT техническую документацию на 500 страниц, а он отвечал: "Извините, ваш запрос слишком длинный"? Или когда агент терял нить разговора после десятка сообщений? Проблема квадратичной сложности внимания — проклятие всех трансформеров. DeepSeek-V4 с методом Lookahead Sparse Attention (LSA) обещает отправить это проклятие в прошлое.
В середине 2026 года, когда все уже привыкли к контексту в 128k токенов, DeepSeek задирает планку до миллиона. Но не просто задирает — они меняют саму физику внимания. Вместо того чтобы делать dense attention (которое, как мы знаем из исследования на lineage-бенчмарках, может даже ухудшать качество на длинных последовательностях), они внедряют Lookahead Sparse Attention.
Lookahead Sparse Attention: как это работает (без лишней магии)
Представьте себе чтение книги. Вы не держите в уме все слова каждой страницы. Вы помните последние абзацы (локальное окно) и ключевые моменты из предыдущих глав (далекие аттеншн-узлы). Lookahead Sparse Attention делает то же самое.
LSA комбинирует два механизма:
- Sliding Window — локальное внимание на, скажем, 4096 последних токенов. Это как рабочая память.
- Lookahead — набор "выдвинутых" ключей из прошлого, которые модель сама решает сохранять. Вместо разреженной случайной выборки (как в старых sparse-методах) LSA использует эвристику на основе внимания: те токены, которые в предыдущих шагах получили наибольший score, кешируются для будущих слоёв.
Критическая деталь: LSA не хранит все ключи, а поддерживает динамический пул "важных" токенов. Размер пула — гиперпараметр (например, 8192). При каждом шаге пул обновляется: старые токены вытесняются новыми, если те оказываются "интереснее". Это напоминает кеш с политикой LFU, но с учётом позиции.
Именно этот механизм DeepSeek назвала FlashMemory — и он напрямую наследует идеи из архитектуры KV cache, описанной в статье DeepSeek-V4: как работает миллионный контекст для AI-агентов.
Важно: LSA — это не приближение, а точный sparse attention. Модель видит все токены через комбинацию окна и кеша, но не вычисляет полную матрицу внимания. Это снижает сложность с O(n²) до O(n × w), где w — сумма размеров окна и lookahead-пула.
Сравнение с альтернативами: кто кого?
Рынок long-context решений к 2026 году — это уже не пустыня. Давайте пройдёмся по конкурентам.
| Метод | Макс. контекст | Сложность | Точность на длинных зависимостях |
|---|---|---|---|
| Dense Attention (обычный) | ~8k (на одном GPU) | O(n²) | Высокая, но до 8k |
| FlashAttention-4 | 128k | O(n²) с оптимизацией | Высокая |
| Memory Sparse Attention | 100M | O(n log n) | Средняя (зависит от политики выбора) |
| IndexCache + vLLM/SGLang | до 1M (с кешированием) | O(n) с кешем | Средняя (кеш индексов может проседать) |
| LSA (FlashMemory-DeepSeek-V4) | 1M+ | O(n × w) | Высокая (за счёт lookahead) |
FlashAttention-4 — безусловно быстрее dense attention, но он не решает проблему квадратичного роста памяти. Разгон в 2.7 раза впечатляет (как писали в разборе FlashAttention-4), но для контекста в 1M токенов даже с FA4 нужно >16 GPU.
Memory Sparse Attention (обсуждался в одноимённой статье тут) теоретически может обработать 100M токенов, но на практике страдает от "забывания" далёких, но важных паттернов. LSA решает это тем, что lookahead-пул собирает не случайные токены, а именно те, которые модель считает важными на предыдущих шагах — это даёт лучшую связность.
IndexCache — остроумный трюк для vLLM и SGLang, описанный в статье про IndexCache. Он ускоряет инференс DeepSeek-V3.2 на 1.8x, но не расширяет контекст — просто кеширует уже вычисленные индексы. LSA же работает на уровне архитектуры, а не кеша.
Примеры из жизни: где LSA вывозит
Хватит теории. Скажем, вы делаете RAG-систему для юридической фирмы. Баз данных на 3000+ документов, каждый — по 50-100 страниц. Раньше приходилось чанковать по 512 токенов, терять контекст между чанками, и модель путалась в ссылках. С LSA вы можете скормить модели целый договор (скажем, 80k токенов) и задать вопрос про пункт 12.3, который отсылает к приложению 5 на странице 300. Модель видит всё — и ответ точен.
Другой сценарий — AI-агент, который пишет код для репозитория с миллионом строк. LSA позволяет держать в контексте всю структуру проекта (имена классов, импорты, документацию). Агент не забывает, что та функция уже определена в другом файле. Мы уже видели, как DeepSeek-V4 справляется с агентными нагрузками в архитектурном дайв-дауне — LSA делает это доступным без аренды кластера.
Типичная ошибка: Некоторые пытаются прикрутить LSA к существующим моделям через дообучение. Но LSA требует, чтобы модель была обучена с нуля с этим механизмом (как сделано в DeepSeek-V4). Попытка адаптировать — путь к катастрофе: sparse attention просто не будет знать, какие токены считать важными.
Кому это реально нужно
- Инженеры RAG — если вы устали от чанков, overlap'ов и реранкеров, LSA позволяет скормить модели целый документ целиком. Качество извлечения информации взлетает на 30-50% (по внутренним тестам DeepSeek).
- Разработчики AI-агентов — для агентов, которые работают с долгими сессиями (часы диалогов, анализ кодовой базы, обработка логов). LSA даёт им "эпизодическую память".
- Исследователи NLP — если вы изучаете поведение моделей на сверхдлинных зависимостях (например, в задачах Lineage или Long Range Arena), LSA — идеальный полигон.
- Все, кто хочет сэкономить GPU-часы — LSA требует меньше памяти, чем dense attention, при том же или лучшем качестве. По оценкам DeepSeek, инференс на 1M контексте с LSA стоит примерно столько же, сколько dense attention на 128k.
Конечно, есть и минусы. LSA не панацея: если ваша задача требует поиска иголки в стоге сена (один факт среди миллиона токенов), lookahead-пул может её пропустить. Для таких случаев лучше комбинировать LSA с внешним поиском (например, BM25).
Ещё один нюанс: сегодня LSA доступен только в составе FlashMemory-DeepSeek-V4. DeepSeek пока не выкладывала отдельную библиотеку для других архитектур. Но судя по тому, как быстро компания публикует препринты (вспомним недавний разбор их residual connection), открытый релиз не за горами.
Так что если вы до сих пор мучаетесь с ограничением контекста — присмотритесь к FlashMemory-DeepSeek-V4. И будьте готовы: после миллиона токенов обратно к жалким 128k уже не захочется.