2023信息技术 人工智能 深度学习框架多硬件平台适配技术要求与评价指标_第1页
2023信息技术 人工智能 深度学习框架多硬件平台适配技术要求与评价指标_第2页
2023信息技术 人工智能 深度学习框架多硬件平台适配技术要求与评价指标_第3页
2023信息技术 人工智能 深度学习框架多硬件平台适配技术要求与评价指标_第4页
2023信息技术 人工智能 深度学习框架多硬件平台适配技术要求与评价指标_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

信息技术人工智能深度学习框架多硬件平台适配技术要求与评价指标IIII目  次前  言 III范围 1规范性引用文件 1术语和定义 1缩略语 2总体架构与环境要求 3深度学习框架基础软硬件平台总体架构 3训练框架与硬件平台环境要求 3推理框架与硬件平台环境要求 4深度学习框架多硬件平台适配技术要求 4训练多硬件平台适配技术要求 5推理多硬件平台适配技术要求 9深度学习框架多硬件平台适配评价指标 13训练多硬件平台适配评价指标 13推理多硬件平台适配评价指标 14附录A(资料性)训练模型列表 15附录B(资料性)推理模型列表 16附录C(资料性)计算图定义 17PAGEPAGE10人工智能深度学习框架多硬件平台适配技术要求与评价指标范围规范性引用文件(包括所有的修改单适用于本文件。YD/T3944-2021人工智能芯片基准测试评估方法术语和定义下列术语和定义适用于本文件。deeplearning[来源:YD/T3944-2021,3.1.2]deeplearningframeworkmultiplehardwareplatformsadaptation深度学习框架可同时支持除CPUGPU以外的多种异构硬件作为计算资源完成深度学习模型训练与推理任务的能力。computationalgraph一种由节点和边构成的,表示计算流的图,张量和算子属于图中的对象,其基本块是有向无环的。计算图节点包括变量和函数,变量节点通过边相连作为函数节点的输入与输出。graph用于描述某个深度学习特定任务的计算过程,由一系列算子和张量组成的完整的计算图。subgraphgraphengine硬件平台SDK中执行计算图的训练或推理引擎,支持通过GraphAPI进行计算图构建与执行。tensoroperator算子注册接口operatorregistrationinterfaceAIartificialintelligenceaccelerator一类专用于人工智能硬件加速的微处理器或计算系统,通常由专用AI芯片制成,在通用或特定人工智能领域上较通用GPU可达到或发挥更好的性能优势。内核函数computeKernel一类在计算中运行在AI加速器上的执行单元,与主程序分开。需通过AI加速器提供的接口进行调用,或者通过AI加速器支持的单独的编程语言直接嵌入高级语言的应用程序代码。神经网络编译器NeuralNetworkCompiler中间表示IntermediateRepresentation神经网络编译器的中间表示结构。注:通常分为高层中间表示和低层中间表示,可作为神经网络编译器的输入。缩略语下列缩略语适用于本文件。AI:人工智能(ArtificialIntelligence)ASIC:专用集成电路(ApplicationSpecificIntegratedCircuit)CPU:中央处理器(CentralProcessingUnit)DNN:深度神经网络(DeepNeuralNetwork)GPU:图形处理器(GraphicProcessingUnit)GAN:生成式对抗网络(GenerativeAdversarialNetworks)TPU:张量处理器(TensorProcessingUnit)NPU:神经网络处理器(Neural-networkProcessingUnit)NLP:自然语言处理(NaturalLanguageProcessing)SKD:软件开发工具包(SoftwareDevelopmentKit)总体架构与环境要求深度学习框架基础软硬件平台总体架构1:适配技术要求:分布式通信层接入接口(仅面向训练框架、设备管理层接入接口与算子适配层接入接口要求。图1.深度学习框架多硬件平台适配总体架构训练框架与硬件平台适配环境要求训练框架环境要求包括:学习框架:应具备基础单卡、多卡与多机的模型训练功能;AI加速库版本应是尚在维护中的版本,并需支持最新稳定版。训练框架适配的硬件平台环境要求包括:操作系统:应支持基于Linux内核的操作系统;芯片类型:应在通用CPU和GPU之外支持至少一种AI训练芯片;设备识别:硬件驱动应支持选定操作系统的安装/卸载,设备可正确识别,宜支持容器映射;分析监控:硬件宜提供设备的状态监控工具与性能分析工具,用于检测设备健康状态。推理框架与硬件平台适配环境要求云侧推理框架与硬件平台适配环境要求应符合本文件5.2章节的规定。端侧推理框架环境要求应符合本文件5.2章节“训练框架环境要求”的规定。端侧推理框架所适配的硬件平台环境要求包括:操作系统:宜支持常用智能终端操作系统、嵌入式操作系统等;芯片类型:应在通用CPU和GPU之外支持至少一种专用AI推理芯片;设备识别:硬件驱动应支持选定操作系统的安装/卸载,设备可正确识别,宜支持容器映射;分析监控:硬件宜提供设备的状态监控工具和性能分析工具,用于检测设备健康状态。深度学习框架多硬件平台适配技术要求图2.深度学习框架多硬件平台适配接口2接口训练侧定义见算子开发或映射:如图2接口b(训练侧定义见,推理侧定义见),若硬件支持可编程算子内核开发语言,或硬件具备对应的AI算子库,则可以选择该方式接入;图引擎接入:如图2接口c(训练侧定义见,推理侧定义见),若硬件支持图引擎,则可以选择该方式进行子图或整图接入;编译器后端接入:如图2接口d(训练侧定义见,推理侧定义见),若硬件支2接口训练侧定义见训练多硬件平台适配技术要求设备管理层接口设备管理接口设备管理接口提供硬件设备的创建、销毁、申请和释放等接口,见表1。表1设备管理接口接口中文名称接口英文名称是否必选接口说明获取驱动版本号get_driver_version是获取驱动版本号获取运行时版本号get_runtime_version是获取运行时版本号获取设备算力get_compute_capability是获取设备算力设置当前使用设备set_device是后续任务执行在该设备上获取当前使用设备get_device是获取当前使用的硬件设备同步设备synchronize_device是等待指定设备上所有任务完成获取可用设备数量get_device_count是获取当前可用设备数量获取可用设备列表get_device_list是获取当前可用设备号列表初始化硬件initialize否初始化硬件后端去初始化硬件finalize否去初始化硬件后端初始化设备init_device否初始化指定硬件设备去初始化设备deinit_device否去初始化指定硬件设备内存管理接口内存管理接口提供设备内存和主机内存的申请、释放、拷贝、查询等接口,见表2。表2内存管理接口接口中文名称接口英文名称是否必选接口说明申请设备内存device_memory_allocate是申请设备内存释放设备内存device_memory_deallocate是释放设备内存申请主机锁页内存host_memory_allocate否申请主机锁页内存释放主机锁页内存host_memory_deallocate否释放主机锁页内存申请统一地址内存unified_memory_allocate否申请统一地址内存释放统一地址内存unified_memory_deallocate否释放统一地址内存主机到设备同步内存拷贝memory_copy_h2d是主机到设备同步内存拷贝设备到主机同步内存拷贝memory_copy_d2h是设备到主机同步内存拷贝设备内同步内存拷贝memory_copy_d2d是设备内同步内存拷贝设备间同步内存拷贝memory_copy_p2p是设备间同步内存拷贝主机到设备异步内存拷贝async_memory_copy_h2d否主机到设备异步内存拷贝设备到主机异步内存拷贝async_memory_copy_d2h否设备到主机异步内存拷贝设备内异步内存拷贝async_memory_copy_d2d否设备内异步内存拷贝设备间异步内存拷贝async_memory_copy_p2p否设备间异步内存拷贝设备内存填充device_memory_set否使用值填充某块设备内存查询设备内存状态device_memory_stats是设备内存使用情况查询获取设备内存最小块大小device_min_chunk_size是获取设备内存最小块大小获取设备内存最大块大小device_max_chunk_size否获取设备内存最大块大小设备最多可分配内存大小device_max_alloc_size否设备最多可分配内存大小分配设备内存的填充字节device_extra_padding_size否分配设备内存的填充字节设备初始分配的内存大小device_init_alloc_size否设备初始分配的内存大小设备重分配的内存大小device_realloc_size否设备重分配的内存大小执行流管理接口执行流管理接口提供设备执行流创建、销毁、查询和阻塞等接口,见表3。表3执行流管理接口接口中文名称接口英文名称是否必选接口说明创建设备执行流create_stream是创建设备执行流销毁设备执行流destroy_stream是销毁设备执行流查询设备执行流状态query_stream否查询设备执行流状态同步设备执行流synchronize_stream是等待执行流所有任务完成添加主机回调函数stream_add_callback否添加主机回调函数等待执行流某个事件完成stream_wait_event是等待执行流某个事件完成事件管理接口事件管理接口提供设备事件对象的创建、销毁、记录和同步等接口,见表4。表4事件管理接口接口中文名称接口英文名称是否必选接口说明创建设备事件对象create_event是创建设备事件对象销毁设备事件对象destroy_event是销毁设备事件对象设备执行流上记录事件record_event是设备执行流上记录某事件查询事件是否完成query_event否查询该设备事件是否完成同步设备事件synchronize_event是阻塞直到该设备事件完成算子适配层接口算子开发或映射接口深度学习框架应提供硬件算子的内核函数注册接口,供目标硬件进行内核函数或DNN算子库的接入,见表5。表5硬件算子注册接口项目内容接口中文名称算子内核函数注册接口英文名称REGISTER_KERNEL接口功能说明注册框架算子的内核函数接口输入参数见表6接口输出参数无(void)硬件算子注册接口所需的输入参数见表6。表6硬件算子注册接口输入参数参数名称输入/输出类型数据类型是否必选参数说明算子名称输入参数字符串是框架算子名称硬件名称输入参数字符串是硬件后端名称布局类型输入参数枚举否输入张量的数据布局类型内核函数输入参数函数是硬件算子内核函数数据类型输入参数枚举是算子支持的输入张量的数据类型图引擎接入接口框架应提供计算图构建接口,见表7。表7硬件计算图构建接口项目内容接口中文名称硬件计算图构建接口英文名称GraphBuilder接口功能说明根据框架计算图,构建硬件图引擎的可执行对象接口输入参数见表8接口输出参数见表8其中硬件计算图构建接口所需的输入参数见表8。表8硬件计算图构建接口输入参数参数名称输入/输出类型数据类型是否必选参数说明框架计算图输入参数框架计算图是框架计算图对象,见附录C输入张量名称输入参数张量列表是计算图所有输入张量名称列表输出张量名称输入参数张量列表是计算图所有输出张量名称列表硬件计算图输出参数硬件计算图是硬件计算图对象,见附录C框架应提供硬件计算图执行接口,见表9。表9硬件计算图执行接口项目内容接口中文名称硬件计算图执行接口英文名称GraphExecute接口功能说明硬件图引擎接管计算图并执行接口输入参数见表10接口输出参数见表10其中硬件图引擎编译接口所需的输入输出见表10。表10硬件图引擎编译接口输入参数参数名称输入/输出类型数据类型是否必选参数说明硬件计算图输入参数硬件计算图是硬件计算图对象,见附录C输入张量列表输入参数张量列表是计算图所有输入张量列表输出张量列表输出参数张量列表是计算图所有输出张量列表编译器后端接入接口译器IR具体硬件上的可执行代码。IR)接口,见表11。表11框架计算图转化编译器高层中间表示的接口项目内容接口中文名称编译器高层中间表示构建接口英文名称HighLevelIRBuild接口功能说明根据框架计算图,构建编译器高层中间表示接口输入参数见表12接口输出参数见表12其中框架计算图转化编译器高层中间表示的接口所需的输入参数见表12。表12硬件图引擎编译接口参数参数名称输入/输出类型数据类型是否必选参数说明框架计算图输入参数框架计算图是框架计算图对象,见附录C高层中间表示输出参数高层中间表示是神经网络编译器高层中间表示分布式通信层接口表13分布式通信层接口接口中文名称接口英文名称是否必选接口说明生成通信ID编号ccl_get_unique_id是生成通信ID编号生成集合通信对象ccl_common_init_rank是生成集合通信对象销毁集合通信对象ccl_comm_destroy是销毁集合通信对象全量聚合累加通信ccl_all_reduce是全量聚合累加通信广播通信ccl_broadcast是广播通信累加通信ccl_reduce是累加通信聚合通信ccl_all_gather是聚合通信累加分发通信ccl_reduce_scatter是累加分发通信通信组合起始ccl_group_start否通信组合起始通信组合结束ccl_group_end否通信组合结束点对点发送ccl_send否点对点发送点对点接收ccl_recv否点对点接收获取集合通信版本ccl_get_version否获取集合通信版本推理多硬件平台适配技术要求设备管理层接口推理侧设备管理层接口应符合本文件6.1.1章节的规定。算子适配层接口算子开发或映射接口推理侧算子开发或映射接口应符合本文件章节的规定。图引擎接入接口子图检测、融合和执行接口:包括子图检测接口、子图编译执行接口。表14检测符合条件的所有子图参数输入/输出类型是否必选参数说明Lambda表达式或IR描述文件输入参数是符合要检测子图的模式表15将符合条件的子图进行融合参数输入/输出类型是否必选参数说明子图表示列表输入参数是子图检测得到的子图表示列表子图OP类型输入参数是要替换子图表示列表的子图OP类型表16编译模型生成硬件代码参数输入/输出类型是否必选参数说明模型输入参数是需要在硬件上执行的模型表17执行模型参数输入/输出类型是否必选参数说明输入Tensor输入参数是模型的输入数据输出Tensor输出参数是模型的输出数据硬件通用适配层接口:执行子图转硬件Graph、模型生成和执行、输入和输出内存管理操作。包括设备管理接口、模型生成接口、模型执行接口。设备管理接口:进行设备基本信息的注册、参数配置和context管理,包括获取硬件设备、释放设备句柄、创建设备上下文、销毁设备上下文接口,定义分别见表18、表19、表20与表21。表18获取硬件设备参数输入/输出类型是否必选参数说明设备名称输入参数是需要获取的硬件设备名称设备句柄输出参数是获取的设备句柄表19释放设备句柄参数输入/输出类型是否必选参数说明设备句柄输入参数是需要释放的设备句柄表20参数输入/输出类型是否必选参数说明设备列表输入参数是需要创建上下文的设备列表设备上下文列表输出参数是创建得到的设备上下文列表表21参数输入/输出类型是否必选参数说明设备上下文输入参数是需要销毁的设备上下文模型生成接口:完成子图转硬件Graph(算子转硬件IR)、生成硬件模型。包括创建硬件表22创建硬件无关的深度学习网络模型参数输入/输出类型是否必选参数说明模型输出参数是初始化深度学习网络模型表23释放深度学习网络模型参数输入/输出类型是否必选参数说明模型输入参数是需要释放的网络模型表24参数输入/输出类型是否必选参数说明模型输入参数是需要添加操作符的网络模型操作符输入参数是需要添加的操作符表25参数输入/输出类型是否必选参数说明模型输入参数是需要添加操作数的网络模型操作数输入参数是需要添加的操作数表26标识模型的输入和输出参数参数输入/输出类型是否必选参数说明模型输入参数是需要确定输入输出的模型输入操作数输出参数是模型的输入操作数输出操作数输出参数是模型的输出操作数表27参数输入/输出类型是否必选参数说明模型输入参数是需要编译的模型编译对象输出参数是得到初始化的编译对象表28参数输入/输出类型是否必选参数说明编译对象输入参数是需要释放的编译对象表29调用硬件驱动完成硬件模型的生成参数输入/输出类型是否必选参数说明编译对象输入参数是需要生成硬件模型的编译对象模型的输出维度和数据、执行引擎启动计算接口,定义分别见表30、表31、表32、表33与表34。表30参数输入/输出类型是否必选参数说明编译对象输入参数是模型对应的编译对象执行引擎输出参数是得到初始化的模型执行引擎表31参数输入/输出类型是否必选参数说明执行引擎输入参数是需要释放的执行引擎表32设置硬件模型的输入维度和数据参数输入/输出类型是否必选参数说明执行引擎输入参数是需要设置输入的执行引擎维度信息输入参数是模型输入的维度信息数据输入参数是模型输入的数据表33设置硬件模型的输出维度和数据参数输入/输出类型是否必选参数说明执行引擎输入参数是需要设置输出的执行引擎维度信息输出参数是得到模型输出的维度信息数据输出参数是得到模型输出的数据表34执行引擎启动计算参数输入/输出类型是否必选参数说明执行引擎输入参数是需要运行的执行引擎编译器后端接入接口深度学习框架推理侧宜提供编译器后端接入接口。若深度学习框架支持神经网络编译器后端接入,则推理侧编译器后端接口要求应符合本文件章节的规定。深度学习框架多硬件平台适配评价指标训练多硬件平台适配评价指标安装部署/测试/运维人员进行使用/管理/维护/升级等工作:应提供对应软/硬件环境下的深度学习开发框架的安装包,支持安装/卸载功能;应提供对应软/硬件环境下的深度学习开发框架的容器运行镜像,支持容器内运行环境;应提供对应软/硬件环境下的深度学习开发框架的容器编译镜像,支持容器内源码编译;宜支持异构CPU编译并支持纯CPU训练场景,支持CPU算子kernel优化与加速。模型支持与验证基于选定的基础软硬件平台,深度学习框架应支持在图像分类、目标检测、图像分割、语义表示、机器翻译、视频分类、智能推荐等应用领域的10个模型及其精度评估指标,如附录A.1所示。训练性能与稳定性基于选定的基础软硬件平台,深度学习框架应在训练性能、压力与稳定性方面达到以下要求:性能测试:应提供可供性能分析的数据来衡量模型训练性能,例如固定配置下模型训练时间;稳定性测试:应保证多次训练精度误差在一定范围内,训练精度结果可稳定复现;压力测试:应支持7天以上长时间训练,保证性能不出现严重下降和精度误差在允许范围内;大规模分布式测试:支持多机多卡训练,应提供多卡与多机加速比数据。易用性深度学习框架在多硬件接入适配工作上应满足易用性的要求:推理多硬件平台适配评价指标安装部署基于选定的基础软硬件平台,与深度学习框架应具备多种安装部署能力,以便开发/测试/运维人员进行使用/管理/维护/升级等工作:应提供对应软/硬件环境下的深度学习推理框架的安装包,支持安装/卸载功能;应提供对应软/硬件环境下的深度学习推理框架的C/C++推理库,支持模型部署上线;应提供对应软/硬件环境下的深度学习推理框架的容器运行镜像,支持容器内运行环境;应提供对应软/硬件环境下的深度学习推理框架的容器编译镜像,支持容器内源码编译。模型支持与验证基于选定的基础软硬件平台,深度学习框架应支持基础模型,结果正确,性能符合对应硬件预期,压力测试下无异常结果。B.1所示。B.2所示。推理性能与稳定性基于选定的基础软硬件平台,深度学习推理框架应在推理性能、压力与稳定性方面达到以下要求:推理性能要求:在相应硬件下符合性能预期;稳定性要求:多次测试结果一致;压力测试要求:压力测试下,性能符合预期,无内存显存泄露等异常情况。易用性深度学习推理框架在多硬件接入适配工作上应满足易用性要求:应提供使用文档,指导用户针对不同目标硬件进行推理模型部署和推理任务提交工作等。附 录A(资料性)基于选定的基础软硬件平台,深度学习训练框架应支持的模型列表及其评价指标见表A.1。表A.1训练基础模型列表及其评价指标应用领域模型名称数据集准确率约束(>=99%ofFP32)图像分类ResNet50ImageNet75.9%classification目标检测MaskR-CNN+FPNCOCO2017box:37.7mask:33.9YOLOv3COCO201734.8图像分割DeepLabv3+CityScapesmIoU:78.5%语义表示BERTWikipedia2020/01/010.712Mask-LMaccuracyWord2VecOnebillionACC:0.600机器翻译TransformerWMT25.00BLEU视频分类TSMKinetics400top1:0.711智能推荐DeepFMCriteoAUC:0.788Wide&DeepCriteoAUC:0.795附 录B(资料性)基于选定的基础软硬件平台,深度学习云侧推理框架应支持的模型列表及其评价指标见表B.1。表B.1云侧推理模型列表及其评价指标应用领域模型名称数据集准确率约束(>=99%ofFP32)图像分类Resnet50ImageNet(224x224)Top-1:7

温馨提示

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

评论

0/150

提交评论