本技术涉及模型部署,尤其涉及多模态大语言模型量化方法、装置、设备、存储介质及产品。
背景技术:
1、目前,大模型在量化部署时,由于模型较大,一般需要进行拆分部署,且为了尽可能简化大模型,还需要对模型进行量化,缩小其中的参数之后,再进行相应的部署,可以减少神经网络模型的计算代价、数据带宽和储存空间,使得神经网络模型能够在内存和计算能力有限的硬件上更快更好的应用。
2、而目前的语言大模型,都是多轮自回归的架构,部署推理通常使用专用加速器,这类专用加速器往往无法处理常规的对于图像或视频等模态的特征提取任务,这也导致多模态语言大模型的量化部署较为困难。
技术实现思路
1、本技术的主要目的在于提供一种发明名称,旨在解决相关技术多模态语言大模型难以合理量化部署,量化部署效果差的技术问题。
2、为实现上述目的,本技术提出一种多模态大语言模型量化方法,所述方法包括:
3、将待量化大模型划分为多模态处理分块以及语言模型分块,所述待量化大模型为支持多模态输入的语言大模型;
4、根据所述多模态处理分块中各处理子模块对应的量化误差构建处理子模块序列,所述处理子模块包括所述多模态处理分块中至少一层网络;
5、基于所述处理子模块序列对所述多模态处理分块中各处理子模块分别进行量化;
6、根据量化后的所述多模态处理分块确定语言子模块序列;
7、依据所述语言子模块序列对所述语言模型分块中各语言子模块分别进行量化,所述语言子模块包括所述语言模型分块中至少一层网络。
8、在本技术一种可能的实现方式中,所述基于所述处理子模块序列对所述多模态处理分块中各处理子模块分别进行量化,包括:
9、依据所述处理子模块序列的序列顺序对所述处理子模块序列进行遍历,获得当前处理子模块;
10、对所述多模态处理分块中所述当前处理子模块进行量化;
11、在所述当前处理子模块量化完毕后,对所述多模态处理分块中未量化的处理子模块的参数进行调整。
12、在本技术一种可能的实现方式中,所述依据所述处理子模块序列的序列顺序对所述处理子模块序列进行遍历,获得当前处理子模块之前,还包括:
13、获取所述多模态处理分块针对预设样本的量化前输出;
14、所述在所述当前处理子模块量化完毕后,对所述多模态处理分块中未量化的处理子模块的参数进行调整,包括:
15、在所述当前处理子模块量化完毕后,获取所述多模态处理分块针对预设样本的量化后输出;
16、基于所述量化前输出以及所述量化后输出对所述多模态处理分块中未量化的处理子模块的参数进行调整。
17、在本技术一种可能的实现方式中,所述基于所述量化前输出以及所述量化后输出对所述多模态处理分块中未量化的处理子模块的参数进行调整,包括:
18、根据所述量化前输出以及所述量化后输出构建输出前后误差;
19、以最小化所述输出前后误差为目标,对所述多模态处理分块中未量化的处理子模块的参数进行调整。
20、在本技术一种可能的实现方式中,所述对所述多模态处理分块中所述当前处理子模块进行量化,包括:
21、获取所述当前处理子模块的特征分布数据;
22、根据所述特征分布数据中的最小值和/或最大值对所述多模态处理分块中所述当前处理子模块进行量化。
23、在本技术一种可能的实现方式中,所述根据量化后的所述多模态处理分块确定语言子模块序列,包括:
24、通过量化后的所述多模态处理分块对预设样本进行处理,生成样本输出特征值;
25、基于所述样本输出特征值确定所述语言模型分块中各语言子模块对应的量化误差,语言子模块对应的量化误差为将语言模型分块中该语言子模块量化前后,语言模型分块针对所述样本输出特征值的输出差异;
26、基于各语言子模块对应的量化误差从大到小,对所述语言模型分块中各语言子模块进行排序,生成语言子模块序列。
27、在本技术一种可能的实现方式中,所述依据所述语言子模块序列对所述语言模型分块中各语言子模块分别进行量化,包括:
28、依据所述语言子模块序列的序列顺序对所述语言子模块序列进行遍历,获得当前语言子模块;
29、对所述语言模型分块中所述当前语言子模块进行量化;
30、在所述当前语言子模块量化完毕后,对所述语言模型分块中未量化的语言子模块的参数进行调整。
31、在本技术一种可能的实现方式中,所述依据所述语言子模块序列的序列顺序对所述语言子模块序列进行遍历,获得当前语言子模块之前,还包括:
32、获取所述语言模型分块针对样本输出特征值的量化前输出;
33、所述在所述当前语言子模块量化完毕后,对所述语言模型分块中未量化的语言子模块的参数进行调整,包括:
34、所述在所述当前语言子模块量化完毕后,获取所述语言模型分块针对样本输出特征值的量化后输出;
35、基于所述量化前输出以及所述量化后输出,对所述语言模型分块中未量化的语言子模块的参数进行调整。
36、在本技术一种可能的实现方式中,所述根据所述多模态处理分块中各处理子模块对应的量化误差构建处理子模块序列,包括:
37、获取所述多模态处理分块中各处理子模块对应的量化误差,处理子模块对应的量化误差为将多模态处理分块中该处理子模块量化前后,多模态处理分块针对相同样本的输出差异;
38、基于所述量化误差从大到小对所述多模态处理分块中各处理子模块进行排序,生成处理子模块序列。
39、此外,为实现上述目的,本技术还提供一种多模态大语言模型量化装置,所述装置包括:
40、划分模块,用于将待量化大模型划分为多模态处理分块以及语言模型分块,所述待量化大模型为支持多模态输入的语言大模型;
41、构建模块,用于根据所述多模态处理分块中各处理子模块对应的量化误差构建处理子模块序列,所述处理子模块包括所述多模态处理分块中至少一层网络;
42、第一量化模块,用于基于所述处理子模块序列对所述多模态处理分块中各处理子模块分别进行量化;
43、确定模块,用于根据量化后的所述多模态处理分块确定语言子模块序列;
44、第二量化模块,用于依据所述语言子模块序列对所述语言模型分块中各语言子模块分别进行量化,所述语言子模块包括所述语言模型分块中至少一层网络。
45、此外,为实现上述目的,本技术还提供一种多模态大语言模型量化设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上所述的多模态大语言模型量化方法的步骤。
46、此外,为实现上述目的,本技术还提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的多模态大语言模型量化方法的步骤。
47、此外,为实现上述目的,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上所述的多模态大语言模型量化方法的步骤。
48、本技术提出的一个或多个技术方案,至少具有以下技术效果:
49、由于可依据多模态语言大模型的计算特性进行针对性的模块划分,并基于模块划分顺序进行量化调整,确保量化符合模型的实际计算特性,提升了对多模态语言大模型进行量化部署的效果。