KV-кэш и Paged Attention: память видеокарты как узкое место
Разбор того, почему система на языковой модели летает на демонстрации одному человеку и захлёбывается на сотне пользователей. Причина не в самой модели, а в работе с памятью видеокарты во время генерации: промежуточные вычисления приходится хранить, и место под них резервируется с огромным запасом. Решение взято из старых операционных систем — память нарезается на мелкие страницы и выдаётся по мере надобности, за счёт чего заполненность растёт почти до предела и покупать новое железо не нужно.
Инференс LLM упирается в память: KV-кэш и Paged Attention решают фрагментацию, но требуют настройки под нагруз
Прямо переносится на сдачу работы: проверять бота не одним запросом от себя, а несколькими одновременными, иначе на демонстрации всё быстро, а в первый же наплыв клиентов заказчик увидит зависания. Если бот у заказчика будет тормозить, сначала смотреть на настройки обслуживания запросов, а не соглашаться на более дорогой тариф.