当前现状
DeepSeek-r1集群运行环境
硬件配置
GPU服务器 | 数量(台) | CPU(核) | 内存(TB) | 系统版本 | RDMA |
---|---|---|---|---|---|
NVIDIA H100 80GB HBM3 | 2 | 192 | 2.0Ti | Ubuntu 22.04.5 LTS | 4 * IB(400 Gb/sec )2 * RoCE (200 Gb/sec) |
软件平台
软件名称 | 版本 | 备注 |
---|---|---|
Kubernetes | v1.30.6 | 容器编排引擎 |
GPU Operator | v24.9.1 | 自动化管理配置GPU驱动程序 |
Volcano | v1.9.0 | 调度引擎 |
NVIDIA Driver | 560.35.03 | GPU驱动 |
NVIDIA-Fabric Manager | 560.35.03 | NVSwitch互联 |
CUDA | 12.6 | |
MLNX_OFED | 24.10-0.7.0.0 | IB驱动 |
SGLang | v0.4.4.post3-cu125 | LLM推理引擎 |
LeaderWorkerSet | v0.5.1 | PodGroup Deploy API |
SGLang默认启动参数
...
python3 -m sglang.launch_server
--model-path /root/.cache/modelscope/DeepSeek-R1
--served-model-name deepseek-r1
--tp 16
--dist-init-addr $LWS_LEADER_ADDRESS:20000
--nnodes $LWS_GROUP_SIZE
--node-rank 0
--trust-remote-code
--context-length 131072
--enable-metrics
--host 0.0.0.0
--port 8000
...
性能压测(优化前)
镜像版本:sglang:v0.4.4.post3-cu125
测试数据集:ShareGPT_V3_unfiltered_cleaned_split.json
场景一:输入短文本
输入128 token,输出1024 token
Concurrent Requests | Median TTFT (ms) | Median TPOT (ms) | Median E2E Latency (ms) | Median ITL (ms) | TPS(tok/s) |
---|---|---|---|---|---|
1 | 355.49 | 25.49 | 26449.04 | 25.50 | 38.70 |
32 | 7721.74 | 56.17 | 60849.42 | 52.00 | 538.36 |
64 | 8010.89 | 66.99 | 76260.26 | 66.95 | 858.86 |
128 | 28843.22 | 82.93 | 113341.46 | 82.27 | 1155.78 |
256 | 10623.08 | 320.18 | 340654.69 | 319.57 | 769.31 |
512 | 4259.43 | 311.65 | 345999.26 | 310.73 | 1025.71 |
场景二:输入长文本
输入4096 token,输出1024 token
Concurrent Requests | Median TTFT (ms) | Median E2E Latency (ms) | Median ITL (ms) | TPS(tok/s) |
---|---|---|---|---|
1 | 417.73 | 36274.22 | 34.42 | 28.20 |
32 | 7838.69 | 74905.92 | 59.96 | 437.24 |
64 | 14516.86 | 110943.45 | 83.06 | 538.56 |
128 | 69644.50 | 213755.83 | 77.22 | 516.97 |
256 | 216000.23 | 315532.28 | 76.78 | 571.17 |
512 | 349270.54 | 527935.31 | 75.85 | 580.92 |
优化措施
1. 版本升级
采用目前发布的最新dev镜像版本:
ccr.ccs.tencentyun.com/app-public/sglang:dev-c764-0402fix
原默认镜像在添加优化参数后启动会崩溃,阿程基于社区最新的main重新构建了镜像(包含2个Bug fix,详情见本文末)
2. 参数调优
python3 -m sglang.launch_server
--model-path /root/.cache/modelscope/DeepSeek-R1
--served-model-name deepseek-r1
--tp 16
--dist-init-addr $LWS_LEADER_ADDRESS:20000
--nnodes $LWS_GROUP_SIZE
--node-rank $LWS_WORKER_INDEX
--trust-remote-code
--context-length 131072
--enable-metrics
--host 0.0.0.0
--port 8000
--reasoning-parser deepseek-r1 # 思维链
--mem-fraction-static 0.9
--enable-torch-compile
--chunked-prefill-size 16384
--enable-flashinfer-mla
--disable-radix-cache
--speculative-algo EAGLE
--speculative-num-steps 3
--speculative-eagle-topk 1
--speculative-num-draft-tokens 4
--speculative-draft /root/.cache/modelscope/DeepSeek-R1-NextN
...
env:
- name: GLOO_SOCKET_IFNAME
value: eth0
- name: NCCL_IB_HCA
value: "mlx5_0,mlx5_1,mlx5_4,mlx5_5"
- name: NCCL_P2P_LEVEL
value: "NVL"
- name: NCCL_IB_GID_INDEX
value: "0"
- name: NCCL_IB_CUDA_SUPPORT
value: "1"
- name: NCCL_IB_DISABLE
value: "0"
- name: NCCL_SOCKET_IFNAME
value: "eth0"
- name: NCCL_DEBUG
value: "INFO"
- name: NCCL_NET_GDR_LEVEL
value: "2"
- name: SGLANG_USE_MODELSCOPE
value: "true"
- name: SGL_ENABLE_JIT_DEEPGEMM
value: "1"
启动时长:8min
性能压测(优化后)
场景一:输入短文本
输入128 token,输出1024 token
Concurrent Requests | Median TTFT (ms) | Median TPOT (ms) | Median E2E Latency (ms) | Median ITL (ms) | TPS(tok/s) |
---|---|---|---|---|---|
1 | 339.45 | 24.49 | 25396.02 | 24.49 | 41.28 |
32 | 966.85 | 54.44 | 56661.37 | 54.26 | 581.14 |
64 | 1228.50 | 66.72 | 69558.57 | 66.61 | 941.50 |
128 | 1813.96 | 81.73 | 85430.43 | 81.43 | 1533.08 |
256 | 3003.42 | 345.10 | 356040.06 | 339.69 | 736.08 |
512 | 3125.95 | 342.48 | 351727.72 | 337.58 | 743.02 |
场景二:输入长文本
输入4096 token,输出1024 token
Concurrent Requests | Median TTFT (ms) | Median TPOT (ms) | Median E2E Latency (ms) | Median ITL (ms) | TPS(tok/s) |
---|---|---|---|---|---|
1 | 538.98 | 25.49 | 26615.51 | 25.38 | 38.44 |
32 | 7063.69 | 61.29 | 69761.80 | 58.04 | 469.36 |
64 | 12126.55 | 81.42 | 95409.64 | 74.31 | 524.70 |
128 | 98597.01 | 80.67 | 189869.57 | 73.92 | 584.03 |
256 | 196654.19 | 81.34 | 286471.52 | 73.76 | 605.18 |
512 | 393158.12 | 80.81 | 480705.57 | 73.95 | 627.96 |
512并发压测
性能对比(优化前 vs 优化后)
1. 短文本场景
输入128 token,输出1024 token
优化效果总结:
- 性能提升:优化后在低并发(1-64个请求)时,TTFT、TPOT和E2E Latency均有小幅降低(约5%-10%),TPS略有提升。中高并发(128-256)时,TPS峰值提升约32%(1155.78 vs 1533.08),延迟增长受控。
- 并发承载能力:优化后系统对高并发的适应性增强,512个请求时的性能下降幅度减小(TPS从1025.71降至743.02,下降约28%,而优化前无明显峰值)
- 瓶颈分析:优化后在512个请求时TPS下降,存在资源利用率或通信瓶颈,需进一步优化分布式调度或硬件资源分配。
2. 长文本场景
输入4096 token,输出1024 token
优化效果总结:
- 性能提升:优化后低并发(1-32个请求)时,TTFT降低约86%(4177.73ms vs 538.98ms),TPOT降低约27%(34.98ms vs 25.49ms),E2E Latency降低约26%(36274.22ms vs 26615.51ms),TPS提升约36%(28.20 vs 38.44)。高并发(128-512)时,TPS峰值提升约8%(580.92 vs 627.96),延迟增长更平滑。
- 并发承载能力:优化后系统对长文本的高并发处理能力增强,256-512个请求时性能下降幅度减小。
- 瓶颈分析:优化后TTFT在高并发(256-512)时仍显著增加,提示长输入的预处理或内存管理可能是瓶颈,需进一步优化KV Cache或输入压缩技术。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。