← Назад

models

Многоуровневый KV-кэш для крупных LLM на Amazon SageMaker HyperPod с Curvine

Статья описывает внедрение многоуровневого KV-кэша на базе Amazon SageMaker HyperPod с использованием Curvine для повышения эффективности работы крупных языковых моделей. Новая архитектура позволяет повторно использовать кэш на уровне нескольких узлов, сокращая время отклика и снижая затраты.

AS1 NewsИсточник: aws.amazon.com

modelsinfrastructuredistributed-cachesagemakercurvinehyperpodllm
AMZN$256.78-0.82%COST$904.77-2.23%DRAM$59.00+5.38%

Обработка inference крупных языковых моделей (LLM) на масштабных инфраструктурах сталкивается с дилеммой: либо использовать крупные GPU-инстансы с большим объемом памяти для хранения KV-кэша, либо терпеть медленный первый токен (TTFT) из-за необходимости повторной обработки одинаковых запросов. Для команд, использующих широкий спектр моделей, таких как Qwen, Llama, DeepSeek, это ведет к росту инфраструктурных затрат и ухудшению пользовательского опыта.

В традиционной архитектуре vLLM хранит ключи и значения внимания для каждого обработанного токена в KV-кэше, что позволяет избегать повторных вычислений. Расширение этого кэша на уровне префикса помогает повторно использовать его между запросами с одинаковым началом, однако при использовании недорогих GPU-инстансов объем памяти ограничен, что снижает эффективность кэша при длинных запросах и высокой нагрузке.

В новой архитектуре, реализованной на базе Amazon SageMaker HyperPod, применяется трехуровневая иерархия кэша: L0 — GPU HBM, L1 — локальная память CPU, и L2 — распределенный NVMe-пул Curvine. Использование Curvine, легкого распределенного файлового системы, позволяет объединить локальные NVMe-диски узлов в единое пространство, доступное через FUSE, что обеспечивает быстрый обмен KV-блоками между репликами.

Интеллектуальный маршрутизатор HyperPod, встроенный в Inference Operator, обеспечивает маршрутизацию запросов к наиболее подходящему реплике, уже содержащей нужный кэш, что значительно сокращает TTFT. В результате, на тестовых развертываниях достигнута 100% эффективность кэширования между узлами, а время отклика уменьшилось в 2.7 раза.

Детальный разбор архитектуры показывает, что L0 — это встроенный GPU-кэш, L1 — память CPU, а L2 — распределенный NVMe Curvine, объединяющий локальные диски узлов. Такой подход позволяет использовать более дешевые GPU-инстансы G6e, ранее предназначенные для меньших задач, при этом сохраняя высокую производительность.

Реализация включает активацию Tiered Storage в HyperPod, установку Curvine, настройку маршрутизатора и интеграцию с Inference Operator. В результате, достигается значительная экономия затрат и повышение скорости обработки запросов, особенно при высокой степени повторяемости префиксов.

Данная архитектура подходит для сценариев с высоким перекрытием запросов, таких как RAG-пайплайны, диалоговые системы и многопользовательские платформы, где повторное использование контекста существенно снижает TTFT и повышает эффективность.

Подробные инструкции по настройке, развертыванию и очистке среды доступны в официальной документации AWS и на GitHub, что позволяет быстро внедрить подобную систему в собственных проектах.

позитивно

Внедрение многоуровневого KV-кэша с Curvine позволяет снизить затраты и повысить производительность при масштабировании крупных языковых моделей, что важно для развития инфраструктур ИИ.