基于AISynergy的协同训练示例
1.ResNet50图像分类模型协同训练
具体实现可参考mindspore_resnet50
数据集&模型:cifar10 resnet50
算力:5方智算网络用户中心参与的图像分类协同训练,数据平均划分为5份
训练超参:训练epoch=15,采用平均融合策略
如图所示,显示的协同训练场景,是联合5个智算中心,分别是位于深圳的鹏城云脑I、鹏城云脑II、位于北京的北大智算中心、位于合肥的类脑智算中心、位于武汉的武汉智算中心,每个分中心都有部分私有数据,要求数据不出本地, 其中鹏城云脑II、武汉智算中心都是通过对接modelarts进行资源的管理与调度。
- 从展示的曲线可以看到:协同训练模型的精度较各方中心仅用本地数据训练得到的精度,有提升4个百分点,而对比用全量数据训练的精度,只下降了1个百分点,而且从耗时上分析来看,通信时间在整个训练耗时中占的比例较少,不到20%。
- 充分验证了通过跨域的异构算力资源,利用多方数据协同训练多的模型相比各中心仅用本地数据训练的模型,性能有较大的提升。
查看训练过程:登录众智AI协同计算平台,点击任务resnet50-cifar10查看按钮
2.盘古-350M异构框架协同训练模型
盘古350M-Pytorch详细可参考panguAlpha_pytorch
盘古350M-Mindspore详细可参考pangu-mindspore-AISyn
数据集:600M(baike)
算力:4方智算网络用户中心参与的盘古模型协同训练,数据平均划分为4份,各方数据占150M
训练超参:训练epoch=9,采用平均融合策略
实验结果数据如下图:
结论:
- 验证了协同计算在nlp自然语言处理上的有效性,协同训练模型检测准确率高于参与方单独训练时模型准确率
- 通信时间在整个耗时中占比较小,最慢的参与方通讯时间占整个耗时的百分之20左右
- 目前用600M数据,数据量偏小,继续往后训练,训练loss不断降低,但是验证集的Loss不下降,会出现过拟合
查看训练过程:登录众智AI协同计算平台,点击任务pangu-pt-ms查看按钮
3.基于协同计算的产前先天性心脏病医学影像分析与应用
EllipseNet检测模型协同训练验证具体可参考AISyn-EllipseNet
数据集:训练集总共病例图像:1669,normal:468,abnormal:230,other:971
基础模型:EllipseNet
实验场景描述:2方参与的EllipseNet模型协同训练,数据划分成2份,各方数据集中normal、abnormal和other类型的数据量根据比例划分,具体比例见实验结果表。训练epoch=200,协同训练时每个epoch同步一次模型参数,采用平均融合策略
实验结果:
结论:
- 验证了协同计算在儿童心脏检测应用场景的有效性,协同训练模型检测准确率高于参与方单独训练时模型准确率
- 参与方数据分布的不均匀性影响协同计算训练检测模型准确率上限,数据分布越均匀,协同训练效率越接近数据聚合时准确率
- 协同训练时模型会因为数据分布和模型融合更新周的变化出现一些loss收敛波动
4.一带一路多语言模型云际协同训练
针对一带一路国家多语言语料稀缺且资源分布不均衡等挑战,多语言模型云际协同训练案例旨在模拟低资源语料分布在多个智算中心且数据不出本地的情形下联合训练一个多语言模型的场景,探索以中文为核心的“一带一路”多语言模型的持续学习技术。
- 鹏程·mPanGu-α 2.6B 云际异构协同训练,具体可参考:
mPanGu-α2.6B
训练基于‘鹏城云脑1’ GPU(V100)和‘鹏城云脑2’ NPU(昇腾910),数据集清洗后涵盖66个一带一路沿线国家的53个语种,其中单语7.3B句对,中<->外双语0.32B句对,英<->外双语1.96B句对;
训练loss
目前训练还在进行,最新结果会及时进行更新
5.支持PaddlePaddle框架的训练示例:
6.支持TensorFlow框架的训练示例:
7.支持MindSpore框架的训练示例: