光子芯片、异构计算系统、精度调整方法及产品与流程

文档序号:37775251发布日期:2024-04-25 11:01阅读:43来源:国知局
光子芯片、异构计算系统、精度调整方法及产品与流程

本技术涉及人工智能,特别是涉及一种光子芯片、异构计算系统、精度调整方法及产品。


背景技术:

1、神经网络是人工智能领域重要的计算模型,近年来广泛应用于图像处理、语音识别、自然语言处理等场景,推动着社会的智能化发展。芯片技术如cpu(central?processingunit,中央处理器)、gpu(graphics?processing?unit,图形处理器)、tpu(tensorprocessing?unit,张量处理单元)等为神经网络模型提供了强大的算力支持。然而,随着摩尔定律发展减缓,冯·诺依曼架构瓶颈凸显,芯片功耗逐渐增加。为了提高芯片的计算效率,降低芯片的功耗,提出了量化精度的改进方式。

2、常见的神经网络包括全连接神经网络、卷积神经网络、循环神经网络等。神经网络由大量的人工神经元组成,人工神经元包括线性计算和非线性计算。在线性计算部分,将神经网络的输入数据与权重进行乘积累加计算;在非线性计算部分,采用非线性函数对线性计算的结果进行非线性变换。通常针对神经网络的精度量化,是在计算过程中,将权重和激活值从浮点数转换为低精度表示,对权重和激活值进行量化能够减少神经网络的存储量和计算量,从而提高数据处理的效率。但是,量化精度会导致神经网络的准确率下降,因为更低的精度可能会导致舍入误差,降低计算结果的准确率。因此,如何在确保高准确率计算的情况下提高芯片的计算效率,是需要解决的问题。


技术实现思路

1、有鉴于此,本技术旨在提出一种光子芯片、异构计算系统、精度调整方法及产品,以实现保持神经网络计算的高准确率的同时,提升芯片的计算效率。

2、为达到上述目的,本技术的技术方案如下:

3、本技术实施例第一方面提供一种光子芯片,用于执行神经网络计算任务中的线性计算,包括一个计算单元;所述计算单元,至少包括:

4、第一耦合器,用于将接收到的激光信号分路为第一光信号及第二光信号;

5、两个调制器,分别用于连接外部的数模转换器,接收所述数模转换器进行可调精度的量化之后的目标参数,对所述第一光信号及所述第二光信号进行编码,生成当前网络层的输入数据及权重;所述目标参数为上一个网络层的计算结果及当前网络层的权重;

6、移相器,用于改变所述第一光信号及所述第二光信号的相位以生成正值及负值编码;

7、平衡探测器,用于连接外部的模数转换器;基于所述第一光信号及所述第二光信号执行线性计算,生成第一计算结果;将所述第一计算结果转换为光电流,并传输到所述模数转换器进行可调精度的量化。

8、本技术实施例第二方面提供一种光子芯片,用于执行神经网络计算任务中的线性计算,包括:

9、至少两个如本技术实施例第一方面所述的光子芯片中的计算单元,所有计算单元均为并联;

10、第三耦合器,分别连接所有计算单元;所述第三耦合器用于将接收到的激光信号进行分路并传输到每个计算单元中。

11、本技术实施例第三方面提供一种异构计算系统,用于执行神经网络计算任务;所述系统包括:光学??榧暗缪??;

12、所述光学??榘ǎ杭す馄?,用于提供连续光信号或脉冲光信号;如本技术实施例第一方面所述的光子芯片,用于执行所述神经网络计算任务中的线性计算,生成第一计算结果;

13、所述电学??榘ǎ?/p>

14、第一计算芯片,用于执行所述神经网络计算任务中的求和计算及非线性计算,生成第二计算结果;

15、第一控制芯片,用于设置所述系统中数模转换器及模数转换器的量化位宽;控制所述计算单元及所述第一计算芯片执行所述神经网络计算任务;

16、第一存储芯片,用于存储权重、第一计算结果及第二计算结果;

17、所述模数转换器,用于对所述第一计算结果进行量化,并传输到所述第一计算芯片;

18、所述数模转换器,用于对上一个网络层的第二计算结果及当前网络层的权重进行量化,并分别传输到所述计算单元的两个调制器中。

19、可选地,所述异构计算系统,包括:一个所述模数转换器及两个所述数模转换器;其中,任一数模转换器用于从所述第一存储芯片获取上一个网络层的第二计算结果,另一个数模转换器用于从所述第一存储芯片获取当前网络层的权重。

20、本技术实施例第四方面提供一种异构计算系统,用于执行神经网络计算任务;所述系统包括:光学??榧暗缪??;

21、所述光学??榘ǎ杭す馄?,用于提供连续光信号或脉冲光信号;如本技术实施例第二方面所述的光子芯片,用于执行所述神经网络计算任务中的线性计算,生成第一计算结果;

22、所述电学??榘ǎ?/p>

23、第一计算芯片,用于执行所述神经网络计算任务中的求和计算及非线性计算,生成第二计算结果;

24、第一控制芯片,用于设置所述系统中数模转换器及模数转换器的量化位宽;控制所述光子芯片及所述第一计算芯片执行所述神经网络计算任务;

25、第一存储芯片,用于存储权重、第一计算结果及第二计算结果;

26、多个所述模数转换器,其中每个模数转换器用于对一个计算单元输出的第一计算结果进行量化,并传输到所述第一计算芯片;

27、多个所述数模转换器,其中每个数模转换器用于对一个计算单元对应的上一个网络层的第二计算结果及当前网络层的权重进行量化,并分别传输到所述计算单元的两个调制器中。

28、可选地,所述数模转换器的数量为所述光子芯片中计算单元的数量的两倍;每个数模转换器用于对一个调制器接收的输入数据或权重进行量化;

29、所述模数转换器的数量与所述光子芯片中计算单元的数量相等;每个模数转换器用于对一个计算单元输出的第一计算结果进行量化。

30、可选地,所述数模转换器及所述模数转换器的量化位宽的可调范围相同,且不超出1-16位。

31、可选地,所述电学??榘礁龅谝淮娲⑿酒?,其中一个与所有模数转换器相连,用于存储第一计算结果;另一个与所有数模转换器相连,用于存储权重及第二计算结果。

32、本技术实施例第五方面提供一种异构计算系统,用于执行神经网络计算任务,包括:

33、多个内核,每个内核分别用于执行网络层中不同部分的计算;或,每个内核分别用于执行不同网络层的计算;其中,每个内核均包括:

34、如本技术实施例第一方面或第二方面所述的光子芯片,用于执行所述神经网络计算任务中的线性计算,生成第一计算结果;

35、第一计算芯片,用于,执行所述神经网络计算任务中的求和计算及非线性计算,生成第二计算结果;

36、第一存储芯片,用于第一计算结果、第二计算结果,及所述内核中用到的参数;

37、模数转换器,用于对所述光子芯片输出的第一计算结果进行量化,并传输到所述第一存储芯片;所述模数转换器的数量与所述芯片中计算单元的数量相等;

38、数模转换器,用于对上一层网络中的第二计算结果及当前网络的权重进行量化,并传输到所述光子芯片;所述数模转换器的数量为所述芯片中计算单元的数量的两倍;

39、所述系统还包括:

40、激光器,用于为所有内核提供连续光信号或者脉冲光信号;

41、第二存储芯片,用于存储所述神经网络计算任务的所有权重及所有内核的计算结果;

42、第二控制芯片,用于设置所有内核中所述数模转换器及所述模数转换器的量化位宽;控制所有内核执行所述神经网络计算任务。

43、可选地,所述系统中所述数模转换器及所述模数转换器的量化位宽的可调范围包括两种,其中,任一种所述量化位宽的可调范围不超出1-16位。

44、可选地,所述数模转换器及所述模数转换器的量化位宽的可调范围较大的内核的数量,少于数模转换器及模数转换器的量化位宽的可调范围较小的内核的数量。

45、根据本技术实施例的第六方面,提供一种精度调整方法,应用于如本技术实施例第三方面、第四方面或第五方面提供的异构计算系统,包括:

46、随机初始化样本任务及对应的量化参数集合;所述量化参数集合包括:所述异构计算系统中,每个计算单元对应的数模转换器及模数转换器的量化位宽及第一计算芯片的量化位宽;所述样本任务为:基于待执行的目标神经网络计算任务生成的,用于预训练的神经网络计算任务;

47、采用所述异构计算系统执行所述样本任务,通过优化算法对所述量化参数集合进行迭代更新,并基于所述优化算法的评价指标判断当前的量化参数集合是否达标,在判定当前的量化参数集合达标的情况下,停止更新所述量化参数集合;所述优化算法为以下任一算法或多个算法的组合:遗传算法、粒子群算法或深度强化学习算法;

48、基于达标的量化参数集合,确定所述异构计算系统在执行所述目标神经网络计算任务时的计算精度。

49、可选地,通过优化算法对所述量化参数集合进行迭代更新,并基于所述优化算法的评价指标判断当前的量化参数集合是否达标,包括:

50、采用所述异构计算系统,执行结构相同且量化参数集合不同的多个样本任务,在每一轮执行后,计算每个样本任务的适应度,并与设定的评价指标进行比较;所述适应度,与所述样本任务的准确率及参数压缩比相关;

51、在所有样本任务的适应度均未达到所述评价指标的情况下,判定当前的量化参数集合不达标,采用遗传算法对所述量化参数集合进行筛选、交叉及变异操作,更新所述量化参数集合;采用所述异构计算系统再次执行更新后的样本任务;

52、在任一样本任务的适应度达到所述评价指标的情况下,判定当前的量化参数集合达标,停止更新所述量化参数集合。

53、可选地,通过优化算法对所述量化参数集合进行迭代更新,并基于所述优化算法的评价指标判断当前的量化参数集合是否达标,包括:

54、采用所述异构计算系统,执行结构相同且量化参数集合不同的多个样本任务,在每一轮执行后,计算每个样本任务的适应度,并与设定的评价指标进行比较;所述适应度,与所述样本任务的准确率及参数压缩比相关;

55、在所有样本任务的适应度均未达到所述评价指标的情况下,判定当前的量化参数集合不达标,采用粒子群算法更新所述量化参数集合以及对应的更新速度;采用所述异构计算系统再次执行更新后的样本任务;

56、在任一样本任务的适应度达到所述评价指标的情况下,判定当前的量化参数集合达标,停止更新所述量化参数集合。

57、可选地,所述精度调整方法,还包括:

58、在对所述量化参数集合进行更新的次数达到第一阈值时,判定当前最接近所述评价指标的量化参数集合达标,停止更新所述量化参数集合。

59、根据本技术实施例的第七方面,提供一种精度调整装置,用于实现本技术实施例的第六方面所提供的精度调整方法,所述装置包括:

60、初始化???,被配置为随机初始化样本任务及对应的量化参数集合;所述量化参数集合包括:系统中每个计算单元对应的数模转换器及模数转换器的量化位宽,及第一计算芯片的量化位宽;所述样本任务为:基于待执行的目标神经网络计算任务生成的,用于预训练的神经网络计算任务;

61、调整???,被配置为采用异构计算系统执行所述样本任务,通过优化算法对所述量化参数集合进行迭代更新,并基于所述优化算法的评价指标判断当前的量化参数集合是否达标,在判定当前的量化参数集合达标的情况下,停止更新所述量化参数集合;所述优化算法为以下任一算法或多个算法的组合:遗传算法、粒子群算法或深度强化学习算法;

62、设定???,被配置为基于达标的量化参数集合,确定所述异构计算系统在执行所述目标神经网络计算任务时的计算精度。

63、根据本技术实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本技术实施例第六方面所提供的精度调整方法中的步骤。

64、根据本技术实施例的第九方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本技术实施例第六方面所提供的精度调整方法中的步骤。

65、采用本技术所提供的光子芯片,通过耦合器实现激光信号的分路,使用调制器对激光信号进行编码,两个调制器连接外部的数模转换器,接收外部数模转换器量化后的上一个网络层的计算结果与当前网络层的权重,将上一个网络层的计算结果作为当前网络层的输入数据,通过移相器实现正负值编码,最终通过平衡探测器执行当前网络层的线性计算,得到第一计算结果。将第一计算结果发送到外部的模数转换器进行量化。其中,数模转换器与模数转换器都是可调精度器件。通过可调精度的数模转换器与模数转换器对光子芯片的输入数据、权重及输出数据进行混合精度量化,从而灵活控制多个参数的计算精度,在确保计算准确率的同时降低神经网络计算过程中的计算量及存储量,从而提升芯片的计算效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im