System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及神经网络推测领域,尤其涉及一种神经网络推理推测加速方法、系统、设备以及介质。
技术介绍
1、神经网络模型是一种数学模型,用于机器学习和人工智能领域。这种模型由多个神经元组成,各个神经元分布在不同的层次上,形成网络。每个神经元接收来自前一层神经元的输入,并产生一个输出,输出可以传递到下一层神经元。通过训练过程,神经网络模型调整其内部权重和偏置,以便能够从输入数据中学习到特征,并能够对未曾见过的数据做出预测或分类。神经网络模型在许多领域表现出色,如图像识别、语音识别、自然语言处理等。神经网络模型的发展包括多种类型,如前馈神经网络、循环神经网络、卷积神经网络等,每种类型都有其特定的应用场景和优势。
2、对神经网络模型进行推测和加速是优化神经网络在实际应用中性能的重要问题。具体方法可以包括模型剪枝、量化、混合精度计算、硬件加速器、模型压缩以及轻量级模型设计等。但利用上述的方法对神经网络模型进行推测和加速时,对设备的硬件性能要求较高。有鉴于此,如何采用算力较低的中央处理器或芯片设备完成对神经网络模型进行推测和加速是亟待解决的问题。
技术实现思路
1、本申请实施例通过提供一种神经网络推理推测加速方法、系统、设备以及介质,解决了现有技术中难以以低算力硬件设备完成对神经网络模型进行推测和加速的技术问题,实现了能够以低算力硬件设备完成对神经网络模型进行推测和加速的技术效果。
2、第一方面,本申请提供了一种神经网络推测加速方法,方法包括:
3、获取待推
4、分别确定各硬件设备对应的最优算子层数,其中,硬件设备的数量若干,硬件设备用于对待推测加速神经网络模型进行推测,各硬件设备对应的最优算子层数之和等于算子总层数,硬件设备的类型包括边缘计算设备、云端服务器以及终端设备;
5、控制各硬件设备分别对各自对应的最优算子层数进行推测。
6、进一步地,确定硬件设备对应的最优算子层数,包括:
7、为硬件设备设置初始算子层数;
8、在该硬件设备的额定功率下,确定该硬件设备推测初始算子层数的目标耗时;
9、调整初始算子层数;
10、在该硬件设备的额定功率下,重新确定该硬件设备推测调整后的初始算子层数的目标耗时;
11、当目标耗时最短,且推测初始算子层数最多时,将该初始算子层数作为该硬件设备的最优算子层数。
12、进一步地,确定硬件设备对应的最优算子层数,还包括:
13、获取硬件设备对应的硬件指标以及待推测加速神经网络模型对应的算子参数;
14、向预设推算神经网络模型中输入该硬件设备对应的硬件指标以及算子参数,得到该硬件设备对应的最优算子层数。
15、进一步地,确定硬件设备对应的最优算子层数之后,还包括:
16、根据硬件设备的位宽,对该硬件设备对应的最优算子层数的数据进行裁剪和填充;
17、通过调整该硬件设备对应的最优算子层数的线程数量和数据切块的大小,以对该硬件设备对应的最优算子层数进行优化。
18、进一步地,预设推算神经网络模型的公式,包括:
19、time=f(c,n,d,s)
20、
21、其中,time为推算时间,c为cpu的主频,n为算子类型,d为输入数据的shape,s为内存交换的速度,l为预测值与训练数据之间的误差,tp为预测时间,tq为实际消耗时间,f()为损失函数,i为训练数据的索引。
22、进一步地,构建推算神经网络模型,包括:
23、获取若干硬件设备对应的硬件指标、各硬件设备对应的算子层数、该硬件设备在算子层数下的推测耗时以及待推测加速神经网络模型对应的算子参数;
24、将硬件设备对应的硬件指标、该硬件设备对应的算子层数以及待推测加速神经网络模型对应的算子参数输入至初始神经网络模型中,得到该硬件设备对应的模拟结果;
25、当若干模拟结果与对应的推测耗时均小于预设阈值时,将初始神经网络模型作为推算神经网络模型。
26、进一步地,硬件指标,包括:
27、包括内存、带宽、计算速度、功耗以及网络层的输入数据。
28、第二方面,本申请提供了一种神经网络推测加速系统,系统包括:
29、客户端、服务端以及应用端,应用端包括边缘计算器设备、云端服务器以及终端设备;
30、客户端向服务端发送推测请求;
31、服务端接收推测请求,并接收应用端的推测结果;
32、服务端将推测结果返回至客户端,以供客户端对推测结果进行显示。
33、第三方面,本申请提供了一种电子设备,包括:
34、处理器;
35、用于存储处理器可执行指令的存储器;
36、其中,处理器被配置为执行以实现如第一方面提供的一种神经网络推测加速方法。
37、第四方面,本申请提供了一种非临时性计算机可读存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行实现如第一方面提供的一种神经网络推测加速方法。
38、本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
39、本申请提供了一种神经网络推测加速方法,方法包括:获取待推测加速神经网络模型的算子总层数;分别确定各硬件设备对应的最优算子层数,其中,硬件设备的数量若干,硬件设备用于对待推测加速神经网络模型进行推测,各硬件设备对应的最优算子层数之和等于算子总层数,硬件设备的类型包括边缘计算设备、云端服务器以及终端设备;控制各硬件设备分别对各自对应的最优算子层数进行推测。本申请通过确定各硬件设备对应的最优算子层数,可使得低算力设备也能完成对待推测加速神经网络模型的推测加速。
40、除此之外,基于本身请提供一种神经网络推测加速系统、一种神经网络推测加速方法均基于低算力硬件设备实现,神经网络推测加速系统使用cpu硬件中具有的simd指令集,加速模型推理,可以避免现有技术中编译器和平台的限制,且速度与效率比c++、python等编译语言更高。
41、神经网络推测加速系统还使用了较成熟的硬件设备环境,减少开发成本、模型推理成本,并使用其成熟的生态环境中的指令集加速模型推理。
42、神经网络推测加速系统还通过使用不同硬件设备上simd指令或者api接口生态环境成熟,减少了环境开发成本,进一步讲,神经网络推测加速系统环境搭建简单且高效,整合了繁多且复杂的多平台、多架构的硬件设备,使系统能够在保证低开发成本的同时,加速模型的推理速度。
43、在对待推测加速神经网络模型进行推算时,应用端使用cpu与gpu组合时,基于cpu上的成熟开发环境,且集成显卡功耗低,与cpu的兼容度高,能更高效地加速模型推理。
44、通过使用cpu负责模型部分简单模块推理,节省gpu算力,降低推本文档来自技高网...
【技术保护点】
1.一种神经网络推测加速方法,其特征在于,所述方法包括:
2.如权利要求1所述的一种神经网络推测加速方法,其特征在于,确定硬件设备对应的最优算子层数,包括:
3.如权利要求1所述的一种神经网络推测加速方法,其特征在于,确定硬件设备对应的最优算子层数,还包括:
4.如权利要求2或3所述的一种神经网络推测加速方法,其特征在于,确定硬件设备对应的最优算子层数之后,还包括:
5.如权利要求3所述的一种神经网络推测加速方法,其特征在于,预设推算神经网络模型的公式,包括:
6.如权利要求3所述的一种神经网络推测加速方法,其特征在于,构建推算神经网络模型,包括:
7.如权利要求1所述的一种神经网络推测加速方法,其特征在于,所述硬件指标,包括:
8.一种神经网络推测加速系统,其特征在于,应用于权利要求1-7中任一项所述的一种神经网络推测加速方法,系统包括:
9.一种电子设备,其特征在于,包括:
10.一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设
...【技术特征摘要】
1.一种神经网络推测加速方法,其特征在于,所述方法包括:
2.如权利要求1所述的一种神经网络推测加速方法,其特征在于,确定硬件设备对应的最优算子层数,包括:
3.如权利要求1所述的一种神经网络推测加速方法,其特征在于,确定硬件设备对应的最优算子层数,还包括:
4.如权利要求2或3所述的一种神经网络推测加速方法,其特征在于,确定硬件设备对应的最优算子层数之后,还包括:
5.如权利要求3所述的一种神经网络推测加速方法,其特征在于,预设推算神经网络模型的公式,包括:
6.如...
【专利技术属性】
技术研发人员:郎贵林,马宇昂,
申请(专利权)人:星凡星启成都科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。