(1)一文懂“AI训练芯片”测试方法与测试指标

楼宇对讲门禁系统(1)⼀⽂懂“AI训练芯⽚”测试⽅法与测试指标
1、前⾔
1.1 缘起
随着⼈⼯智能应⽤的崛起,其在不同的硬件芯⽚平台上的性能也逐渐变成了⽐较不同硬件和芯⽚的重要参考。然⽽,最初由各个芯⽚⼚商⾃⾏公布的跑分结果往往很难直接⽐较,因为其中包括了许多不同的参数,例如模型版本(例如同⼀个ResNet50可以延伸出许多不同的版本,不同⼚商可能会选取对⾃⼰芯⽚最有利的版本来做跑分),模型数字精度(浮点数还是整数)等等,这时候就需要⼀个统⼀的测试⽅法与指标了,规范⽹络、超参、数据集、服务器、代码等。
恒温阀门1.2 MLPerf
MLPerf就出现了,该跑分(benchmark)平台是⼀个由第三⽅机构(MLCommons)维护的平台,不同的机构则可以上传这些标准模型在⾃⼰的硬件芯⽚上的跑分结果,并且由MLCommons收集并验证后统⼀公布在⽹站上。这样⼀来,不同硬件芯⽚平台在做AI模型跑分的时候,就可以有⼀个统⼀的模型,也可以直接相互⽐较。
1.3 涵盖范围
涵盖了图像分类(ResNet)、医学影像分割(U-Net3D)、⽬标物体检测(SSD)、⽬标物体检测(Mask R-CNN)、语⾳识别(RNN-T)、⾃然语⾔理解(BERT)、智能推荐(DLRM)以及强化机器学习(Minigo)8类AI应⽤场景。
1.4 分布式极限性能
除了单机(单芯⽚)性能之外,AI模型的训练任务还关⼼分布式训练的极限性能。随着⼈⼯智能模型越来越复杂(例如GPT-3这样的超⼤型模型出现并成为主流),越来越多的⼈⼯智能模型需要能使⽤分布式计算才能完成训练,单机训练要么速度太慢(例如需要⼏个⽉才能完成),或者甚⾄根本⽆法装下模型。在分布式训练中,理想情况下训练速度与分布式机器的数量呈线性关系,但是现实中随着分布式机器数量上升,机器之间互相通信的开销越来越⼤,最终其训练速度会在机器数量增加到⼀定数量时达到饱和,即再继续增加机器数量也不会显著改善训练速度。这种训练速度的饱和值我们不妨称作极限性能。
对于某个模型,也有极限性能叫法,指利⽤假数据(随机数)以对⽐各芯⽚,排除CPU/⽹络等因素的影响。
同时,也可以通过OP⽅式体现芯⽚的峰值算⼒,证明产品⼿册数据类型相对应的算⼒*TFLOPS正确性。
2、测试指标与测试⽅法
垃圾热解可以分为两类,⼀类是单机多卡训练结果,该结果主要突出芯⽚本⾝的性能;另⼀类是多机分布式训练结果,该结果则体现了芯⽚以及系统对于分布式计算的⽀持。
2.1 测试指标
Training是于测量系统将模型训练到⽬标质量指标的速度;测试指标主要分为三部分:训练跑分(minutes)、训练精度、训练能耗。    训练时间:训练⽹络模型达到指定精度所需要的时间。
训练精度(Quality Target):训练时validate推理精度,看最终精度和精度曲线与baseline是否吻合。
训练能耗:训练模型达到指定精度时被测系统的能耗。
最⼤吞吐性能(batchsize):指包含单芯⽚或者多芯⽚的被测系统在训练过程或前向推理过程(包括预处理,后处理)中可同时处理的最⼤样本数量。
输送带接头设备2.2 测试类型
分为两种:通⽤/封闭测试(Closed) 和 专⽤/开放测试(Open),其中封闭的测试是基于平台固定的测试模型进⾏测试;开放的测试是⽤户可以⾃定义需要测试的模型。
2.3 测试步骤与结果
训练过程含有以下步骤:
a)启动训练
b)训练数据准备与读⼊
c)训练次数计数,轮次计数
d)能耗计数泄洪闸
e)即时准确率评估(验证集上validate)
f)⽇志⽣成;
g)训练动态指标记录;
h)训练结果⽣成。
其中步骤c)--> e)循环进⾏,在准确率⼤于条件值后,进⼊f)完成⼀次训练;每次训练完成后,返回c)。如训练次数已满⾜要求,则直接运⾏g)。
结果准备:训练结果为达到精度指标时,模型训练所⽤的时间、性能结果、功耗结果。
2.4 测试⽅法
运⾏监测
训练过程应受到监测,记录必要测评数据:
a)训练时间:不包含训练过程中使⽤测试集,测量当前模型准确率及准确率门限的⽐较时间;
b)训练次数:对同⼀⽬标模型的训练过程,重复训练的次数计数;音箱布
c)单次训练时间:记录单次训练过程的总体训练时间(不含每 epoch 后模型准确率计算时间)
d)单次训练能耗:记录单次训练过程的总体训练能耗(不含每 epoch 后模型准确率计算耗能)
e)模型⼀致性:单次训练后,所得模型应与标准模型结构对⽐,满⾜⼀致性要求。
结果要求
训练结果应含有训练代码,训练⽇志,元数据和训练结果数据。
训练代码
在所使⽤框架下模型构造,训练,优化等全过程的代码实现。
训练⽇志
⽇志为⽂本 , 并按每个epoch输 出 。每个epoch对应的格式为 :
“[yyyy:MM:dd HH:mm:ss] – [trial_number] – [epoch_number] – [accuracy]”。其中:
a)第⼀项为⽇志输出时的时间戳;
b)第⼆项为训练次数(正整数);
c)第三项为 epoch 数(正整数);
d)第四项为当前测试集上的准确率。
训练结果数据
训练结果数据如下:
a)平均训练时间:平均训练时间=∑每次训练时间/次数;
b)平均训练能耗:平均训练能耗=∑每次训练总能耗/次数;
c)实际准确率:模型训练过程中,在验证集上的准确率;
3、测试标准
4、展望未来
⼈⼯智能领域的芯⽚性能通常对于半导体⼯艺较为敏感,需要最好的⼯艺才能实现最强的单芯⽚性能。但是,如前所述,⼤规模分布式计算的极限性能(以及分布式计算规模较⼤时的性能)不仅仅取决于单芯⽚性能,还取决于整个系统设计。因此,即使已知⽆法使⽤最先进的⼯艺实现最强的单芯⽚性能,⼤规模分布式计算领域仍然是值得长期投⼊的领域,因为结合优化的系统设计,有可能可以弥补单芯⽚性能的短板。

本文发布于:2024-09-22 09:51:55,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/300246.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:训练   模型   性能   结果   测试
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议