Dynamo 分布式推理服务框架使用指南
1. 项目介绍
Dynamo 是一个为数据中心规模设计的分布式推理服务框架。它旨在为生成式 AI 和推理模型提供高吞吐量、低延迟的服务,特别是在多节点分布式环境中。Dynamo 设计为推理引擎无关(支持 TRT-LLM、vLLM、SGLang 或其他引擎),并且具备针对语言模型(LLM)的特殊能力,如解耦预填充和解码推理、动态 GPU 调度、LLM 意识请求路由、加速数据传输和 KV 缓存卸载等。
Dynamo 使用 Rust 语言编写以提高性能,同时使用 Python 语言以增强可扩展性。作为一个完全开源的项目,Dynamo 采用了透明、以开源软件优先的开发方法。
2. 项目快速启动
系统环境要求
- 操作系统:建议使用 Ubuntu 24.04
- CPU 架构:x86_64
安装依赖
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -yq python3-dev python3-pip python3-venv libucx0
python3 -m venv venv
source venv/bin/activate
pip install ai-dynamo[all]
运行和交互本地 LLM
要本地运行模型并与模型交互,可以使用 dynamo run
命令,并指定一个 Hugging Face 模型。
dynamo run out=vllm deepseek-ai/DeepSeek-R1-Distill-Llama-8B
启动后,可以通过命令行与模型进行交互。
3. 应用案例和最佳实践
本地模型服务
使用 Dynamo 提供的 dynamo serve
命令可以启动一个本地模型服务。
cd examples/llm
dynamo serve graphs.agg:Frontend -f configs/agg.yaml
请求发送
启动服务后,可以使用 curl
发送请求到 Dynamo 服务。
curl localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "deepseek-ai/DeepSeek-R1-Distill-Llama-8B",
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
],
"stream": false,
"max_tokens": 300
}'
4. 典型生态项目
Dynamo 作为分布式推理服务框架,可以与多种开源项目集成,例如:
- TensorRT-LLM:NVIDIA 提供的高性能推理引擎。
- Hugging Face:提供丰富的预训练模型和模型库。
- UCX:用于加速数据传输的通信库。
以上指南为 Dynamo 的基本使用和集成提供了一个概览。开发者可以根据具体需求进一步探索和定制 Dynamo 的功能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考