В мире больших языковых моделей (LLM) управление ресурсами становится все более сложной задачей. Современные модели, такие как GPT с 70 и более миллиардами параметров, требуют многонодных распределенных развертываний, что создает новые вызовы для инфраструктуры. NVIDIA представила решение — фреймворк Dynamo, который упрощает процесс распределенного вывода.
Dynamo разбивает процесс вывода на несколько фаз, таких как предзаполнение и декодирование, и управляет задачами, разделяя их на вычислительно нагруженные и требующие большого объема памяти. Это позволяет динамически распределять ресурсы GPU, что значительно снижает задержки и повышает эффективность использования оборудования.
Фреймворк совместим с различными движками вывода, такими как TensorRT-LLM и vLLM, что дает организациям гибкость в выборе технологий. Совместно с Microsoft Azure, NVIDIA продемонстрировала, как Dynamo может эффективно работать на кластерах Kubernetes, используя специальные виртуальные машины с интегрированными GPU.
Одним из ключевых преимуществ Dynamo является возможность разделения фаз вывода на разные GPU. Это позволяет оптимизировать каждую фазу отдельно, что особенно полезно в сценариях, где требуется высокая вычислительная мощность для обработки входных данных, но меньшая для генерации выходных токенов. Например, в приложении для электронной коммерции, где обрабатывается большое количество токенов для контекста пользователя, но генерируются короткие описания товаров.
Dynamo также включает динамическое планирование GPU, которое адаптируется к изменяющимся требованиям. Это позволяет системе масштабировать ресурсы в зависимости от реального трафика, что особенно важно в периоды пиковых нагрузок. Система может перераспределять GPU между фазами предзаполнения и декодирования, обеспечивая выполнение SLA и минимизируя затраты на оборудование.
Кроме того, Dynamo использует маршрутизатор, который отслеживает расположение кэша ключ-значение (KV) по кластерам GPU, что позволяет минимизировать избыточные вычисления и эффективно управлять памятью. Это решение позволяет организациям обрабатывать больше пользователей одновременно, сохраняя низкую задержку.
Dynamo позиционируется как преемник NVIDIA Triton Inference Server, и его разработка ведется с акцентом на производительность и расширяемость. Проект полностью открыт и доступен на GitHub, что позволяет разработчикам вносить свой вклад и адаптировать его под свои нужды.