Dynamo:NVIDIA最新开源的数据中心级分布式推理框架

大模型

大模型已经进入生产落地时代,一些工程性问题逐渐暴露,从计算资源需求激增、内存瓶颈到分布式协调困难,传统的推理服务架构已难以应对。

近日,NVIDIA 在其开发者大会推出 一个开源高性能推理框架——Dynamo,专为解决大规模分布式环境中的生成式AI模型服务难题而设计。它以Rust语言为主(55.5%)构建,同时融合Go(28.5%)和Python(9.3%),确保了高性能与易扩展性的完美结合。

官方测试显示,Dynamo在NVIDIA GB200 NVL72上服务DeepSeek-R 67B模型时,吞吐量提升了30倍;在NVIDIA Hopper架构上服务Llama 70B模型时,吞吐量提升超过2倍。

核心组件

picture.image

Dynamo由四个关键组件构成,共同解决分布式和解耦推理服务的挑战:

  • GPU资源规划器 :监控多节点部署中的容量和预填充活动,调整GPU资源分配
  • 智能路由器 :KV缓存感知路由引擎,高效引导流量,最小化昂贵的重复计算
  • 低延迟通信库 :加速GPU间KV缓存传输,支持异构内存和存储类型
  • KV缓存管理器 :成本感知的KV缓存卸载引擎,释放宝贵的GPU内存

核心优势

Dynamo提供了几项关键优势:

  • 推理引擎无关性 :支持TRT-LLM、vLLM、SGLang等多种推理引擎,一次开发多处部署,解决了技术栈割裂问题。
  • 分离式预填充与解码 :智能拆分推理阶段,最大化GPU利用率,灵活平衡吞吐量与延迟,解决了计算资源瓶颈。
  • 动态GPU调度 :根据负载波动实时优化资源分配,避免资源浪费和性能瓶颈,应对了不均衡负载问题。
  • NIXL加速数据传输 :专为AI负载优化的通信协议,显著降低推理响应时间,解决了分布式环境中的通信开销。
  • 多级KV缓存管理 :巧妙利用GPU内存、系统内存甚至SSD,大幅提升服务容量,突破了内存限制。

KV缓存路由:突破性创新

在LLM推理中,KV缓存管理是性能优化的关键。传统Transformer架构在生成每个token时都会计算并存储key-value对,这些缓存占用大量GPU内存,但对加速后续生成至关重要。

在分布式环境中,如果没有全局的KV缓存管理,会导致两个严重问题:一是缓存复用机会丢失,增加不必要的计算;二是系统负载不均衡,降低整体吞吐量。这正是当前行业面临的技术瓶颈。

Dynamo通过创新的KV缓存路由机制突破了这一瓶颈:

  • KVPublisher :嵌入各工作节点,实时发布缓存块创建和移除事件
  • KVIndexer :维护全局前缀树,精确追踪所有节点上的缓存状态
  • KvMetricsAggregator :收集各节点负载指标,提供整体视图

当新请求到达时,路由器会查询匹配的缓存块并分析节点负载,使用智能成本函数找到最佳平衡点。例如,即使某节点有75%的缓存匹配,但负载达80%,系统可能会选择匹配率50%但负载较低的节点,确保整体性能最优。


        
            

          +---------+          +------------------+           +---------+
            

          |  Tokens |--------->| KV Aware Router  |---------> | Worker 2|
            

          +---------+          +------------------+           +---------+
            

                                     |
            

                  +------------------+------------------+
            

                  |                  |                  |
            

                  | KV匹配: 5%      | KV匹配: 50%      | KV匹配: 75%
            

                  v                  v                  v
            

           +----------------+  +----------------+  +----------------+
            

           |   Worker      |  |   Worker 2     |  |   Worker 3     |
            

           |  (负载: 30%)   |  |  (负载: 50%)   |  |  (负载: 80%)   |
            

           +----------------+  +----------------+  +----------------+
            

        
      

模块化架构设计

面对复杂多变的生产环境需求,Dynamo采用了高度模块化的三层架构:

命名空间(Namespace) :逻辑隔离的资源空间,支持多租户部署

组件(Component) :独立可部署的功能单元,通常对应Docker容器

端点(Endpoint) :组件上的功能接口,支持发现和调用

这种设计使Dynamo能够构建灵活的推理服务图,支持单一输入与多输出流式传输,为现代AI应用提供理想平台,解决了传统架构的扩展性限制。

简单易用的部署体验

尽管技术先进,但Dynamo保持了简单直观的用户体验。对于简单场景,只需一行命令即可启动服务:


        
            

          dynamo run out=vllm deepseek-ai/DeepSeek-R-Distill-Llama-8B
            

        
      

对于生产环境,典型的部署包括两个步骤:


        
            

          
 # 启动运行时服务
 
            

          docker compose -f deploy/docker-compose.yml up -d
            

            

          
 # 启动LLM服务组件
 
            

          
 cd
 
           examples/llm
            

          dynamo serve graphs.agg:Frontend -f configs/agg.yaml
            

        
      

系统提供完全兼容OpenAI的API接口,客户端可以使用标准HTTP请求访问,降低了开发者的迁移和学习成本:


        
            

          curl localhost:8000/v/chat/completions \
            

            -H 
          
 "Content-Type: application/json"
 
           \
            

            -d 
          
 '{
   

     "model": "deepseek-ai/DeepSeek-R-Distill-Llama-8B",
   

     "messages": [{"role": "user", "content": "Hello"}],
   

     "stream":false,
   

     "max\_tokens": 300
   

   }'
 
            

        
      

结语

在AI模型规模不断增长、推理性能要求日益提高的当下,NVIDIA Dynamo为解决分布式LLM服务的关键挑战提供了创新解决方案。它不仅克服了KV缓存管理、负载均衡和资源利用率等行业痛点,还通过灵活架构为未来AI系统设计提供了新思路。随着企业AI应用从实验走向规模化部署,Dynamo这样的分布式推理框架将在AI落地进程中发挥越来越重要的作用。

项目地址: https://github.com/ai-dynamo/dynamo

公众号回复“进群”入群讨论。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 XR 技术的探索与实践
火山引擎开发者社区技术大讲堂第二期邀请到了火山引擎 XR 技术负责人和火山引擎创作 CV 技术负责人,为大家分享字节跳动积累的前沿视觉技术及内外部的应用实践,揭秘现代炫酷的视觉效果背后的技术实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论