一种面向异构硬件的大语言模型算子精度验证方法及装置与流程

摘要: 本发明涉及算子精度验证领域,尤其涉及一种面向异构硬件的大语言模型算子精度验证方法及装置。背景技术:1、随着大语言模型的快速发展,模型推理已广泛部署于各类异构硬件...
一种面向异构硬件的大语言模型算子精度验证方法及装置与流程

本发明涉及算子精度验证领域,尤其涉及一种面向异构硬件的大语言模型算子精度验证方法及装置。

背景技术:

1、随着大语言模型的快速发展,模型推理已广泛部署于各类异构硬件。然而,由于异构硬件架构与同构硬件架构如通用图形处理器(graphics processing unit,gpu)及中央处理器(central processing unit,cpu)存在显著差异,通常无法直接运行标准算子,需要针对异构硬件特性重新设计并实现一套等价的算子库。

2、目前,为了验证异构硬件所部署大语言模型的算子精度,一般将大语言模型部署于同构硬件所得到的算子输出作为基准真值,同异构硬件的算子输出进行比对,进而依据比对结果完成算子精度判定。但是,由于异构硬件和同构硬件易因架构差异如累加器精度不同,导致数值分布本身存在偏差,因此往往难以直接比对两种硬件的算子输出。其次,在大语言模型整网测试中,若最终输出精度低,很难区分是累积误差、采样策略问题,还是特定算子的实现错误。最后,在长序列推理中,由于批处理方式及键值缓存管理机制不同,异构硬件的中间层状态难以与同构硬件的中间层状态在时间步和内存布局上严格对齐,导致无法进行逐网络层比对,从而难以精准验证异构硬件所部署大语言模型的算子精度。

技术实现思路

1、本发明提供了一种面向异构硬件的大语言模型算子精度验证方法及装置,解决了现有技术因架构差异、算子输出精度偏差、批处理方式不同,或键值缓存管理机制差异,难以准确验证异构硬件所部署大语言模型的算子精度的问题,可以精准验证异构硬件所部署大语言模型的算子精度。

2、第一方面,本发明实施例提供了一种面向异构硬件的大语言模型算子精度验证方法,包括:在将大语言模型部署于异构硬件后,获取大语言模型调用各算子内核执行自回归推理时,由各网络层输出的第一中间隐藏状态、第一键缓存状态和第一值缓存状态;不同算子内核对应不同硬件指令;获取大语言模型调用各算子内核执行预填充推理时,由各网络层输出的第二中间隐藏状态、第二键缓存状态和第二值缓存状态;计算相同算子内核下同一网络层输出的第一中间隐藏状态与第二中间隐藏状态间的差异值、第一键缓存状态与第二键缓存状态间的差异值,以及第一值缓存状态与第二值缓存状态间的差异值;基于各差异值和预设差异阈值,确定大语言模型调用各算子内核执行运算时,各网络层对应的算子集合是否存在精度异常。

3、第二方面,本发明实施例还提供了一种面向异构硬件的大语言模型算子精度验证装置,包括:第一状态获取模块,用于在将大语言模型部署于异构硬件后,获取大语言模型调用各算子内核执行自回归推理时,由各网络层输出的第一中间隐藏状态、第一键缓存状态和第一值缓存状态;不同算子内核对应不同硬件指令;第二状态获取模块,用于获取大语言模型调用各算子内核执行预填充推理时,由各网络层输出的第二中间隐藏状态、第二键缓存状态和第二值缓存状态;差异值确定模块,用于计算相同算子内核下同一网络层输出的第一中间隐藏状态与第二中间隐藏状态间的差异值、第一键缓存状态与第二键缓存状态间的差异值,以及第一值缓存状态与第二值缓存状态间的差异值;异常识别模块,用于基于各差异值和预设差异阈值,确定大语言模型调用各算子内核执行运算时,各网络层对应的算子集合是否存在精度异常。

4、第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有能够被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例提供的面向异构硬件的大语言模型算子精度验证方法。

5、第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令用于使处理器执行时实现本发明任一实施例提供的面向异构硬件的大语言模型算子精度验证方法。

6、本发明的技术方案,通过在将大语言模型部署于异构硬件后,获取大语言模型调用各算子内核执行自回归推理时,由各网络层输出的第一中间隐藏状态、第一键缓存状态和第一值缓存状态;获取大语言模型调用各算子内核执行预填充推理时,由各网络层输出的第二中间隐藏状态、第二键缓存状态和第二值缓存状态;计算相同算子内核下同一网络层输出的第一中间隐藏状态与第二中间隐藏状态间的差异值、第一键缓存状态与第二键缓存状态间的差异值,以及第一值缓存状态与第二值缓存状态间的差异值;基于各差异值和预设差异阈值,确定大语言模型调用各算子内核执行运算时,各网络层对应的算子集合是否存在精度异常的技术手段,解决了现有技术因架构差异、算子输出精度偏差、批处理方式不同,或键值缓存管理机制差异,难以准确验证异构硬件所部署大语言模型的算子精度的问题,可以精准验证异构硬件所部署大语言模型的算子精度。

7、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

1.一种面向异构硬件的大语言模型算子精度验证方法,其特征在于,所述面向异构硬件的大语言模型算子精度验证方法包括:

2.根据权利要求1所述的面向异构硬件的大语言模型算子精度验证方法,其特征在于,在基于各所述差异值和预设差异阈值,确定所述大语言模型调用各所述算子内核执行运算时,各网络层对应的算子集合是否存在精度异常之后,还包括:

3.根据权利要求2所述的面向异构硬件的大语言模型算子精度验证方法,其特征在于,所述自回归推理中间状态包括自回归中间隐藏状态、自回归键缓存状态和自回归值缓存状态,所述预填充推理中间状态包括预填充中间隐藏状态、预填充键缓存状态和预填充值缓存状态;基于与各所述子模块分别对应的自回归推理中间状态和预填充推理中间状态,在各所述子模块中确定异常根因子模块,包括:

4.根据权利要求1所述的面向异构硬件的大语言模型算子精度验证方法,其特征在于,所述差异值为余弦相似度值。

5.根据权利要求1所述的面向异构硬件的大语言模型算子精度验证方法,其特征在于,在基于各所述差异值和预设差异阈值,确定所述大语言模型调用各所述算子内核执行运算时,各网络层对应的算子集合是否存在精度异常之前,还包括:

6.根据权利要求1所述的面向异构硬件的大语言模型算子精度验证方法,其特征在于,获取所述大语言模型调用各算子内核执行自回归推理时,由各网络层输出的第一中间隐藏状态、第一键缓存状态和第一值缓存状态,包括:

7.根据权利要求6所述的面向异构硬件的大语言模型算子精度验证方法,其特征在于,在将大语言模型部署于异构硬件后,还包括:

8.一种面向异构硬件的大语言模型算子精度验证装置,其特征在于,所述面向异构硬件的大语言模型算子精度验证装置包括:

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的面向异构硬件的大语言模型算子精度验证方法。