2023人工智能芯片 计算机视觉训练用云侧深度学习芯片测试指标与测试方法_第1页
2023人工智能芯片 计算机视觉训练用云侧深度学习芯片测试指标与测试方法_第2页
2023人工智能芯片 计算机视觉训练用云侧深度学习芯片测试指标与测试方法_第3页
2023人工智能芯片 计算机视觉训练用云侧深度学习芯片测试指标与测试方法_第4页
2023人工智能芯片 计算机视觉训练用云侧深度学习芯片测试指标与测试方法_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能芯片计算机视觉训练用云侧深度学习芯片测试指标与测试方法目  次前  言 IV范围 1规范性引用文件 1术语和定义 1缩略语 1测试说明 1测试环境及流程 1测试对象 1测试内容 2测试指标 2基本技术规格 2功能 3性能 3软件生态 4测试方法 5基本技术规格 5功能 5性能 6软件生态 7附 录 A(规范性)算子参数配置 9A.1算子性能评测配置参数 9附 录 B(规范性)算子及模型列表 12算子列表 12长尾算子列表 12模型列表 13III人工智能芯片计算机视觉训练用云侧深度学习芯片测试指标与测试方法范围规范性引用文件(包括所有的修改单适用于本文件。T/CESA1119—2020人工智能芯片 面向云侧的深度学习芯片测试指标与测试方法术语和定义T/CESA1119—2020界定的以及下列术语和定义适用于本文件。计算机视觉computervision一种具备获取、处理和解释视觉数据能力的功能单元。[来源:ISO/IECDIS22989:2021,3.1.11,有修改]缩略语下列缩略语适用于本文件。IPS:每秒处理的图片数(ImagesPerSecond)API:应用编程接口(ApplicationProgrammingInterface)测试说明测试环境及流程本文件的测试环境及测试流程均应符合T/CESA1119—2020的相关要求。测试对象本文件的测试对象是含有计算机视觉推理用云侧深度学习芯片(卡/棒)的控制主机:指以芯片/卡/1棒形态进行使用的深度学习芯片,如GPU、FPGA以及ASIC等人工智能芯片(卡/棒),可通过PCIE、USB等接口与测试主机连接。测试内容计算机视觉训练芯片的测评指标,主要包括基本技术规格、功能、性能、生态与开放性等部分,在依据本文件进行测试的过程中:涉及功能、性能等相关指标将通过第三方测试工具进行评测;生态与开放性部分的指标将采信被测对象标称值及其他技术信息,作为先进性的参考。测试指标基本技术规格算力

············································(1)表1算力相关指标与参考值序号指标名称指标内容参考值1FP16算力(TFLOPS)16bit(1bitsign+5bitexponent+10bitfraction)浮点数据的计算能力2FP32算力(TFLOPS)32bit(1bitsign+8bitexponent+23bitfraction)浮点数据的计算能力3INT8算力(TOPS)8bit整型数据的计算能力4INT16算力(TOPS)16bit整型数据的计算能力5BF16算力(TFLOPS)16bit(1bitsign+8bitexponent+7bitfraction)浮点数据的计算能力6TF32算力(TFLOPS)19bit(1bitsign+8bitexponent+10bitfraction)浮点数据的计算能力内存规格内存是训练芯片的片下存储器(显存),而不是指主机存储器。表2内存相关指标与参考值序号指标名称指标内容参考值1容量(GB)内存容量用字节数进行标称2带宽(GB/s)芯片的运算单元访问片下存储器的带宽通信带宽表3通信带宽相关指标与参考值序号指标名称指标内容参考值1主机-设备带宽(GB/s)训练芯片与主机之间的通信带宽2T/CESAXXXX—202X2节点内卡间带宽(GB/s)一个计算节点内,两个芯片之间的通信带宽能效比表4能效比相关指标与参考值序号指标名称指标内容参考值1最高浮点算力能效比(TFLOPS/W)芯片最高浮点算力与芯片标称功耗TDP的比值2最高整型算力能效比(TOPS/W)芯片最高整型算力与芯片标称功耗TDP的比值功能算子支持程度训练芯片对算子的支持程度,使用算子支持率进行衡量。算子支持率计算公式如下:······························(2)其中,被测试算子从算子列表(附录B.1)中获取,每个算子的权重系数使用统计方法获得。模型支持程度对目前常见深度学习应用领域(例如图像分类、分割、目标检测、NLP、推荐等)中典型模型的支持程度。模型支持率的计算公式如下:······························(3)其中,被测试模型以及相应的权重系数从模型列表(附录B.2)中获取。卡间、多机高速通信的功能支持卡间和多机高速通信分别指“节点内点对点通信”和“跨节点点对点通信”,指标内容如下表。表5卡间和多机高速通信功能支持序号指标名称指标内容1节点内点对点通信节点内用于卡间直接通信,CPU-Offload2跨节点点对点通信跨节点卡间直接通信,CPU-Offload训练性能的数制能力新型数制芯片中的运算单元支持TF32、BF16等新型数制。稀疏计算芯片在不降低模型训练精度的情况下,支持稀疏矩阵的运算以提高训练性能。性能算子计算性能3GEMMConv2d(附录所示:·································(4)算子性能评分为GEMMConv2d{}。通信性能(模型训练性能主流深度学习模型在不同配置(单卡、多卡)情形下的训练性能。模型训练性能用IPS衡量,是指训练过程中每秒钟能处理的图片数,其计算公式如下:模型性能评分为所有测试模型评分的加权平均。

··················································(5)其中,模型i的性能评分为:

····································(6)式中:M——单机1卡、单机4卡和单机8卡3种测试配置。模型测试参数配置以及训练数据集详见附录B.2。软件生态生态

·······························(7)生态指芯片的基本软件栈,并考虑芯片在公开市场的部署规模。评测内容主要包含如下几点:支持用户对芯片进行软件开发的运行时库、编译工具链和调试调优工具。表6基本软件栈支持度指标序号指标名称指标内容必要/可选指标1驱动支持是否包含驱动以及提供驱动API用于软件开发必要42运行时库是否包含运行时库必要3编译工具链是否提供编译工具链对用户程序进行编译必要4调试工具是否提供调试工具对芯片的代码进行调试排错必要5调优工具是否提供调优工具对芯片的代码实现进行性能分析、调优必要芯片的高性能计算库。主要包括计算库的数量、计算库提供的算子/函数的数量、提供计算库的性能三个方面。表7高性能计算库指标序号指标名称指标内容必要/可选指标1第1级计算库算子去测试其计算性能对芯片算力的利用率必要2第2级计算库是否包含其他计算库,例如随机数生成库等必要高性能通信库支持程度。覆盖主机-芯片之间、节点内芯片间以及跨节点芯片间三种场景的高All-Reduce、Reduce-Scatter、Broadcast等。开放性开放性评测中的指标包含开放的芯片指令集或虚拟指令集、开放的设备代码编译器等,详见表8。表8开放性指标序号指标名称指标内容必要/可选指标1编程模型编程模型、线程模型、存储层级设计是否和业界主流异构计算模型保持兼容必要2编程接口编程接口(如设备管理、流的使用与管理、同步机制等)是否与主流异构计算的编程接口保持兼容必要测试方法基本技术规格算力、内存、通信等子指标的测试均采用厂商提供的标称值。功能测试目标测试训练芯片以及其软件栈是否支持附录B.1(算子列表)和附录B.2(模型列表)所列的算子与模型。测试准备功能测试需要被测方提供以下内容:应提供处于最佳工作环境、厂商标配的主机配置、厂商标配的训练芯片产品形态;应提供训练芯片软件栈的相关技术文档。5测试要求待测算子和待测试模型应满足以下要求:支持至少一种数值精度(FP32、FB16、TF32、BF16、INT8INT16)的实现;ONNXRuntimeCPU(v1.10.0Inteli7-8700@3.2GHz)的输出结果进行比较,两者误差在可接受范围内;若输出参数是张量,对张量中每一个元素与标准输出结果中对应元素进行比较;95(B.2算子功能测试流程表11 算子功能测试流程序号步骤步骤描述1参数配置给定输入参数,使用该算子在ONNXRuntimeCPU实现进行计算,获得在该输入配置下的标准输出结果。2算子执行使用上述输入参数,在训练芯片上执行该算子,获得相应的测试输出结果。3精度对比将测试输出结果与标准输出结果进行对比,计算相对误差和绝对误差。模型功能测试流程表12 模型功能测试流程序号步骤步骤描述1给定参数给定模型测试数据集、超参配置、要求训练轮数以及测试精度要求。2模型运行在以训练芯片为基础的计算系统上,使用指定数据集和超参进行训练。3精度对比当训练轮数达到训练要求的轮数时,测试模型在指定测试数据集上的精度。性能测试目标测试训练芯片以及其软件栈在附录B.1算子列表和B.2模型列表下的训练性能。测试准备性能测试需要被测方提供以下内容:应提供处于最佳工作环境、厂商标配的主机配置、厂商标配的训练芯片产品形态;应提供训练芯片软件栈的相关技术文档。测试要求测试训练芯片性能有以下测试要求:i) All-Reduce(GB/s)和通信延迟(ms);6j) 应在不同的配置下(单机1卡、单机4卡、单机8卡等),测试模型训练性能。算子性能测试流程表13 算子性能测试流程序号步骤步骤描述1参数配置准备输入数据,并将算子执行所需的所有输入数据传输至训练芯片存储器。2暖身轮在芯片上执行算子M(M<10)次,作为性能测试的暖身轮。3耗时测试N(N1000100000根据实际情况指定),取运算时间的均值;4精度测试算子在某一特定输入配置下的计算时间与相应的基准时间的比值即为该输入参数配置下的(FP32、TF32和泛半精度(FP16BF16),基准性能也有两种精度的基准值,被测芯片的某个算子的评分系数选取两种数制精度下的最高值。5结果确认该测试条件下的算子必须确保精度满足要求,评测要求参考第7.2.1章节。模型性能测试流程表14 模型性能测试流程序号步骤步骤描述1参数配置准备模型训练所需的参数、数据集,训练过程不能对设定参数进行修改。2暖身轮启动模型训练,执行M(M<3)轮(epoch)训练作为暖身轮。3测试执行至少执行一个完整的训练轮(epoch),根据第6.3.3章节中IPS定义计算模型的训练性能。软件生态软件生态测试芯片应支持必要的基本软件栈、高性能计算库、高性能通信库以及产品部署规模。基本软件栈表14基本软件栈测试方法序号指标名称CUDA对应是否支持1驱动支持cudadriver2运行时库cudart3编译工具链nvcc4调试工具cuda-gdb5调优工具nvprof高性能计算库表15高性能计算库测试方法序号指标名称CUDA对应是否支持1第1级计算库cudnn、cublas7T/CESAXXXX—202X2第2级计算库cusparse、curand高性能通信库通信库应支持常见的通信原语如All-Reduce、Reduce-Scatter、Broadcast等,CUDA对应的高性能通信库为NCCL。开放性训练芯片应考虑开放性相关指标:表16开放性测试方法序号子指标评测内容是否支持1芯片指令集或虚拟指令集的开放程度2是否开放设备代码编译器(或部分组件)用于极致性能调优3编程接口和编程模型是否与主流异构计算生态兼容或可类比8附 录 A(规范性)算子性能评测配置参数算子性能评测中所有测试算子以及相应的输入配置参数列如以下:GEMMGEM子定请参见ONX-Oeraor-em试参数取如表示数,分别取(N,N)、(N,T)、(T,N)和(T,T),参数C为大小为且值随机生成的矩阵,参数 取默认值。综合上述参数配置项,最终测试配置项数为224=56*4。表A.1GEMM测试输入参数配置序号MNK序号MNK1816322964164096281283230641284096381024323164102440964876803232647680409658162563320481632681282563420481283278102425635204810243288768025636204876803298161536372048162561081281536382048128256118102415363920481024256128768015364020487680256138164096412048161536148128409642204812815361581024409643204810241536168768040964420487680153617641632452048164096186412832462048128409619641024324720481024409620647680324820487680409621641625649176065741760226412825650358467204823641024256517680162560246476802565261443228162564161536535121610242664128153654307212851227641024153655256102440962864768015365651232512Conv2d9表A.2Conv2d测试输入参数配置序号WHCNKSRpad_wpad_hs_hs_v122422438643311112112112648128331111356561288256331111428282568512331111514145128512331111677512851233111172242243326433111181121126432128331111956561283225633111110282825632512331111111414512325123311111277512325123311111322422432566433111114112112642561283311111556561282562563311111628282562565123311111714145122565123311111877512256512331111192242243326477332220282819232325522112128281923264110011221414512324855221123141451232192110011247783232256110011257783232128552211262242243512647733222728281925123255221128282819251264110011291414512512485522113014145125121921100113177832512256110011327783251212855221133480481161633111134240241616323311113512012321664331111366066416128331111371081083864331122385454648643311113927271288128331111104014141288256331111417725685123311114256566416643311114356566416256110022442828128161283311114528281281651211002246141425616256331111471414256161024110022487751216512110011497720481651211332250565664512643311115156566451225611002252282812851212833111153282812851251211002254141425651225633111155141425651210241100225677512512512110011577720485125121133225811211264864110011595656648256110011601121126412864110011615656641282561100116211211264512641100116356566451225611001111附 录 B(规范性)算子列表表B.1算子列表序号算子列表1conv1d,conv2d,conv3d,batch_norm,relu,max_pool1d,max_pool2d,max_pool3d,conv_transpose1d,conv_transpose2d,conv_transpose3d,softmax,softmin,cross_entropy,binarky_cross_entropy,dropout,select,randperm,mm,bmm,matmul,max,min,mean,add,sub,sum,div,mul,eq,gt,topk,stack,cat,split,sort,fill,arange,reshape,scatter,nonzero,layer_norm,interpolate,sigmoid,avg_pool1d,avg_pool2d,avg_pool3d,flatten,unsqueeze,squeeze,SGD,sin,cos,sinh,cosh,log,log2,exp,exp2,sqrt,fmod,sign,pow,neg,abs,floor,index_select,masked_select,permute,where,clamp,repeat,transpose,leaky_relu,prelu,log_softmax,instance_norm,Adam,Nms,RoiAlign,SyncBatchNorm,GlobalMaxPool,GlobalAveragePool,adaptive_avg_pool1d,adaptive_avg_pool2d,adaptive_avg_pool3d,adaptive_max_pool1d,adaptive_max_pool2d,adaptive_max_pool3d,…长尾算子列表表B.2 长尾算子列表序号算子序号算子1bbox2delta21Fcos_matcher2bbox_overlaps22Index2d3Delta2bbox23Intersect4Compute_locations24Jaccard5Batched_nms25Legacy_bbox2delta6Bbox2roi26Margin_loss7Bbox2offset27Mask_predictor8L2_loss28Masks_to_boxes9Aeloss29Offset2b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论