本公开的实施例涉及一种人工智能装置及其操作方法和机器可读存储介质。
背景技术:
1、大模型的训练和推理广泛使用三维并行,例如张量并行(tensor-parallel)、流水线并行(pipeline parallel)、数据并行级(data parallel level)。张量并行的性能占比较大。张量并行为一种大模型并行方式,其核心思想就是将大矩阵分为多个片(tile),以便将矩阵计算分块到多张图形处理器(graphics processing unit,gpu)上进行计算。张量并行包括计算(矩阵乘,即matmul算子,等)与通信(all-gather算子、reduce-scatter算子)。现有技术中,张量并行的计算与通信为串行执行,亦即张量并行的计算与通信在时间上没有重叠(overlap)。如何增进张量并行的效能,是本领域的诸多技术课题之一。
技术实现思路
1、本公开是针对一种人工智能(artificial intelligence,ai)装置及其操作方法和机器可读存储介质,以增进张量并行(tensor-parallel)的效能。
2、在根据本公开的实施例中,所述人工智能装置包括第一计算电路以及至少一个第二计算电路。第一计算电路用以在第一计算期间使用本地数据进行第一计算以生成第一计算结果。第二计算电路耦接至第一计算电路。第一计算电路和第二计算电路在数据交换期间进行数据交换以使第一计算电路从第二计算电路取得第一远程数据,其中所述第一计算期间部分或全部重叠于所述数据交换期间。第一计算电路使用第一计算结果和第一远程数据进行第二计算以生成第二计算结果。
3、在根据本公开的实施例中,所述操作方法包括:由人工智能装置的第一计算电路在第一计算期间使用本地数据进行第一计算以生成第一计算结果;由第一计算电路和至少一个第二计算电路在数据交换期间进行数据交换,以使第一计算电路从第二计算电路取得第一远程数据,其中第二计算电路耦接至第一计算电路,以及第一计算期间部分或全部重叠于数据交换期间;以及由第一计算电路使用第一计算结果和第一远程数据进行第二计算以生成第二计算结果。
4、在根据本公开的实施例中,所述机器可读存储介质用于存储非暂时性机器可读指令。当所述非暂时性机器可读指令由计算机执行时,可以实现所述操作方法。
5、基于上述,张量并行的计算与通信(数据交换)为并行执行。张量并行涉及的通信算子包括all-gather算子与reduce-scatter算子。对于同一个计算电路而言,串流(stream)分为专用于执行计算的串流stream0和专用于执行通信(数据交换)的串流stream1。串流stream0和串流stream1在计算电路(例如图形处理器(graphics processingunit,gpu))并行执行。因为张量并行的计算与数据交换为并行执行,所以计算期间可以掩盖通信算子的时间开销,进而增进张量并行的效能。
1. 一种人工智能装置,其特征在于,所述人工智能装置包括:
2.根据权利要求1所述的人工智能装置,其特征在于,所述第一计算电路和所述至少一个第二计算电路为不同图形处理器。
3.根据权利要求1所述的人工智能装置,其特征在于,
4.根据权利要求3所述的人工智能装置,其特征在于,所述算术运算包括矩阵乘,所述第一运算数包括输入矩阵,所述第一运算数的所述第一部分包括所述输入矩阵的第一片列,所述第一运算数的所述至少一个第二部分包括所述输入矩阵的至少一个第二片列,所述第二运算数包括权重矩阵,所述第二运算数的所述第一部分包括所述权重矩阵的第一片列,所述第二运算数的所述至少一个第二部分包括所述权重矩阵的至少一个第二片列。
5.根据权利要求4所述的人工智能装置,其特征在于,
6. 根据权利要求5所述的人工智能装置,其特征在于,
7.根据权利要求3所述的人工智能装置,其特征在于,所述算术运算包括矩阵乘,所述第一运算数包括输入矩阵,所述第一运算数的所述第一部分包括所述输入矩阵的第一片列,所述第一运算数的所述至少一个第二部分包括所述输入矩阵的至少一个第二片列,所述第二运算数包括权重矩阵,所述第二运算数的所述第一部分包括所述权重矩阵的第一片行,所述第二运算数的所述至少一个第二部分包括所述权重矩阵的至少一个第二片行。
8.根据权利要求7所述的人工智能装置,其特征在于,
9. 根据权利要求8所述的人工智能装置,其特征在于,
10.一种人工智能装置的操作方法,其特征在于,所述操作方法包括:
11.根据权利要求10所述的操作方法,其特征在于,所述第一计算电路和所述至少一个第二计算电路为不同图形处理器。
12.根据权利要求10所述的操作方法,其特征在于,所述操作方法还包括:
13.根据权利要求12所述的操作方法,其特征在于,所述算术运算包括矩阵乘,所述第一运算数包括输入矩阵,所述第一运算数的所述第一部分包括所述输入矩阵的第一片列,所述第一运算数的所述至少一个第二部分包括所述输入矩阵的至少一个第二片列,所述第二运算数包括权重矩阵,所述第二运算数的所述第一部分包括所述权重矩阵的第一片列,所述第二运算数的所述至少一个第二部分包括所述权重矩阵的至少一个第二片列。
14.根据权利要求13所述的操作方法,其特征在于,所述操作方法还包括:
15. 根据权利要求14所述的操作方法,其特征在于,所述操作方法还包括:
16.根据权利要求12所述的操作方法,其特征在于,所述算术运算包括矩阵乘,所述第一运算数包括输入矩阵,所述第一运算数的所述第一部分包括所述输入矩阵的第一片列,所述第一运算数的所述至少一个第二部分包括所述输入矩阵的至少一个第二片列,所述第二运算数包括权重矩阵,所述第二运算数的所述第一部分包括所述权重矩阵的第一片行,所述第二运算数的所述至少一个第二部分包括所述权重矩阵的至少一个第二片行。
17.根据权利要求16所述的操作方法,其特征在于,所述操作方法还包括:
18. 根据权利要求17所述的操作方法,其特征在于,所述操作方法还包括:
19.一种机器可读存储介质,用于存储非暂时性机器可读指令,其特征在于,当所述非暂时性机器可读指令由计算机执行时可以实现权利要求10-18任一项所述的操作方法。