Когда кэш весов больше чем сама модель: оптимизация для длинного контекста
Длинный контекст требует хранения активаций для каждого токена, что быстро превышает объём весов модели. Проблема острая для локального запуска: видеокарта с 8 ГБ может загрузить модель в 7 миллиардов параметров, но кэш контекста из миллиона токенов займёт десятки гигабайт.
Эффективные схемы кэширования (selective attention, ring buffers, Flash Attention) снижают объём активаций в 10-50 раз без потери качества. Ключ — не хранить всю историю в видеопамяти, а вычислять необходимые части по запросу или сжимать по специальным критериям.
Практический эффект
На практике это означает, что модель в 7-13 миллиардов параметров может работать с контекстом в 100-500 тысяч токенов на одной видеокарте уровня RTX 4090. Для сравнения: без оптимизации та же видеокарта исчерпывается на 20-30 тысячах токенов.
Открытые реализации (Ollama, vLLM, LM Studio) уже интегрируют эти методы, делая длинный контекст доступным без облачного API. Это критично для обработки больших документов, кодовых баз и истории диалогов на локальном оборудовании.
Технология ещё молодая, и эффективность сильно зависит от архитектуры модели и характера запросов. Но уже видно, что локальные модели начинают конкурировать с облачными по масштабам контекста, сохраняя преимущество в приватности и стоимости.