【技术实现步骤摘要】
一种利用稀疏性的深度学习训练硬件加速器
本专利技术属于深度学习及硬件加速器
,尤其涉及一种针对深度学习模型训练过程的加速器及加速训练方法。
技术介绍
深度学习是人工智能领域的一类常见模型和算法,其主要通过反向传播算法训练一个深度神经网络模型,从而自动的从给定的大量数据上抽取相应的特征并完成分类等任务。深度学习算法被广泛应用于计算机视觉、自然语言处理、自动驾驶等多个领域。然而,随着深度学习模型深度的不断加深和数据规模的不断加大,模型所需的计算量、存储量和功耗也越来越大。深度学习模型的使用包括两个步骤:训练,推断。其中,由于模型的训练比推理花费更多的计算量和空间,因此训练过程面临着更为严重的速度和功耗瓶颈。现有的深度学习模型训练通常是在大规模集群上,利用图形处理器进行计算,其实际的能量效率是较低的。利用数据稀疏性加速模型运算是一种常用的加速方法。在深度学习模型的训练过程中,中间数据(激活值及梯度值)存在着一定的稀疏性,因此也可以被利用从而加速模型训练。但是训练过程中的稀疏性是不规则的,因此难以被现有的硬件利 ...
【技术保护点】
1.一种利用稀疏性的深度学习训练硬件加速器,其特征在于,包括全局缓存,控制单元和运算单元阵列,其中,/n所述全局缓存通过数据总线与片外存储进行数据交换,用于存储计算过程中的数据;/n所述控制单元与片外的主机CPU相连,根据主机指令控制片上的数据流动并调度运算单元阵列;/n所述运算单元阵列由多个运算单元组构成,每个运算单元组包含至少一个运算单元和一个后处理单元,所述运算单元用于执行训练过程中的一维稀疏离散卷积操作及向量点积操作,所述后处理单元用于执行训练过程中的逐点操作、数据格式转换、数据统计以及数据剪枝操作;/n所述运算单元阵列从所述全局缓存中读取数据,通过数据广播将数据分 ...
【技术特征摘要】
1.一种利用稀疏性的深度学习训练硬件加速器,其特征在于,包括全局缓存,控制单元和运算单元阵列,其中,
所述全局缓存通过数据总线与片外存储进行数据交换,用于存储计算过程中的数据;
所述控制单元与片外的主机CPU相连,根据主机指令控制片上的数据流动并调度运算单元阵列;
所述运算单元阵列由多个运算单元组构成,每个运算单元组包含至少一个运算单元和一个后处理单元,所述运算单元用于执行训练过程中的一维稀疏离散卷积操作及向量点积操作,所述后处理单元用于执行训练过程中的逐点操作、数据格式转换、数据统计以及数据剪枝操作;
所述运算单元阵列从所述全局缓存中读取数据,通过数据广播将数据分发至运算单元,每个运算单元执行一个一维行卷积操作,每个运算单元组的至少一个运算单元的操作结果相加并输出到后处理单元进行非线性操作和数据格式变换后,输出结果存回所述全局缓存中,实现数据的复用。
2.基于权利要求1所述的一种利用稀疏性的深度学习训练硬件加速器的加速训练方法,其特征在于,针对深度学习网络模型的训练过程,将其计算过程分解为多个一维离散稀疏卷积操作及其结果的求和,具体步骤如下:
S1:将前向传播过程中的卷积运算分解为多个稀疏行卷积及其结果的求和,所述稀疏行卷积运算是在一个稀疏长向量和一个稠密短向量间进行的一维离散卷积操作;前向传播过程中网络模型的输入数据和输出数据为激活值数据;
S2:反向传播过程中,网络模型输出误差对激活值数据的导数为激活值梯度数据;将反向传播过程中生成激活值梯度数据的卷积运算,或前向传播过程中卷积步长大于1的卷积运算,分解为多个掩码化稀疏行卷积及其结果的求和,所述掩码化稀疏行卷积运算是在一个稀疏长向量和一个稠密短向量间进行的一维离散卷积操作,并根据输入的掩码向量预测结果向量中值为零的分量并直接跳过这些分量的计算过程;所述掩码向量用于指示结果向量中应被跳过的分量,所述掩码向量的来源为步骤S1的输出或根据预先指定的稀疏模式设计好的掩码向量。
S3:反向传播过程中,网络模型输出...
【专利技术属性】
技术研发人员:杨建磊,戴鹏程,赵巍胜,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。