IDEA 研究院预训练大模型的 AI 系统实战
如果无法正常显示,请先停止浏览器的去广告插件。
1. GTSfactory :预训练模型的AI系统实战
预训练模型大行其道,AI架构要如何变迁?
研究院
认知计算与自然语言研究中心
陈崇沛
2.
3. 陈崇沛
AI系统架构师
曾任职于 vivo人工智能部⻔、阿里巴巴、金蝶中间件
现就职于IDEA研究院,担任认知计算与自然语言研究
中心架构师职务
带领系统工程团队,负责系统工程架构和产品建设工作
4. 关于我们:IDEA研究院 认知计算与自然语言研究中心
IDEA 研究院
粤港澳大湾区数字经济研究院(International Digital Economy
Academy,简称“IDEA研究院”)位于河套深港科技创新合作区深方
IDEA研究院CCNL
园区内,致力于人工智能和数字经济领域的前沿研究与产业落地,是 IDEA研究院认知计算与自然语言研究中心(简称“IDEA研究院
一家国际化创新型研究机构。 CCNL”)致力于建设中文自然语言技术的基础设施,打造认知
智能的技术新范式。
沈向洋
IDEA研究院目前已聚集一批包括院士、世界著名大学教授、世界知
名开源系统发明人在内的国际一流技术专家,建成了AI金融与深度学
成员组成:
IDEA研究院理事⻓ 习、计算机视觉与机器人、AI平台技术、AI安全普惠系统、认知计算 康奈尔大学 清华大学 中国科学技术大学
美国工程院外籍院士
英国工程院外籍院士 爱丁堡大学 北京大学 伊利诺伊大学
与自然语言五大研究中心,启动了CTO Labs并致力于培育一批国际
领先科技企业,带动深圳乃至大湾区万亿级数字经济产业发展。
IDEA基础设施—超级计算集群
80 台DGX服务器
640 张 A100 GPU
已具备8位计算精度下400P算力,32位计算精度下100P以上的算力
腾讯
微软
阿里巴巴
百度
华为
360
5. 当下的架构问题
6. 20年技术变迁和架构升级
随时代而变化:在线 ! 智能
Now
预训练大模型
下一代AI架构
2017 Tensorflow1.0
2014 Spark
2011 Dubbo
大数据离在线融合
LAMDA架构
AI工程化
AI平台架构
大型互联网应用服务化
微服务架构
2003 J2EE1.4
大型企业管理软件
单体架构
随技术而演化:数据 ! 计算
7. 两类模型,两个答案
GTS模型自动化生产平台
定制化模型
数量**亿
各种应用场景
模型生产的人力短缺
预训练模型
数量**万
作为基础设施
预训练成本很高
建设认知智能的基础设施
封神榜开源大模型体系
8. 定制化模型的痛点
痛点1
痛点2
数据稀缺
场景数据难获取
数据标注成本高
粤港澳大湾区数字经济研究院
International Digital Economy Academy
人才稀缺
高级算法人才培养难
模型生产周期⻓
8
9. AI还处于手工作坊时代
粤港澳大湾区数字经济研究院
International Digital Economy Academy
9
珍妮纺纱机,人作为动力,1760’s
当下的AI模型生产
手工作坊时代
英国兰开夏纺织工厂,蒸汽机作为动力,
1790’s
我们期待的AI模型生产
工业化时代
10. 用AI自动化生产AI模型
我们的解决方案
建一座工厂
小样本学习 自动化学习
解决数据稀缺问题 解决人才稀缺问题
已经开始免费公测
10
11. GTSfactory自动生产模型的效果
GTSfactory自动生产的模型接近人工最好水平,且每个类别只需十几个样本
FewCLUE
FewCLUE
电商评论情感分析
普通算法
工程师水平
GTS水平
88.45%
88.31%
75.70%
MacBERT
GTS
SOTA
算法专家
水平
科学文献学科分类
52.30%
MacBERT
训练集样本数:32
GTS
SOTA
训练集样本数:536
类别数:67
类别数:2
FewCLUE
FewCLUE
应用描述主题分类
43.10%
MacBERT
48.00%
54.27%
新闻分类
71.40%
61.10%
GTS
SOTA
MacBERT
75.53%
GTS
训练集样本数:928 训练集样本数:240
类别数:119 类别数:15
* 部分数据来自FewCLUE: https://www.cluebenchmarks.com/fewclue.html
SOTA: FewCLUE上参数量为3.4亿(RobustPrompt)及以下模型最好的效果
MacBERT: 参数量为1.1亿的MacBERT-base 模型微调后的效果
68.42%
62.85%
SOTA
12. 当下:大模型时代
10 倍
大模型的参数规模每年增加
当下最大的大模型10万亿个参数
vs.
人大脑皮层约140亿神经元/100万亿个连接
13. 预训练模型的痛点:生产成本高、难度大、中文模型少
模型大、显存小
模型已经万亿
显存没增⻓
⻔槛高
缺乏成熟的大模
型预训练框架
中文模型少
500个只占1%
(huggingface)
14. 封神榜:开源的预训练大模型
二郎神
自然语言理解
余元
医疗
周文王
统一模型结构
最大的开源中文BERT模型 医疗领域,最大开源35亿参数 与追一科技共同开发, 13亿参数
专注NLU任务,最大开源13亿参数 医疗事实判断准确率接近90% 业界首次尝试10亿参数以上规模的单双向统一模型
FewCLUE/ZeroCLUE双料榜单第一 支持生成式医疗问答 闻仲 燃灯
GPT结构
T5/BART结构
比干
纠错
中文的GPT模型,最大开源35亿参数 中文T5/BART结构,最大开源7.7亿参数 语义纠错,ASR纠错
文本生成系列 文本生成和文本理解 最大开源7.7亿参数
下载地址
https://github.com/IDEA-CCNL/Fengshenbang-LM
https://huggingface.co/IDEA-CCNL
37 个开源模型
太乙
多模态
多模态预训练模型
2万 每月下载量
与清华大学、上海交通大学、香港中文大学、小冰、追一科技
等合作开源各种模型
15. AI理想照进现实:需要解决一系列系统问题
GTS
模型生产平台
封神榜
开源大模型体系
交互学习 并行训练
多模型协作 显存优化
资源调度 算力
系统&工程
定制化模型
数量**亿
各种应用场景
预训练模型
数量**万
作为基础设施
16. 模型自动化生产中的系统问题
17. GTS是什么:一套多模型协作体系
预训练大模型:小样本学习
13亿参数二郎神模型
13亿参数零样本模型
T eacher
大模型
第四部分
G enerator 未来设想
1亿参数轻量化小
模型
预训练大模型:数据增强
可下载,可部署
S tudent
大模型
小模型
39亿参数BERT模型
50亿参数文本生成模型
有标注
数据
无标注
数据
18. GTS又是什么:把算法做成系统
G eneral
新闻分类
用户画像提取
数据打标
Multi-Task Learning
通用任务类型
情感倾向分类
意图分类
Meta Learning
第四部分
未来设想
Incremental Learning
AutoML
T raining 融合多种学习范式
反诈骗识别
交互式学习 训练任务编排
3级调度 多云算力
s ystem 自动化训练体系
19. GTS模型生产机制的本质:复杂多样的模型交互
G
本生成模
型
(50亿)
已标注样本
待标注样本
Bert
Train
Bert
Inference
VAE
T
二郎神模
型
(13亿)
Fine-
tune
开始
G
TAPT
Inference
数据准备阶段 模型生产阶段
人 - 模型 交互 模型 - 模型 交互
S
TAPT
20. 用人机交互迭代的方式生成样本
实时交互
人工标注
标注队列
②
异步缓冲
生成队列
③
①
已标注队列
到达水位
模型迭代
Bert
Bert
Inference VAE
Inference Fine-tune
样本选择 文本生成 模型更新
21. 如何实现多模型自动交互: GTS训练编排机制
容器注册
Pod 1 Pod 2 Pod 3 Pod 4
TATP G T Fine-tune
样本生成
样本标注
Persistent Volume
1、TATP
2.1、G模型样本生成
任务编排
2.2、T模型自动打标
(编译) 3、Fine-tune
GTS-Dispatcher
GPU
节点1
GPU
节点2
GPU
节点3
GPU
节点4
22. 三级调度机制:GTS多模型协作的整体设计
任务编排
(三级)
批任务
资源调度
(一级)
任务调度
(二级)
单体调度
优先级队列
DAG
任务
模型生产
任务
拓扑感知
资源虚拟化
异步任务
Gang-Scheduling
批调度
弹性调度
资源扩充
23. 多云混合基础架构 – 算力稳定输出&产品灵活部署
多云:
政务云
• GPU算力
阿里云、IDEA计算中心
• 政务云
• 华为云
华为云
合作产品
GTS
产品服务
SAAS服务
预训练:
• 大算力的保证
• 大模型研究(离线)
定制化模型
模型生产:
• 模型生产训练
• 在线实时推理
产品服务:
• 应用、服务
• 商业扩展
算力池
定制化模型
阿里云 IDEA
计算中心
训练/推理 模型预训练
预训练模型
训练样本 预训练数据
GPU算力 GPU算力
24. System's Value
系统的三大价值
复杂训
练体系 人机
交互 算力
管理
模型自动化
生产流程 模型给人提出问题
人给模型提供反馈 多算力池协同管理
25. 预训练大模型中的系统问题
26. 大模型的训练方案
Data Parallelism
GPU0 GPU0 GPU0
GPU1 GPU1 GPU1
GPU2 GPU2 GPU2
GPU3 GPU3 GPU3
GPU4 GPU4
Stage0 GPU4
GPU5 GPU5 GPU5
GPU6 GPU6 GPU6
GPU7 GPU7 GPU7
节点 0 节点 1 节点 5
节点 6 节点 Stage1
7 节点 11
节点 378
Stage63
节点 379
节点 383
3D并行
• DP:Data Parallelism(数据并行)
• PP:Pipeline Model Parallelism(流水并行)
• TP:Tensor Model Parallelism(Tensor并行)
GPT-3
• 1700亿参数,128 layers
• 384 个节点(8 x A100), 3072张A100
• 划分6(DP) x 8(TP) x 64(PP)的并行矩阵
• 6个节点进行数据 (DP)
• 8张卡之间做Tensor并行(TP)
• 64 stages,2 layer/stage (PP)
27. 模型并行的实现:Megatron
Tensor并行
• Transformer专用并行
• Attention和MLP矩阵乘拆分
• 通信开销,不利于多机扩展
Pipeline并行:
• 通用的模型并行,按层均匀切分
• micro-batches ,减少串行等待Bubble开销
• PipeDream pipeline
• 1F1B pipeline
28. 跨越显存瓶颈:ZeRO
数据并行的增强模式
Stage 1(P os ):
• optimizer states
• 显存消耗是原来的26%
Stage 2( P os+g ):
• optimizer states,gradients
• 显存消耗是原来的13%
Stage 3( P os+g+p ):
• 显存消耗是原来的1.7%
• 通信增加50%
CPU Offerload
• 反向参数更新
• 前向参数保存
29. 炼丹实例-39亿BERT
time (ms)
| forward-compute: 259.97
| backward-compute: 158.96
| backward-params-all-reduce: 769.77 (60%)
| backward-embedding-all-reduce: 0.06
| optimizer-copy-to-main-grad: 8.39
| optimizer-unscale-and-check-inf: 38.83
| optimizer-clip-main-grad: 12.59
| optimizer-copy-main-to-model-params: 8.79
| optimizer: 91.54
| batch-generator: 5
39亿模型单卡装不下? 通信时间⻓?
+Tensor并行→4
throughput →1.56 +梯度累加
throughput→5.28
3个月→2周
batch_size→4能增加? 模型并行瓶颈?
+Deepspeed
batch_size→6
throughput→7.75 +流水并行→4
throughput → 8.45
time (ms)
| forward-compute: 1086.86
| backward-compute: 1237.63
| backward-params-all-reduce: 503.46 (16%)
| backward-embedding-all-reduce: 0.02
| optimizer-copy-to-main-grad: 8.30
| optimizer-unscale-and-check-inf: 10.74
| optimizer-clip-main-grad: 12.15
| optimizer-copy-main-to-model-params: 8.61
| optimizer: 62.51
| batch-generator: 7.83
Loss又⻜了?
+调整学习率
+调整weight-decay
30. 炼丹实例-39亿BERT
Encoder类结构做大之后(7亿以上),容易出现loss 训⻜的情况
➢
➢
➢
➢
调整学习率、裁剪梯度能缓解,但是需要多次手动调整,而且调整后容易再次训⻜
Post-LayerNorm 调整成Pre-LayerNorm,loss不容易训⻜,训练收敛速度加快,能获得一个有效模型
Base模型上Post-LayerNorm的效果好于Pre-LayerNorm
DeepNorm,兼顾了Post-LayerNorm的效果和Pre-LayerNorm的训练稳定性
Post-LayerNorm
Pre-LayerNorm
31. “封神”训练框架
让大家用好封神榜大模型
Fengshen 框架
✓
✓
✓
✓
✓
✓
✓ 专为Transformers的大
模型、大数据设计
" 支持模型少
" 用户定制化成本高
已经Github开源
支持封神榜大模型
简单易用的pipeline
提供pretrain/finetune等丰富示例
对比torch训练性能提升300%
支持TB级别数据,百亿参数模型训练
集成DDP、ZeRO等分布式训练技术
简单易用的pipeline
针对Transformers的设计
Megatron-LM
让大家参与预训练大模型
PytorchLightning
✓
✓
✓
"
支持CV、NLP全领域
简单易用的pipeline
分布式简单易用
没有自己的模型库
兼容已有的丰富模型
HuggingFace
✓ 社区完善,模型丰富
✓ 集成了分布式
" 集中在finetune,预训
练示例少
封神框架:https://github.com/IDEA-CCNL/Fengshenbang-LM/tree/main/fengshen
封神文档:https://fengshenbang-doc.readthedocs.io/zh/latest/
节省显存,加速性能
DeepSpeed
✓ 节省显存,加速性能
✓ ZeRO/Offload/Sparse
Attention等特性
" 没有好用的pipeline
32. 预训练大模型的生产系统
大模型应用场景
开源Fengshen框架
继续训练/Fine-tune
文本分类 信息抽取
易用的pipline 封神榜模型库
二郎神
“封神榜”大模型
余元
各种结构
文本纠错
文本生成
周文王
各种尺寸
集成ZeRO
闻仲
底层支持
原始数据 +24TB/月
训练数据 +300GB/月
TensorFlow
…
各种任务
社区反馈
多个维度
增加模型
多方参与
训练平台
数据体系
大模型生产体系
性能提升
燃灯
各个领域
…
Fengshen
自主开发
百亿参数
Libai
OneFlow合作
千亿参数
PyTorch
下一代框架
TensorLab
万亿参数
OneFlow
基础保障
33. 未来设想
34. 下一代深度学习模型的训练和部署系统
专家选择
专家2
专家1
专家3
专家4
稀疏激活
模型 Master
动态结构
输入
算力池一
算力池二
计算 Master
35. 关于 IDEA研究院CCNL
认知计算与自然语言研究中心
Since May 2021, 目前40+成员
www.idea.edu.cn/ccnl.html
让机器像人一样去学习
建设认知智能的基础设施
GTS模型生产平台
AI自动化生产AI
公测中
“封神榜”大模型开源体系
2021年11月IDEA大会发布
目前30+开源模型
36.
37.