说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211294121.2 (22)申请日 2022.10.21 (71)申请人 复旦大学 地址 200433 上海市杨 浦区邯郸路2 20号 (72)发明人 白玥寅 王堃 俞军  (74)专利代理 机构 上海正旦专利代理有限公司 31200 专利代理师 王洁平 (51)Int.Cl. G06N 3/08(2006.01) G06F 17/16(2006.01) G06N 3/04(2006.01) G06N 3/06(2006.01) (54)发明名称 基于FPGA的硬件感知可微分BERT层头剪枝 方法 (57)摘要 本发明公开了一种基于FPGA的硬件感知可 微分BERT层头剪枝方法。 其包括以下步骤: 引入 可微分NAS的思路, 为预训练好的BERT模型的每 一个编码层, 每一个注意力头, 每一个前馈神经 网络FFN维度均设置一个架构参数; 对单层BERT 模型进行仿真, 得到四个模块的时延和功耗结 果; 计算单维子模块对应的时延Ls分数和功耗Ps 分数; 计算完整模型的Lf分数和Pf分数; 训练更 新模型的权重参数和, 最小化完整的loss; 模型 训练收敛后, 对于小于阈值的, 将其对应的模型 结构剪枝掉。 本发明可在没有精度损失的情况 下, 将BERT ‑base模型参数量压缩1.8倍, 同时在 FPGA上的推理时延缩 小2.1倍, 功耗降低1.9倍。 权利要求书2页 说明书7页 附图1页 CN 115545187 A 2022.12.30 CN 115545187 A 1.一种基于FPGA的硬件感知可微分BERT层头 剪枝方法, 其特 征在于: 包括以下步骤: S1: 引入可微分NAS的思路, 为预训练好的BERT模型的每一个编码层, 每一个注意力头, 每一个前馈神经网络F FN维度分别设置一个架构参数α; S2: 对预训练好的BERT模型中的单层进行仿真, 得到单层BERT模型中四个模块的时延 和功耗的综合结果; 所述四个模块为嵌入模块、 注意力模块、 前馈神经网络FFN模块和最终 的池化模块, 这四个模块分别代表预训练好的BERT模型中的嵌入层、 注意力层、 前馈网络 FFN层和最终池化层; S3: 将S2中仿真得到的四个模块的时延和功耗分别除以预训练好的BERT模型中四个模 块对应的维数, 得出单维子模块对应的时延分数Ls和功 耗分数Ps, 其中, 预训练好的待剪枝 的BERT模型中嵌入模块、 注意力模块、 最终的池化快的维数为隐藏层维数, FFN前馈神经网 络模块的维数为F FN中间层维数; S4: 通过四个单维子模块的Ls分数和 Ps分数, 计算搜索到的引入架构参数α 的BERT模型 的用于硬件感知的推理时延评估分数Lf和推理功耗评估分数Pf: 其中: layer表示层数, Ls ‑1、 Ls‑2、 Ls‑3、 Ls‑4是四个单维子模块的时延分数, Ps ‑1、 Ps‑ 2、 Ps‑3、 Ps‑4是四个单维子模块的功耗分数, N1和N2分别是搜索到的引入架构参数α 的BERT 模型的隐藏层尺寸和F FN中间层尺寸; S5: 训练更新引入架构参数α 的BERT模型的权重和架构参数α, 最小化模型完整的损失 函数L, 损失函数L包括交叉熵损失函数Lce, Lf分数、 Pf分数和损失函数L0‑1: L=Lce+Lf+Pf+L0‑1 其中: 损失函数L0 ‑1用于使架构参数α更趋近于0或1, 减小可微分NAS中搜索得到的混 合模型和剪枝后的离 散模型的性能差异, 引导搜索, 即训练更新过程; S6: 引入架构参数α 的BERT模型训练收敛后, 对于小于阈值τ的架构参数α, 将其对应的 模型结构 剪枝掉, 实现BERT模 型的层头 混合剪枝; 剪枝掉的模型结构 选自编码层, 注 意力头 或FFN中间维度中的一种或多种。 2.根据权利要求1所述的方法, 其特征在于, 步骤S1中, 引入架构参数α 的BERT模型中, 多头注意机制M HA表示为: 其中: Concat表示拼接操作, Wo为输出的线性变换矩阵, him表示第i个编码层的第m个注 意力头, 是第i个编码层第m个注意力头的架构参数, δ 是sigmo id函数; 前馈神经网络F FN表示为: 式中: x为输入, W1, b1为FFN第一层线性变换的权重和偏置, W2, b2为FFN第二层线性变换权 利 要 求 书 1/2 页 2 CN 115545187 A 2的权重和偏置, αif是一个j维的参数, j是第i层中FFN层的维度, αif表示第i层中FFN层的中 间维度的架构参数; 按层的模型 结构表示 为: 式中, 表示第i层编码层的架构参数, i =1、 2、 3……n, Layeri(x)表示第i个编码层。 3.根据权利要求1所述的方法, 其特征在于, 步骤S1中, 预训练好的BERT模型为BERT ‑ base模型。 4.根据权利 要求1所述的方法, 其特征在于, 步骤S2中, 用高级综合工具Vitis  HLS对预 训练好的BERT模型中的单层进行仿真。 5.根据权利要求1所述的方法, 其特 征在于, 步骤S5中, 损失函数L0‑1用下式表示: 其中: α 为架构参数, N 为架构参数个数, δ 为sigmo id函数。 6.根据权利要求2所述的方法, 其特征在于, 步骤S5中, 如果 将第i个编码层剪枝 掉; 如果 将第i个编码层的第m个注意力头剪枝掉; 如果 将第i个编码层的第 j个FFN中间层维度剪枝掉, 最终完成层头混合的剪枝, αijf代表第i个编码层的第j个FFN中 间层维度对应的架构参数。权 利 要 求 书 2/2 页 3 CN 115545187 A 3

PDF文档 专利 基于FPGA的硬件感知可微分BERT层头剪枝方法

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于FPGA的硬件感知可微分BERT层头剪枝方法 第 1 页 专利 基于FPGA的硬件感知可微分BERT层头剪枝方法 第 2 页 专利 基于FPGA的硬件感知可微分BERT层头剪枝方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:24:20上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。