电子装置和执行该电子装置的操作的方法.pdf

上传人:二狗 文档编号:10205120 上传时间:2021-06-11 格式:PDF 页数:18 大小:993.21KB
收藏 版权申诉 举报 下载
电子装置和执行该电子装置的操作的方法.pdf_第1页
第1页 / 共18页
电子装置和执行该电子装置的操作的方法.pdf_第2页
第2页 / 共18页
电子装置和执行该电子装置的操作的方法.pdf_第3页
第3页 / 共18页
文档描述:

《电子装置和执行该电子装置的操作的方法.pdf》由会员分享,可在线阅读,更多相关《电子装置和执行该电子装置的操作的方法.pdf(18页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010493206.8 (22)申请日 2020.06.03 (30)优先权数据 10-2019-0066396 2019.06.05 KR (71)申请人 三星电子株式会社 地址 韩国京畿道 (72)发明人 权世重李桐洙 (74)专利代理机构 北京市柳沈律师事务所 11105 代理人 邵亚丽 (51)Int.Cl. G06N 3/063(2006.01) (54)发明名称 电子装置和执行该电子装置的操作的方法 (57)摘要 一种用于电子装置执行人工智能模型的操 作的方法包。

2、括: 在用于神经网络模型的操作的多 个数据存储在存储器中时, 获取关于电子装置的 硬件的资源信息, 所述多个数据分别具有彼此不 同的重要程度; 基于所获取的资源信息, 根据所 述多个数据中的每个的重要程度, 获得所述多个 数据之中的将用于神经网络模型的操作的数据; 以及通过使用所获得的数据执行神经网络模型 的操作。 权利要求书2页 说明书10页 附图5页 CN 112052943 A 2020.12.08 CN 112052943 A 1.一种用于电子装置执行人工智能模型的操作的方法, 该方法包括: 在用于神经网络模型的操作的多个数据存储在存储器中时, 获得用于电子装置的硬件 的资源信息, 所。

3、述多个数据分别具有彼此不同的重要程度; 基于所获取的资源信息, 根据所述多个数据中的每个的重要程度, 获得所述多个数据 之中的用于神经网络模型的操作的数据; 以及 通过使用所获得的数据执行神经网络模型的操作。 2.根据权利要求1所述的方法, 其中, 所述多个数据包括用于神经网络模型的操作的量 子化的矩阵的参数值。 3.根据权利要求2所述的方法, 其中, 所述量子化的矩阵的参数值包括分别具有彼此不 同的重要程度的二进制数据。 4.根据权利要求3所述的方法, 其中, 在二进制数据中, 二进制数据的重要程度分别随 着二进制数据的比特顺序增加而降低。 5.根据权利要求3所述的方法, 其中, 所述执行神。

4、经网络模型的操作还包括: 对输入值和二进制数据的每个比特执行矩阵运算; 对每个比特的运算结果求和; 以及 获取输出值。 6.根据权利要求3所述的方法, 其中, 所述执行神经网络模型的操作还包括分别基于二 进制数据的每个比特的顺序使用多个神经网络处理单元来执行矩阵并行运算。 7.根据权利要求2所述的方法, 其中, 所述量子化的矩阵的参数值包括通过使用贪婪算 法量子化的矩阵的参数值。 8.根据权利要求1所述的方法, 其中, 所述获得数据还包括通过参照其中定义多个调度 模式的查找表获得将用于神经网络模型的操作的数据。 9.根据权利要求1所述的方法, 其中, 所述获得数据还包括获得所述多个数据之中的将。

5、 用于神经网络模型的操作的二进制数据的数量, 该二进制数据的数量少于所述多个数据的 数量。 10.根据权利要求1所述的方法, 其中, 所述用于硬件的资源信息包括电子装置的功耗、 执行神经网络模型的操作的处理单元的数量或神经网络模型的预定延迟中的至少一项。 11.一种电子装置, 包括: 存储器, 存储分别具有彼此不同的重要程度的多个数据; 以及 处理器, 被配置为: 基于用于电子装置的硬件的资源信息, 根据存储在存储器中的所述多个数据中的每个 的重要程度, 获得所述多个数据之中的将用于神经网络模型的操作的数据, 以及 通过使用所获得的数据执行神经网络模型的操作。 12.根据权利要求11所述的电子。

6、装置, 其中, 所述多个数据包括用于神经网络模型的操 作的量子化的矩阵的参数值。 13.根据权利要求12所述的电子装置, 其中, 所述量子化的矩阵的参数值包括分别具有 彼此不同的重要程度的二进制数据。 14.根据权利要求13所述的电子装置, 其中, 在二进制数据中, 所述二进制数据的重要 程度分别随着二进制数据的比特顺序增加而降低。 权利要求书 1/2 页 2 CN 112052943 A 2 15.根据权利要求13所述的电子装置, 其中, 所述处理器还被配置为: 对输入值和二进制数据的每个比特执行矩阵运算, 对每个比特的运算结果求和, 以及 获取输出值。 权利要求书 2/2 页 3 CN 1。

7、12052943 A 3 电子装置和执行该电子装置的操作的方法 0001 相关申请的交叉引用 0002 本申请是基于2019年6月5日在韩国知识产权局提交的韩国专利申请第10-2019- 0066396号并要求享有其优先权, 该韩国专利申请的公开内容通过引用全文合并于此。 技术领域 0003 本公开涉及电子装置和执行该电子装置的操作的方法, 更具体地, 涉及执行人工 神经网络模型的操作的方法。 背景技术 0004 近来, 通过使用硬件来实现人工智能模型(例如深度学习模型)的研究正在持续。 在通过使用硬件来实现人工智能模型的情况下, 可以极大地提高人工智能模型的操作速 度, 并且先前由于存储器大。

8、小或对响应时间的限制而难以使用的各种深度学习模型的使用 成为可能。 0005 提出了用于从硬件的实现的观点来看持续改善人工智能模型的性能的算法, 作为 例如减少操作数据的量用以减少操作延迟和功耗的数据量子化技术。 0006 数据量子化是例如减少表示矩阵参数的信息的量的方法, 并且可以将实数数据分 解为二进制数据和缩放因子, 并将数据表示为近似值。 由于量子化的数据不能达到原始数 据的精度, 因此使用量子化的数据的人工智能模型的推理的精度可能低于人工智能模型的 原始推理的精度。 然而, 考虑到硬件的有限情形, 量子化在一定程度上可以节省存储器的使 用量或计算资源的消耗, 因此在设备上人工智能(o。

9、n-device artificial intelligence) 领域中正在积极地进行研究。 发明内容 0007 本公开的实施例提供了减少人工智能模型的数据容量同时使人工智能模型的性 能的劣化最小化的电子装置、 以及执行人工智能模型的操作的方法。 0008 根据本公开的一方面, 一种用于电子装置执行人工智能模型的操作的方法包括以 下操作: 在分别具有彼此不同的重要程度的多个数据存储在存储器中时, 获取关于电子装 置的硬件的资源信息, 所述多个数据用于神经网络模型的操作; 基于所获取的资源信息, 根 据所述多个数据中的每个的重要程度, 获得所述多个数据之中的将用于神经网络模型的操 作的一些数据。

10、; 以及通过使用所获得的一些数据执行神经网络模型的操作。 0009 根据本公开的一方面, 一种电子装置包括: 存储器, 存储分别具有彼此不同的重要 程度的多个数据; 以及处理器, 被配置为基于用于电子装置的硬件的资源信息根据存储在 存储器中的所述多个数据中的每个的重要程度获得所述多个数据之中的将用于神经网络 模型的操作的一些数据、 以及通过使用所获得的一些数据执行神经网络模型的操作。 0010 根据实施例, 可以根据硬件的要求灵活地调整用于神经网络模型的数据量。 例如, 可以在延迟方面、 功耗方面或用户方面中的至少一个方面预期改善的效果。 说明书 1/10 页 4 CN 112052943 A。

11、 4 0011 在延迟方面, 可以考虑到请求运行神经网络模型的时间而在神经网络模型的操作 中排除具有低重要程度的二进制数据并选择性地仅使用具有高重要程度的二进制数据, 从 而以最小的准确性降低满足要求。 0012 在功耗方面, 在确定电子装置的电池的剩余量较低的示例中, 可以控制使得神经 网络模型考虑到硬件的条件(例如电池的低电量)以最小性能操作的数据量, 因此可以延长 电子装置的操作时间。 0013 在用户(或开发人员)方面, 在相关技术中, 考虑到安装在电子装置上的人工智能 应用的操作量和其他限制, 用户难以判断将用于神经网络模型的最佳数据量。 然而, 根据实 施例, 可以基于硬件的条件考。

12、虑延迟和功耗自动地适当调整数据量, 因此可以将人工智能 模型的推理的准确性维持高于一定程度, 同时有效地运行神经网络模型。 0014 根据实施例, 可以克服在硬件资源受限的情形下神经网络模型不运行或延迟变大 的问题。 即, 可以考虑到硬件的当前可用资源灵活地调整用于神经网络模型的操作的数据 量, 因此, 即使数据量增加, 延迟也保持低于一定水平, 并且神经网络模型可以无间断操作 并且高于一定的准确性阈值操作。 附图说明 0015 图1是示出根据一实施例的电子装置的配置的框图; 0016 图2是示出根据一实施例的包括处理单元的用于神经网络操作的部件的框图; 0017 图3示出了根据一实施例的调度。

13、语法的示例; 0018 图4是示出根据一实施例的包括多个处理单元的用于神经网络操作的部件的框 图; 0019 图5是示出根据一实施例的针对每个比特顺序将量子化的参数值存储在存储器中 的过程的示图; 0020 图6是示出根据一实施例的针对每个比特顺序将量子化的参数值存储在存储器中 的过程的示图; 0021 图7是示出根据一实施例的用于电子装置执行操作的方法的流程图; 以及 0022 图8是示出根据一实施例的电子装置的详细配置的框图。 具体实施方式 0023 本公开的实施例可以被各种各样地修改。 因此, 特定的实施例在附图中示出并在 详细描述中被详细描述。 然而, 将理解, 本公开不限于特定实施例。

14、, 而是在不背离本公开的 范围和精神的情况下包括所有修改、 等同和替换。 此外, 因为公知的功能或构造会以不必要 的细节使本公开不清楚, 所以不对其进行详细描述。 0024 在下文中, 将参照附图详细描述本公开的各种实施例。 0025 图1是示出根据一实施例的电子装置100的配置的框图。 如图1所示, 电子装置100 包括存储器110和处理器120。 0026 电子装置100可以是服务器、 台式PC、 膝上型计算机、 智能电话、 平板PC等。 或者, 电 子装置100是使用人工智能模型的装置, 并且其可以是清洁机器人、 可穿戴装置、 家用电器、 医疗装置、 物联网(IoT)装置或自主运载工具。。

15、 说明书 2/10 页 5 CN 112052943 A 5 0027 图1中的存储器110可以存储分别具有彼此不同的重要程度的多个数据。 分别具有 彼此不同的重要程度的多个数据可以包括例如用于神经网络模型的操作的量子化的矩阵 的参数值。 在这种情况下, 如果存在用于神经网络模型的操作的多个矩阵, 则电子装置100 可以针对多个量子化的矩阵中的每个包括分别具有彼此不同的重要程度的参数值。 0028 作为另一示例, 分别具有彼此不同的重要程度的所述多个数据可以是用于神经网 络模型的操作的分别具有彼此不同的重要程度的多个神经网络层。 0029 作为又一示例, 具有彼此不同的重要程度的所述多个数据可。

16、以是在被量子化之前 的矩阵的参数值。 在这种情况下, 该矩阵的参数值可以由分别具有彼此不同的重要程度的 二进制数据构成, 并且例如, 重要程度可以根据比特顺序而增大。 0030 在所述多个数据是量子化的矩阵的参数值的情况下, 为获取参数值而执行的矩阵 的量子化处理可以由电子装置100执行。 或者, 可以在外部装置处执行量子化处理, 并且量 子化的矩阵的参数值可以预先存储在存储器110中。 0031 在矩阵的参数值被量子化的情况下, 全精度值的矩阵的参数值可以被转换成k个 数量的二进制数据(例如, +1和-1)(或量子化的比特)bi值和缩放系数因子ai值。 在通过使 用量子化的矩阵的参数值执行神。

17、经网络模型的操作的情况下, 在神经网络层之间的推理期 间的存储器的使用量和计算机的使用量可以减少, 但是推理的准确性可能劣化。 0032 因此, 可以使用用于提高推理精度的各种量子化算法。 0033 例如, 在将w矩阵的参数值量子化为具有k个数量的比特数的情况下, 可以使用满 足公式1的条件的各种算法。 0034 公式1 0035其中bi-1, +1n, 0036 为了满足公式1的条件, 作为示例, 可以使用交替算法(例如交替多比特算法) 等。 交替算法是重复地更新二进制数据和系数因子并找到使公式1变得最小的值的算法。 例如, 在交替算法中, 可以基于更新后的系数因子再次计算并更新二进制数据,。

18、 并且可以基 于更新后的二进制数据再次计算并更新系数因子。 可以重复该过程, 直到误差值变得小于 或等于特定值。 0037 交替算法可以保证高准确性, 但是可能需要大量的计算资源和操作时间用于更新 二进制数据和系数因子。 特别地, 在交替算法中, 在将参数值量子化为k个数量的比特的情 况下, 所有k个比特具有相似的重要程度, 因此只有当通过使用所有k个数量的比特来执行 神经网络模型的操作时, 准确的推理才是可能的。 0038 换言之, 在省略一些比特的同时执行神经网络模型的操作的情况下, 神经网络操 作的准确性可能劣化。 作为示例, 在电子装置100的资源受限的环境(例如, 设备上的人工智 能。

19、芯片环境)中, 在考虑到电子装置100的资源而仅通过使用一些比特来执行神经网络模型 的操作的情况下, 神经网络操作的准确性可能劣化。 0039 因此, 会需要可以对有限的硬件资源灵活响应的算法。 作为示例, 对于矩阵的参数 值的量子化, 可以使用贪婪算法, 其对参数值进行量子化使得二进制数据的每个比特具有 彼此不同的重要程度。 0040 在通过使用贪婪算法将矩阵的参数值量子化为k个数量的比特的情况下, 可以通 说明书 3/10 页 6 CN 112052943 A 6 过使用公式2来计算公式1中k个数量的比特的第一二进制数据和系数因子。 0041 公式2 0042 0043 接下来, 第i比特。

20、(1ik)可以向r重复与公式3中相同的计算, r是原始参数值 与第一量子化的值之间的差值。 即, 通过凭借使用在计算(i-1)比特之后剩余的残差来计算 第i比特, 可以获得具有k个数量的比特的量子化的矩阵的参数值。 0044 公式3 0045其中 0046 因此, 可以获取具有k个数量的比特的量子化的矩阵的参数值。 0047 除了以上所述之外, 为了进一步最小化矩阵的原始参数值与量子化的参数值之间 的误差, 可以使用基于贪婪算法的精细贪婪算法。 精细贪婪算法可以通过使用经由贪婪算 法确定的矢量b来更新如公式4中的系数因子。 0048 公式4 0049其中Bjb1, ., bj, 0050 在使。

21、用贪婪算法(或精细贪婪算法)的情况下, 随着比特的顺序变高, 系数因子的 值变小, 因此, 比特的重要程度降低。 因此, 即使对于具有高比特顺序的比特省略操作, 也几 乎不影响神经网络的推理。 在神经网络模型中, 故意地将噪声应用于参数值的约10的方 法可以用于提高推理的准确性。 在这种情况下, 即使在省略由贪婪算法量子化的二进制数 据的一些比特的同时执行操作, 也难以认为神经网络的推理准确性总体上劣化。 而是, 可能 发生神经网络的推理准确性得到相当程序地提高的情形。 0051 在将矩阵的参数值量子化为包括具有不同重要程度的比特的情况下, 考虑到给定 计算资源的要求(例如功耗、 操作时间)的。

22、神经网络模型的自适应操作变为可能。 即, 根据各 种神经网络模型中的每个的重要程度来调整神经网络模型的性能变为可能。 0052 此外, 在不必费力针对每个神经网络模型考虑量子化的比特的最佳数量的情况 下, 根据在装入一定程度量子化的矩阵之后的条件或受限的条件灵活地调整将要应用于神 经网络模型的量子化的比特的数量变为可能。 此外, 可以节省为每个神经网络模型找到最 佳运行条件所需的开发成本。 0053 图1中的处理器120可以控制电子装置100的总体操作。 处理器120可以是通用处理 器(例如中央处理单元(CPU)或应用处理器)、 图形专用处理器(例如GPU)或执行处理的片上 系统(SoC)(例。

23、如设备上人工智能(AI)芯片)、 大规模集成(LSI)、 或现场可编程门阵列 (FPGA)。 处理器120可以包括CPU、 微控制器单元(MCU)、 微处理单元(MPU)、 控制器、 应用处理 器(AP)或通信处理器(CP)以及ARM处理器中的一个或更多个, 或者可以由术语定义。 0054 虽然处理器120在存储器110中存储具有彼此不同的重要程度的多个数据, 但是处 理器120可以基于用于电子装置100的硬件的资源信息根据存储在存储器110中的所述多个 数据中的每个的重要程度来获得在所述多个数据之中的将用于神经网络模型的操作的一 些数据。 作为示例, 在所述多个数据包括二进制数据作为量子化的。

24、矩阵的参数值的情况下, 说明书 4/10 页 7 CN 112052943 A 7 处理器120可以获得所述多个数据之中的将用于神经网络模型的操作的二进制数据的数 量。 例如, 随着二进制数据的比特顺序增加, 重要程度可以降低。 0055 当获得将用于神经网络模型的操作的一些数据时, 处理器120可以通过使用所获 得的一些数据来执行神经网络模型的操作。 作为示例, 处理器120可以对输入值以及二进制 数据的每个比特执行矩阵运算, 并且对每个比特的运算结果求和并获取输出值。 在存在多 个神经网络处理单元的情况下, 处理器120可以基于二进制数据的每个比特的顺序使用多 个神经网络处理单元来执行矩阵。

25、并行运算。 0056 图2是示出根据一实施例的包括处理单元的用于神经网络操作的部件的框图。 0057 图2的框图被包括在其中的电子装置100可以包括例如通过使用硬件执行神经网 络推理的设备上人工智能芯片。 0058 用于通过使用硬件的神经网络推理的矩阵的参数值可以例如处于通过使用贪婪 算法被量子化的状态, 从而可以选择性地使用重要的二进制数据。 作为量子化的参数值的 二进制数据的重要程度可以随着比特顺序增加而降低。 0059 在图2中, 电子装置100可以包括调度器210、 自适应控制器220、 直接存储器存取控 制器(DMAC)230、 处理单元240和累加器250。 调度器210、 自适应。

26、控制器220、 直接存储器存取 控制器230、 处理单元240或累加器250中的至少一个可以被实现为软件和/或硬件。 例如, 调 度器210、 自适应控制器220、 直接存储器存取控制器230、 处理单元240和累加器250可以是 处理器120的功能块。 作为另一示例, 调度器210、 自适应控制器220和直接存储器存取控制 器230是第一处理器(其是处理器120的子处理器)的功能块, 处理单元240和累加器250可以 是第二处理器(其是处理器120的另一子处理器)的功能块。 第一处理器是负责第二处理器 的控制的处理器, 第二处理器是针对操作而优化的处理器, 例如, 其可以是人工智能处理器 或。

27、图形处理器。 0060 调度器210可以接收与硬件有关的资源信息以及请求运行神经网络模型的指令。 0061 响应于请求运行神经网络模型的指令, 调度器210可以参照查找表270来确定将用 于每个神经网络模型的操作的量子化的比特的数量。 查找表可以存储在处理器120的只读 存储器(ROM)或随机存取存储器(RAM)区域中, 或者存储在处理器120外部的存储器110中。 0062 查找表可以存储例如k个数量的调度模式。 在这种情况下, 可以针对每种调度模式 预先定义将用于神经网络模型的操作的量子化的比特的数量。 例如, 可以根据神经网络模 型的重要程度来不同地限定量子化的比特的数量。 0063 调。

28、度器210可以首先确定用于根据请求指令以高于一定水平的准确程度执行推理 作业的硬件条件。 例如, 调度器210可以确定以下作为硬件条件: 处理单元240用于执行推理 作业的操作的总数; 功耗, 其是用于神经网络模型的操作过程的功率; 以及延迟, 其是直到 获取输出值为止的时间, 该输出值是神经网络模型的操作时间。 调度器210可以将当前可用 的硬件资源信息(例如每时间功耗、 延迟)与用于执行推理作业的硬件条件进行比较, 并确 定用于每个神经网络模型的量子化的比特的数量。 0064 将通过图3中的调度语法更详细地描述调度器210确定用于每个神经网络模型的 量子化的比特的数量的过程。 0065 自。

29、适应控制器220可以控制神经网络模型的操作顺序, 或者可以执行控制, 使得在 每个神经网络模型具有彼此不同的比特量时执行操作。 说明书 5/10 页 8 CN 112052943 A 8 0066 例如, 自适应控制器220可以考虑从调度器210获取的用于每个神经网络模型的量 子化的比特的数量来控制处理单元240和直接存储器存取控制器230。 或者, 自适应控制器 220可以从调度器210获取与硬件资源有关的资源信息, 并考虑到这一点来确定将用于神经 网络模型的操作的量子化的比特的数量。 0067 自适应控制器220可以控制处理单元240和直接存储器存取控制器230, 从而执行 控制, 使得特。

30、定数量之后的量子化的比特不用于神经网络模型的操作。 0068 直接存储器存取控制器230可以执行控制, 使得存储在存储器110中的输入值和量 子化的参数值通过自适应控制器220的控制被提供给处理单元240。 在存储器110中, 量子化 的参数值可以根据比特的顺序对齐并存储。 例如, 第一比特的量子化的参数值可以被对齐 为一种数据格式并被存储, 第二比特的量子化的参数值可以被对齐为一种数据格式并被存 储, 并且相继地, 第N比特的量子化参数值可以被对齐为一种数据格式并存储。 在这种情况 下, 直接存储器存取控制器230可以执行控制, 使得存储在存储器110中的第一比特的量子 化的参数值至第N比特。

31、的量子化的参数值通过自适应控制器220的控制被依次提供给处理 单元240。 或者, 直接存储器存取控制器230可以执行控制, 使得第一比特至第K比特(NK)的 量子化的参数值被依次提供给处理单元240。 0069 处理单元240可以通过使用从存储器110接收的输入值和量子化的参数值来执行 矩阵运算, 并获取对于每个比特顺序的运算结果, 累加器250可以对每个比特顺序的运算结 果求和, 并获取输出结果(或输出值)。 0070 作为示例, 在将参数值量子化为N个比特的情况下, 处理单元240可以调用N次用于 矩阵的乘法运算, 并且可以针对第一比特至第N比特依次执行运算。 0071 图3示出了根据一。

32、实施例的在调度器210处执行的调度语法的示例。 0072 在图3中, 调度语法的定义部分310可以预先定义:运行模式 (Execution Model), 其具有神经网络模型(例如语音识别模型、 图像识别模型等)作为值, 该神经网络模 型是运行的对象;约束 (Constraints), 其具有与硬件资源有关的信息(例如功耗、 延迟) 作为值;模式 (mode), 其具有调度模式作为值;最大成本 (max_cost), 其是考虑到从查 找表获取的硬件资源的最大操作成本; 以及 成本 (成本), 其是相对于神经网络模型从查 找表获取的操作成本。 0073 调度模式可以例如包括在查找表中, 并定义将。

33、用于每个神经网络模型的操作的量 子化的比特的最佳数量。 作为示例, 在图3中, 定义了16种调度模式, 并且可以定义, 在0模式 的情况下, 所有神经网络模型以全精度运行, 在第15模式的情况下, 所有神经网络模型通过 仅使用1比特来计算, 以及在第2模式下, 例如, 语音识别模型使用3比特作为量子化的比特 数据, 图像识别模型使用2比特作为量子化的比特数据。 0074 在图3中, while条件句320可以考虑到硬件资源根据当前调度模式和最大操作成 本来比较神经网络模型的操作成本。 0075 作为比较的结果, 当考虑到硬件资源确定用于每个神经网络模型的最佳调度模式 时, 调度器210可以从查。

34、找表获取在当前硬件条件下将用于每个神经网络模型的量子化的 比特的最佳数量作为调度语法的返回值330, 并将其提供给自适应控制器220。 0076 图4是示出根据一实施例的用于包括多个处理单元的神经网络操作的部件的框 图。 说明书 6/10 页 9 CN 112052943 A 9 0077 在图4中, 在处理器120的操作区域中有空闲空间的情况下, 多个处理单元241至 244(例如第一处理单元241、 第二处理单元242、 第三处理单元243和第四处理单元244)可以 提供在处理器120中。 在这种情况下, 可以通过使用多个处理单元241至244来执行并行操 作。 0078 以上参照图2描述。

35、了调度器210、 自适应控制器220、 直接存储器存取控制器230和 累加器250, 因此将省略重复的描述。 0079 在图4中, 多个处理单元241至244可以基于比特顺序执行矩阵并行运算。 例如, 第 一处理单元241可以相对于输入值和第一量子化的比特执行操作, 第二处理单元242可以相 对于输入值和第二量子化的比特执行操作, 第三处理单元243可以相对于输入值和第三量 子化的比特执行操作, 第四处理单元244可以相对于输入值和第四量子化的比特执行操作。 加法器260可以收集多个处理单元241至244的操作结果, 并将它们发送到累加器250。 0080 在使用多个处理单元241至244的情。

36、况下, 自适应控制器220可以控制多个处理单 元241至244中的每个。 直接存储器存取控制器230可以控制存储器110, 使得考虑到多个处 理单元241至244中的每个所处理的比特顺序, 量子化的参数值在根据比特顺序被区分的同 时被输入。 特别地, 在使用多个处理单元241至244的情形下, 调度器210可以根据多个处理 单元241至244的操作以及神经网络操作的延迟进一步考虑到处理器的功耗来确定调度模 式。 0081 在通过使用多个处理单元241至244执行神经网络模型的操作的情况下, 在存储器 110中, 量子化的参数值可以针对每个比特顺序被重新对齐并存储。 0082 图5是示出根据一实。

37、施例的针对每个比特顺序将量子化的参数值存储在存储器 110中的过程的示图。 0083 例如, 在图5中, 实数类型的32比特参数值可以作为神经网络模型的参数值存在。 在这种情况下, 如果参数值被量子化为3比特, 则实数类型的参数值可以被表示为系数因子 521以及3比特522、 523、 524的二进制数据(图5中的数字520)。 0084 为了多个处理单元241至244的有效操作, 可以重新对齐量子化的参数值。 如图5中 的附图标记530所示, 量子化的参数值可以根据比特顺序重新对齐。 例如, 相对于图4中的第 一处理单元241、 第二处理单元242和第三处理单元243中的每个, 量子化的参数。

38、值可以如图 5中的附图标记531、 532和533所示地重新对齐并被存储在存储器110中。 0085 图6示出了量子化的参数值被存储在存储器110中的状态。 在一实施例中, 存储器 110可以包括DRAM 600。 量子化的参数值可以根据比特顺序对齐并存储在DRAM 600中。 在这 种情况下, 32个二进制数据可以被包括在32比特字值中。 0086 如上所述, 量子化的参数值以字为单位存储在存储器110中, 以对应于多个处理单 元241至244中的每个的操作, 因此, 用于神经网络操作的量子化的参数值可以从存储器110 被有效地读取并被发送到多个处理单元241至244中的每个。 0087 图。

39、7是示出根据一实施例的用于电子装置100执行操作的方法的流程图。 0088 可以已将用于神经网络模型的操作的具有彼此不同的重要程度的多个数据存储 在存储器中。 具有彼此不同的重要程度的所述多个数据可以包括用于神经网络模型的操作 的量子化的矩阵的参数值。 量子化的矩阵的参数值可以包括具有彼此不同的重要程度的二 进制数据。 例如, 随着二进制数据的比特顺序增加, 二进制数据的重要程度可能降低。 量子 说明书 7/10 页 10 CN 112052943 A 10 化的矩阵的参数值可以包括通过使用贪婪算法量子化的矩阵的参数值。 0089 在图7的操作701中, 在具有彼此不同的重要程度的所述多个数据。

40、存储在存储器中 时, 电子装置100可以获取与硬件有关的资源信息。 与硬件有关的资源信息可以包括例如电 子装置100的功耗、 执行神经网络模型的操作的处理单元的数量、 类型和/或规格、 或神经网 络模型的延迟中的至少一项。 0090 在图7的操作703中, 基于所获取的资源信息, 电子装置100可以根据所述多个数据 中的每个的重要程度获得所述多个数据之中的将用于神经网络模型的操作的一些数据。 例 如, 电子装置100可以参照在其中定义了多个调度模式的查找表来获得用于神经网络模型 的操作的一些数据。 电子装置100可以获得所述多个数据之中的用于神经网络模型的二进 制数据的数量。 0091 在图7。

41、的操作705中, 电子装置100可以通过使用所获得的一些数据来执行神经网 络模型的操作。 例如, 电子装置100可以对输入值和二进制数据的每个比特执行矩阵运算, 并且对每个比特的运算结果求和并获取输出值。 或者, 在存在多个神经网络处理单元的情 况下, 电子装置100可以使用所述多个神经网络处理单元来执行矩阵并行运算。 0092 根据本公开的实施例, 可以在电子装置100上提供多个神经网络模型。 所述多个神 经网络模型可以例如被实现为至少一个设备上芯片并被提供在电子装置100上, 或者可以 作为软件存储在电子装置100的存储器110中。 对于考虑到有限硬件资源的自适应操作, 电 子装置100可。

42、以获取与硬件有关的资源信息, 并基于所获取的资源信息来确定所述多个神 经网络模型之中的将操作的至少一个神经网络模型。 例如, 电子装置100可以考虑到神经网 络模型的推理的准确性或操作速度根据优先级来确定至少一个神经网络模型。 0093 根据本公开的实施例, 电子装置100可以从外部装置下载所述多个神经网络模型 之中的将操作的至少一个神经网络模型。 例如, 对于考虑到有限硬件资源的自适应操作, 电 子装置100可以获取与电子装置100的硬件有关的资源信息, 并将所获取的资源信息发送到 外部装置。 当外部装置基于所获取的资源信息向电子装置100发送至少一个神经网络模型 时, 电子装置100可以将。

43、接收到的神经网络模型存储在存储器110中, 并在执行推理功能时 使用它。 在这种情况下, 可以为电子装置100提供用于推理的最小神经网络模型, 因此可以 减少电子装置100的内部资源的消耗或与用于与服务器的通信的网络资源的消耗, 并为推 理的请求提供快速的结果。 0094 图8是示出根据一实施例的电子装置100的详细配置的框图。 0095 根据图8, 电子装置100包括存储器110、 处理器120、 通信器130、 用户界面140、 显示 器150、 音频处理器160和视频处理器170。 在图8所示的部件之中, 关于与图1所示的部件重 叠的部分, 将省略详细描述。 0096 处理器120通过使。

44、用存储在存储器110中的各种程序来控制电子装置100的总体操 作。 0097 具体地, 处理器120包括RAM 121、 ROM 122、 主CPU 123、 图形处理器124、 第一接口 125-1至第n接口125-n以及总线126。 0098 RAM 121、 ROM 122、 主CPU 123、 图形处理器124以及第一接口125-1至第n接口125- n可以通过总线126彼此连接。 0099 第一接口125-1至第n接口125-n与上述各种部件连接。 接口之一可以是通过网络 说明书 8/10 页 11 CN 112052943 A 11 与外部装置连接的网络接口。 0100 主CPU 。

45、123访问存储器110, 并通过使用存储在存储器110中的操作系统(OS)来行 启示。 然后, 主CPU 123通过使用存储在存储器110中的各种程序等来执行各种操作。 0101 ROM 122存储用于系统启示的一组指令等。 当输入开启指令并供电时, 主CPU 123 根据存储在ROM 122中的指令将存储在存储器110中的OS复制到RAM 121中, 并通过运行OS 来启动系统。 当启动完成时, 主CPU 123将存储在存储器110中的各种应用程序复制到RAM 121中, 并通过运行复制到RAM 121中的应用程序来执行各种操作。 0102 图形处理器124通过使用操作部分和渲染部分来生成包。

46、括诸如图标、 图像和文本 的各种对象的屏幕。 操作部分基于接收到的控制指令根据屏幕的布局来操作诸如坐标值、 形状、 大小和颜色的属性值, 将通过该属性值来显示每个对象。 渲染部分基于在操作部分处 生成的属性值来生成呈包括对象的各种布局的屏幕。 在渲染部分生成的屏幕显示在显示器 150的显示区域中。 0103 处理器120的上述操作可以由存储在存储器110中的程序执行。 0104 存储器110与处理器120分开提供, 并且可以实现为硬盘、 非易失性存储器、 易失性 存储器等。 0105 存储器110可以存储用于神经网络模型的操作的多个数据。 所述多个数据可以包 括例如量子化的矩阵的参数值。 01。

47、06 根据一实施例, 存储器110可以包括用于操作电子装置100的OS软件模块、 人工智 能模型、 量子化的人工智能模型或用于量子化人工智能模型的量子化模块(例如贪婪算法 模块)中的至少一个。 0107 通信器130是根据各种类型的通信方法与各种类型的外部装置执行通信的部件。 通信器130包括Wi-Fi芯片131、 蓝牙芯片132、 无线通信芯片133、 近场通信(NFC)芯片134等。 处理器120通过使用通信器130与各种外部装置执行通信。 0108 Wi-Fi芯片131和蓝牙芯片132分别通过使用Wi-Fi方法和蓝牙方法执行通信。 在使 用Wi-Fi芯片131或蓝牙芯片132的情况下, 。

48、首先发送和接收诸如服务集标识符(SSID)或会 话密钥的各种类型的连接信息, 并且通过使该信息执行通信的连接, 此后可以发送和接收 各种类型的信息。 无线通信芯片133是指根据诸如IEEE、 紫蜂(ZigBee)、 第三代(3G)第三代 合作伙伴计划(3GPP)和长期演进(LTE)的各种通信标准执行通信的芯片。 NFC芯片134是指 使用诸如135kHz、 13.56MHz、 433MHz、 860960MHz和2.45GHz的各种RF-ID频带之中的 13.56MHz频带以NFC方法操作的芯片。 0109 处理器120可以通过通信器130从外部装置接收人工智能模块、 人工智能模型中包 括的矩。

49、阵、 或量子化的矩阵中的至少一个的参数值, 并将接收到的数据存储在存储器中 110。 或者, 处理器120可以通过人工智能算法直接训练人工智能模型, 并将训练后的人工智 能模型存储在存储器110中。 人工智能模型可以包括至少一个矩阵。 0110 用户界面140接收各种用户交互。 用户界面140可以根据电子装置100的实现示例 以各种形式实现。 例如, 用户界面140可以是提供在电子装置100上的按钮、 接收用户语音的 麦克风、 检测用户动作的相机等。 当电子装置100被实现为基于触摸的电子装置时, 用户界 面140可以被实现为构成具有触摸板的层间结构的触摸屏。 在这种情况下, 用户界面140可。

50、 以用作显示器150。 说明书 9/10 页 12 CN 112052943 A 12 0111 音频处理器160是执行音频数据的处理的部件。 在音频处理器160处, 可以执行各 种类型的处理, 诸如音频数据的解码或放大、 噪声过滤等。 0112 视频处理器170是执行视频数据的处理的部件。 在视频处理器170处, 可以执行各 种类型的图像处理, 诸如视频数据的解码、 缩放、 噪声过滤、 帧速率转换和分辨率转换。 0113 通过如上所述的方法, 处理器120可以量子化包括在人工智能模型中的矩阵。 0114 本公开的实施例可以被实现为包括可由机器(例如计算机)读取的一个或更多个 指令的软件(例如。

展开阅读全文
内容关键字: 电子 装置 执行 操作 方法
关于本文
本文标题:电子装置和执行该电子装置的操作的方法.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10205120.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1