基于FPGA的硬件感知可微分BERT层头剪枝方法


基于fpga的硬件感知可微分bert层头剪枝方法
技术领域
1.本发明涉及bert层头剪枝技术领域,特别涉及一种基于fpga的硬件感知可微分bert层头剪枝方法。


背景技术:



2.基于transformer的预训练模型如bert和roberta已经被广泛应用于自然语言处理(nlp)任务中,这类模型利用注意力机制,有效地分析了序列信息之间的依赖关系。然而,这些模型通常有大量的参数,导致较大的推理延迟和内存占用,现有的基于transformer的模型剪枝方法可分为两大类:非结构化剪枝和结构化剪枝。在非结构化剪枝中,通过将单个权重设置为0来去除它们的影响。但这种剪枝算法往往会产生稀疏的权值矩阵,使其在硬件部署前还需要对这些稀疏矩阵进行进一步的优化处理。而结构剪枝则会去除完整的模型结构块,如神经元、权重矩阵块、注意力头或完整的编码解码层。
3.神经网络架构搜索(nerualarchitecturesearch,nas)是一种自动查最佳模型体系结构的方法,一般由搜索空间、搜索策略和性能评价策略三部分组成。搜索空间预先定义了可以被发现的模型架构,搜索策略从搜索空间中选择候选架构,性能评估策略对候选体系结构进行评估,并反馈给搜索策略,使在下一次迭代时可以做出更好的选择,目前,常用的搜索策略主要基于强化学习、进化学习,或基于梯度的可微分搜索方法。基于强化学习和进化学习的方法十分耗时,一次搜索需要持续数十甚至数百个gpu天,单一的剪枝策略。基于transformer模型的主流结构剪枝方法通常是仅仅对注意力头剪枝或仅仅对完整的编码或解码层剪枝,然而,单一的剪枝策略并不能将模型压缩至极致,模型可能仍然存在一些冗余度。
4.现有技术已有一些将transformer模型进行剪枝的工作。但他们目前都面临以下几个问题。第一个问题是不准确的硬件性能代理,为了加快推理时间,有些工作在训练时将flops作为优化目标。然而,flops不能准确反映硬件性能,具有较小flops的模型并不总是具有更好的硬件性能;第二个问题是单一修剪策略,transformer模型的主流结构剪枝方法通常是单一的注意力头剪枝,或单一的编码层剪枝。然而,单一的修剪策略不能极大地压缩模型,留下潜在的模型冗余,仍然有可以继续优化的余地;第三个问题是计算复杂的nas,目前基于nas的transformer模型剪枝方法通常采用强化学习或从头训练模型的方法,对于资源有限的研究人员来说,这种方法计算复杂,不切实际,其他也有一些工作是基于可微分nas,或在微调阶段剪枝的nas。然而,这些方法仍然存在不准确的硬件性能代理和/或单一修剪策略的问题。


技术实现要素:



5.针对上述现有技术的不足,本发明的目的在于提供一种基于fpga的硬件感知可微分bert层头剪枝方法,该方法能够实现bert模型混合层头结构化剪枝,极大的压缩模型,同时保持模型精度。
6.本发明中,针对修剪前完整的bert预训练模型基础网络结构,为每一层、每一个注意力头、每一个ffn中间维度都引入一个架构参数,通过可微分nas对这些架构参数进行更新,训练收敛后,通过比对这些架构参数与预定义阈值的大小,剪枝掉小于阈值的参数对应的结构,这部分是相对不重要的结构,从而完成基于可微分nas的层头混合的剪枝。本发明的技术方案具体介绍如下。
7.一种基于fpga的硬件感知可微分bert层头剪枝方法,包括以下步骤:
8.s1:引入可微分nas的思路,为预训练好的bert模型的每一个编码层,每一个注意力头,每一个前馈神经网络ffn维度均设置一个架构参数α。具体的包括以下步骤:
9.s101:首先在预训练好的bert模型中,多头注意机制mha表示为:
10.multiheadi=concat(h
i1
、h
i2
、...、h
im
)
·
w011.其中:concat表示拼接操作,wo为输出的线性变换矩阵,h
im
表示第i个编码层的第m个注意力头,其定义如下:
[0012][0013]
其中:x为输入,分别为第i个注意力头的查询矩阵、键值矩阵和值矩阵,d为注意力头的维数大小;
[0014]
前馈神经网络ffn表示为:ffni=max(0,w1x+b1)
·
w2+b2[0015]
其中:x为输入,w1,b1为ffn第一层线性变换的权重和偏置,w2,b2为ffn第二层线性变换的权重和偏置。
[0016]
按层的模型结构表示为:output=layern·
{layer
n-1
...[layer1(x)]},
[0017]
s102:在本发明中,为bert模型的每个编码层设置一个架构参数α
l
,为每一个注意力头设置一个架构参数αh,为每个ffn层的中间维度设置一个架构参数αf。具体来说,引入架构参数后的bert模型表示如下:
[0018][0019][0020][0021]
其中,是第i个编码层第m个注意力头的架构参数,是第i个编码层第j个ffn中间维度的架构参数,是第i个编码层的架构参数,δ是sigmoid函数。
[0022]
s2:用高级综合工具vitis hls 2020.2对单层bert模型进行仿真,得到单层bert中四个模块的时延和功耗的综合结果。
[0023]
具体来说,本发明实现了单层bert模型的hls代码,并对该单层bert中的嵌入模块、注意力模块、ffn前馈神经网络模块,最终的池化模块进行了仿真。这四个模块分别代表bert模型中的嵌入层、注意力层、前馈网络层(ffn)和最终池化层。本发明用vitis hls2020.2高级综合工具,对四个模块的延迟、资源使用和功耗进行分析,综合得到四个模块的时延和功耗仿真结果。
[0024]
s3:对s2中仿真得到的四个模块的时延和功耗,除以四个模块对应的维数,得出单
维子模块对应的时延ls分数和功耗ps分数。这里下标s指代single,代表单维度子模块。
[0025]
具体来说,对于嵌入模块,除以隐藏层维数;对于注意力模块,除以隐藏层维数;对于ffn前馈神经网络模块,除以ffn中间层维数;对于最终的池化模块,除以隐藏层维数。注意,隐藏层维数和ffn中间层维数由剪枝前的预训练模型结构决定。例如,在预训练好的剪枝前的bert-base模型中,隐藏层维数为768,ffn中间层维数为3072。
[0026]
s4:通过四个单维子模块的ls分数和ps分数,计算得到搜索到的引入架构参数α的完整模型的lf分数和pf分数。这里下标f指代full,代表完整模型。
[0027]
具体来说,通过下式得到完整模型的lf分数和pf分数;
[0028][0029][0030]
其中:layer表示层数,l
s-1
、l
s-2
、l
s-3
、l
s-4
是四个单维延时评分,p
s-1
、p
s-2
、p
s-3
、p
s-4
是四个单维功耗评分,n1和n2分别是搜索到的模型的隐藏层尺寸和ffn中间层尺寸;n1,n2在训练过程中的动态更新的,搜索的过程就是一个训练更新的过程;
[0031]
s5:将lf分数和pf分数作为剪枝训练时除交叉熵损失的附加loss,成为优化目标的一部分,实现硬件感知的剪枝。
[0032]
s6:引入一个特殊的附加使架构参数α更趋近于0或1,减小可微分nas中的混合模型和离散模型的性能差异。
[0033]
其中:n为架构参数个数,δ为sigmoid函数;
[0034]
s7:训练更新模型的权重参数和架构参数α,最小化完整的loss。这里完整的loss包括交叉熵损失函数,lf分数和pf分数,l
0-1
损失函数:
[0035]
l=l
ce
+lf+pf+l
0-1
[0036]
通过训练得到的架构参数α,完成模型结构的选择,进而实现模型结构的搜索;
[0037]
s8:模型训练收敛后,对于小于阈值的架构参数α,将其对应的模型结构剪枝掉。剪枝掉的结构可以包括完整的编码层,注意力头,ffn中间维度,即本发明的剪枝方法,是层头混合的剪枝方法。
[0038]
具体来说,在模型训练收敛后,将各架构参数α的值与预定义的阈值τ进行比较,当参数小于阈值τ时,则判断为此参数对应的结构不重要,进行剪枝。如果那么在推断时就可以将第i个编码层剪枝掉;如果那么在推断时就可以将第i个编码层的第m个注意力头剪枝掉;如果那么在推断时就可以将第i个编码层的第j个ffn中间维度剪枝掉,最终完成层头混合的剪枝。
[0039]
上述步骤s6中,本发明中引入了一个特殊的0-1损失函数式中n为架构参数个数,δ为sigmoid函数,通过加入该损失函数,架构参数在为0或为1时惩罚最小,缩小了可微分nas搜索过程中,搜索到的混合模型和剪枝后的离散模型的结构差异。
[0040]
与现有技术相比,本发明具有如下有益效果:
[0041]
本发明基于fpga hls的硬件感知的模型评价指标,直接引入了硬件感知的推理时延评估分数lf和推理功耗评估分数pf,这两个分数是通过在目标fpga上进行hls高层级综合仿真,从而建模计算得到的。lf分数和pf分数直接反映了模型推理的延迟和功耗,可以直接在模型训练时进行优化,相比flops来说更能准确的表征模型的硬件性能。
[0042]
本发明基于可微分nas,实现了对transformer模型的混合层头剪枝。本发明通过可微分nas,自动搜索得到最优模型架构,寻最佳设置的编码层和注意力头,而不是单一的头部或按层压缩,极大地压缩了模型。
[0043]
本发明中对基于可微分nas的剪枝训练过程引入了一个特殊的0-1损失函数,使架构参数α更接近于0-1分布。通过这种方式,本发明缩小了可微nas中搜索到的混合模型和剪枝后的离散模型之间的结构差距。在glue基准数据集上进行了实验,相比于基准bert,本发明在没有精度损失的情况下,实现了2.1倍的加速,1.9倍的功耗降低和1.8倍的模型尺寸降低。
附图说明
[0044]
图1为本发明一种基于fpga的硬件感知可微分bert层头剪枝方法的流程图。
[0045]
图2为本发明一种可微分bert层头剪枝方法的具体细节图。(a)修剪前完整的bert ba络结构。(b)为每一层,每一个注意力头,每一个ffn中间维度都引入一个架构参数,通过可微分nas对这些架构参数进行更新。较浅的颜意味着参数较小,对应的结构不那么重要。(c)剪枝掉不重要的结构。
[0046]
图3为本发明中引入的特殊的0-1损失函数l0-1的示意图。
具体实施方式
[0047]
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
[0048]
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0049]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0050]
请参照图1-3所示,本发明为一种基于fpga的硬件感知可微分bert层头剪枝方法,包括以下步骤:
[0051]
s1:引入可微分nas的思路,为预训练好的bert模型的每一个encoder层,每一个注意力头,每一个前馈神经网络ffn维度均设置一个架构参数α。具体的包括以下步骤:
[0052]
s101:首先在预训练好的bert模型中,多头注意机制mha表示为:
[0053]
multiheadi=concat(h
i1
、h
i2
、...、h
im
)
·
w0[0054]
其中:concat表示拼接操作,wo为输出的线性变换矩阵,h
im
表示第i个encoder层的第m个注意力头,其定义如下:
[0055][0056]
其中:x为输入,分别为第i个注意力头的查询矩阵、键值矩阵和值矩阵,d为注意力头的维数大小;
[0057]
前馈神经网络ffn表示为:ffni=max(0,w1x+b1)
·
w2+b2[0058]
其中:x为输入,w1,b1为ffn第一层线性变换的权重和偏置,w2,b2为ffn第二层线性变换的权重和偏置。
[0059]
按层的模型结构表示为:output=layern·
{layer
n-1
...[layer1(x)]},
[0060]
s102:在本发明中,为bert模型的每个编码层设置一个架构参数α
l
,为每一个注意力头设置一个架构参数αh,为每个ffn层的中间维度设置一个架构参数αf。具体来说,引入架构参数后的bert模型表示如下:
[0061][0062][0063][0064]
其中,是第i层第j个注意力头的架构参数,是第i层第j个ffn中间维度的架构参数,是第i层的架构参数,δ是sigmoid函数。
[0065]
s2:用高级综合工具vitis hls 2020.2对单层bert模型进行仿真,得到单层bert中四个模块的时延和功耗的综合结果。
[0066]
具体来说,本发明实现了单层bert模型的hls代码,并对该单层bert中的嵌入模块、注意力模块、ffn前馈神经网络模块,最终的pooling模块进行了仿真。这四个模块分别代表bert-base中的嵌入层、注意力层、前馈网络层(ffn)和最终池化层。本发明用vitis hls 2020.2高级综合工具,对四个模块的延迟、资源使用和功耗进行分析,综合得到四个模块的时延和功耗仿真结果。
[0067]
s3:对s2中仿真得到的四个模块的时延和功耗,除以四个模块对应的维数,得出单维子模块对应的时延ls分数和功耗ps分数。这里下标s指代single,代表单维度子模块。
[0068]
具体来说,对于嵌入模块,除以隐藏层维数;对于注意力模块,除以隐藏层维数;对于ffn前馈神经网络模块,除以ffn中间层维数;对于最终的pooling模块,除以隐藏层维数。注意,隐藏层维数和ffn中间层维数由剪枝前的预训练模型结构决定。例如,在预训练好的剪枝前的bert-base模型中,隐藏层维数为768,ffn中间层维数为3072。
[0069]
s4:通过四个单维子模块的ls分数和ps分数,计算得到完整模型的lf分数和pf分数。这里下标f指代full,代表完整模型。
[0070]
具体来说,通过下式得到完整模型的lf分数和pf分数;
[0071][0072][0073]
其中:layer表示层数,l
s-1
、l
s-2
、l
s-3
、l
s-4
是四个单维延时评分,p
s-1
、p
s-2
、p
s-3
、p
s-4
是四个单维功耗评分,n1和n2分别是搜索到的模型的隐藏层尺寸和ffn中间层尺寸。
[0074]
例如:bert预训练模型(bert-base模型)包含12个层,每个层有12个注意力头,bert预训练模型的隐藏层尺寸和ffn中间层尺寸分别为768和3072,
[0075][0076]
s5:将lf分数和pf分数作为剪枝训练时除交叉熵损失的附加loss,成为优化目标的一部分,实现硬件感知的剪枝。
[0077]
s6:引入一个特殊的附加使架构参数α更趋近于0或1,减小可微分nas中的混合模型和离散模型的性能差异。
[0078]
其中:n为架构参数个数,δ为sigmoid函数。
[0079]
s7:训练更新模型的权重参数和架构参数α,最小化完整的loss。这里完整的loss包括交叉熵损失函数,lf分数和pf分数,l0-1损失函数:
[0080]
l=l
ce
+lf+pf+l
0-1
[0081]
s8:模型训练收敛后,对于小于阈值的架构参数α,将其对应的模型结构剪枝掉。剪枝掉的结构可以包括完整的encoder层,注意力头,ffn中间维度,即本发明的剪枝方法,是层头混合的剪枝方法。
[0082]
具体来说,在模型训练收敛后,将各架构参数α的值与预定义的阈值τ进行比较,当参数小于阈值τ时,则判断为此参数对应的结构不重要,进行剪枝。如果那么在推断时就可以将第i层剪枝掉;如果那么在推断时就可以将第i层的第j个注意力头剪枝掉;如果那么在推断时就可以将第i层的第j个ffn中间维度剪枝掉,最终完成层头混合的剪枝。
[0083]
上述步骤s1中,可微分nas指代可微分神经网络架构搜索。nas(nerual architecture search)是一种寻最佳模型体系结构的自动化方法。它通常由搜索空间、搜索策略和性能评价策略三个部分组成。搜索空间预设了在原则上可以被发现的架构。搜索策略从搜索空间中选择候选架构。然后,性能评估策略评估候选架构并反馈给搜索策略,指导下一个迭代中更好的选择。目前的搜索方法主要是基于强化学习、进化学习和基于梯度的可微分nas搜索。基于强化学习和基于学习的方法可能很耗时,持续数十或数百个gpu天。相比之下,可微分nas通过对搜索空间的连续松弛来实现基于梯度的优化,大大缩短了搜索过程。
[0084]
上述步骤s2中,高级综合工具为vitis hls,vitis应用加速开发流程提供了相应
的框架,可通过使用标准编程语言来为软件和硬件组件开发和交付fpga加速应用。软件组件或主机程序是使用c/c++语言开发的,可在x86或嵌入式处理器上运行,借助opencl或xrt本机api调用来管理与加速器的运行时间交互。硬件组件或内核(在实际fpga卡/平台上运行)则可使用c/c++、opencl c或rtl来开发。vitis软件平台有助于促进对异构应用的硬件和软件元素进行并发开发和测试。因此,在主机上运行的软件程序需要使用精确定义的接口和协议来与在fpga硬件模型上运行的加速内核进行通信
[0085]
上述步骤s6中,本发明中引入了一个特殊的0-1损失函数式中n为架构参数个数,δ为sigmoid函数,通过加入该损失函数,架构参数在为0或为1时惩罚最小,缩小了可微分nas搜索过程中,搜索到的混合模型和剪枝后的离散模型的结构差异。例如,在剪枝注意力头时,当未引入0-1损失函数时,混合模型表示为:multiheadi=concat(0.385h
il
+0.955h
i2
+0.997h
i3
)w0,当阈值为0.99时,剪枝后的离散模型被表示为:multiheadi=concat(h
i2
+h
i3
)w0,因此结构差异是由:
[0086]
gap=concat(-0.385h
i1
+0.005h
i2
+0.003h
i3
)w0引起的。但在应用0-1损失后,由于架构参数更可能为0或1,因此搜索到的混合模型被表示为:
[0087]
multiheadi=concat(0.005h
il
+0.999h
i2
+0.999h
i3
)w0,剪枝后的离散模型被表示为:multiheadi=concat(h
i2
+h
i3
)w0,结构差异由
[0088]
gap=concat(-0.005h
i1
+0.001h
i2
+0.001h
i3
)w0引起。引入0-1损失后,搜索到的混合模型与剪枝后的离散模型之间的结构差异变小,因此,两种模型之间的性能差距被缩小了,有助于在剪枝训练时引导得到更加有效的搜索过程。
[0089]
上述步骤s8中,本发明的混合层头剪枝过程中,修剪前完整的bert预训练模型基础网络结构,为每一层、每一个注意力头、每一个ffn中间维度都引入一个架构参数,通过可微分nas对这些架构参数进行更新,训练收敛后,通过比对这些架构参数与预定义阈值的大小,剪枝掉小于阈值的参数对应的结构,这部分是相对不重要的结构,从而完成基于可微分nas的层头混合的剪枝。
[0090]
本发明在glue基准数据集上进行了实验,相比于基准bert,本发明在没有精度损失的情况下,实现了2.1倍的加速,1.9倍的功耗降低和1.8倍的模型尺寸降低。
[0091]
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

技术特征:


1.一种基于fpga的硬件感知可微分bert层头剪枝方法,其特征在于:包括以下步骤:s1:引入可微分nas的思路,为预训练好的bert模型的每一个编码层,每一个注意力头,每一个前馈神经网络ffn维度分别设置一个架构参数α;s2:对预训练好的bert模型中的单层进行仿真,得到单层bert模型中四个模块的时延和功耗的综合结果;所述四个模块为嵌入模块、注意力模块、前馈神经网络ffn模块和最终的池化模块,这四个模块分别代表预训练好的bert模型中的嵌入层、注意力层、前馈网络ffn层和最终池化层;s3:将s2中仿真得到的四个模块的时延和功耗分别除以预训练好的bert模型中四个模块对应的维数,得出单维子模块对应的时延分数ls和功耗分数ps,其中,预训练好的待剪枝的bert模型中嵌入模块、注意力模块、最终的池化快的维数为隐藏层维数,ffn前馈神经网络模块的维数为ffn中间层维数;s4:通过四个单维子模块的ls分数和ps分数,计算搜索到的引入架构参数α的bert模型的用于硬件感知的推理时延评估分数lf和推理功耗评估分数pf:的用于硬件感知的推理时延评估分数lf和推理功耗评估分数pf:其中:layer表示层数,ls-1、ls-2、ls-3、ls-4是四个单维子模块的时延分数,ps-1、ps-2、ps-3、ps-4是四个单维子模块的功耗分数,n1和n2分别是搜索到的引入架构参数α的bert模型的隐藏层尺寸和ffn中间层尺寸;s5:训练更新引入架构参数α的bert模型的权重和架构参数α,最小化模型完整的损失函数l,损失函数l包括交叉熵损失函数l
ce
,l
f
分数、p
f
分数和损失函数l
0-1
:l=l
ce
+l
f
+p
f
+l
0-1
其中:损失函数l0-1用于使架构参数α更趋近于0或1,减小可微分nas中搜索得到的混合模型和剪枝后的离散模型的性能差异,引导搜索,即训练更新过程;s6:引入架构参数α的bert模型训练收敛后,对于小于阈值τ的架构参数α,将其对应的模型结构剪枝掉,实现bert模型的层头混合剪枝;剪枝掉的模型结构选自编码层,注意力头或ffn中间维度中的一种或多种。2.根据权利要求1所述的方法,其特征在于,步骤s1中,引入架构参数α的bert模型中,多头注意机制mha表示为:其中:concat表示拼接操作,w
o
为输出的线性变换矩阵,h
im
表示第i个编码层的第m个注意力头,是第i个编码层第m个注意力头的架构参数,δ是sigmoid函数;前馈神经网络ffn表示为:式中:x为输入,w1,b1为ffn第一层线性变换的权重和偏置,w2,b2为ffn第二层线性变换
的权重和偏置,α
if
是一个j维的参数,j是第i层中ffn层的维度,α
if
表示第i层中ffn层的中间维度的架构参数;按层的模型结构表示为:式中,表示第i层编码层的架构参数,i=1、2、3
……
n,layer
i
(x)表示第i个编码层。3.根据权利要求1所述的方法,其特征在于,步骤s1中,预训练好的bert模型为bert-base模型。4.根据权利要求1所述的方法,其特征在于,步骤s2中,用高级综合工具vitis hls对预训练好的bert模型中的单层进行仿真。5.根据权利要求1所述的方法,其特征在于,步骤s5中,损失函数l
0-1
用下式表示:其中:α为架构参数,n为架构参数个数,δ为sigmoid函数。6.根据权利要求2所述的方法,其特征在于,步骤s5中,如果将第i个编码层剪枝掉;如果将第i个编码层的第m个注意力头剪枝掉;如果将第i个编码层的第j个ffn中间层维度剪枝掉,最终完成层头混合的剪枝,α
ijf
代表第i个编码层的第j个ffn中间层维度对应的架构参数。

技术总结


本发明公开了一种基于FPGA的硬件感知可微分BERT层头剪枝方法。其包括以下步骤:引入可微分NAS的思路,为预训练好的BERT模型的每一个编码层,每一个注意力头,每一个前馈神经网络FFN维度均设置一个架构参数;对单层BERT模型进行仿真,得到四个模块的时延和功耗结果;计算单维子模块对应的时延L


技术研发人员:

白玥寅 王堃 俞军

受保护的技术使用者:

复旦大学

技术研发日:

2022.10.21

技术公布日:

2022/12/30

本文发布于:2024-09-22 01:44:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/49941.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   架构   参数   模块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议