大模型场景下智算平台的设计与优化实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 大模型场景下智算平
台的设计与优化实践
肖松
2024.06.14
2. 引言
不同时期对智算平台的需求
2018
客户A 我资源比较少,几十卡的规模,如何提升卡的利用率?
客户B 我的模型跑起来耗时长,能加速吗?
客户C 我想跑大模型,需要多少资源?网络如何构建?多长时间能跑完?
客户D 国产卡怎么用?能否与 NV 卡一起使用?
2024
2
3. 目录
01 大模型时代,智算平台新特点 4
02 智算平台需解决的问题 6
03 大模型场景技术实践 8
04 对于智算平台发展的未来思考
25
4. 01 大模型时代,智算平台新特点
小模型 vs. 大模型
5. 大模型时代,智算平台新特点
小模型 vs. 大模型
GPT-4(大模型)
ResNet50(小模型)
参数
158秒 $15 55天 $2150万
训练时长 训练成本 训练时长 训练成本
25M(0.025B)
vs.
参数
1800B
工程问题
增强:耗时长凸显 大模型训推加速 需求
新增:成本高带来 稳定性 需求,减少资源闲置
增强:参数爆炸突破显存墙, 多机多卡 成为常态
新要求
增强:卡间和机间 高性能通信 愈发重要
算力 128 块 V100 算力 8192 块 H100 维持: GPU切分 在小模型和推理场景依然存在
数据 167G (ImageNet) 数据 13T 新增: 数据集处理加速
新增:新卡适配和芯片利旧, 多芯混合调度
新增: 数据湖存储和高性能存储
*数据来源:非官方数据,为业界推测
5
6. 02 智算平台需解决的问题
基础设施、调度、应用、运维
7. 智算平台需解决的问题
基础设施、调度、应用、运维
训练
数据
应用
推理
• 数据集下载和转储加速 • 训练任务的性能优化 • 推理任务的性能优化
• 数据集的清洗和加工处理 • 任务的监控和容错 • 在线服务的监控告警
• Flash Checkpoint
资源管理
调度
任务管理
• 大规模异构算力高效调度和分配 • 多种AI框架和并行策略支持
• 算力虚拟化 • AI 任务调度和任务流管理
• 云原生容器化
存储
算力
基础设施
• 适配多种异构芯片 • 优化存储读写性能
• 固件、OS内核、驱动兼容 • 镜像加速、镜像预铺
• 混合多芯
运维
网络
•
搭建和调试高性能网络
7
8. 03 大模型场景技术实践
基础设施层
9. 基础设施——混合多芯
国产卡能否与 NV 卡一起使用?
拟合性能系数
统一并行策略
AI 效能矩阵图谱
通信整合
9
10. 基础设施——高性能存储
如何实现数据集加速?如何 I/O 加速?
镜像加速
镜像服务
流式读取
P2P加速
超大镜像预加载
P2P镜像分发
MEM MEM MEM MEM
D I S K D I S K D I S K D I S K
流式镜像拉取
训练数据加速
高性能并行文件系统
TCP/InfiniBand/RoCE TCP
并行文件存储 PFS 分布式缓存加速存储 RapidFS
全SSD闪存
RDMA链路加速
托管 BCC/BBC 集群
模型加速
对象存储 BOS
标准存储
低频存储
大吞吐数据湖存储
冷存储
归档存储
分布式缓存加速
10
11. 基础设施——高性能网络
如何实现通信库加速?
3层无收敛RDMA网络
Tor拓扑感知调度
NCCL通信拓扑感知
Up to
512
Up to
512
Up to 16K+
11
12. 03 大模型场景技术实践
调度层
13. 调度——GPU虚拟化
如何提高单卡资源利用率?
用户态方案
CUDA driver API,提供显存限制,算力时分复用
CUDA runtime API,提供远程调用,显存限制,算力时分复用
内核态方案
内核模块修改,提供显存限制,算力时分复用
Full/para-虚拟化,内核模块修改,MMIO拦截,显存划分,算力时分复用
硬件方案
Nvidia MIG NV官方,硬件划分,提供显存划分、算力划分、编解码划分(1/7)
昆仑2 SR-IOV SR-IOV,硬件划分,提供显存划分、算力划分(1/3、1/2)
13
14. 调度——GPU虚拟化
双引擎 GPU 虚拟化
用户态
优势:性能好,长尾延迟低
缺点:故障隔离差
内核态
优势:故障隔离好
缺点:有一定性能损耗
14
15. 调度——资源管理和调度逻辑
如何调度资源?
配额管理
调度会话 插件集合
入 队 Gang调度
PodGroup
Pod
Pod
Pod
多租户资源管理
Gang抢占
资源分配
集群资源视图
Binpack/Spread调
度
资源回收
CPU/MEM
亲和性调度
GPU拓扑
异构芯片(独占/共享)
资源抢占
Tor架构感知
RDMA
自定义资源
选择最优调度
资源调度
回填
混部调度
15
16. 03 大模型场景技术实践
应用层
17. 应用——AIAK 训推加速
如何优化训练和推理性能?
兼容Llama2、ChatGLM2等20余种开源模型,一键部署,透明加速
大模型训练加速镜像
数据并行优化
并行优化
大模型推理加速镜像
张量并行优化
显存优化
图精简
流水线并行优化
显存重算
量化/剪枝/蒸馏
访存密集型算子
融合
显存卸载
细粒度显存切分
算子融合
算子优化
数学等价代换/死代码移除
算子融合
注意力机制优化
GEMM/Conv 长尾
运算融合
背靠背 GEMM 融合
调度优化
访存优化
模板化优化
算子优化
训练性能提升30%+
推理性能提升60%+
17
18. 应用——训练容错
如何提升训练稳定性?
任务无效训练时间 = 故障中断次数
写Ckpt总时长
•
•
×
(任务故障恢复时长
•
•
降低节点故障率
提升故障感知召回率
提升调度效率
降低节点MTTR
+
任务故障重算时长) + 任务常态
降低Ckpt时长,缩短Ckpt间隔周期
基础设施稳定性 调度容错效率 框架容错代价
硬件故障快速感知 任务异常快速感知 Ckpt 存储加速
硬件端到端上线预检测 重调度容错 异步Ckpt加速
节点热维修/秒级冷迁移恢复 镜像/数据缓存加速 分布式Ckpt加速
主流框架/分布式库,打开开关即可容错
Pytorch
Deepspeed
Megatron
PaddlePaddle
…
18
19. 应用——Flash Checkpoint
如何降低 Checkpoint 时间?
Checkpoint 容错机制带来了计算时间片浪费
有效训练时间
有效训练时间
Checkpoint 等待
Checkpoint 等待
传统方案
FlashCKPT
训练框架
同步写
Memory
加速层
同步
close
Memory
同步写
Memory
加速层
异步 close
checkpoint操作,提升整体有效训练时长。
业务可制定更细粒度的检查点策略,从
而降低故障恢复时间
Memory
NVME SSD
流式分块上传
训练框架
FlashCKPT 并行内存写入,快速完成
分布式,异步写
等待
last part
3
小时
每日节省有效
训练时长
远端对象存储 并行文件存储PFS
小时级CKPT,容错恢复时间长 秒级CKPT,更细粒度的打点恢复
1
秒
千亿大模型CKPT
写入
19
20. 03 大模型场景技术实践
运维
21. 运维目标
可观测能力
运维目标
故障处理 容量管理&优化 任务性能调优
发现 任务告警
(变更告警、故障告警、阈值告警) 集群资源视图
(集群资源概览,利用率、分配率变
化&趋势,任务资源概览) 任务性能大盘
(训推吞吐指标,任务并行策略、性能
关联参数)
快速
定位 任务稳定性大盘
(任务关联的节点、组件,配套服务
健康情况) 任务收敛监控&告警
(监控任务loss收敛情况,异常报警)
根因
排查 根因排查
(集群、任务事件,任务运行日志) 节点资源视图
(节点资源详情、GPU分配/利用分析) 智能排障建议
(基于大模型的智能故障分析) 任务资源视图
(任务资源详情、GPU使用分析、
Pod分配情况) 分阶段指标
(诊断训练分阶段耗时,助力训练性能
调优)
故障定位时间小时级->分钟级 发现资源瓶颈提升分配/利用率 发现任务性能瓶颈,避免空跑
辅助
止损
21
22. 03 大模型场景技术实践
百度百舸架构和演进
23. 智算平台架构
百度百舸
大模型任
务增强
百舸组件
百舸资源
池
大模型训推任务加速镜像 大模型IO加速方案
开源大模型定制优化 Flash Checkpoint
高性能算子 高效显存利用 大镜像预加载
高效并行策略 高性能训推框架 大规模镜像P2P加速
AI基础组件 AI编排调度 稳定性&容错 可观测大盘
高性能网络插件 深度学习框架 多维故障感知 集群资源视图
高性能存储插件 AI 任务编排 自动任务容错 任务稳定性大盘
异构资源调度 任务工作流管理 通信测试工具 性能监控&调优
30% 60%
训练吞吐提升 推理吞吐提升
98.8%
有效训练时
长
95%
带宽有效性
CCE K8S集群
A800/H800/昆仑/升腾异构算
力
高性能分布式存储PFS
万卡RDMA网络
23
24. 百度百舸发展历程
AI硬核能力积累 百舸1.0
AI基础设施产品化 百舸2.0
AI基础设施云原生化 百舸3.0
一站式大模型算力平台
支撑百度核心业务发展 视觉&自然语言处理 自动驾驶&生命科学 大模型新业态
AI可观测大盘
AI容器服务
孔明超级计算集群
通信&算子加速
自动故障容错
X-MAN 超级AI服务器
太行.弹性裸金属
AIAK大模型训推
加速工具包
云原生作业调度
智能故障诊断
RDMA高性能网络
沧海.高性能存储
GPU容器虚拟化
Flash Checkpoint
大镜像分发加速
百度十年AI实践
2021
2022
2023
24
25. 对智算平台发展的一些思考
26. 智算平台个人思考
定位 承上启下,向下纳管异构资源,向上承载 AI 平台
核心 屏蔽下层的复杂性,或许未来能像使用 CPU 一样使用 GPU
发展 不再满足资源纳管,对 AI 研发栈的需求越来越旺盛
趋势 预训练门槛变高,领域微调变多,模型推理或许会迎来爆发
26
27. T H A N K S