本发明涉及神经网络,尤其涉及一种用于大语言模型的softmax计算方法、装置及存储介质。
背景技术:
1、随着机器学习和人工智能领域的飞速发展,尤其是在深度神经网络的多类别分类任务中,准确而有效地预测样本所属类别成为至关重要的技术挑战。现有的技术方案在处理此类问题时,通常要求模型能够输出每个类别的概率分布,以便根据最高概率类别做出决策。
2、传统的单层逻辑回归模型在二分类问题中表现良好,但面对多元分类场景时,直接扩展至多个类别会导致决策边界不连续且难以解释各个类别的相对可能性。为此,业界引入了一种被称为“softmax”的标准化指数变换方法。softmax源自概率论和统计学,特别适用于将多维度特征空间中的任意实数向量转换成一个有效的概率分布向量。此函数通过指数运算以及随后的归一化步骤确保了输出向量的所有分量总和为1,从而提供了各输出类别间的相对概率解释。
3、目前,几乎所有的大语言模型llms(large language models)都要用softmax。例如,chat gpt也要使用softmax,比如用来在生成任务中的推理。
4、然而,在现有技术中,尽管softmax被广泛应用在诸如图像识别、自然语言处理、推荐系统等多种多类别的机器学习模型中,但在处理大规模数据集时,其计算复杂度、数值稳定性和与其它模型组件如损失函数(如交叉熵损失函数)的有效集成、内存带宽的需求、推理效率等方面仍有提升空间。
技术实现思路
1、本发明实施例提供一种用于大语言模型的softmax计算方法、装置及存储介质,对softmax算法引入了量化技术,降低了运算的复杂度,从而明显提升了大语言模型的推理效率。
2、本发明实施例提供一种用于大语言模型的softmax计算方法,包括:
3、获取大语言模型输出的全部token,并对所述全部token的分值进行排序;
4、根据排序结果选取分值位于预设区间的token并将剩余的token剔除,以得到处理后的分类向量;
5、将所述分类向量从浮点型数值量化为第一比特宽度的整数,并将所述第一比特宽度的整数输入至softmax分类器中进行softmax运算,以得到softmax概率值;
6、将运算得到的softmax概率值量化为第二比特宽度的整数,以得到分类结果。
7、在一实施例中,所述token的分值计算方法包括:
8、获取每个token在隐藏层的输出值,对所述输出值取绝对值,以作为所述token的分值;或者,
9、获取所述大语言模型为每个token分配的生成概率,基于所述生成概率计算所述token的置信度分数,并将所述置信度分数作为所述token的分值。
10、在一实施例中,所述根据排序结果选取分值位于预设区间的token并将剩余的token剔除,包括:
11、在所述排序结果中按照全部token数量的80%计算对应分值的预设区间;
12、保留分值位于所述预设区间的token并将剩余的token剔除。
13、在一实施例中,在选取分值位于预设区间的token并将剩余的token剔除之后,所述方法还包括:
14、针对所述分值位于预设区间的token,将其中分值低于预设分值的token对应的分值进行置零。
15、在一实施例中,将所述分类向量从浮点型数值量化为第一比特宽度的整数,包括:
16、对所述分类向量中的每个元素通过由浮点数转换为整数;
17、将转换后的整数缩放到第一整数区间内,所述第一整数区间为所述第一比特宽度对应的有符号整数范围。
18、在一实施例中,所述softmax分类器的运算过程包括;
19、针对量化后分类向量中每个元素的第一比特宽度的整数值减去所有元素中的最大值;
20、对每个量化后的元素计算其指数函数,并进行累加求和;
21、基于所述求和结果计算每个指数函数的概率值。
22、在一实施例中,将运算得到的softmax概率值量化为第二比特宽度的整数,包括:
23、建立所述运算得到的softmax概率值与第二整数区间的映射关系,所述第二整数区间由所述第二比特宽度对应的值域进行确定;
24、针对每个输出的概率值,根据所述映射关系计算对应的第二比特宽度的整数。
25、在一实施例中,所述第一比特宽度为4比特,所述第二比特宽度为8比特。
26、本发明实施例还提供一种用于大语言模型的softmax计算装置,包括获取模块,用于获取大语言模型输出的全部token,并对所述全部token的分值进行排序;
27、处理模块,用于根据排序结果选取分值位于预设区间的token并将剩余的token剔除,以得到处理后的分类向量;
28、运算模块,用于将所述分类向量从浮点型数值量化为第一比特宽度的整数,并将所述第一比特宽度的整数输入至softmax分类器中进行softmax运算,以得到softmax概率值;
29、输出模块,用于将运算得到的softmax概率值量化为第二比特宽度的整数,以得到分类结果。
30、本发明实施例还提供一种计算机可读存储介质,存储有多条计算机程序,所述计算机程序能够被处理器进行加载,以执行上述用于大语言模型的softmax计算方法。
31、由上可知,本申请实施例提供的用于大语言模型的softmax计算方法通过获取大语言模型输出的全部token,并对全部token的分值进行排序,根据排序结果选取分值位于预设区间的token并将剩余的token剔除,以得到处理后的分类向量,将分类向量从浮点型数值量化为第一比特宽度的整数,并将第一比特宽度的整数输入至softmax分类器中进行softmax运算,得到softmax概率值,将运算得到的softmax概率值量化为第二比特宽度的整数,以得到分类结果。本发明通过token剪枝算法可以智能化地识别低重要性的token,并且softmax算法引入了量化技术,大幅度降低了计算量、计算成本、存储成本以及在大规模数据集上执行softmax运算的复杂度,提升了大语言模型的推理效率。尤其在大规模数据和硬件资源受限的情况下,既保障了计算的准确性,又大大降低了计算和存储成本,在特定的softmax的硬件实现架构下,提高了llama模型在实际应用中的性能和效率。
1.一种用于大语言模型的softmax计算方法,其特征在于,所述方法包括:
2.根据权利要求1所述的用于大语言模型的softmax计算方法,其特征在于,所述token的分值计算方法包括:
3.根据权利要求1所述的用于大语言模型的softmax计算方法,其特征在于,所述根据排序结果选取分值位于预设区间的token并将剩余的token剔除,包括:
4.根据权利要求3所述的用于大语言模型的softmax计算方法,其特征在于,在选取分值位于预设区间的token并将剩余的token剔除之后,所述方法还包括:
5.根据权利要求1所述的用于大语言模型的softmax计算方法,其特征在于,将所述分类向量从浮点型数值量化为第一比特宽度的整数,包括:
6.根据权利要求1所述的用于大语言模型的softmax计算方法,其特征在于,所述softmax分类器的运算过程包括;
7.根据权利要求1所述的用于大语言模型的softmax计算方法,其特征在于,将运算得到的softmax概率值量化为第二比特宽度的整数,包括:
8.根据权利要求1-7任一项所述的用于大语言模型的softmax计算方法,其特征在于,所述第一比特宽度为4比特,所述第二比特宽度为8比特。
9.一种用于大语言模型的softmax计算装置,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,存储有多条计算机程序,所述计算机程序能够被处理器进行加载,以执行如权利要求1-8任一条所述的用于大语言模型的softmax计算方法。
