CN117236187B - 一种深度学习加速器芯片的参数化设计方法及*** - Google Patents
一种深度学习加速器芯片的参数化设计方法及*** Download PDFInfo
- Publication number
- CN117236187B CN117236187B CN202311273953.0A CN202311273953A CN117236187B CN 117236187 B CN117236187 B CN 117236187B CN 202311273953 A CN202311273953 A CN 202311273953A CN 117236187 B CN117236187 B CN 117236187B
- Authority
- CN
- China
- Prior art keywords
- design
- accelerator chip
- accelerator
- architecture
- calculating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013461 design Methods 0.000 title claims abstract description 278
- 238000013135 deep learning Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000011156 evaluation Methods 0.000 claims description 71
- 238000004364 calculation method Methods 0.000 claims description 67
- 238000005265 energy consumption Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 23
- 238000005457 optimization Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 9
- 230000001934 delay Effects 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 206010033307 Overweight Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种深度学习加速器芯片的参数化设计方法及***,方法包括以下步骤:S1:初始化加速器芯片设计条件,其中,所述加速器芯片设计条件包括:加速器芯片架构设计空间和负载特征数据;S2:基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数;S3:基于加速器芯片架构的最优化设计参数,完成加速器架构设计。本发明通过深度学习负载特征自动搜索的参数化方法,最优化加速器设计,降低加速器设计的时间成本和人力成本,解决现有加速器芯片设计周期长、成本高、难以根据应用特性做自适应调整等一系列问题。
Description
技术领域
本发明涉及计算机和电子技术领域,尤其是深度学习加速器芯片的参数化设计领域,具体涉及一种深度学习加速器芯片的参数化设计方法及***。
背景技术
近年来,循环神经网络、卷积神经网络等深度学习算法在多种不同领域中展现出了越来越强的影响力,应用在社会生活的方方面面。随着深度学习算法的不断发展,尤其是大模型的提出和应用,对硬件算力的需求也逐步提高,对芯片设计提出了新的挑战。
目前可用于深度学习算法计算的芯片主要有三种:(1)中央处理器(CPU,Central-Processing Unit)芯片。通用处理器芯片以指令驱动,通过软件编程的方式可以执行各种应用,能够处理绝大部分场景下的任务,拥有非常高的灵活性,但是在处理复杂深度学习算法中的可大规模并行的计算密集型任务时,存在功耗过高、性能不足等问题,能效比低。(2)图形处理器(GPU,GraphProcessing Unit)芯片。图形处理器芯片包含专门的图形图像加速部件和可用于大规模简单并行计算任务的运算加速部件,除了用于专门的图形图像计算外,还可支持高度并行的人工智能算法加速。此类芯片承接通用处理器发送过来的可大规模并行的计算密集型任务,获得高计算吞吐率的同时,功耗也非常高,能效比依然较低。(3)深度学习专用加速器芯片。深度学习专用加速器芯片是为了提高深度学习算法性能专门设计的硬件电路,在特定应用场景可获得非常高的能效比,已成为目前学术界和工业界研究的热点。
深度学习专用加速器芯片可以采用专用集成电路(ASIC,Application-SpecificIntegrated Circuits)实现,针对特定应用设计专门的硬件电路并流片,芯片性能好、能效比高,但支持的应用场景单一、不够灵活;也可以基于现场可编程门阵列(FPGA,FieldProgrammable GateArray)电路实现,可以根据算法应用的不同,对硬件内部直接做修改,从而获得近似专用集成电路的性能,兼具高能效比和灵活性。因此,学术界和工业界开始将更多的注意力放在研究可重构深度学习加速器上。基于FPGA设计的深度学习加速器芯片可以通过预先设计的参数配置,构建特定的芯片逻辑结构,来完成特定的工作任务;当芯片运行任务发生较大改变时,可以修改参数配置,重新构建与新任务适配的芯片逻辑结构。当前,这种可重构的芯片设计模式已逐步在深度学习加速器领域得到应用和实现。然而,当前深度学习加速器芯片设计领域,通常依赖大量的人工调优,才能获得比较优化的芯片设计参数,周期长,成本高,并且人工调优难以验证芯片性能是否还存在优化空间。
综上,深度学习加速器芯片越来越得到学术界和产业界的重视,现有深度学习加速器芯片参数化设计才刚刚起步,无法满足根据应用特征快速输出加速器芯片设计的需求。
发明内容
针对现有技术的不足,本发明提出了一种深度学习加速器芯片的参数化设计方法及***,其目的在于通过深度学习负载特征自动搜索的参数化方法,最优化加速器设计,降低加速器设计的时间成本和人力成本,解决现有加速器芯片设计周期长、成本高、难以根据应用特性做自适应调整等一系列问题。
为实现上述目的,本发明提供了如下方案:
一种深度学习加速器芯片的参数化设计方法,包括以下步骤:
S1:初始化加速器芯片设计条件,其中,所述加速器芯片设计条件包括:加速器芯片架构设计空间和负载特征数据;
S2:基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数;
S3:基于加速器芯片架构的最优化设计参数,完成加速器架构设计。
优选的,所述S1中,初始化加速器芯片设计条件的方法包括:
S101:预先分析深度学习应用负载特征,得到负载特征数据;
S102:基于所述负载特征数据,预先设计深度学习加速器芯片基础架构模板,将可调优硬件架构参数化,得到加速器芯片架构设计空间;
S103:基于所述加速器芯片架构设计空间,初始化设计参数权重。
优选的,所述S2中,基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数的方法包括:
S201:基于加速器芯片架构设计空间,选取一组设计参数样本;
S202:基于所述设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分;
S203:基于所述评估部件计算评分,计算设计参数的权重梯度;
S204:基于所述权重梯度和优化速率,修正设计空间内对应参数的权重;
S205:迭代优化所述S201至所述S204,得到加速器芯片架构的最优化设计参数。
优选的,所述S202中,基于所述设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分的方法包括:
S202-1:使用能量评估部件计算加速器芯片运行能耗;
S202-2:基于所述加速器芯片运行能耗,使用时延评估部件计算加速器芯片运行耗时;
S202-3:基于所述加速器芯片运行耗时和预设权重比例,综合计算加速器芯片设计参数的性能评分,即评估部件计算评分。
优选的,所述S3中,基于加速器芯片架构的最优化设计参数,完成加速器架构设计的方法包括:
利用最优化加速器芯片设计参数,在预设的加速器芯片架构模板上进行调整,使得计算阵列尺寸、计算单元互联方式、全局寄存器容量、计算单元局部寄存器尺寸、计算单元处理位宽、计算单元额外计算逻辑最大化地提升加速器芯片计算输入的深度学习应用负载时表现出的性能,最终完成深度学习加速器芯片的参数化设计。
本发明还提供了一种深度学习加速器芯片的参数化设计***,包括:初始化模块、优化模块和设计模块;
所述初始化模块用于初始化加速器芯片设计条件,其中,所述加速器芯片设计条件包括:加速器芯片架构设计空间和负载特征数据;
所述优化模块用于基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数;
所述设计模块用于基于加速器芯片架构的最优化设计参数,完成加速器架构设计。
优选的,所述初始化模块中,初始化加速器芯片设计条件的过程包括:
S101:预先分析深度学习应用负载特征,得到负载特征数据;
S102:基于所述负载特征数据,预先设计深度学习加速器芯片基础架构模板,将可调优硬件架构参数化,得到加速器芯片架构设计空间;
S103:基于所述加速器芯片架构设计空间,初始化设计参数权重。
优选的,所述优化模块中,基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数的过程包括:
S201:基于加速器芯片架构设计空间,选取一组设计参数样本;
S202:基于所述设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分;
S203:基于所述评估部件计算评分,计算设计参数的权重梯度;
S204:基于所述权重梯度和优化速率,修正设计空间内对应参数的权重;
S205:迭代优化所述S201至所述S204,得到加速器芯片架构的最优化设计参数。
优选的,所述S202中,基于所述设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分的过程包括:
S202-1:使用能量评估部件计算加速器芯片运行能耗;
S202-2:基于所述加速器芯片运行能耗,使用时延评估部件计算加速器芯片运行耗时;
S202-3:基于所述加速器芯片运行耗时和预设权重比例,综合计算加速器芯片设计参数的性能评分,即评估部件计算评分。
优选的,所述设计模块中,基于加速器芯片架构的最优化设计参数,完成加速器架构设计的过程包括:
利用最优化加速器芯片设计参数,在预设的加速器芯片架构模板上进行调整,使得计算阵列尺寸、计算单元互联方式、全局寄存器容量、计算单元局部寄存器尺寸、计算单元处理位宽、计算单元额外计算逻辑最大化地提升加速器芯片计算输入的深度学习应用负载时表现出的性能,最终完成深度学习加速器芯片的参数化设计。
与现有技术相比,本发明的有益效果为:
本发明提出一种深度学习加速器芯片的参数化设计方法及***,将加速器芯片架构可调优部分做参数化处理,得到设计参数空间,采用可微化取样以及梯度下降的方法在设计参数空间中搜索得到最优化设计参数,基于该设计参数完成对深度学习加速器芯片的参数化设计。本发明可根据深度学习负载特征自动搜索最优化的加速器设计,极大降低了加速器设计的时间成本和人力成本;可完成深度学习加速器芯片评估,保证搜索得到的设计架构性能达到一定标准;核心算法可扩展性好,可应用于大规模工业级实际深度学习加速器芯片的参数化设计。
附图说明
为了更清楚地说明本发明的技术方案,下面对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1所示为深度学习加速器芯片的参数化设计方法的实施流程示意图;
图2所示为深度学习加速器芯片的参数化设计初始化芯片设计条件的实施流程示意图;
图3所示为深度学习加速器芯片设计参数搜索部件的具体实施流程示意图;
图4所示为深度学习加速器芯片设计参数评估部件的具体实施流程示意图;
图5(a)所示为能量评估部件的对加速器架构的能量消耗评估流程示意图;
图5(b)所示为时延评估部件的对加速器架构的时延评估的流程示意图;
图6所示为深度学习加速器芯片的参数化设计方法的具体实施装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
本发明提出了一种深度学习加速器芯片的参数化设计方法,具体实施流程包括以下步骤(如图1所示):
步骤S1.初始化加速器芯片设计条件。
步骤S2.基于加速器芯片架构设计空间和负载特征数据,搜索得到最优化设计参数。
步骤S3.基于加速器芯片架构设计参数,完成加速器架构设计。
在本实施例中,步骤S1初始化加速器芯片设计条件,具体实施流程如下(如图2所示):
S101:预先分析深度学习应用负载特征,得到负载特征数据,包括:
1)深度学习模型层数;
2)层类型;
3)层尺寸。
其中,层尺寸包括:输入特征宽度、输出特征宽度、卷积核大小、通道数、卷积核数量、步长、填充长度、量化后的位数;
S102:预先设计深度学习加速器芯片基础架构模板,将可调优硬件架构参数化,得到加速器芯片架构设计空间;
1)计算阵列尺寸、计算单元互联方式、全局寄存器容量、计算单元局部寄存器尺寸、计算单元处理位宽、计算单元额外计算逻辑;
2)在搜索开始前为所有的参数赋予相等的权重,表示所有参数在当前的搜索优先级相等;
S103:初始化设计参数权重,将所有设计参数的权重初始化为相等的值,表示所有参数在搜索开始前的优先级相等。
在本实施例中,步骤S2基于加速器芯片架构设计空间和负载特征数据,搜索得到最优化设计参数,具体实施流程如下(如图3所示):
S201:基于加速器芯片架构参数化设计空间,选取一组设计参数样本,根据加速器芯片架构参数化设计空间中各个参数权重,使用可微化的取样方法,便于后续计算梯度优化参数权重,同时保证高权重的参数被取样概率更大,并保有一定的随机性,各参数权重越相近,随机性越大,这一特性可避免搜索结果陷入局部最优。具体实施方法如下:
对于加速器芯片架构参数化设计空间中的各项参数,在步骤S1中均被赋予了权重。基于各项参数的权重,使用Gumbel取样算法,选取一套参数样本。Gumbel函数定义如下:
其中,x为随机变量取值,μ和β为随机分布参数。Gumbel函数特性使得取样过程可微,便于后续计算梯度优化参数权重,同时取样结果十分趋近于argmax取样。并且Gumbel取样于argmax取样相比保有一定的随机波动,各参数权重越相近,随机性越大,这一特性可避免搜索结果陷入局部最优。
S202:用评估部件评估加速器芯片设计参数和负载特征数据,评估部件包括能量评估部件和时延评估部件,具体的评估过程如下(如图4所示):
步骤202-1.能量评估部件(如图5(a)所示),基于加速器芯片设计参数,以及深度学习应用负载特征数据,针对每一个网络层,分别计算运行时计算和访存能量消耗,其中访存能耗包括寄存器、缓存、主存等多个层次,最终将所有网络层实现的能量消耗累加,得到整个网络的能量消耗。
使用能量评估部件,对加速器架构进行切割,并计算所需操作步骤能耗,具体地能量评估部件的输入包括:加速器芯片架构参数、深度学习负载特征数据、能量参考表。其中加速器芯片架构参数包括:计算阵列尺寸、计算单元互联方式、全局寄存器容量、计算单元局部寄存器尺寸、计算单元处理位宽、计算单元额外计算逻辑;负载特征数据,包括:深度学习模型层数、层类型、层尺寸,包括:输入特征宽度、输出特征宽度、卷积核大小、通道数、卷积核数量、步长、填充长度、量化后的位数;能量参考表提供了每一个操作的能量参考,计算当前网络层操作数,查找能量参考,即可得到本层计算能耗。访存能耗的计算包括:寄存器能量消耗,具体实施方法中使用处理单元计算次数表征寄存器访问次数,并在计算能耗时区分读取和写入;在计算所需操作步骤能耗需要分别考虑缓存能量消耗和主存能量消耗。缓存能量消耗,根据网络层权重数据量和加速器芯片设计参数中的缓存尺寸,额外计算访问模式和访问次数,并以此计算能耗;主存能量消耗,具体实施方法中,按照网络层的权值和输入数据都只需要从内存读取一次进行计算。
步骤202-2.时延评估部件(如图5(b)所示),基于加速器芯片设计参数,以及深度学习应用负载特征数据,针对每一个网络层,分别计算运行时计算和访存时延,其中访存时延包括寄存器、缓存、主存等多个层次,最终将所有网络层计算的时延累加,得到整个网络的计算时延。
使用时延评估部件,查找时延参数表计算出每层网络的运行耗时,具体地时延评估部件的输入包括:加速器芯片架构参数、深度学习负载特征数据、时延参考表。其中加速器芯片架构参数包括:计算阵列尺寸、计算单元互联方式、全局寄存器容量、计算单元局部寄存器尺寸、计算单元处理位宽、计算单元额外计算逻辑;负载特征数据,包括:深度学习模型层数、层类型、层尺寸,包括:输入特征宽度、输出特征宽度、卷积核大小、通道数、卷积核数量、步长、填充长度、量化后的位数;时延参考表依赖于芯片制作时的物理工艺与计算、访存等组件的实现方式,需要手动指定,在整个加速器芯片设计参数搜索过程中保持不变。时延计算包括:访存时延,根据缓存策略和设计参数中各级存储结构空间,以及网络层的数据量,计算得到各级存储结构命中率,并根据不同存储结构的访问时延得到网络层的访存时延;计算时延,在每轮计算中,通过查找时延参考表得出不同计算的时间长度,具体实施方法中使用各个计算批次中最长计算时延叠加作为网络层计算时延。
步骤202-3.基于预设权重比例,综合计算加速器芯片设计参数的性能评分,即评估部件计算评分。考虑到能耗和时延均与优化程度成负相关,能耗更小、时延更低的深度学习加速器芯片设计方案更优,具体实施方法中以能耗和时延的乘积,即能量延时积作为设计参数的评分,评分数值小的设计参数更优。
S203:基于评估部件计算评分,计算设计参数权重梯度,在具体实施方法中,以评估部件计算得到的设计参数评分为起点,使用反向传播算法,逐步计算评估部件运行过程中各个计算数据对评分的偏微分,最终倒推得到在步骤S201中取样得到的每一项设计参数的权重对应评分的梯度。
S204:基于权重梯度和优化速率,修正设计空间内对应参数的权重,在具体的实施方法中,对于在步骤S201中取样得到的每一项设计参数,均在步骤S203中计算得到了一个相应的梯度数值,将上述设计参数的权重减去该梯度数值和预设的权重优化速率的乘积,即为权重修正。
S205:迭代优化,在具体的实施方法中,即为返回步骤S201,使用在步骤S204中修正过的设计参数空间权重,重新进行Gumbel取样,并完成后续的步骤。随着迭代的进行,更适合步骤S1中分析过的深度学习应用负载的参数权重会不断增大,反之则不断减小,最终在搜索得到的设计参数达到预设的性能要求,或者迭代达到最大轮次时,结束迭代优化过程。
在本实施例中,步骤S3基于加速器芯片架构设计参数,完成加速器架构设计,具体实施流程如下:
使用搜索得到的最优化加速器芯片设计参数,在预设的加速器芯片架构模板上进行调整,使得计算阵列尺寸、计算单元互联方式、全局寄存器容量、计算单元局部寄存器尺寸、计算单元处理位宽、计算单元额外计算逻辑等所有搜索得到的参数,能够最大化地提升加速器芯片计算输入的深度学习应用负载时表现出的性能。最终的加速器芯片可通过多种方式实现,包括FPGA、模拟器等,最终完成深度学习加速器芯片的参数化设计。
实施例二
本发明还提供了一种深度学习加速器芯片的参数化设计***,包括:初始化模块、优化模块和设计模块;
初始化模块用于初始化加速器芯片设计条件,其中,加速器芯片设计条件包括:加速器芯片架构设计空间和负载特征数据;
优化模块用于基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数;
设计模块用于基于加速器芯片架构的最优化设计参数,完成加速器架构设计。
在本实施例中,初始化模块中,初始化加速器芯片设计条件的过程包括:
S101:预先分析深度学习应用负载特征,得到负载特征数据;
S102:基于负载特征数据,预先设计深度学习加速器芯片基础架构模板,将可调优硬件架构参数化,得到加速器芯片架构设计空间;
S103:基于加速器芯片架构设计空间,初始化设计参数权重。
在本实施例中,优化模块中,基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数的过程包括:
S201:基于加速器芯片架构参数化设计空间,选取一组设计参数样本;
S202:基于设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分;
S203:基于评估部件计算评分,计算设计参数的权重梯度;
S204:基于权重梯度和优化速率,修正设计空间内对应参数的权重;
S205:迭代优化S201至S204,得到加速器芯片架构的最优化设计参数。
在本实施例中,S202中,基于设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分的过程包括:
S202-1:使用能量评估部件计算加速器芯片运行能耗;
S202-2:基于所述加速器芯片运行能耗,使用时延评估部件计算加速器芯片运行耗时;
S202-3:基于所述加速器芯片运行耗时和预设权重比例,综合计算加速器芯片设计参数的性能评分。
在本实施例中,设计模块中,基于加速器芯片架构的最优化设计参数,完成加速器架构设计的过程包括:
利用最优化加速器芯片设计参数,在预设的加速器芯片架构模板上进行调整,使得计算阵列尺寸、计算单元互联方式、全局寄存器容量、计算单元局部寄存器尺寸、计算单元处理位宽、计算单元额外计算逻辑最大化地提升加速器芯片计算输入的深度学习应用负载时表现出的性能,最终完成深度学习加速器芯片的参数化设计。
实施例三
本发明还提供了一种深度学习加速器芯片的参数化设计方法的具体实施装置(如图6所示),包括搜索部件和评估部件。
搜索部件用于深度学习加速器架构设计参数的搜索,其输入为深度学习加速器架构设计空间,输出为最优加速器设计参数。
搜索部件中包括设计参数取样部件和迭代控制部件:
设计参数取样部件,用于从深度学习加速器架构设计空间中选取设计参数样本,其输入为上述深度学习加速器架构设计空间,输出为一套加速器设计参数;
迭代控制部件,用于控制搜索部件工作中的循环迭代过程,输入为加速器参数性能评分,若评分显示加速器性能未达标,则迭代控制部件控制取样部件再次取样,开始新一轮的迭代;若评分显示加速器性能达标,即表示搜索已得到最优设计参数,则迭代部件控制搜索部件输出当前设计参数。
评估部件用于对设计参数取样部件输出的深度学习加速器设计参数进行性能评估,其输入为加速器设计参数,以及深度学习应用负载特征数据,输出为加速器参数性能评分,用做迭代控制部件的输入。
评估部件中包括能量评估部件、时延评估部件和综合评估部件:
能量评估部件,用于计算加速器运行能耗,输入为前述加速器设计参数,以及深度学习应用负载特征数据,输出为根据输入数据计算出来的能耗数据;
时延评估部件,用于计算加速器运行时延,输入为前述加速器设计参数,以及深度学习应用负载特征数据,输出为根据输入数据计算出来的时延数据;
综合评估部件,用于计算加速器设计参数的综合性能评分,输入为能量评估部件计算得到的能耗数据和时延评估部件计算得到的时延数据,输出为加速器参数性能评分,用做前述迭代控制部件的输入。
本发明一种深度学习加速器芯片的参数化设计方法,将加速器芯片架构可调优部分做参数化处理,得到设计参数空间,采用可微化取样以及梯度下降的方法在设计参数空间中搜索得到最优化设计参数,基于该设计参数完成对深度学习加速器芯片的参数化设计。本发明可根据深度学习负载特征自动搜索最优化的加速器设计,极大降低了加速器设计的时间成本和人力成本;可完成深度学习加速器芯片评估,保证搜索得到的设计架构性能达到一定标准;方法可扩展性好,可应用于大规模工业级实际深度学习加速器芯片的参数化设计。
本发明提出的深度学习加速器芯片参数化设计搜索部件,能够根据输入的深度学习应用负载,灵活地在给定的设计参数空间中搜索得到最优化的设计参数,能有效降低加速器芯片设计过程中调优的时间成本和人力成本。
本发明提出的深度学习加速器芯片设计参数评估部件,能够根据加速器设计参数和深度学习负载特征数据计算设计参数的评分,快速评估当前设计参数的优化程度,同时通过计算梯度有效地指出下一步搜索的方向。
本发明根据该流程可以开发一个具体的深度学习加速器芯片的参数化设计方法。
以上所述的实施例仅是对本发明优选方式进行的描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (4)
1.一种深度学习加速器芯片的参数化设计方法,其特征在于,包括以下步骤:
S1:初始化加速器芯片设计条件,其中,所述加速器芯片设计条件包括:加速器芯片架构设计空间和负载特征数据;
S2:基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数;
S3:基于加速器芯片架构的最优化设计参数,完成加速器架构设计;
所述S1中,初始化加速器芯片设计条件的方法包括:
S101:预先分析深度学习应用负载特征,得到负载特征数据;
S102:基于所述负载特征数据,预先设计深度学习加速器芯片基础架构模板,将可调优硬件架构参数化,得到加速器芯片架构设计空间;
S103:基于所述加速器芯片架构设计空间,初始化设计参数权重;
所述S2中,基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数的方法包括:
S201:基于加速器芯片架构设计空间,选取一组设计参数样本;
S202:基于所述设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分;
S203:基于所述评估部件计算评分,计算设计参数的权重梯度;
S204:基于所述权重梯度和优化速率,修正设计空间内对应参数的权重;
S205:迭代优化所述S201至所述S204,得到加速器芯片架构的最优化设计参数;
所述S202中,基于所述设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分的方法包括:
S202-1:使用能量评估部件计算加速器芯片运行能耗;包括:基于加速器芯片设计参数,以及深度学习应用负载特征数据,针对每一个网络层,分别计算运行时计算能量消耗和访存能量消耗,最终将所有网络层实现的能量消耗累加,得到整个网络的能量消耗;
S202-2:基于所述加速器芯片运行能耗,使用时延评估部件计算加速器芯片运行耗时;包括:基于加速器芯片设计参数,以及深度学习应用负载特征数据,针对每一个网络层,分别计算运行时计算时延和访存时延,最终将所有网络层计算的时延累加,得到整个网络的计算时延;访存时延:根据缓存策略和设计参数中各级存储结构空间,以及网络层的数据量,计算得到各级存储结构命中率,并根据不同存储结构的访问时延得到网络层的访存时延;计算时延:在每轮计算中,通过查找时延参考表得出不同计算的时间长度,使用各个计算批次中最长计算时延叠加作为网络层计算时延;时延参考表依赖于芯片制作时的物理工艺与计算、访存组件的实现方式;
S202-3:基于预设权重比例,综合计算加速器芯片设计参数的性能评分,即评估部件计算评分;以能耗和时延的乘积,即能量延时积作为设计参数的评分,评分数值小的设计参数更优。
2.根据权利要求1所述的深度学习加速器芯片的参数化设计方法,其特征在于,所述S3中,基于加速器芯片架构的最优化设计参数,完成加速器架构设计的方法包括:
利用最优化加速器芯片设计参数,在预设的加速器芯片架构模板上进行调整,使得计算阵列尺寸、计算单元互联方式、全局寄存器容量、计算单元局部寄存器尺寸、计算单元处理位宽、计算单元额外计算逻辑最大化地提升加速器芯片计算输入的深度学习应用负载时表现出的性能,最终完成深度学习加速器芯片的参数化设计。
3.一种深度学习加速器芯片的参数化设计***,其特征在于,包括:初始化模块、优化模块和设计模块;
所述初始化模块用于初始化加速器芯片设计条件,其中,所述加速器芯片设计条件包括:加速器芯片架构设计空间和负载特征数据;
所述优化模块用于基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数;
所述设计模块用于基于加速器芯片架构的最优化设计参数,完成加速器架构设计;
所述初始化模块中,初始化加速器芯片设计条件的过程包括:
S101:预先分析深度学习应用负载特征,得到负载特征数据;
S102:基于所述负载特征数据,预先设计深度学习加速器芯片基础架构模板,将可调优硬件架构参数化,得到加速器芯片架构设计空间;
S103:基于所述加速器芯片架构设计空间,初始化设计参数权重;
所述优化模块中,基于加速器芯片架构设计空间和负载特征数据,得到加速器芯片架构的最优化设计参数的过程包括:
S201:基于加速器芯片架构设计空间,选取一组设计参数样本;
S202:基于所述设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分;
S203:基于所述评估部件计算评分,计算设计参数的权重梯度;
S204:基于所述权重梯度和优化速率,修正设计空间内对应参数的权重;
S205:迭代优化所述S201至所述S204,得到加速器芯片架构的最优化设计参数;
所述S202中,基于所述设计参数样本,使用评估部件,评估加速器芯片设计参数和负载特征数据,得到评估部件计算评分的过程包括:
S202-1:使用能量评估部件计算加速器芯片运行能耗;包括:基于加速器芯片设计参数,以及深度学习应用负载特征数据,针对每一个网络层,分别计算运行时计算能量消耗和访存能量消耗,最终将所有网络层实现的能量消耗累加,得到整个网络的能量消耗;
S202-2:基于所述加速器芯片运行能耗,使用时延评估部件计算加速器芯片运行耗时;包括:基于加速器芯片设计参数,以及深度学习应用负载特征数据,针对每一个网络层,分别计算运行时计算时延和访存时延,最终将所有网络层计算的时延累加,得到整个网络的计算时延;访存时延:根据缓存策略和设计参数中各级存储结构空间,以及网络层的数据量,计算得到各级存储结构命中率,并根据不同存储结构的访问时延得到网络层的访存时延;计算时延:在每轮计算中,通过查找时延参考表得出不同计算的时间长度,使用各个计算批次中最长计算时延叠加作为网络层计算时延;时延参考表依赖于芯片制作时的物理工艺与计算、访存组件的实现方式;
S202-3:基于预设权重比例,综合计算加速器芯片设计参数的性能评分,即评估部件计算评分;以能耗和时延的乘积,即能量延时积作为设计参数的评分,评分数值小的设计参数更优。
4.根据权利要求3所述的深度学习加速器芯片的参数化设计***,其特征在于,所述设计模块中,基于加速器芯片架构的最优化设计参数,完成加速器架构设计的过程包括:
利用最优化加速器芯片设计参数,在预设的加速器芯片架构模板上进行调整,使得计算阵列尺寸、计算单元互联方式、全局寄存器容量、计算单元局部寄存器尺寸、计算单元处理位宽、计算单元额外计算逻辑最大化地提升加速器芯片计算输入的深度学习应用负载时表现出的性能,最终完成深度学习加速器芯片的参数化设计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311273953.0A CN117236187B (zh) | 2023-09-28 | 2023-09-28 | 一种深度学习加速器芯片的参数化设计方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311273953.0A CN117236187B (zh) | 2023-09-28 | 2023-09-28 | 一种深度学习加速器芯片的参数化设计方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117236187A CN117236187A (zh) | 2023-12-15 |
CN117236187B true CN117236187B (zh) | 2024-03-19 |
Family
ID=89082412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311273953.0A Active CN117236187B (zh) | 2023-09-28 | 2023-09-28 | 一种深度学习加速器芯片的参数化设计方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117236187B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020160252A1 (en) * | 2019-01-30 | 2020-08-06 | Google Llc | Task-aware neural network architecture search |
CN112199896A (zh) * | 2020-10-26 | 2021-01-08 | 云中芯半导体技术(苏州)有限公司 | 一种基于机器学习的芯片逻辑综合优化加速方法 |
CN113205179A (zh) * | 2021-05-08 | 2021-08-03 | 湖南太观科技有限公司 | 一种用于介质激光加速的深度学习架构 |
CN113220630A (zh) * | 2021-05-19 | 2021-08-06 | 西安交通大学 | 一种硬件加速器的可重构阵列优化方法及自动调优方法 |
WO2022057813A1 (zh) * | 2020-09-15 | 2022-03-24 | 中兴通讯股份有限公司 | 加速器参数确定方法及装置、计算机可读存储介质 |
WO2022216879A2 (en) * | 2021-04-06 | 2022-10-13 | Google Llc | Full-stack hardware accelerator search |
CN115600637A (zh) * | 2022-09-21 | 2023-01-13 | 西安微电子技术研究所(Cn) | 面向数据流神经网络加速器设计的架构自动优化方法 |
CN116521611A (zh) * | 2023-04-23 | 2023-08-01 | 哈尔滨理工大学 | 一种深度学习处理器的泛化架构设计方法 |
-
2023
- 2023-09-28 CN CN202311273953.0A patent/CN117236187B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020160252A1 (en) * | 2019-01-30 | 2020-08-06 | Google Llc | Task-aware neural network architecture search |
WO2022057813A1 (zh) * | 2020-09-15 | 2022-03-24 | 中兴通讯股份有限公司 | 加速器参数确定方法及装置、计算机可读存储介质 |
CN112199896A (zh) * | 2020-10-26 | 2021-01-08 | 云中芯半导体技术(苏州)有限公司 | 一种基于机器学习的芯片逻辑综合优化加速方法 |
WO2022216879A2 (en) * | 2021-04-06 | 2022-10-13 | Google Llc | Full-stack hardware accelerator search |
CN113205179A (zh) * | 2021-05-08 | 2021-08-03 | 湖南太观科技有限公司 | 一种用于介质激光加速的深度学习架构 |
CN113220630A (zh) * | 2021-05-19 | 2021-08-06 | 西安交通大学 | 一种硬件加速器的可重构阵列优化方法及自动调优方法 |
CN115600637A (zh) * | 2022-09-21 | 2023-01-13 | 西安微电子技术研究所(Cn) | 面向数据流神经网络加速器设计的架构自动优化方法 |
CN116521611A (zh) * | 2023-04-23 | 2023-08-01 | 哈尔滨理工大学 | 一种深度学习处理器的泛化架构设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117236187A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902873A (zh) | 一种基于改进型鲸鱼算法的云制造资源配置的方法 | |
CN108764466A (zh) | 基于现场可编程门阵列的卷积神经网络硬件及其加速方法 | |
CN112884236B (zh) | 一种基于vdm分解与lstm改进的短期负荷预测方法及*** | |
CN115437795B (zh) | 一种异构gpu集群负载感知的显存重计算优化方法及*** | |
CN109472361A (zh) | 神经网络优化方法 | |
Wu et al. | A deadline-aware estimation of distribution algorithm for resource scheduling in fog computing systems | |
CN114757347A (zh) | 低比特量化神经网络加速器实现方法和*** | |
Mohaidat et al. | A survey on neural network hardware accelerators | |
CN117236187B (zh) | 一种深度学习加速器芯片的参数化设计方法及*** | |
CN111898752B (zh) | 执行lstm神经网络运算的装置和方法 | |
Zhang et al. | Optimizing execution for pipelined‐based distributed deep learning in a heterogeneously networked GPU cluster | |
KR20220134627A (ko) | 하드웨어-최적화된 신경 아키텍처 검색 | |
CN117391162A (zh) | 基于卷积神经网络的加速器及加速方法 | |
CN115358178B (zh) | 一种基于融合神经网络的电路良率分析方法 | |
He et al. | An LSTM acceleration engine for FPGAs based on caffe framework | |
CN114722490A (zh) | 一种基于混合增点与区间缩减的代理模型全局优化方法 | |
CN113919871A (zh) | 一种基于改进lstm模型的碳交易价格预测方法 | |
Yang et al. | Efficient resource-aware neural architecture search with dynamic adaptive network sampling | |
CN113240094A (zh) | 一种基于svm的lstm超参数优化方法、***、介质及设备 | |
CN117931413B (zh) | 一种测控***实时任务调度方法、装置及电子设备 | |
CN116187265B (zh) | 一种芯片设计方法及终端 | |
CN117892667B (zh) | 运算器芯片设置方法、计算子***以及智能计算平台 | |
Yang et al. | DATIC: A Data-Aware Time-Domain Computing-in-Memory-Based CNN Processor With Dynamic Channel Skipping and Mapping | |
Zhenshan et al. | MSCU: Accelerating CNN Inference with Multiple Sizes of Compute Unit on FPGAs | |
US20240232636A9 (en) | Constrained search: improve multi-objective nas quality by focus on demand |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |