Mooncake : Кэш-центричная архитектура с разнесением для обслуживания LLM

Mooncake : Кэш-центричная архитектура с разнесением для обслуживания LLM. Mooncake - это опенсорс-версия решений для платформы LLM-сервиса Kimi , используемой Moonshot AI. Платформа использует KVCache-центричную разнесенную архитектуру, которая разделяет кластеры предварительной обработки (prefill) и декодирования (decode), и использует свободные ресурсы CPU, DRAM и SSD кластера GPU для распределения KVCache. Mooncake использует планировщик, который максимизирует общую пропускную способность за счет политики раннего отклонения запросов на основе прогнозирования при соблюдении требований к SLO (Service Level Objectives). Основной компонент Mooncake - Transfer Engine , который обеспечивает быструю, надежную и гибкую передачу данных по протоколам TCP, RDMA, NVIDIA GPUDirect RDMA и NVMe over Fabric (NVMe-of). Transfer Engine обладает меньшей задержкой ввода-вывода по сравнению с gloo (используется в Distributed PyTorch) и TCP. Transfer Engine оптимизирует использование нескольких устройств RDMA NIC, выбор лучшего пути с учетом топологии и обеспечивает повышенную устойчивость к временным ошибкам сети. В сетях RoCE 4×200 Gbps и 8×400 Gbps Transfer Engine показывает пропускную способность до 87 ГБ/с и 190 ГБ/с соответственно, что примерно в 2,4 и 4,6 раза быстрее, чем протокол TCP. На базе Transfer Engine реализована библиотека P2P Store , которая позволяет обмениваться временными объектами (например, чекпоинтами) между узлами кластера. Transfer Engine интегрирован с vLLM для повышения эффективности разнесения prefill-decode. Тесты показали, что Mooncake превосходит базовые методы обслуживания LLM в сценариях с длинным контекстом: пропускная способность увеличивается на 525% в некоторых смоделированных сценариях при соблюдении SLO, а в реальных рабочих нагрузках Mooncake позволяет Kimi обрабатывать на 75% больше запросов. Лицензирование: Apache 2.0 License. Arxiv Github
Back to Top