Пост 2/7. Почему длинный контекст — это дорого?

Если вам не нужны объяснения про память и вычисления нейросетей, этот пост можно не читать. Для остальных — простая аналогия, без формул и тяжёлого матана.

Представьте, что модель читает длинный документ — договор на 200 страниц, техническую документацию или всю переписку с клиентом за год.

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

Чем длиннее текст, тем больше конспект. И тем дороже каждый следующий шаг: нужно прочитать весь конспект, чтобы сгенерировать новое слово. Именно поэтому длинные контексты у классических Transformer такие дорогие.

Пример из обзора Jamba:

· Llama-2 6,7B при контексте 256K — KV-кэш около 128 ГБ; · Llama-3.1 405B — около 252 ГБ; · Mixtral 8x7B — около 32 ГБ; · Jamba — около 4 ГБ.

Разница огромная. И дело не только в деньгах на железо. Чем больше кэш, тем медленнее генерация и тем меньше запросов можно обслужить одновременно. На практике это означает: либо вы платите больше, либо ждёте дольше, либо режете контекст.

Именно здесь начинается история Jamba. Её авторы задали простой вопрос: а что, если не хранить полный конспект на каждом слое? Что, если часть слоёв будет работать как рекуррентная память с фиксированным размером? Об этом — в следующем посте.

Аналогия на память: Transformer — это собрание, где каждый участник должен выслушать всех. Mamba — это блокнот с фиксированным числом страниц, где постепенно обновляется суть.

Вопрос к читателям: сталкивались ли вы с тем, что модель «забывает» начало длинного документа или обрывает контекст? Напишите в комментариях — разберём, как это связано с KV-кэшем. #LLM #AI #Transformer #KVcache #Jamba #Mamba #MachineLearning