性能分析方法、装置、系统、计算设备及存储介质制造方法及图纸

技术编号:38751295 阅读:13 留言:0更新日期:2023-09-09 11:17
本公开涉及一种性能分析方法、装置、系统、计算设备及存储介质,所述方法应用于计算设备,计算设备上设置有图形处理器和容器,所述方法包括:从云端平台接收配置信息、拷贝代码仓库;根据代码仓库指示从云端平台下载运行模型所需的资源,基于资源使用图形处理器运行模型,使用容器获取模型运行的性能原始数据并分析得到性能展示数据;上传性能展示数据到云端平台,用户设备从云端平台下载性能展示数据并展示给用户;性能原始数据包括图形处理器以多种框架分别运行模型时获取到的多种数据格式的痕迹数据。根据本公开实施例的性能分析方法,一次可展示图形处理器以多种框架运行模型时的性能分析结果,使基于性能分析结果确定性能优化方式更便捷。能优化方式更便捷。能优化方式更便捷。

【技术实现步骤摘要】
性能分析方法、装置、系统、计算设备及存储介质


[0001]本公开涉及人工智能领域,尤其涉及一种性能分析方法、装置、系统、计算设备及存储介质。

技术介绍

[0002]近年来,人工智能(artificial intelligence,AI)的研究及落地正在如火如荼地展开,AI应用正在进入人们的日常生活。AI模型需要大规模的矩阵运算,因此通常使用擅长矩阵运算的图形处理器(graphics processing unit,GPU)来加速AI应用。想要提高AI模型在GPU上运行的性能,需要获取AI模型的运行数据,给出性能分析报告,然后结合报告针对性优化AI模型在GPU上运行的性能。
[0003]AI领域通常涵盖视觉、自然语言处理、推荐系统、医疗影像、语音识别等多个方向。而每个方向都有大量的AI模型,业界常用的模型也有数百到数千个。第一,如果每个模型都需要算法工程师手动进行性能分析,那么工作量将非常庞大;第二,每个算法工程师开发水平,编码习惯相差很大,导致性能分析报告风格多样,内容参差不齐,也无法保证报告的质量,非常不利于性能优化;第三,手动产生的报告一般都是一些文本或命令行打印的数据,无法直观的展示数据,不能进行有效的分析。
[0004]综上所述,现有技术尚不能实现自动化、标准化的AI性能分析方案。另外,图形处理器可支持多种框架,现有技术通常一次只能展示图形处理器以一种框架运行AI模型时的性能分析报告,不够全面。

技术实现思路

[0005]有鉴于此,本公开提出了一种性能分析方法、装置、系统、计算设备及存储介质,根据本公开实施例的性能分析方法,只需用户提交配置信息即可实现一键式、自动化性能分析,并且性能分析结果是结构化、标准化的结果,同时,一次可展示图形处理器以多种框架运行模型时的性能分析结果,使基于性能分析结果确定性能优化方式更便捷。
[0006]根据本公开的一方面,提供了一种性能分析方法,所述方法应用于计算设备,所述计算设备上设置有实体的图形处理器和虚拟的容器,所述方法包括:从云端平台接收配置信息,所述配置信息由用户设备上传,所述配置信息指示待分析的模型及所述模型的运行参数;从所述云端平台拷贝代码仓库,所述代码仓库指示所述计算设备分析所述模型在所述图形处理器上运行的性能的方式以及预设的数据格式;根据所述代码仓库指示的方式,从所述云端平台下载运行所述模型所需的资源,基于所述资源使用所述图形处理器运行所述模型,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,所述性能展示数据符合所述预设的数据格式;上传所述性能展示数据到所述云端平台,所述性能展示数据由所述用户设备从所述云端平台下载并展示给用户;其中,所述图形处理器支持多种框架,所述性能原始数据包括所述图形处理器以所述多种框架分别运行所述模型时获取到的多种数据格式的痕迹数据,分析所述性能原始数据得到性能展示
数据时,包括对所述多种数据格式的痕迹数据进行处理,得到符合所述预设的数据格式的痕迹数据,作为性能展示数据中的一种数据。
[0007]在一种可能的实现方式中,基于所述资源使用所述图形处理器运行所述模型之前,所述方法还包括:从所述云端平台拷贝与所述模型相关的深度神经网络库和至少一种框架;编译所述深度神经网络库,从所述至少一种框架中选择一种框架并安装选择出的框架;所述基于所述资源使用所述图形处理器运行所述模型,包括:所述深度神经网络库编译好且所述选择出的框架安装好后,基于所述资源使用所述图形处理器运行所述模型。
[0008]在一种可能的实现方式中,所述图形处理器的软件栈包括计算层、框架层和模型层,所述性能原始数据包括与所述模型层对应的模型端到端性能数据、与所述框架层对应的所述痕迹数据、与所述计算层对应的核函数数据,所述框架层支持所述多种框架,所述模型的运行阶段包括预处理阶段、内存到显存的数据拷贝阶段、推理阶段、显存到内存的数据拷贝阶段、后处理阶段,所述模型端到端性能数据包括所述模型各运行阶段的耗时和所述模型各运行阶段的吞吐量;所述模型包括多个算子,所述痕迹数据包括每一算子的算子执行耗时;所述算子在运行时调用所述深度神经网络库中的核函数,所述核函数数据包括所述核函数的吞吐量和所述核函数的带宽。
[0009]在一种可能的实现方式中,所述运行参数包括多种批尺寸,所述使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:在所述核函数并行运行的情况下,针对所述模型的每一批尺寸,分别获取至少一次所述模型端到端性能数据;重新编译所述深度神经网络库,并在所述核函数串行运行的情况下,基于所述模型各运行阶段的吞吐量最高时对应的批尺寸,获取所述选择出的框架对应的痕迹数据和所述核函数数据;所述方法还包括:重新执行编译所述深度神经网络库到使用所述容器获取所述模型运行的性能原始数据之间的步骤,直到所述至少一种框架中的每种框架均被选择过。
[0010]在一种可能的实现方式中,所述性能原始数据还包括系统层面数据,所述系统层面数据包括所述计算设备的硬件性能数据、固件性能数据、内核调用数据、进程数据,所述配置信息还指示所述容器的环境变量、待进行数据获取的模型程序段、获取所述系统层面数据的方式,所述使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:根据所述配置信息定义所述容器的环境变量;所述模型以所述运行参数运行所述待进行数据获取的模型程序段时,采用所述获取系统层面数据的方式,获取所述硬件性能数据、所述固件性能数据、所述内核调用数据、所述进程数据。
[0011]在一种可能的实现方式中,所述预设的数据格式包括网页文件格式,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:分析所述性能原始数据,得到所述模型的运行环境数据和所述模型的属性数据;调整所述模型端到端性能数据、所述核函数数据、所述系统层面数据、所述运行环境数据以及所述属性数据的数据格式,使其符合预设的网页文件格式。
[0012]在一种可能的实现方式中,所述预设的数据格式包括网页文件格式,所述方法还包括:通过所述云端平台将所述多种数据格式的痕迹数据存储至所述云端平台关联的至少一个存储设备;根据所述多种数据格式的痕迹数据及其存储地址得到痕迹数据存储目录;对所述多种数据格式的痕迹数据进行处理,得到符合所述预设的数据格式的痕迹数据,包
括:根据所述痕迹数据存储目录中的地址,通过所述云端平台获取所述地址处存储的多种数据格式的痕迹数据;调整所述多种数据格式的痕迹数据的数据格式,使所述多种数据格式的痕迹数据的数据格式统一;根据每种数据格式的痕迹数据对应的框架、所述模型、所述批尺寸,对数据格式统一的痕迹数据进行命名并保存为文本格式;将文本格式的痕迹数据转换为网页文件格式的痕迹数据。
[0013]在一种可能的实现方式中,所述从所述云端平台下载运行所述模型所需的资源之前,所述方法还包括:检查所述容器和所述图形处理器是否具备满足条件的运行环境;所述从所述云端平台下载运本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种性能分析方法,其特征在于,所述方法应用于计算设备,所述计算设备上设置有实体的图形处理器和虚拟的容器,所述方法包括:从云端平台接收配置信息,所述配置信息由用户设备上传,所述配置信息指示待分析的模型及所述模型的运行参数;从所述云端平台拷贝代码仓库,所述代码仓库指示所述计算设备分析所述模型在所述图形处理器上运行的性能的方式以及预设的数据格式;根据所述代码仓库指示的方式,从所述云端平台下载运行所述模型所需的资源,基于所述资源使用所述图形处理器运行所述模型,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,所述性能展示数据符合所述预设的数据格式;上传所述性能展示数据到所述云端平台,所述性能展示数据由所述用户设备从所述云端平台下载并展示给用户;其中,所述图形处理器支持多种框架,所述性能原始数据包括所述图形处理器以所述多种框架分别运行所述模型时获取到的多种数据格式的痕迹数据,分析所述性能原始数据得到性能展示数据时,包括对所述多种数据格式的痕迹数据进行处理,得到符合所述预设的数据格式的痕迹数据,作为性能展示数据中的一种数据。2.根据权利要求1所述的方法,其特征在于,基于所述资源使用所述图形处理器运行所述模型之前,所述方法还包括:从所述云端平台拷贝与所述模型相关的深度神经网络库和至少一种框架;编译所述深度神经网络库,从所述至少一种框架中选择一种框架并安装选择出的框架;所述基于所述资源使用所述图形处理器运行所述模型,包括:所述深度神经网络库编译好且所述选择出的框架安装好后,基于所述资源使用所述图形处理器运行所述模型。3.根据权利要求2所述的方法,其特征在于,所述图形处理器的软件栈包括计算层、框架层和模型层,所述性能原始数据包括与所述模型层对应的模型端到端性能数据、与所述框架层对应的所述痕迹数据、与所述计算层对应的核函数数据,所述框架层支持所述多种框架,所述模型的运行阶段包括预处理阶段、内存到显存的数据拷贝阶段、推理阶段、显存到内存的数据拷贝阶段、后处理阶段,所述模型端到端性能数据包括所述模型各运行阶段的耗时和所述模型各运行阶段的吞吐量;所述模型包括多个算子,所述痕迹数据包括每一算子的算子执行耗时;所述算子在运行时调用所述深度神经网络库中的核函数,所述核函数数据包括所述核函数的吞吐量和所述核函数的带宽。4.根据权利要求3所述的方法,其特征在于,所述运行参数包括多种批尺寸,所述使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:在所述核函数并行运行的情况下,针对所述模型的每一批尺寸,分别获取至少一次所述模型端到端性能数据;
重新编译所述深度神经网络库,并在所述核函数串行运行的情况下,基于所述模型各运行阶段的吞吐量最高时对应的批尺寸,获取所述选择出的框架对应的痕迹数据和所述核函数数据;所述方法还包括:重新执行编译所述深度神经网络库到使用所述容器获取所述模型运行的性能原始数据之间的步骤,直到所述至少一种框架中的每种框架均被选择过。5.根据权利要求3或4所述的方法,其特征在于,所述性能原始数据还包括系统层面数据,所述系统层面数据包括所述计算设备的硬件性能数据、固件性能数据、内核调用数据、进程数据,所述配置信息还指示所述容器的环境变量、待进行数据获取的模型程序段、获取所述系统层面数据的方式,所述使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:根据所述配置信息定义所述容器的环境变量;所述模型以所述运行参数运行所述待进行数据获取的模型程序段时,采用所述获取系统层面数据的方式,获取所述硬件性能数据、所述固件性能数据、所述内核调用数据、所述进程数据。6.根据权利要求5所述的方法,其特征在于,所述预设的数据格式包括网页文件格式,使用所述容器获取所述模型运行的性能原始数据并分析所述性能原始数据得到性能展示数据,包括:分析所述性能原始数据,得到所述模型的运行环境数据和所述模型的属性数据;调整所述模型端到端性能数据、所述核函数数据、所述系统层面数据、所述运行环境数据以及所述属性数据的数据格式,使其符合预设的网页文件格式。7.根据权利要求1

6中任一项所述的方法,其特征在于,所述预设的数据格式包括网页文件格式,所述方法还包括:通过所述云端平台将所述多种数据格式的痕迹数据存储至所述云端平台关联的至少一个存储设备;根据所述多种数据格式的痕迹数据及其存储地址得到痕迹数据存储目录;对所述多种数据格式的痕迹数据进行处理,得到符合所述预设的数据格式的痕迹数据,包括:根据所述痕迹数据存储目录中的地址,通过所述云端平...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:摩尔线程智能科技北京有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1