本发明涉及人工智能,特别是涉及一种容错计算方法、装置、设备、介质及计算机程序产品。
背景技术:
1、随着人工智能(artificial intelligence,ai)技术的发展,所采用的人工智能模型的规模越来越庞大,导致模型计算过程日益复杂,所需计算单元(processing element,pe)的面积不断增加,从而放大了单个硬件的故障发生率,最终导致模型生成的结果错误。例如,在大语言模型(large language model,llm)的模型计算过程中出现的错误可能会导致生成应答信息不完整、不连续,甚至与问题信息所需的回答相距甚远、出现答非所问的结果。
2、如何提高人工智能模型计算的准确性,是本领域技术人员需要解决的技术问题。
技术实现思路
1、本发明的目的是提供一种容错计算方法、装置、设备、介质及计算机程序产品,用于提高人工智能模型计算的准确性。
2、为解决上述技术问题,本发明提供一种容错计算方法,应用于人工智能问答,包括:
3、接收输入的问题信息,所述问题信息包括提示词;
4、将所述提示词转换为单词向量,将所述单词向量输入目标语言模型进行迭代计算;
5、在所述目标语言模型的当前迭代计算的传播计算中,根据当前层的权重矩阵生成冗余矩阵后,分别将所述权重矩阵、所述冗余矩阵与当前层的输入单词向量进行通用矩阵乘法计算,对应得到当前层的传播计算的数据计算结果与第一校验值,将所述数据计算结果生成第二校验值,根据所述第二校验值与对应的所述第一校验值的一致性对比结果对当前层的所述数据计算结果进行校验,若当前层的所述数据计算结果均通过校验则进入下一层的传播计算,否则对当前层的所述数据计算结果进行纠错处理;
6、在完成所述目标语言模型各层的传播计算后,得到当前迭代计算与所述问题信息对应的生成结果;
7、其中,根据所述权重矩阵生成所述冗余矩阵,包括:将所述权重矩阵按行分为多个数据分块,并根据所述数据分块生成多个不同的冗余向量,将各所述冗余向量组成所述冗余矩阵;一个所述冗余向量对应一个或多个所述数据分块,且所述冗余向量中的冗余值为对应的所述数据分块中对应列的列元素和;所述第二校验值与所述冗余值的计算方法对应。
8、一方面,将所述权重矩阵按行分为多个数据分块,并根据所述数据分块生成多个不同的冗余向量,将各所述冗余向量组成所述冗余矩阵,包括:
9、将所述权重矩阵均匀地按行分为个所述数据分块;
10、计算得到单个所述数据分块中同列元素的列元素和得到对应列的冗余值以依次得到单个所述数据分块对应的所述冗余向量,再将所述数据分块不重复地两两为一组计算同列元素的列元素和得到对应列的所述冗余值以依次得到对应的所述冗余向量,以此类推直至得到所有所述数据分块的同列的元素和对应的冗余向量;
11、其中, p为分块因子且 p为正整数。
12、另一方面,所述冗余矩阵的构建过程包括通过下式构建行 d列的冗余矩阵:
13、对 j=1,2,……, d,
14、当为奇数时,,其中,=2 k-1,;
15、当为偶数时,,其中,, l满足;
16、其中,,;
17、所述权重矩阵包括 n行 d列; k为所述数据分块的序号,,第 k个所述数据分块对应所述权重矩阵的第行至第 kh行,若最后一个所述数据分块的最后一行的行序号 n小于 kh则到第 n行为止; h为一个所述数据分块的行数;为所述冗余矩阵中第行第 j列的元素,为所述冗余矩阵中第行第 j列的元素,为所述冗余矩阵中第行第 j列的元素,为所述权重矩阵第 i行第 j列的元素, l为指数参数,表示完全整除, p为分块因子,为向上取整运算。
18、另一方面,分别将所述权重矩阵、所述冗余矩阵与当前层的输入单词向量进行通用矩阵乘法计算,对应得到当前层的传播计算的数据计算结果与第一校验值,包括:
19、将所述冗余矩阵拼接于所述权重矩阵下方,得到校验矩阵;
20、将所述校验矩阵与所述输入单词向量进行通用矩阵乘法计算,得到校验向量,所述校验向量的前 n个分量为所述权重矩阵的各行对应的所述数据计算结果,所述校验向量的后个分量为所述冗余矩阵的各行对应的所述第一校验值。
21、另一方面,所述数据计算结果未通过校验,包括:
22、根据所述数据计算结果计算得到的所述第二校验值与对应的所述第一校验值不一致;
23、所述第二校验值与对应的所述第一校验值不一致,通过下式表示:
24、,, m满足;
25、其中,为所述校验向量中第个分量,为所述校验向量中第 i个分量, h为一个所述数据分块的行数, n为所述权重矩阵的行数, m为指数参数,表示完全整除, p为分块因子。
26、另一方面,将所述数据计算结果生成所述第二校验值,包括采用下式递归地计算得到所述数据分块对应的所述第二校验值:
27、当为奇数时,,其中,=2 k-1,;
28、当为偶数时,,其中,, l满足;
29、其中,为所述校验向量中第个所述第一校验值对应的所述数据计算结果计算得到的所述第二校验值,为所述校验向量中第个所述第一校验值对应的所述数据计算结果计算得到的所述第二校验值,为所述校验向量中第个所述第一校验值对应的所述数据计算结果计算得到的所述第二校验值, h为一个所述数据分块的行数, n为所述权重矩阵的行数, l为指数参数,表示完全整除, p为分块因子。
30、另一方面,将所述数据计算结果生成所述第二校验值,包括:
31、根据所述冗余值的计算方法并行计算得到各所述第一校验值对应的所述第二校验值。
32、另一方面,根据所述第二校验值与对应的所述第一校验值的一致性对比结果对当前层的所述数据计算结果进行校验,包括:
33、若对应所有所述数据分块的所述第二校验值与对应的所述第一校验值一致,则确定对应所有所述数据分块的所述第一校验值通过校验,进而确定当前层的所述数据计算结果均通过校验;
34、若对应所有所述数据分块的所述第二校验值与对应的所述第一校验值不一致,则依据所述第一校验值进行逐级校验;
35、在逐级校验过程中,若当前的所述第一校验值通过校验,则不进行对所述第一校验值的分支指标的校验;若当前的所述第一校验值未通过校验,且所述第一校验值存在所述分支指标,则进行对所述第一校验值的所述分支指标的校验;若当前的所述第一校验值未通过校验,且所述第一校验值不存在所述分支指标,则确定所述第一校验值对应的所述数据分块为错误分块;其中,若当前的所述第一校验值未通过校验但所述第一校验值的所有所述分支指标通过校验,则将当前的所述第一校验值置为通过校验;
36、确定所述错误分块对应的所述数据计算结果为错误结果,确定通过校验的所述第一校验值对应的所述数据计算结果为正确结果;
37、其中,所述分支指标为所述第一校验值中排序第的排序第的所述第一校验值和所述第一校验值,为当前的所述第一校验值的序号, l为指数参数, l满足,表示完全整除。
38、另一方面,所述分块因子根据执行当前层的传播计算的计算设备的计算资源以及所述权重矩阵的行数确定,以使所述权重矩阵的行数与所述冗余矩阵的行数之和小于或者等于所述计算设备为当前层的传播计算提供的最大计算资源。
39、另一方面,对当前层的所述数据计算结果进行纠错处理,包括:
40、确定所述第二校验值与对应的所述第一校验值不一致时对应的所述数据分块为错误分块;
41、将各所述错误分块生成重计算矩阵;
42、将所述重计算矩阵与当前层的所述输入单词向量进行通用矩阵乘法计算,得到重计算结果;
43、根据所述重计算结果对当前层的传播计算的所述数据计算结果进行纠错处理。
44、另一方面,将各所述错误分块生成所述重计算矩阵,包括:
45、将各所述错误分块均复制为多份后拼接得到所述重计算矩阵;
46、所述根据所述重计算结果对当前层的传播计算的所述数据计算结果进行纠错处理,包括:
47、根据所述错误分块对应的所述重计算结果中出现次数最多的结果为所述错误分块对应的最终计算结果,利用所述最终计算结果替换所述错误分块对应的所述数据计算结果。
48、另一方面,将各所述错误分块均复制为多份后拼接得到所述重计算矩阵,包括:
49、获取重计算冗余模数;
50、根据所述重计算冗余模数将所述错误分块复制多份后拼接为所述重计算矩阵,使所述重计算矩阵中各所述错误分块的数量均为所述重计算冗余模数。
51、另一方面,在所述将所述重计算矩阵与当前层的所述输入单词向量进行通用矩阵乘法计算,得到重计算结果之前,还包括:
52、判断所述重计算矩阵的行数是否超出所述权重矩阵的行数与所述冗余矩阵的行数之和;
53、如果是,则返回所述根据当前层的权重矩阵生成冗余矩阵的步骤;
54、如果否,则进入所述将所述重计算矩阵与当前层的所述输入单词向量进行通用矩阵乘法计算的步骤。
55、另一方面,还包括:
56、若返回所述根据当前层的权重矩阵生成冗余矩阵的步骤的次数超出重计算阈值,则停止所述目标语言模型的迭代计算并输出计算设备故障的报错信息。
57、另一方面,所述重计算冗余模数通过下式得到:
58、;
59、其中, t为所述重计算冗余模数, n为所述权重矩阵的行数,为所述冗余矩阵的行数, s为所述错误分块的数量, h为一个所述数据分块的行数, p为分块因子,为向下取整运算。
60、另一方面,所述分别将所述权重矩阵、所述冗余矩阵与当前层的输入单词向量进行通用矩阵乘法计算,对应得到当前层的传播计算的数据计算结果与第一校验值,包括:
61、并行执行所述权重矩阵与当前层的所述输入单词向量的通用矩阵乘法计算以及所述冗余矩阵与当前层的所述输入单词向量的通用矩阵乘法计算。
62、为解决上述技术问题,本发明还提供一种容错计算方法,包括:
63、根据模型并行计算任务确定存储设备的信息与计算设备的信息后,自所述存储设备读取所述模型并行计算任务对应的待处理数据;
64、将所述待处理数据转换为输入向量,并将所述输入向量输入部署有目标模型的模型参数的所述计算设备进行迭代计算;
65、在所述目标模型的当前迭代计算的传播计算中,根据当前层的权重矩阵生成冗余矩阵后,分别将所述权重矩阵、所述冗余矩阵与当前层的输入向量进行通用矩阵乘法计算,对应得到当前层的传播计算的数据计算结果与第一校验值,将所述数据计算结果生成第二校验值,根据所述第二校验值与对应的所述第一校验值的一致性对比结果对当前层的所述数据计算结果进行校验,若当前层的所述数据计算结果均通过校验则进入下一层的传播计算,否则对当前层的所述数据计算结果进行纠错处理;
66、在完成所述目标模型各层的传播计算后,得到当前迭代计算与所述待处理数据对应的生成结果;
67、其中,根据所述权重矩阵生成所述冗余矩阵,包括:将所述权重矩阵按行分为多个数据分块,并根据所述数据分块生成多个不同的冗余向量,将各所述冗余向量组成所述冗余矩阵;一个所述冗余向量对应一个或多个所述数据分块,且所述冗余向量中的冗余值为对应的所述数据分块中对应列的列元素和;所述第二校验值与所述冗余值的计算方法对应。
68、为解决上述技术问题,本发明还提供一种容错计算装置,应用于人工智能问答,包括:
69、第一接收单元,用于接收输入的问题信息,所述问题信息包括提示词;
70、第一转换单元,用于将所述提示词转换为单词向量,将所述单词向量输入目标语言模型进行迭代计算;
71、第一计算单元,用于在所述目标语言模型的当前迭代计算的传播计算中,根据当前层的权重矩阵生成冗余矩阵后,分别将所述权重矩阵、所述冗余矩阵与当前层的输入单词向量进行通用矩阵乘法计算,对应得到当前层的传播计算的数据计算结果与第一校验值,将所述数据计算结果生成第二校验值,根据所述第二校验值与对应的所述第一校验值的一致性对比结果对当前层的所述数据计算结果进行校验,若当前层的所述数据计算结果均通过校验则进入下一层的传播计算,否则对当前层的所述数据计算结果进行纠错处理;在完成所述目标语言模型各层的传播计算后,得到当前迭代计算与所述问题信息对应的生成结果;
72、其中,根据所述权重矩阵生成所述冗余矩阵,包括:将所述权重矩阵按行分为多个数据分块,并根据所述数据分块生成多个不同的冗余向量,将各所述冗余向量组成所述冗余矩阵;一个所述冗余向量对应一个或多个所述数据分块,且所述冗余向量中的冗余值为对应的所述数据分块中对应列的列元素和;所述第二校验值与所述冗余值的计算方法对应。
73、为解决上述技术问题,本发明还提供一种容错计算装置,包括:
74、信息确定单元,用于根据模型并行计算任务确定存储设备的信息与计算设备的信息后,自所述存储设备读取所述模型并行计算任务对应的待处理数据;
75、第二接收单元,用于将所述待处理数据转换为输入向量,并将所述输入向量输入部署有目标模型的模型参数的所述计算设备进行迭代计算;
76、第二计算单元,用于在所述目标模型的当前迭代计算的传播计算中,根据当前层的权重矩阵生成冗余矩阵后,分别将所述权重矩阵、所述冗余矩阵与当前层的输入向量进行通用矩阵乘法计算,对应得到当前层的传播计算的数据计算结果与第一校验值,将所述数据计算结果生成第二校验值,根据所述第二校验值与对应的所述第一校验值的一致性对比结果对当前层的所述数据计算结果进行校验,若当前层的所述数据计算结果均通过校验则进入下一层的传播计算,否则对当前层的所述数据计算结果进行纠错处理;在完成所述目标模型各层的传播计算后,得到当前迭代计算与所述待处理数据对应的生成结果;
77、其中,根据所述权重矩阵生成所述冗余矩阵,包括:将所述权重矩阵按行分为多个数据分块,并根据所述数据分块生成多个不同的冗余向量,将各所述冗余向量组成所述冗余矩阵;一个所述冗余向量对应一个或多个所述数据分块,且所述冗余向量中的冗余值为对应的所述数据分块中对应列的列元素和;所述第二校验值与所述冗余值的计算方法对应。
78、为解决上述技术问题,本发明还提供一种容错计算设备,包括:
79、存储器,用于存储计算机程序;
80、处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一项所述容错计算方法的步骤。
81、为解决上述技术问题,本发明还提供一种非易失性存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述容错计算方法的步骤。
82、为解决上述技术问题,本发明还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上述任意一项所述容错计算方法的步骤。
83、本发明所提供的容错计算方法,有益效果在于应用于人工智能问答,通过利用输入的问题信息中的提示词转换为单词向量输入目标语言模型进行迭代计算的过程中,在进行传播计算中权重矩阵与输入单词向量的计算时,将权重矩阵按行分为多个数据分块,以其中一个或多个数据分块中各行的列元素和生成冗余值以组成对应的冗余向量的方式生成多个不同的冗余向量以组成冗余矩阵,并将权重矩阵和冗余矩阵分别与输入单词向量进行通用矩阵乘法计算,对应得到数据计算结果和第一校验值,再根据冗余值的生成方法将数据计算结果生成第二校验值,根据第二校验值与第一校验值的一致性对比结果来对当前层的数据计算结果进行校验,若均通过校验则进入下一层的传播计算,否则对数据计算结果进行纠错处理;进而在完成目标语言模型各层的传播计算后得到当前迭代计算与问题信息对应的生成结果,实现了目标语言模型的容错计算,进而实现了对语言模型训练或推理过程中的错误检出与纠错,保证了生成语言模型的准确性或执行人工智能问答任务时生成回答信息的准确性。
84、本发明还提供一种容错计算方法,通过根据模型并行计算任务确定存储设备的信息与计算设备的信息后,自存储设备读取模型并行计算任务对应的待处理数据,将待处理数据转换为输入向量,并将输入向量输入部署有目标模型的模型参数的计算设备进行迭代计算,并在进行传播计算中权重矩阵与输入向量的计算时,将权重矩阵按行分为多个数据分块,以其中一个或多个数据分块中各行的列元素和生成冗余值以组成对应的冗余向量的方式生成多个不同的冗余向量以组成冗余矩阵,并将权重矩阵和冗余矩阵分别与输入单词向量进行通用矩阵乘法计算,对应得到数据计算结果和第一校验值,再根据冗余值的生成方法将数据计算结果生成第二校验值,根据第二校验值与第一校验值的一致性对比结果来对当前层的数据计算结果进行校验,若均通过校验则进入下一层的传播计算,否则对数据计算结果进行纠错处理;进而在完成目标模型各层的传播计算后得到当前迭代计算与待处理数据对应的生成结果,实现了目标模型的容错计算,进而实现了模型训练或模型推理过程中的错误检出与纠错,保证了利用模型并行计算训练生成模型的准确性或利用模型并行计算执行模型推理任务的生成结果的准确性。
85、本发明还提供一种容错计算装置、容错计算装置、容错计算设备、非易失性存储介质及计算机程序产品,具有上述有益效果,在此不再赘述。
1.一种容错计算方法,其特征在于,应用于人工智能问答,包括:
2.根据权利要求1所述的容错计算方法,其特征在于,将所述权重矩阵按行分为多个数据分块,并根据所述数据分块生成多个不同的冗余向量,将各所述冗余向量组成所述冗余矩阵,包括:
3.根据权利要求2所述的容错计算方法,其特征在于,所述冗余矩阵的构建过程包括通过下式构建行d列的冗余矩阵:
4.根据权利要求3所述的容错计算方法,其特征在于,分别将所述权重矩阵、所述冗余矩阵与当前层的输入单词向量进行通用矩阵乘法计算,对应得到当前层的传播计算的数据计算结果与第一校验值,包括:
5.根据权利要求4所述的容错计算方法,其特征在于,所述数据计算结果未通过校验,包括:
6.根据权利要求4所述的容错计算方法,其特征在于,将所述数据计算结果生成所述第二校验值,包括采用下式递归地计算得到所述数据分块对应的所述第二校验值:
7.根据权利要求1所述的容错计算方法,其特征在于,将所述数据计算结果生成所述第二校验值,包括:
8.根据权利要求4所述的容错计算方法,其特征在于,根据所述第二校验值与对应的所述第一校验值的一致性对比结果对当前层的所述数据计算结果进行校验,包括:
9.根据权利要求2所述的容错计算方法,其特征在于,所述分块因子根据执行当前层的传播计算的计算设备的计算资源以及所述权重矩阵的行数确定,以使所述权重矩阵的行数与所述冗余矩阵的行数之和小于或者等于所述计算设备为当前层的传播计算提供的最大计算资源。
10.根据权利要求1所述的容错计算方法,其特征在于,对当前层的所述数据计算结果进行纠错处理,包括:
11.根据权利要求10所述的容错计算方法,其特征在于,将各所述错误分块生成所述重计算矩阵,包括:
12.根据权利要求11所述的容错计算方法,其特征在于,将各所述错误分块均复制为多份后拼接得到所述重计算矩阵,包括:
13.根据权利要求12所述的容错计算方法,其特征在于,在所述将所述重计算矩阵与当前层的所述输入单词向量进行通用矩阵乘法计算,得到重计算结果之前,还包括:
14.根据权利要求13所述的容错计算方法,其特征在于,还包括:
15.根据权利要求12所述的容错计算方法,其特征在于,所述重计算冗余模数通过下式得到:
16.根据权利要求1所述的容错计算方法,其特征在于,所述分别将所述权重矩阵、所述冗余矩阵与当前层的输入单词向量进行通用矩阵乘法计算,对应得到当前层的传播计算的数据计算结果与第一校验值,包括:
17.一种容错计算方法,其特征在于,包括:
18.一种容错计算装置,其特征在于,应用于人工智能问答,包括:
19.一种容错计算装置,其特征在于,包括:
20.一种容错计算设备,其特征在于,包括:
21.一种非易失性存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至17任意一项所述容错计算方法的步骤。
22.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1至17任意一项所述容错计算方法的步骤。
