当前位置: 首页 > news >正文

Multi-Node LLM Serving: Architecture, Frameworks Best Practices (LLM Generated)

Multi-Node LLM Serving: Architecture, Frameworks & Best Practices (LLM Generated)

Use MiMo Code to modify the whole content with MiMo-v2.5.


10 分钟快速部署

如果你已经有一个 2 节点 × 8 GPU 的集群,只需三步即可启动 70B 模型服务:

# ① 所有节点:安装依赖
pip install vllm ray# ② 头节点:启动 Ray 集群
ray start --head --port=6379
# 其他节点:ray start --address='10.0.0.1:6379'# ③ 头节点:启动模型服务
vllm serve meta-llama/Meta-Llama-3-70B-Instruct \--tensor-parallel-size 8 \--pipeline-parallel-size 2 \--max-model-len 8192

验证:curl http://localhost:8000/v1/models 返回模型信息即成功。

注意事项:确保节点间 NCCL 网络可达(export NCCL_DEBUG=INFO 查看),且模型权重在所有节点的同一路径下可访问。详细配置见下文。


为什么需要多节点部署?

在集群上多节点部署大模型,通常出于两个核心需求:

  • 模型太大,单卡装不下 —— 70B+ 参数的模型需要数百GB显存,单节点8卡也放不下
  • 需要更高吞吐 —— 生产环境需要同时服务大量并发请求

先看一组数字,直观感受不同规模模型的显存需求:

模型规模 参数量 FP16显存(推理) 最少GPU(A100 80G) 典型模型
7B ~14 GB 1 Llama-2-7B, Qwen2-7B
13B ~26 GB 1 Llama-2-13B, Qwen1.5-14B
70B ~140 GB 2 Llama-3-70B, Qwen2-72B
超大 405B ~810 GB 16 Llama-3.1-405B

显存估算公式:参数量(B) × 每参数字节数 × 1.2(开销系数)。FP16 下每参数 2 字节,INT4 量化后约 0.5 字节。1.2 倍系数覆盖了 KV Cache 和激活值的额外开销。

除了单卡装不下,推理场景本身也有吞吐压力。以在线客服为例,假设日均 100 万次对话请求,每次平均 500 token 输出,就是 500B token/天——折合约 580万 tokens/秒 的平均吞吐需求。单节点很难撑住这样的流量。

部署的核心是利用模型并行(张量并行、流水线并行)把模型切分到多个GPU,跨节点协同推理。

多节点部署的本质是把通信和分片做好。 选对并行策略、配好网络后,剩下的就是启动分布式框架,让它像单机一样服务。


一、并行策略选择

1.1 张量并行(Tensor Parallelism, TP)

把单层矩阵乘法切分到多卡,通信量大,适合节点内高速NVLink

通信模式:每一层计算完成后,所有参与 TP 的 GPU 需要执行一次 AllReduce 同步结果。对于一个 Transformer 层,每个 TP 步骤通常需要 2 次 AllReduce(前向)+ 2 次(反向,推理时只有前向)。NVLink 的双向带宽通常在 300-900 GB/s(取决于 GPU 型号),能有效支撑这种高频通信。

适用原则:TP 度数尽量不超过单节点 GPU 数量。跨节点做 TP 会因网络带宽不足导致严重的性能下降。

1.2 流水线并行(Pipeline Parallelism, PP)

按层切分,不同层放不同设备,通信量小,适合跨节点

通信模式:相邻 stage 之间通过 P2P Send/Recv 传递中间激活值。每个 micro-batch 只需传一次,通信量远小于 TP 的 AllReduce。对于 70B 模型切 2 个 stage,每个 stage 只传一个 (batch_size, seq_len, hidden_dim) 的张量。

适用原则:PP 适合跨节点部署,因为通信量小、频率低,对网络带宽不敏感。但 PP 会引入流水线气泡(pipeline bubble),需要通过 micro-batch 数量来摊薄。

1.3 数据并行(Data Parallelism, DP)

多副本同时处理不同请求,增加吞吐。通常与TP/PP混用。

通信模式:每个 DP rank 独立处理不同请求,仅在权重更新时(训练)或周期性同步时(推理中的参数服务器模式)通信。对于纯推理场景,DP 几乎无通信开销。

适用原则:当模型能装下单节点时,用 DP 提升吞吐。多节点时,可与 TP/PP 组合为 3D 并行。

1.4 专家并行(Expert Parallelism, EP)

专门用于 MoE(Mixture of Experts) 模型,如 DeepSeek-V2、Mixtral 等。每个专家被放置在不同 GPU 上,路由器根据输入动态选择专家。

通信模式:需要 All-to-All 通信——每个 token 被路由到目标专家所在的 GPU,处理后再返回。通信量取决于路由策略和专家数量。

适用原则:MoE 模型首选 EP。通常与 TP 组合使用(如 DeepSeek-V2 用 TP=1, EP=8),Ray 或 vLLM 可自动处理调度。

1.5 混合并行策略

实际部署常采用 TP + PP混合

  • 节点内用TP(8卡)
  • 节点间用PP(2节点)

例如:2节点 × 8GPU,可以设置 TP=8, PP=2

具体案例:Llama-3-70B 在 2×8 A100-80G 上的部署

模型参数: 70B, FP16
显存需求: ~140 GB(推理) + KV Cache
总GPU: 16 × 80 GB = 1280 GB切分方案:TP=8 (节点内): 每个 Transformer 层的注意力和 FFN 切到 8 卡PP=2 (跨节点): 32 层切为 2 个 stage,各 16 层显存分布: 每卡承载 ~140/16 ≈ 9 GB 模型权重 + KV CachevLLM 启动命令:vllm serve meta-llama/Meta-Llama-3-70B-Instruct \--tensor-parallel-size 8 \--pipeline-parallel-size 2 \--max-model-len 8192

选策略的核心原则:节点内带宽高(NVLink 600+ GB/s)→ 用 TP;节点间带宽低(IB 100-400 Gb/s)→ 用 PP;要吞吐 → 加 DP。

1.6 并行策略选择速查表

场景 推荐策略 原因
7B-13B,单节点8卡 TP=2-4, DP=2-4 模型小,优先保吞吐
70B,单节点8卡 TP=8 模型刚好装下,TP 一步到位
70B,2节点16卡 TP=8, PP=2 节点内 NVLink 跑 TP,节点间 PP
405B,4节点32卡 TP=8, PP=4 大模型必须多节点 PP
MoE 模型(任意规模) EP 为主 + TP=1-2 MoE 专家分布在不同 GPU

1.7 实际性能测试对比

Llama-3-70B-Instruct (FP16) 在 vLLM 上的测试为例,对比不同并行策略的性能表现:

测试环境:2 节点 × 8 × NVIDIA A100-80G,InfiniBand HDR 200Gb/s

并行策略 GPU配置 吞吐 (tokens/s) TTFT (ms) TPOT (ms) 备注
TP=8, PP=1 单节点 8卡 4,200 120 32 单节点最优
TP=8, PP=2 2节点 16卡 3,800 180 38 跨节点PP引入气泡
TP=4, PP=1, DP=2 单节点 8卡 3,600 130 35 DP提升并发但单请求略慢
TP=4, PP=2, DP=2 2节点 16卡 3,200 210 42 组合策略,均衡配置
TP=2, PP=1, DP=4 单节点 8卡 2,800 160 45 低TP导致单层计算慢

测试条件:input 512 tokens, output 256 tokens, batch_size=64, max_model_len=8192

关键发现

  1. TP=8 单节点是吞吐天花板 —— 充分利用 NVLink 带宽,无跨节点通信开销
  2. PP 引入约 10-15% 的吞吐损失 —— 流水线气泡导致 GPU 利用率下降
  3. DP 提升并发但不提升单请求速度 —— 适合多用户场景,不适合单用户低延迟
  4. TP 度数越高,单请求延迟越低 —— 单层矩阵运算被更多 GPU 分担

延迟 vs 吞吐的权衡

延迟优先(单用户低延迟):TP 尽量高,PP=1,无 DP→ TP=8, PP=1, DP=1吞吐优先(多用户高并发):TP 适中,加 DP 扩并发→ TP=4, PP=1, DP=2均衡方案(生产环境推荐):根据节点数灵活组合→ TP=8, PP=2, DP=1(2节点)→ TP=8, PP=4, DP=1(4节点)

二、环境与前置条件

2.1 高速网络

节点间必须有 InfiniBandRoCE 网络(至少25GbE),否则跨节点通信会成为瓶颈。

检查 GPU 拓扑

# 查看 GPU 互联方式和 NVLink 拓扑
nvidia-smi topo -m# 预期输出:NV 后的连接表示 NVLink,SYS 后表示 PCIe
# NV12 表示 12 条 NVLink 链路,带宽最高

检查 InfiniBand

# 查看 IB 设备状态
ibstat# 测试 IB 带宽(需要两端同时运行)
# 接收端:
ib_write_bw -d mlx5_0 -a# 发送端:
ib_write_bw -d mlx5_0 -a <接收端IP># 预期带宽:HDR IB ~200 Gb/s, NDR IB ~400 Gb/s

2.2 共享存储

所有节点需能访问相同的模型权重路径:

  • NFS / Lustre / GPFS 共享文件系统
  • 或每个节点相同路径下拷贝一份

存储性能要求:模型加载速度受存储带宽影响。加载一个 70B 模型(~140 GB 权重文件),在 1GbE NFS 上需要约 19 分钟,在 10GbE 上约 2 分钟,在本地 NVMe SSD 上约 20 秒。生产环境建议使用 10GbE 以上的共享存储,或在每个节点本地放置模型副本。

2.3 软件环境

所有节点统一Docker镜像或Conda环境,确保 CUDA、NCCL、PyTorch 版本一致。

# 快速检查各节点环境一致性
python -c "import torch; print(f'PyTorch: {torch.__version__}, CUDA: {torch.version.cuda}, NCCL: {torch.cuda.nccl.version()}')"

2.4 NCCL配置(关键)

export NCCL_IB_DISABLE=0           # 启用InfiniBand(若有)
export NCCL_SOCKET_IFNAME=eth0     # 指定网卡接口
export NCCL_DEBUG=INFO             # 调试时可打开

节点间需能无密码SSH互访,或通过Ray自动调度。

验证节点间通信

# 通过 torchrun 快速验证 NCCL 通信(自动设置环境变量)
torchrun --nnodes=2 --nproc_per_node=1 \--rdzv_id=100 --rdzv_backend=c10d \--rdzv_endpoint=<头节点IP>:29500 \-c "import torch.distributed as dist; \dist.init_process_group(backend='nccl'); \print(f'Rank {dist.get_rank()} / World size {dist.get_world_size()} connected'); \dist.destroy_process_group()"

2.5 部署前检查清单

开始部署前,逐项确认以下清单,避免部署后反复排错:

# 检查项 验证命令 / 方法 期望结果
1 GPU 可见性 nvidia-smi 所有节点显示正确数量的 GPU
2 NVLink 拓扑 nvidia-smi topo -m 节点内 GPU 间显示 NV 连接
3 IB/RoCE 网络 ibstat + ib_write_bw IB 状态 Active,带宽达标
4 节点间互通 ping <其他节点IP> 全部可达,延迟 <1ms
5 NCCL 通信 torchrun 验证脚本(见 2.4) 所有 rank 输出 connected
6 模型权重可访问 ls -la /path/to/model/config.json 所有节点同一路径可见
7 存储读写速度 dd if=/dev/zero of=/mnt/test bs=1G count=1 10GbE 以上或本地 NVMe
8 软件版本一致 python -c "import torch; ..." PyTorch/CUDA/NCCL 版本相同
9 防火墙规则 nc -zv <节点IP> 29500-29600 NCCL 端口可达
10 Ray 集群健康 ray status 所有节点 Online,GPU 可用
11 显存足够 按公式估算(见 7.1) 模型权重 + KV Cache ≤ 总显存
12 SSH 免密(如需) ssh <其他节点IP> hostname 无需密码即可登录

提示:可将此表打印出来,逐项打勾确认。第 5、6、10 项是最常见的部署失败原因。


三、主流部署方案

方案一:vLLM + Ray(推荐)

适用场景:通用部署、快速上手

vLLM利用Ray管理多节点GPU资源,自动放置模型分片。

核心特性

  • PagedAttention高效管理KV Cache
  • 支持连续批处理,吞吐极高
  • 兼容HuggingFace和ModelScope模型
  • 支持TP、PP、DP和EP并行
  • 提供OpenAI兼容API
  • 支持NVIDIA、AMD、Intel等多种硬件

部署步骤

  1. 所有节点安装相同版本vLLM + Ray
pip install vllm ray
  1. 启动Ray集群
# 头节点(例如10.0.0.1)
ray start --head --port=6379# 其他worker节点
ray start --address='10.0.0.1:6379'
  1. 启动vLLM API服务(在头节点执行)
vllm serve /path/to/model \--tensor-parallel-size 8 \--pipeline-parallel-size 2 \--trust-remote-code \--max-model-len 8192

vLLM会自动通过Ray placement group把模型分片调度到各节点GPU上。之后就可以像单机一样发送 /v1/chat/completions 请求。

调试技巧

  • 遇到 CUDA graph 相关报错时,加 --enforce-eager 关闭 CUDA graph,先验证部署逻辑正确
  • --disable-log-requests 关闭请求日志,减少 I/O 开销
  • --seed 42 固定随机种子,方便复现问题

优缺点

  • ✅ 开箱即用,吞吐极高
  • ❌ Ray有一定资源开销,不适合极致低延迟场景

Docker版本

docker run -d --gpus all --network=host \-v /mnt/nfs/models:/models \vllm/vllm-openai \--model /models/your-model \--tensor-parallel-size 8 \--pipeline-parallel-size 2

注意:多节点必须使用 --network=host,让Ray直接使用宿主机IP和端口通信,避免容器NAT干扰NCCL。

vllm/vllm-openai 在vllm0.18.0之后的版本中不包含ray,需要单独安装,版本可考虑最新版本

此外,实际部署时,应该先启动容器并保持,先worker后head,容器内启动ray,等head的ray status状态满足后再启动vllm(vllm serve xxx)


方案二:DeepSpeed Inference

适用场景:已用DeepSpeed训练的模型

deepspeed --num_gpus 8 --num_nodes 2 \inference_script.py \--model /path/to/model \--deepspeed ds_config_infer.json

ds_config_infer.json 配置示例:

{"tensor_parallel": { "tp_size": 8 },"pipeline_parallel": { "pp_size": 2 },"dtype": "fp16","replace_with_kernel_inject": true,"max_tokens": 1024
}

DeepSpeed依赖MPI或torchrun启动,需提前配置好节点间SSH免密和共享文件系统。


方案三:TensorRT-LLM

适用场景:超低延迟、NVIDIA生态

NVIDIA官方方案,延迟最低,但部署复杂,常用MPI启动多节点。

# 第一步:构建引擎(需要在目标 GPU 配置上构建)
trtllm-build \--checkpoint_dir /models/llama-70b-ckpt \--output_dir /engines/llama-70b-engine \--dtype float16 \--gemm_plugin float16 \--max_batch_size 64 \--max_input_len 4096 \--max_seq_len 8192# 第二步:多节点启动服务
mpirun -np 16 -H node1:8,node2:8 \--allow-run-as-root \--mca btl_tcp_if_include eth0 \trtllm-serve /engines/llama-70b-engine \--host 0.0.0.0 --port 8000

需要先用 trtllm-build 构建模型引擎(提前做好TP/PP切分),然后 trtllm-serve 启动服务。适合追求极致性能的生产环境。


方案四:SGLang

适用场景:Ray深度集成、MoE模型、简单调度

SGLang原生支持多节点集群分布式部署,底层依靠两大分布式引擎:

  • Ray分布式集群(官方主推):弹性扩缩、多机TP/PP/DP一键拉起
  • PyTorch Distributed(torchrun):传统多机通信,适合裸机稳定集群

相比vLLM的优势

  • Ray深度原生集成
  • MoE专家并行EP支持更好
  • 多节点调度封装更简单

方式一:Ray 启动

# Head节点
#!/bin/bash
IMG=lmsys/sglang:latest
MODEL_PATH=/models/Llama3-70B-Instruct
RAY_ADDR=192.168.1.100docker run -d --name sglang-head \--gpus all --runtime nvidia --network host --ipc=host \-e NCCL_IB_DISABLE=1 -e NCCL_SOCKET_IFNAME=eth0 \-v /mnt/share/models:/models \$IMG \bash -c "ray start --head --port=6379 && \python -m sglang.launch_server \--model $MODEL_PATH \--tp-size 8 --pp-size 2 \--distributed-backend ray \--host 0.0.0.0 --port 30000"
# Worker节点
#!/bin/bash
IMG=lmsys/sglang:latest
RAY_HEAD=192.168.1.100docker run -d --name sglang-worker \--gpus all --runtime nvidia --network host --ipc=host \-e NCCL_IB_DISABLE=1 -e NCCL_SOCKET_IFNAME=eth0 \-v /mnt/share/models:/models \$IMG \ray start --address=$RAY_HEAD:6379 --block

方式二:torchrun 启动(无需 Ray)

# 所有节点执行相同的命令(rank 和 nnodes 由 torchrun 自动分配)
torchrun --nnodes=2 --nproc_per_node=8 \--rdzv_id=100 --rdzv_backend=c10d \--rdzv_endpoint=192.168.1.100:29500 \-m sglang.launch_server \--model /models/Llama3-70B-Instruct \--tp-size 8 --pp-size 2 \--host 0.0.0.0 --port 30000

torchrun 方式更适合裸机环境或已有 Kubernetes 弹性训练基础设施的场景,避免了 Ray 的额外依赖。


方案五:Hugging Face TGI(Text Generation Inference)

适用场景:HuggingFace 生态、生产级推理服务

TGI 是 HuggingFace 官方的推理服务框架,专为生产环境设计,支持多节点分布式部署。

核心特性

  • 原生支持 Flash Attention、Paged Attention
  • 支持 GPTQ/AWQ/INT4/INT8 量化
  • 内置 Prometheus 指标和健康检查
  • 支持 Streaming 响应
  • 提供 OpenAI 兼容 API

部署步骤

# 所有节点安装
pip install text-generation# 启动多节点服务(使用 torchrun)
torchrun --nnodes=2 --nproc_per_node=8 \--rdzv_id=200 --rdzv_backend=c10d \--rdzv_endpoint=<头节点IP>:29501 \-m text_generation_server.cli serve \meta-llama/Meta-Llama-3-70B-Instruct \--num-shard 16 \--max-input-tokens 4096 \--max-total-tokens 8192

Docker 部署

docker run -d --gpus all --network=host \-v /mnt/models:/models \ghcr.io/huggingface/text-generation-inference:latest \--model-id /models/Meta-Llama-3-70B-Instruct \--num-shard 16 \--max-batch-prefill-tokens 4096

优缺点

  • ✅ 生产级稳定性,内置监控和健康检查
  • ✅ HuggingFace 模型原生支持
  • ❌ 多节点配置相对复杂,需要手动设置 NCCL

方案六:Ollama(简化部署)

适用场景:快速原型验证、本地测试、资源受限环境

Ollama 提供极简的部署体验,适合快速验证和小规模场景。

核心特性

  • 一键安装,开箱即用
  • 自动管理模型下载和缓存
  • 提供 REST API 和 CLI
  • 支持 CPU 和 GPU 推理
  • 支持模型量化(GGUF 格式)

部署步骤

# 单节点安装
curl -fsSL https://ollama.com/install.sh | sh# 拉取并运行模型
ollama pull llama3:70b
ollama serve# API 调用
curl http://localhost:11434/api/generate \-d '{"model": "llama3:70b", "prompt": "Hello"}'

多节点方案(通过 Nginx 负载均衡):

# nginx.conf
upstream ollama_cluster {server 10.0.0.1:11434;server 10.0.0.2:11434;server 10.0.0.3:11434;server 10.0.0.4:11434;
}server {listen 80;location / {proxy_pass http://ollama_cluster;}
}

优缺点

  • ✅ 极简部署,适合快速验证
  • ✅ 支持 CPU 推理,硬件门槛低
  • ❌ 不支持真正的分布式推理,多节点仅限负载均衡
  • ❌ 性能不如专业推理框架

方案七:llama.cpp(轻量级部署)

适用场景:CPU 推理、边缘设备、嵌入式部署

llama.cpp 是纯 C/C++ 实现的推理引擎,支持 CPU 和 GPU 混合推理。

核心特性

  • 纯 C/C++ 实现,无 Python 依赖
  • 支持 CPU (AVX/AVX2/AVX-512) 和 GPU (CUDA/Metal/Vulkan)
  • 支持 GGUF 量化格式
  • 极低内存占用
  • 支持 macOS、Linux、Windows

部署步骤

# 编译安装
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make -j8# 下载 GGUF 模型(从 HuggingFace)
huggingface-cli download meta-llama/Meta-Llama-3-70B-GGUF \--local-dir ./models# 启动服务(GPU 加速)
./llama-server \-m ./models/llama-3-70b-q4_k_m.gguf \--host 0.0.0.0 --port 8080 \-ngl 99 \-c 8192# API 调用
curl http://localhost:8080/v1/chat/completions \-H "Content-Type: application/json" \-d '{"model": "llama-3-70b", "messages": [{"role": "user", "content": "Hello"}]}'

Docker 部署

docker run -d --gpus all \-v ./models:/models \-p 8080:8080 \ghcr.io/ggerganov/llama.cpp:server \-m /models/llama-3-70b-q4_k_m.gguf \--host 0.0.0.0 --port 8080 \-ngl 99

优缺点

  • ✅ 极轻量,无 Python 依赖
  • ✅ CPU 推理性能优秀
  • ✅ 支持多种量化格式,显存需求低
  • ❌ 不支持多节点分布式推理
  • ❌ 吞吐量不如 vLLM/SGLang

方案八:NVIDIA Triton Inference Server

适用场景:企业级多模型部署、NVIDIA 生态深度集成

Triton 是 NVIDIA 官方的推理服务平台,支持多模型并发服务、模型流水线和动态批处理。

核心特性

  • 支持多种模型格式(TensorRT、ONNX、PyTorch、TensorFlow)
  • 多模型并发服务,资源动态调度
  • 模型流水线(Ensemble)支持前处理-推理-后处理串联
  • 动态批处理(Dynamic Batching)
  • 内置 Prometheus 指标和模型仓库管理

部署步骤

# Docker 部署
docker run --gpus all --rm \-p 8000:8000 -p 8001:8001 -p 8002:8002 \-v /mnt/models:/models \nvcr.io/nvidia/tritonserver:24.01-py3 \tritonserver \--model-repository=/models \--log-verbose=1# 模型仓库结构
/models/├── llama3-70b/│   ├── config.pbtxt│   └── 1/│       └── model.plan  (TensorRT引擎)└── llama3-8b/├── config.pbtxt└── 1/└── model.pt

config.pbtxt 配置示例

name: "llama3-70b"
platform: "tensorrt_plan"
max_batch_size: 64
input [{name: "input_ids"data_type: TYPE_INT32dims: [-1]
}]
output [{name: "output"data_type: TYPE_FP16dims: [-1]
}]
instance_group [{kind: KIND_GPUcount: 1gpus: [0]
}]
dynamic_batching {preferred_batch_size: [16, 32]max_queue_delay_microseconds: 100
}

优缺点

  • ✅ 企业级稳定性,支持多模型并发
  • ✅ 模型流水线,灵活组合
  • ✅ NVIDIA 生态深度集成
  • ❌ 配置复杂,学习曲线陡峭
  • ❌ 需要先将模型转换为 TensorRT 格式

方案九:LMDeploy(中文社区推荐)

适用场景:中文大模型、国产模型、高性价比部署

LMDeploy 是上海 AI Lab 出品的大模型推理框架,针对中文模型深度优化,TurboMind 引擎性能优异。

核心特性

  • TurboMind 引擎:极致推理性能,支持 FlashAttention
  • 支持中文模型:Qwen、ChatGLM、Baichuan 等
  • 支持 W4A16 量化,显存需求降低 3-4 倍
  • 提供 WebUI 和 OpenAI 兼容 API
  • 支持多卡推理(TP)

部署步骤

# 安装
pip install lmdeploy# 转换模型(可选,TurboMind 引擎需要)
lmdeploy convert meta-llama/Meta-Llama-3-70B-Instruct \--dst-path /tmp/llama3-70b# 启动推理服务
lmdeploy serve api_server \/tmp/llama3-70b \--server-name 0.0.0.0 \--server-port 8000 \--tp 8 \--model-name llama3-70b

Docker 部署

docker run -d --gpus all \-v /mnt/models:/models \-p 8000:8000 \openmmlm/lmdeploy:latest \lmdeploy serve api_server \/models/Meta-Llama-3-70B-Instruct \--tp 8

量化部署(W4A16)

# 量化模型
lmdeploy lite calibrate \meta-llama/Meta-Llama-3-70B-Instruct \--calib-dataset ptb \--calib-samples 128 \--calib-seqlen 2048lmdeploy lite awq \meta-llama/Meta-Llama-3-70B-Instruct \--work-dir /tmp/llama3-70b-awq# 启动量化模型
lmdeploy serve api_server \/tmp/llama3-70b-awq \--tp 8 \--quant-policy w4a16

优缺点

  • ✅ 中文模型深度优化,性能优异
  • ✅ W4A16 量化成熟,显存需求低
  • ✅ 部署简单,WebUI 友好
  • ❌ 多节点支持不如 vLLM/SGLang
  • ❌ 国际模型支持不如 vLLM

方案十:Xinference(分布式多模型平台)

适用场景:多模型管理、分布式推理、模型即服务

Xinference 是一个开源的分布式推理平台,支持多模型并发部署、自动扩缩和统一 API 管理。

核心特性

  • 多模型统一管理,支持同时部署多个模型
  • 分布式推理,自动调度到可用 GPU
  • 支持多种模型格式(PyTorch、GGUF、TensorRT)
  • 提供 OpenAI 兼容 API 和 WebUI
  • 支持模型热加载和动态扩缩

部署步骤

# 安装
pip install xinference# 启动主节点
xinference-supervisor -H 0.0.0.0 -p 9997# 启动工作节点
xinference-worker -H 0.0.0.0 -p 9998 \--supervisor-address 10.0.0.1:9997# 部署模型(通过 API 或 WebUI)
curl -X POST http://localhost:9997/v1/models \-H "Content-Type: application/json" \-d '{"model_name": "llama3-70b","model_type": "LLM","model_engine": "vllm","model_size_in_billions": 70,"quantization": "GPTQ","n_gpu": 8}'

Docker Compose 部署

# docker-compose.yml
version: '3.8'
services:supervisor:image: xprobe/xinference:latestcommand: xinference-supervisor -H 0.0.0.0ports:- "9997:9997"worker:image: xprobe/xinference:latestcommand: xinference-worker -H 0.0.0.0 --supervisor-address supervisor:9997deploy:resources:reservations:devices:- driver: nvidiacount: allcapabilities: [gpu]

优缺点

  • ✅ 多模型统一管理,适合模型服务化
  • ✅ 分布式调度,自动扩缩
  • ✅ WebUI 友好,运维简单
  • ❌ 性能不如 vLLM/SGLang 原生
  • ❌ 社区相对较小

四、性能调优

部署跑通只是第一步,调优才能释放全部性能。

4.1 显存优化

KV Cache 量化:将 KV Cache 从 FP16 降到 FP8 或 INT8,可以将可服务的并发请求数提升约 2 倍。

# vLLM: 启用 FP8 KV Cache
vllm serve /path/to/model --kv-cache-dtype fp8# SGLang: 启用 INT8 KV Cache
python -m sglang.launch_server --model /path/to/model --kv-cache-dtype int8

调整显存分配比例

# 默认 GPU 显存利用率 0.9,可适当调低以留空间给 KV Cache
vllm serve /path/to/model --gpu-memory-utilization 0.85

4.2 请求级别调优

vllm serve /path/to/model \--max-model-len 4096 \           # 最大序列长度,影响 KV Cache 大小--max-num-seqs 64 \             # 最大并发请求数--max-num-batched-tokens 16384  # 单次 batch 的最大 token 数

关键权衡max-model-len 越大,单请求可用的 KV Cache 越多,但能同时服务的并发请求数越少。根据实际业务场景调整——如果是短对话场景,4096 足够;如果是长文档处理,可能需要 32768 或更高。

4.3 NCCL 通信调优

# 选择最优通信算法(自动检测,也可手动指定)
export NCCL_ALGO=Ring            # 或 Tree, CollNet
export NCCL_PROTO=Simple         # 或 LL, LL128# 增大环形缓冲区,减少小消息延迟
export NCCL_BUFFSIZE=8388608     # 8MB# 跨节点时指定 IB 端口范围
export NCCL_IB_HCA=mlx5          # IB 网卡前缀
export NCCL_IB_GID_INDEX=3       # RoCEv2 使用 GID index 3

五、常见问题排查

问题 排查命令 / 解决方案
NCCL超时或卡住 export NCCL_DEBUG=INFO 查看日志;检查防火墙是否放行了 NCCL 端口(TCP/UDP 29500+);确认 pingib_write_bw 节点间可达
模型加载OOM 调整 --max-model-len 降低 KV Cache 上限;减少 --gpu-memory-utilization;考虑 INT4/INT8 量化
Ray 集群连接失败 ray status 检查集群状态;确认 head 节点的 6379 端口可达;检查 worker 是否在同一 Ray version
部分节点 OOM 而其他正常 PP 切分不均——检查各 stage 的层数分配是否均衡;手动调整 --pipeline-parallel-split-points
权重加载卡住 检查共享存储是否可用 ls -la /mnt/nfs/models/;确认所有节点挂载了相同的路径;检查 NFS 挂载权限
负载不均衡 确保使用支持流水线并行的调度算法(vLLM默认会做);检查 PP stage 间是否存在气泡瓶颈
启动时报 NCCL 版本不匹配 所有节点必须使用相同版本的 NCCL,通过 python -c "import torch; print(torch.cuda.nccl.version())" 验证

六、监控与运维

部署完成只是开始,持续监控才能保证服务质量。

6.1 关键指标

指标 含义 目标参考值
Throughput (tokens/s) 每秒生成的 token 总数 取决于硬件,A100×8 约 2000-5000 tokens/s
TTFT (Time to First Token) 首 token 延迟 < 500ms(短输入)
TPOT (Time Per Output Token) 输出每个 token 的平均耗时 < 50ms
ITL (Inter-Token Latency) token 间延迟的标准差 越小越好
GPU Utilization GPU 计算利用率 > 80% 为健康
KV Cache Usage KV Cache 使用率 > 90% 说明并发接近上限

6.2 Prometheus + Grafana 监控

vLLM 内置 Prometheus 指标端点:

vllm serve /path/to/model --port 8000 --metrics-port 8001

Grafana Dashboard 推荐搜索 vllm 模板,可直接导入。关键看三个面板:吞吐量趋势、延迟分布(P50/P95/P99)、GPU 显存与计算利用率。

6.3 NCCL 日志定位通信问题

export NCCL_DEBUG=INFO      # 一般性信息
export NCCL_DEBUG=WARN      # 仅警告和错误
export NCCL_DEBUG=TRACE     # 最详细,会输出每一步通信操作# 常见问题关键词:
# "Connection closed" → 节点间网络中断
# "Timeout" → 某个 rank 响应过慢,检查该节点负载
# "IB transport error" → InfiniBand 硬件或驱动问题

6.4 告警规则配置

在 Prometheus 中配置以下告警规则,及时发现异常:

# prometheus-rules.yml
groups:- name: llm-inferencerules:# 吞吐量骤降- alert: ThroughputDropexpr: rate(vllm:num_generation_tokens_total[5m]) < 1000for: 5mlabels:severity: warningannotations:summary: "吞吐量异常下降"description: "当前吞吐 {{ $value }} tokens/s,低于阈值 1000"# 首 token 延迟过高- alert: HighTTFTexpr: histogram_quantile(0.95, rate(vllm:e2e_request_latency_seconds_bucket[5m])) > 2for: 3mlabels:severity: warningannotations:summary: "TTFT P95 超过 2 秒"description: "当前 P95 延迟 {{ $value }}s"# GPU 显存即将耗尽- alert: GPUMemoryHighexpr: DCGM_FI_DEV_FB_USED / DCGM_FI_DEV_FB_TOTAL > 0.95for: 2mlabels:severity: criticalannotations:summary: "GPU 显存使用率超过 95%"description: "节点 {{ $labels.instance }} 显存即将耗尽"# GPU 利用率过低- alert: GPULowUtilizationexpr: DCGM_FI_DEV_GPU_UTIL < 30for: 10mlabels:severity: infoannotations:summary: "GPU 利用率持续偏低"description: "节点 {{ $labels.instance }} 利用率 {{ $value }}%"# 服务不可用- alert: ServiceDownexpr: up{job="vllm"} == 0for: 1mlabels:severity: criticalannotations:summary: "vLLM 服务实例宕机"description: "实例 {{ $labels.instance }} 已离线"# KV Cache 使用率过高- alert: KVCacheFullexpr: vllm:gpu_cache_usage_perc > 0.98for: 5mlabels:severity: warningannotations:summary: "KV Cache 使用率超过 98%"description: "并发请求可能被拒绝"

告警通知渠道(在 alertmanager.yml 中配置):

receivers:- name: 'ops-team'webhook_configs:- url: 'https://hooks.slack.com/services/xxx/yyy/zzz'  # Slackemail_configs:- to: 'ops@company.com'

6.5 监控架构总览

┌─────────────────────────────────────────────────────────────┐
│                      Grafana Dashboard                      │
│   (吞吐趋势 / 延迟分布 / GPU利用率 / 显存使用 / KV Cache)    │
└────────────────────────────┬────────────────────────────────┘│ 查询
┌────────────────────────────┴────────────────────────────────┐
│                      Prometheus                              │
│   ┌─────────────┐  ┌──────────────┐  ┌──────────────────┐  │
│   │ vLLM Metrics │  │ DCGM Metrics │  │ Node Exporter    │  │
│   │ (推理性能)    │  │ (GPU硬件)     │  │ (CPU/内存/网络)   │  │
│   └──────────────┘  └──────────────┘  └──────────────────┘  │
└────────────────────────────┬────────────────────────────────┘│ 拉取
┌────────────────────────────┴────────────────────────────────┐
│                   GPU 集群 (多节点)                           │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐    │
│  │ Node 1   │  │ Node 2   │  │ Node 3   │  │ Node 4   │    │
│  │ vLLM     │  │ vLLM     │  │ vLLM     │  │ vLLM     │    │
│  │ + Exporter│  │ + Exporter│  │ + Exporter│  │ + Exporter│    │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘    │
└─────────────────────────────────────────────────────────────┘

各组件职责

组件 作用 数据来源
vLLM Metrics 推理性能指标(吞吐、延迟、队列深度) vLLM 内置 --metrics-port
DCGM Metrics GPU 硬件指标(温度、功耗、显存、利用率) NVIDIA DCGM Exporter
Node Exporter 主机指标(CPU、内存、磁盘、网络) Prometheus 官方 Exporter
AlertManager 告警去重、分组、通知 Prometheus 告警规则

七、成本与规模估算

7.1 GPU 数量速算

粗略公式:所需 GPU 数 = ⌈ 模型参数量(B) × 2(FP16) × 1.2 ÷ 单卡显存(GB) ⌉

模型 FP16 推理 INT4 量化后
7B 1 × A100 80G 1 × A100 80G(绰绰有余)
70B 2 × A100 80G 1 × A100 80G
405B 16 × A100 80G 4 × A100 80G

量化可以在几乎不损失推理质量的前提下,将 GPU 需求降低 3-4 倍。Hugging Face 的 GPTQ/AWQ 量化模型可直接用于 vLLM 和 SGLang。

7.2 硬件选择参考

GPU 显存 FP16 算力 NVLink 适合场景
A100 80G 80 GB 312 TFLOPS 600 GB/s 大模型主力
H100 80G 80 GB 990 TFLOPS 900 GB/s 最高性能
H200 141G 141 GB 990 TFLOPS 900 GB/s 超大模型
A10 24G 24 GB 125 TFLOPS 600 GB/s 小模型/成本敏感

成本意识:如果模型能通过 INT4 量化装在更少的 GPU 上,优先量化而不是堆卡。一张 H100 的云上租赁费用约 $3-4/小时,4 张 A100 的费用相近但部署复杂度更高。

7.3 不同硬件配置的成本效益分析

以部署 Llama-3-70B-Instruct 为例,对比不同硬件方案的成本与性能:

方案 硬件配置 云上月成本估算 吞吐 (tokens/s) 单位成本吞吐 适用场景
A 2×A100 80G (FP16) ~\(4,300 | 4,200 | 0.98 tokens/\) 性能优先
B 1×A100 80G (INT4) ~\(2,150 | 3,200 | 1.49 tokens/\) 性价比最优
C 1×H100 80G (FP16) ~\(2,600 | 6,500 | 2.50 tokens/\) 高性能+低成本
D 2×H100 80G (FP16) ~\(5,200 | 8,800 | 1.69 tokens/\) 极致吞吐
E 4×A10 24G (INT4) ~\(1,200 | 1,800 | 1.50 tokens/\) 预算有限

成本计算依据:云上 A100-80G 约 $2.15/小时, H100-80G 约 $3.25/小时, A10-24G 约 $0.75/小时(以主流云厂商按需价格估算)

关键结论

  1. H100 性价比最高 —— 算力是 A100 的 3 倍,但价格仅高 50%,单位成本吞吐最优
  2. 量化是降低成本的最有效手段 —— 方案B(1×A100 INT4)比方案A(2×A100 FP16)成本减半,吞吐仅降 24%
  3. A10 适合低预算场景 —— 4×A10 INT4 的吞吐与 1×A100 INT4 相当,但需要更多节点管理开销
  4. 多卡不等于线性扩展 —— 2×H100 的吞吐是 1×H100 的 1.35 倍而非 2 倍,跨卡通信有开销

自建 vs 云服务对比

维度 自建集群 云上按需 云上预留/竞价
月成本 (8×A100) ¥15-20万(含电费运维) ¥18-22万 ¥10-14万
弹性扩缩 固定资源 随时扩缩 预留期固定
运维负担 高(硬件/网络/散热)
最低使用周期 3年+回本 1年起
适用阶段 大规模稳定负载 短期/实验 中期稳定负载

建议:初期用云上按需验证,中期切换预留实例降本,大规模稳定后评估自建。


八、方案选型建议

8.1 框架详细对比

维度 vLLM SGLang TensorRT-LLM DeepSpeed TGI LMDeploy
吞吐量 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐
延迟 ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐
易用性 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
多节点 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐
模型支持 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐
量化支持 ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
MoE 支持 ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐
社区活跃度 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐
生产就绪 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐

8.2 场景推荐

场景 推荐方案 原因
通用部署、快速上手 vLLM + Ray 开箱即用,文档完善,社区活跃
已用DeepSpeed的模型 DeepSpeed Inference 训练到推理无缝衔接
超低延迟、NVIDIA生态 TensorRT-LLM + MPI 极致性能,适合延迟敏感场景
云原生、弹性扩缩 vLLM + Kubernetes (LWS) K8s 原生支持,自动扩缩
Ray集成、MoE模型 SGLang EP支持最好,Ray 深度集成
HuggingFace 生态、生产级服务 TGI 生产级稳定性,内置监控
企业级多模型部署 NVIDIA Triton Server 多模型并发,模型流水线
中文大模型、国产模型 LMDeploy TurboMind 引擎,中文优化
多模型管理、模型即服务 Xinference 统一管理,分布式调度
快速原型验证、本地测试 Ollama 极简部署,一键安装
CPU 推理、边缘设备 llama.cpp 极轻量,跨平台
成本敏感、资源有限 量化模型 + vLLM 单节点 成本减半,性能损失小

九、安全与权限

生产环境部署 LLM 服务需要考虑安全防护:

9.1 API 安全

# vLLM: 启用 API Key 认证
vllm serve /path/to/model \--api-key your-secret-key# 客户端调用需要携带 Key
curl http://localhost:8000/v1/chat/completions \-H "Authorization: Bearer your-secret-key" \-d '{"model": "llama3-70b", "messages": [...]}'

9.2 网络隔离

┌─────────────────────────────────────────┐
│              公网 / DMZ                  │
│  ┌─────────────────────────────────┐    │
│  │       API Gateway (Nginx)       │    │
│  │   - Rate Limiting               │    │
│  │   - SSL Termination             │    │
│  │   - Request Validation          │    │
│  └─────────────────────────────────┘    │
├─────────────────────────────────────────┤
│              内网 / GPU 集群             │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐ │
│  │ Node 1  │  │ Node 2  │  │ Node 3  │ │
│  │ vLLM    │  │ vLLM    │  │ vLLM    │ │
│  └─────────┘  └─────────┘  └─────────┘ │
│  - 无公网 IP                            │
│  - 仅允许内网访问                        │
│  - NCCL 端口仅节点间开放                 │
└─────────────────────────────────────────┘

9.3 速率限制(Nginx 配置)

http {# 定义限流区域limit_req_zone $binary_remote_addr zone=llm_api:10m rate=10r/s;server {listen 443 ssl;location /v1/ {limit_req zone=llm_api burst=20 nodelay;proxy_pass http://gpu_cluster;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}
}

9.4 模型权限控制

# 限制可访问的模型列表
vllm serve /path/to/model \--served-model-name llama3-70b,llama3-8b \--disable-log-requests# 只允许特定 IP 访问(通过 iptables)
iptables -A INPUT -p tcp --dport 8000 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP

十、Kubernetes 部署实战

10.1 架构设计

┌─────────────────────────────────────────────────────────────┐
│                    Kubernetes Cluster                        │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────────────────────────────────────────┐    │
│  │                  Load Balancer                       │    │
│  │              (MetalLB / Cloud LB)                    │    │
│  └─────────────────────────┬───────────────────────────┘    │
│                            │                                 │
│  ┌─────────────────────────┴───────────────────────────┐    │
│  │              vLLM Deployment (Head)                  │    │
│  │  - Ray Head + vLLM API Server                        │    │
│  │  - replicas: 1                                       │    │
│  └─────────────────────────┬───────────────────────────┘    │
│                            │                                 │
│  ┌─────────────────────────┴───────────────────────────┐    │
│  │              vLLM Deployment (Workers)               │    │
│  │  - Ray Workers                                       │    │
│  │  - replicas: 3 (自动扩缩)                            │    │
│  └─────────────────────────┬───────────────────────────┘    │
│                            │                                 │
│  ┌─────────────────────────┴───────────────────────────┐    │
│  │              PVC - Model Storage                      │    │
│  │  - NFS / Ceph / Cloud Storage                        │    │
│  └─────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────┘

10.2 Helm Chart 部署

# values.yaml
replicaCount:head: 1worker: 3image:repository: vllm/vllm-openaitag: latestpullPolicy: IfNotPresentmodel:name: meta-llama/Meta-Llama-3-70B-InstructtensorParallelSize: 8pipelineParallelSize: 2maxModelLen: 8192resources:limits:nvidia.com/gpu: 8requests:nvidia.com/gpu: 8storage:modelStorage:enabled: truestorageClass: nfs-clientsize: 500GimountPath: /models
# 部署
helm install vllm-serve ./vllm-chart \-f values.yaml \-n llm-serving# 查看状态
kubectl get pods -n llm-serving
kubectl logs -f deployment/vllm-head -n llm-serving

10.3 自动扩缩配置

# HPA - 基于 GPU 利用率自动扩缩
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:name: vllm-worker-hpa
spec:scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: vllm-workerminReplicas: 2maxReplicas: 10metrics:- type: Resourceresource:name: nvidia.com/gputarget:type: UtilizationaverageUtilization: 80behavior:scaleUp:stabilizationWindowSeconds: 60policies:- type: Podsvalue: 2periodSeconds: 60scaleDown:stabilizationWindowSeconds: 300policies:- type: Podsvalue: 1periodSeconds: 120

十一、实战案例

案例一:在线客服系统(高并发)

场景:日均 100 万次对话,峰值 QPS 500

硬件配置:- 4 节点 × 8 × H100-80G- InfiniBand NDR 400Gb/s部署方案:- vLLM + Ray- TP=8, PP=4, DP=1- 量化: FP8 KV Cache性能指标:- 吞吐: 12,000 tokens/s- TTFT: 150ms (P95)- TPOT: 25ms- 并发: 200 请求/秒成本: ~$10,000/月 (云上预留)

案例二:内部知识库问答(低延迟)

场景:员工内部使用,要求响应快

硬件配置:- 1 节点 × 8 × A100-80G- NVLink 600GB/s部署方案:- vLLM 单节点- TP=8, PP=1- INT4 量化 (AWQ)性能指标:- 吞吐: 3,500 tokens/s- TTFT: 80ms (P95)- TPOT: 20ms- 并发: 50 请求/秒成本: ~$2,000/月 (云上按需)

案例三:多模型服务平台

场景:同时服务 5+ 个不同模型

硬件配置:- 8 节点 × 8 × A100-80G部署方案:- Xinference + vLLM- 每个模型独立 Ray 集群- 统一 API 网关模型部署:- Llama-3-70B (主力模型)- Qwen-72B (中文优化)- Mixtral-8x7B (MoE)- Llama-3-8B (轻量级)- Embedding 模型管理方式:- WebUI 统一管理- 模型热加载/卸载- 自动扩缩成本: ~$15,000/月 (自建)

总结

多节点大模型部署的核心挑战在于通信优化模型分片。选择合适的并行策略,配置好高速网络和共享存储,就能让分布式推理像单机一样简单。

从 0 到 1 的部署清单

  1. 评估模型规模 → 算出所需 GPU 数量和显存
  2. 选择并行策略 → 参考 1.6 决策表
  3. 准备环境 → 统一软件版本,配置 NCCL,验证节点间通信
  4. 选择部署框架 → 参考 8.1 对比表
  5. 启动服务 → 先在小规模(单节点)验证,再扩展到多节点
  6. 性能调优 → KV Cache 量化、请求参数调整、NCCL 调优
  7. 安全加固 → API Key 认证、网络隔离、速率限制
  8. 监控运维 → Prometheus + Grafana + 告警规则
  9. 成本优化 → 量化降本、预留实例、自建评估

核心要点回顾

维度 关键点
并行策略 节点内 TP,节点间 PP,要吞吐加 DP
框架选择 通用用 vLLM,MoE 用 SGLang,极致性能用 TRT-LLM
网络要求 InfiniBand/RoCE,至少 25GbE
量化降本 INT4/INT8 可降低 3-4 倍 GPU 需求
监控告警 关注 TTFT、TPOT、GPU 利用率、KV Cache
安全防护 API Key + 网络隔离 + 速率限制

对于大多数团队,vLLM + Ray 是最推荐的起点——部署简单、吞吐高、生态成熟。当有特殊需求时,再考虑TensorRT-LLM(极致性能)、SGLang(MoE模型)、LMDeploy(中文模型)等方案。

展望:随着模型规模持续增长(万亿参数级)、上下文窗口不断拉长(128K+)、以及通信硬件迭代(NVLink 6.0、RDMA over Ethernet),多节点部署将从"可选"变为"标配"。提前掌握分布式推理的核心原理,才能在下一次模型升级时从容应对。


Generated & Optimized by MiMo Code | 文档版本:v2.0 | 最后更新:2025年1月

http://www.zskr.cn/news/1512855.html

相关文章:

  • JSONConverter终极指南:快速将JSON转换为多语言模型类
  • 英雄联盟LCU API工具:从手动操作到智能自动化的技术革命
  • 2026.9.12打卡
  • 5分钟掌握AI背景移除:让每张照片都拥有完美背景
  • 2026年6月福建泉州太阳能路灯优选榜单:高靓照明18年技术积淀如何解决多元场景痛点与一体化方案 - 速递信息
  • 如何在Mac上使用Android USB网络共享:HoRNDIS驱动完整指南
  • 国内各地线上下单预约洗衣洗鞋|2026 靠谱干洗品牌优依派 - 新闻快传
  • 3大智能模块:Snap Hutao如何让你的原神游戏体验提升300%
  • 开源 vs 商业大模型:编码场景的真实差距与高效选择
  • 西门子PLC直连用OPC UA客户端工具包:含编译好的运行程序与.NET源码
  • yansongda/pay 架构设计与多支付平台集成最佳实践
  • Bernini视频编辑模型详细测评,最低8G就可以编辑!
  • 2026澳洲集运,空运哪家速度快?为什么能这么快的原因? - 热点观察
  • 2026品牌设计新趋势:揭秘5家高性价比优选机构 - 新闻快传
  • 2026四川花箱护栏厂家高性价比选购指南 - 速递信息
  • 算力共享新模式:云飞云助力 10 人团队共用一台 SolidWorks 服务器
  • 工业DSC应用实战:从内存焦虑到混合架构,解析56F8156核心优势
  • 华硕路由器终极网络净化指南:AdGuard Home一键安装教程
  • MinerU 3.3 之后,企业知识库为什么该重做文档入口:一套面向 Agent 的多页解析验收方案
  • 终极指南:如何用d2s-editor快速打造你的完美暗黑2角色
  • 山东大学软件学院2026项目实训个人博客(九)
  • 如何永久备份微信聊天记录:5步实现数据自主掌控的完整指南
  • 3分钟快速解决Windows热键冲突:Hotkey Detective完整终极指南
  • 河北墙板厂家实力排行:5家合规企业核心维度对比 - 奔跑123
  • 深耕全域智能营销九载,好客搜以技术实力赋能商家流量增长
  • 无向图的Hierholzer算法流程(一)
  • 河北墙板厂家实力排行:合规与定制能力双维度测评 - 奔跑123
  • D2DX:如何让20年前的暗黑破坏神2在现代PC上流畅运行?
  • 中文对话模型PyTorch实现:带BeamSearch解码与预训练词向量的seq2seq完整工程
  • 鞍山黄金+手表回收门店推荐排行TOP1|专业鉴定团队,名表全品类通收,透明估价 - 速递信息