CN114625035A - 混合精度的人工智能处理器及其操作方法 - Google Patents
混合精度的人工智能处理器及其操作方法 Download PDFInfo
- Publication number
- CN114625035A CN114625035A CN202011474919.6A CN202011474919A CN114625035A CN 114625035 A CN114625035 A CN 114625035A CN 202011474919 A CN202011474919 A CN 202011474919A CN 114625035 A CN114625035 A CN 114625035A
- Authority
- CN
- China
- Prior art keywords
- format
- module
- mode
- input data
- artificial intelligence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 title claims description 31
- 238000013486 operation strategy Methods 0.000 claims abstract description 19
- 102100030148 Integrator complex subunit 8 Human genes 0.000 claims description 22
- 101710092891 Integrator complex subunit 8 Proteins 0.000 claims description 22
- 230000010354 integration Effects 0.000 claims description 18
- 238000003672 processing method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
- Advance Control (AREA)
Abstract
本发明提供一种混合精度的人工智能处理器及其处理方法。人工智能处理器包括一第一运算模块、一第二运算模块及一控制模块。第一运算模块用以基于具有一第一格式的数据进行运算。第二运算模块用以基于具有一第二格式的数据进行运算,且第二格式不同于第一格式。控制模块耦接至第一运算模块及第二运算模块,用以根据一输入数据及一运算策略选择第一运算模块或第二运算模块基于输入数据进行运算。
Description
技术领域
本发明是有关于一种混合精度的人工智能处理器及其操作方法。
背景技术
用于执行人工智能运算的处理器常见采用Int8、BF16及FP32其中之一的数据格式。在计算的精度上,FP32最高,BF16次高,而Int8最低。在计算速度(或称算力)上,Int8最高,BF16次高,而FP32最低。也就是说,使用单一的数据格式的人工智能处理器难以兼顾计算精度与计算速度。
发明内容
本发明实施例提供一种混合精度的人工智能处理器。人工智能处理器包括一第一运算模块、一第二运算模块及一控制模块。第一运算模块用以基于具有一第一格式的数据进行运算。第二运算模块用以基于具有一第二格式的数据进行运算,且第二格式不同于第一格式。控制模块耦接至第一运算模块及第二运算模块,用以根据一运算策略将人工智能处理器切换至一第一模式、一第二模式或一第三模式并根据一输入数据进行运算以得到一运算结果;其中运算策略包括执行多个运算中各运算时所使用的格式为第一格式或第二格式。于该第一模式,控制模块致能第一运算模块以基于输入数据进行运算,于第二模式,该控制模块致能第二运算模块以基于输入数据进行运算,于第三模式,对于各运算,控制模块根据运算策略致能第一运算模块或第二运算模式以基于输入数据或由输入数据所派生的一数据进行运算。
本发明另一实施例提供一种混合精度的人工智能处理器的操作方法,适用于一人工智能处理器。操作方法包括:接收一输入数据;以人工智能处理器的一控制模块根据一运算策略将人工智能处理器切换至一第一模式、一第二模式或一第三模式,并根据一输入数据进行运算以得到一运算结果;其中运算策略包括执行多个运算中各该运算时所使用的格式为一第一格式或一第二格式;当切换至第一模式,控制模块致能用以进行第一格式运算的一第一运算模块基于输入数据进行运算;当切换至第二模式,控制模块致能用以进行第二格式运算的一第二运算模块基于输入数据进行运算;以及当切换至第三模式,对于各运算,控制模块根据运算策略致能第一运算模块或第二运算模式基于输入数据或由输入数据所派生的一数据进行运算。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1绘示根据本发明一实施例的人工智能处理器的方块图。
图2绘示根据本发明一实施例的人工智能处理器的操作方法的流程图。
图3绘示根据本发明另一实施例的人工智能处理器的方块图。
图4绘示根据本发明另一实施例的人工智能处理器的操作方法的流程图。
附图标记
10、30:人工智能处理器
102:第一运算模块
104:第二运算模块
106、306:控制模块
302:整合运算模块
S201~S210、S401~S410:步骤
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
请参照图1,图1绘示根据本发明一实施例的人工智能处理器的方块图。人工智能处理器10可包括于一人工智能系统之中,用以执行人工智能系统所需的运算。人工智能处理器10包括一第一运算模块102、一第二运算模块104以及一控制模块106。第一运算模块102耦接至控制模块106。第一运算模块102用以运算一第一格式的数据。第二运算模块104耦接至控制模块106。第二运算模块104用以运算一第二格式的数据,且第二格式不同于第一格式。控制模块106用以根据一运算策略决定以第一运算模块102、第二运算模块104或上述两者的组合根据一输入数据进行运算以得到一运算结果。第一格式与第二格式例如是Int8、BF16、TF32等数值运算的格式的其中之二,其中Int8为八比特的整数运算格式,BF16为十六比特的浮点数运算格式,TF32为十九比特的浮点数运算格式。例如在一实施例中,第一格式为整数运算格式例如Int8,第二格式为浮点数运算格式例如BF16。详细来说,人工智能处理器10具有一第一模式、一第二模式及一第三模式。在第一模式下,人工智能处理器10以第一运算模块102根据输入数据进行运算以得到运算结果。在第二模式下,人工智能处理器10以第二运算模块104根据输入数据进行运算以得到运算结果。在第三模式下,人工智能处理器10以第一运算模块102与第二运算模块104的组合根据输入数据进行运算以得到运算结果。
第一运算模块102与第二运算模块104可为相互独立的二套电路。例如,第一运算模块102可藉由一第一电路实现,第二运算模块104可藉由一第二电路实现,其中第一电路与第二电路可分别包括用以执行各种运算的逻辑,例如加法器、乘法器、比较器等。在一实施例中,第一电路与第二电路相互独立,并通过集成电路布局整合于一个集成电路芯片上。
控制模块106可藉由硬件、固件、软件或上述三者的组合实现。举例来说,控制模块106可为一第三电路与一决策程序的组合,决策程序根据输入数据决定运算策略,并根据运算策略决定要使用第一模式、第二模式或是第三模式来根据输入数据进行运算。第三电路用以根据所要切换的模式指示及/或配置第一运算模块102及/或第二运算模块104的电路组态。运算策略例如是基于运算速度的要求、运算精度的要求、数据的带宽、功率消耗的要求及/或预设的顺序等来决定。具体而言,人工智能系统进行一次决策的整个流程通常需要进行一系列的多个「运算」,其中本文所定义的一个「运算」可以是如单一的加法、减法、乘法或除法的基础数学运算,或者如卷积(即积项和)等由多种基础数学运算组合成的复合式运算,或者是更为复杂的机械学习架构中的一个通道(channel)、一个层(layer)甚至一个网络(network)的运算。以人工智能系统对一张图像进行物件识别为例,人工智能系统会对该图像进行多次的滤镜处理来对该图像进行去背、锐化等处理,而各个滤镜处理在数学上可能是一次加法运算、乘法运算或卷积运算等。也就是说,在人工智能系统在进行一次物件识别的决策的过程中,输入数据(例如一张图片)需要经过一系列的数学运算(如加法、乘法、卷积等),而控制模块106可根据运算速度的要求、运算精度的要求、数据的带宽、功率消耗的要求等因素为此一系列运算中的各个运算决定要使用第一格式或是第二格式进行运算,借以决定出运算策略。例如,当此一系列的运算皆适合使用第一格式进行运算,则控制模块106会将人工智能处理器10切换为第一模式,当此一系列的运算皆适合使用第二格式进行运算,则控制模块106会将人工智能处理器10切换为第二模式,当此一系列的运算有部分的运算适合使用第一格式进行运算且有部分的运算适合使用第二模式进行运算,则控制模块106会将人工智能处理器10切换为第三模式。也就是说,运算决策代表的是此一系列运算中各个运算对应的运算格式。举例而言,此一系列运算包括一第一运算及一第二运算。控制模块106决定第一运算要以第一格式进行运算,且第二运算要以第二格式进行运算。于是,运算决策为[第一运算-第一格式,第二运算-第二格式]。控制模块106会将人工智能处理器10切换至第三模式,并且在要进行第一运算时指示/配置第一运算模块102执行运算,在要进行第二运算时指示/配置第二运算模块104执行运算。
请参照图2,图2绘示根据本发明一实施例的人工智能处理器的操作方法的流程图。图2的操作方法可应用于图1的人工智能处理器10。
在S201中,提供一输入数据至人工智能处理器。
在S203中,以人工智能处理器的一控制模块根据一运算策略将人工智能处理器切换至一第一模式、一第二模式或一第三模式,其中运算策略包括进行一次决策所要执行的多个运算中的各个运算所对应的运算格式为第一格式或是第二格式,在第一模式下仅以第一格式进行运算,第二模式下仅以第二格式进行运算,在第三模式下以第一格式及第二格式的组合进行运算。当切换至第一模式则执行S205;当切换至第二模式则切换至S207;当切换至第三模式则执行S209。
在S205中,控制模块致能第一运算模块。在一实施例中,控制模块进一步禁能第二运算模块。
在S206中,第一运算模块根据输入数据执行进行该次决策的该些运算。在一实施例中,若输入数据的格式非第一格式,则第一运算模块会将输入数据的格式转换为第一格式。
在S207中,控制模块致能第二运算模块。在一实施例中,控制模块进一步禁能第一运算模块。
在S208中,第二运算模块根据输入数据执行进行该次决策的该些运算。在一实施例中,若输入数据的格式非第二格式,则第二运算模块会将输入数据的格式转换为第二格式。
在S209中,对于进行该次决策的该些运算中的各个运算,控制模块根据运算策略致能第一运算模块与第二运算模块的其中之一。
在S210中,对于进行该次决策的该些运算中的各个运算,以被致能的第一运算模块与第二运算模块的其中之一根据输入数据或基于输入数据所派生的数据进行运算。
上述流程可针对人工智能系统执行一个决策所需进行的每一个运算。也就是说,人工智能系统执行一个决策所涉及的运算可全部由第一运算模块102进行,也可全部由第二运算模块104进行,或者是部分由第一运算模块102进行,其余部分由第二运算模块104进行。
藉由上述方式,可使得人工智能处理器10针对要求高精度运算时使用具有高精度数据格式的运算模块进行运算,而针对其他不要求高精度运算时使用低精度的数据格式的运算模块进行运算。如此一来,可以在兼顾运算精度的情况下,有效提升人工智能处理器的运算速度。
请参照图3,图3绘示根据本发明另一实施例的人工智能处理器的方块图。人工智能处理器30可包括于一人工智能系统之中,用以执行人工智能系统所需的运算。人工智能处理器30包括一整合运算模块302及一控制模块306。整合运算模块302耦接至控制模块306。人工智能处理器30与人工智能处理器10的差别在于,在人工智能处理器30中,第一运算模块与第二运算模块被整合为整合运算模块302。控制模块306可用以配置整合运算模块302,以将整合运算模块302配置为一第一配置或一第二配置。详细来说来说,处于第一配置下的整合运算模块302可执行与前一实施例的第一运算模块102相同或类似的运算,而处于第二配置下的整合运算模块302可执行与前一实施例的第二运算模块104相同或类似的运算。在一实施例中,整合运算模块302可通过令第一运算模块102与第二运算模块104共享部分电路元件并加入开关元件及/或多工器来实现。控制模块306可藉由发送信号控制开关元件及/或多工器的改变整合运算模块302的电路组态以实现将整合运算模块302切换于第一配置与第二配置之间的操作。
请参照图4,图4绘示根据本发明另一实施例的人工智能处理器的操作方法的流程图。图4的操作方法可应用于图3的人工智能处理器30。
在S401中,提供一输入数据至人工智能处理器。
在S403中,以人工智能处理器的一控制模块根据一运算策略将人工智能处理器切换至一第一模式、一第二模式或一第三模式,其中运算策略包括进行一次决策所要执行的多个运算中的各个运算所对应的运算格式为第一格式或是第二格式,在第一模式下仅以第一格式进行运算,第二模式下仅以第二格式进行运算,在第三模式下以第一格式与第二格式的组合进行运算。当切换至第一模式则执行S405;当切换至第二模式则切换至S407;当切换至第三模式则执行S409。
在S405中,控制模块配置整合运算模块为第一配置。
在S406中,整合运算模块根据输入数据执行进行该次决策的该些运算。在一实施例中,若输入数据的格式非第一格式,则整合运算模块会将输入数据的格式转换为第一格式。
在S407中,控制模块配置整合运算模块为第二配置。
在S408中,整合运算模块根据输入数据执行进行该次决策的该些运算。在一实施例中,若输入数据的格式非第二格式,则整合运算模块会将输入数据的格式转换为第二格式。
在S409中,对于进行该次决策的该些运算中的各个运算,控制模块根据运算策略配置整合运算模块为第一配置及第二配置的其中之一。
在S410中,对于进行该次决策的该些运算中的各个运算,以整合运算模块根据输入数据或基于输入数据所派生的数据进行运算。
在S409中,将输入数据转换为相同于所选的第一模式及第二模式的其中之一所用的数据格式,控制模块将整合运算模块切换为所选的第一模式及第二模式的其中之一并指示整合运算模块根据输入数据进行运算以得到一运算结果。
在一实施例中,人工智能系统执行一次决策可能会根据多笔不同的数据,例如多个图像、表格及数据等,使得在执行一次决策中的部分运算为相互独立的。在这样的实施例中,控制模块106、306可排程多个运算,以使得这些运算中要使用第一格式进行运算者在时间上被排程在一起,而这些运算中要使用第二格式进行运算者在时间上被排程在一起。如此一来,可以减少数据格式转换的次数,提高人工智能处理器的运算速度。此外,在采用图1的人工智能处理器10的人工智能系统中,第一运算模块102与第二运算模块104的运作是独立的,故可同时执行运算操作。如此一来,可进一步提升人工智能处理器的运算速度。
以应用Yolo_v3_416版本,但采用不同人工智能处理器的多个人工智能系统进行测试,在提供相同数据组进行同一系列的运算的前提下进行实验。在运算结果的精度(正确性)上,以采用FP32单精度的人工智能处理器为基准100%,采用Int8单精度的人工智能处理器为90%,采用BF16单精度的人工智能处理器为100%,采用Int8与BF16混合精度的人工智能处理器为99%。在效能(运算速度)上,以采用Int8单精度的人工智能处理器为基准100%,采用BF16单精度的人工智能处理器为26%,采用Int8与BF16混合精度的人工智能处理器为96%。由上面的实验数据可以得知,虽然采用Int8与BF16混合精度的人工智能处理器相较于采用BF16单精度的人工智能处理器略微降低了运算结果的正确性(由100%降为99%),然而却大幅提高了运算速度(由26%提升为96%)。在另一种实际测试中,以应用mobilenet_v1_0.25版本,采用不同人工智能处理器的多个人工智能系统进行测试,在提供相同数据组进行同一系列的运算的前提下进行实验。在运算结果的精度(正确性)上,以采用FP32单精度的人工智能处理器为基准100%,采用Int8单精度的人工智能处理器为85.8%,采用BF16单精度的人工智能处理器为97.6%,采用Int8与BF16混合精度其中BF16运算量占Int8与BF16总运算量的15%的人工智能处理器为96.1%。在效能(运算速度)上,以采用Int8单精度的人工智能处理器为基准100%,采用BF16单精度的人工智能处理器为50%,采用Int8与BF16混合精度其中BF16运算量占Int8与BF16总运算量的15%的人工智能处理器为69%。由此实验数据可以得知,虽然采用Int8与BF16混合精度的人工智能处理器相较于采用BF16单精度的人工智能处理器略微降低了运算结果的正确性(由97.6%降为96.1%),然而却提高了运算速度(由50%提升为69%)。
综合上述,本发明提出的混合精度的人工智能处理器可以根据实际的效能与精度要求,从三种模式(纯整数、纯浮点数与整数混合浮点数)中选择最适合的一种来执行运算。相较于只具有单精度的人工智能处理器,本发明提出的人工智能处理器更为灵活且贴近实际需求。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (20)
1.一种混合精度的人工智能处理器,其特征在于,包括:
一第一运算模块,用以基于具有一第一格式的数据进行运算;
一第二运算模块,用以基于具有一第二格式的数据进行运算,且该第二格式不同于该第一格式;
一控制模块,耦接至该第一运算模块及该第二运算模块,用以根据一运算策略将该人工智能处理器切换至一第一模式、一第二模式或一第三模式,并根据一输入数据进行运算以得到一运算结果;
其中该运算策略包括执行多个运算中各该运算时所使用的格式为该第一格式或该第二格式,于该第一模式,该控制模块致能该第一运算模块以基于该输入数据进行运算,于该第二模式,该控制模块致能该第二运算模块以基于该输入数据进行运算,于该第三模式,对于各该运算,该控制模块根据该运算策略致能该第一运算模块或该第二运算模式以基于该输入数据或由该输入数据所派生的一数据进行运算。
2.如权利要求1所述的人工智能处理器,其特征在于,其中该第一运算模块及该第二运算模块更用以判断该输入数据的一数据格式是否相同于自身使用的该第一格式或该第二格式,若该数据格式不同于自身使用的该第一格式或该第二格式,则将该输入数据由该数据格式转换为自身使用的该第一格式或该第二格式。
3.如权利要求1所述的人工智能处理器,其特征在于,其中该运算策略是基于运算速度的要求、运算精度的要求、数据的带宽及/或功率消耗的要求而决定。
4.如权利要求1所述的人工智能处理器,其特征在于,其中该第一格式为Int8,该第二格式为BF16或TF32。
5.如权利要求1所述的人工智能处理器,其特征在于,其中该控制模块可为硬件、固件、软件或三者的组合。
6.一种混合精度的人工智能处理器的操作方法,适用于一人工智能处理器,其特征在于,该操作方法包括:
接收一输入数据;以及
以该人工智能处理器的一控制模块根据一运算策略将该人工智能处理器切换至一第一模式、一第二模式或一第三模式,其中该运算策略包括执行多个运算中各该运算时所使用的格式为一第一格式或一第二格式;
当切换至该第一模式,该控制模块致能用以进行该第一格式运算的一第一运算模块基于该输入数据进行运算;
当切换至该第二模式,该控制模块致能用以进行该第二格式运算的一第二运算模块基于该输入数据进行运算;以及
当切换至该第三模式,对于各该运算,该控制模块根据该运算策略致能该第一运算模块或该第二运算模式基于该输入数据或由该输入数据所派生的一数据进行运算。
7.如权利要求6所述的操作方法,其特征在于,更包括:
该第一运算模块或该第二运算模块判断该输入数据的一数据格式是否相同于自身使用的该第一格式或该第二格式,若该数据格式不同于自身使用的该第一格式或该第二格式,则将该输入数据由该数据格式转换为自身使用的该第一格式或该第二格式。
8.如权利要求6所述的操作方法,其特征在于,其中该运算策略是基于运算速度的要求、运算精度的要求、数据的带宽及/或功率消耗的要求而决定。
9.如权利要求6所述的操作方法,其特征在于,其中该控制模块可为硬件、固件、软件或三者的组合。
10.如权利要求6所述的操作方法,其特征在于,其中该第一格式为Int8,该第二格式为BF16或TF32。
11.一种混合精度的人工智能处理器,其特征在于,包括:
一整合运算模块,具有一第一配置及一第二配置,于该第一配置时用以基于具有一第一格式的数据进行运算,于该第二配置时,用以基于具有一第二格式的数据进行运算,且该第二格式不同于该第一格式;
一控制模块,耦接至该整合运算模块,用以根据一运算策略将该人工智能处理器切换至一第一模式、一第二模式或一第三模式,并根据一输入数据进行运算以得到一运算结果;
其中该运算策略包括执行多个运算中各该运算时所使用的格式为该第一格式或该第二格式,于该第一模式,该控制模块配置该整合运算模块为该第一配置以基于该输入数据进行运算,于该第二模式,该控制模块配置该整合运算模块为该第二配置以基于该输入数据进行运算,于该第三模式,对于各该运算,该控制模块根据该运算策略配置该整合运算模块为该第一配置或该第二配置以基于该输入数据或由该输入数据所派生的一数据进行运算。
12.如权利要求11所述的人工智能处理器,其特征在于,其中该整合运算模块更用以判断该输入数据的一数据格式是否相同于自身被配置的该第一配置或该第二配置所使用的该第一格式或该第二格式,若该数据格式不同于自身被配置的该第一配置或第二配置所使用的该第一格式或该第二格式,则将该输入数据由该数据格式转换为自身使用的该第一格式或该第二格式。
13.如权利要求11所述的人工智能处理器,其特征在于,其中该运算策略是基于运算速度的要求、运算精度的要求、数据的带宽及/或功率消耗的要求而决定。
14.如权利要求11所述的人工智能处理器,其特征在于,其中该第一格式为Int8,该第二格式为BF16或TF32。
15.如权利要求11所述的人工智能处理器,其特征在于,其中该控制模块可为硬件、固件、软件或三者的组合。
16.一种混合精度的人工智能处理器的操作方法,适用于一人工智能处理器,其特征在于,该操作方法包括:
接收一输入数据;以及
以该人工智能处理器的一控制模块根据一运算策略将该人工智能处理器切换至一第一模式、一第二模式或一第三模式,其中该运算策略包括执行多个运算中各该运算时所使用的格式为一第一格式或一第二格式;
当切换至该第一模式,该控制模块配置一整合运算模块为一第一配置基于该输入数据以该第一格式进行运算;
当切换至该第二模式,该控制模块配置该整合运算模块为一第二配置基于该输入数据以该第二格式进行运算;以及
当切换至该第三模式,对于各该运算,该控制模块根据该运算策略配置该整合运算模块为该第一配置或该第二配置基于该输入数据或由该输入数据所派生的一数据以该第一格式或该第二格式进行运算。
17.如权利要求16所述的操作方法,其特征在于,更包括:
该整合运算模块更用以判断该输入数据的一数据格式是否相同于自身被配置的该第一配置或该第二配置所使用的该第一格式或该第二格式,若该数据格式不同于自身被配置的该第一配置或第二配置所使用的该第一格式或该第二格式,则将该输入数据由该数据格式转换为自身使用的该第一格式或该第二格式。
18.如权利要求16所述的操作方法,其特征在于,其中该运算策略是基于运算速度的要求、运算精度的要求、数据的带宽及/或功率消耗的要求而决定。
19.如权利要求16所述的操作方法,其特征在于,其中该控制模块可为硬件、固件、软件或三者的组合。
20.如权利要求16所述的操作方法,其特征在于,其中该第一格式为Int8,该第二格式为BF16或TF32。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011474919.6A CN114625035A (zh) | 2020-12-14 | 2020-12-14 | 混合精度的人工智能处理器及其操作方法 |
US17/550,982 US20220188673A1 (en) | 2020-12-14 | 2021-12-14 | Mixed-precision ai processor and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011474919.6A CN114625035A (zh) | 2020-12-14 | 2020-12-14 | 混合精度的人工智能处理器及其操作方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114625035A true CN114625035A (zh) | 2022-06-14 |
Family
ID=81896730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011474919.6A Pending CN114625035A (zh) | 2020-12-14 | 2020-12-14 | 混合精度的人工智能处理器及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220188673A1 (zh) |
CN (1) | CN114625035A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050040800A (ko) * | 2003-10-29 | 2005-05-03 | 야마하 가부시키가이샤 | 오디오 신호 프로세서 |
CN101359284A (zh) * | 2006-02-06 | 2009-02-04 | 威盛电子股份有限公司 | 处理数个不同数据格式的乘法累加单元及其方法 |
CN104932380A (zh) * | 2015-06-19 | 2015-09-23 | 中国船舶重工集团公司第七二六研究所 | 多模式多通道的电源实时监控系统及方法 |
CN109710895A (zh) * | 2018-11-16 | 2019-05-03 | 中车齐齐哈尔车辆有限公司大连研发中心 | 处理数据的方法、装置和系统 |
CN109740729A (zh) * | 2018-12-14 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 运算方法、装置及相关产品 |
CN111432191A (zh) * | 2019-01-09 | 2020-07-17 | 三星电子株式会社 | 图像处理系统、图像信号处理器及其操作方法 |
US20200341761A1 (en) * | 2019-04-29 | 2020-10-29 | Micron Technology, Inc. | Bit sting operations using a computing tile |
-
2020
- 2020-12-14 CN CN202011474919.6A patent/CN114625035A/zh active Pending
-
2021
- 2021-12-14 US US17/550,982 patent/US20220188673A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050040800A (ko) * | 2003-10-29 | 2005-05-03 | 야마하 가부시키가이샤 | 오디오 신호 프로세서 |
CN101359284A (zh) * | 2006-02-06 | 2009-02-04 | 威盛电子股份有限公司 | 处理数个不同数据格式的乘法累加单元及其方法 |
CN104932380A (zh) * | 2015-06-19 | 2015-09-23 | 中国船舶重工集团公司第七二六研究所 | 多模式多通道的电源实时监控系统及方法 |
CN109710895A (zh) * | 2018-11-16 | 2019-05-03 | 中车齐齐哈尔车辆有限公司大连研发中心 | 处理数据的方法、装置和系统 |
CN109740729A (zh) * | 2018-12-14 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 运算方法、装置及相关产品 |
CN111432191A (zh) * | 2019-01-09 | 2020-07-17 | 三星电子株式会社 | 图像处理系统、图像信号处理器及其操作方法 |
US20200341761A1 (en) * | 2019-04-29 | 2020-10-29 | Micron Technology, Inc. | Bit sting operations using a computing tile |
Also Published As
Publication number | Publication date |
---|---|
US20220188673A1 (en) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3660629B1 (en) | Data processing apparatus and method | |
JP2007166535A (ja) | デジタルフィルタ | |
US11354097B2 (en) | Compressor circuit, Wallace tree circuit, multiplier circuit, chip, and device | |
US20070074001A1 (en) | Reconfigurable integrated circuit device | |
WO2021159929A1 (zh) | 拓扑图转换系统及其方法 | |
CN110955734A (zh) | 逻辑节点的分布式签名决策系统及其方法 | |
JP2022512211A (ja) | 画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム | |
CN112214097A (zh) | 减少低阈值单元的实现方法、装置、设备及存储介质 | |
CN100389399C (zh) | 一种芯片验证的方法及系统 | |
CN113935480B (zh) | 面向神经网络在线学习的激活函数加速处理单元 | |
CN114625035A (zh) | 混合精度的人工智能处理器及其操作方法 | |
CN110537173B (zh) | 用以切换可配置逻辑单元的设备及方法 | |
WO2023151460A1 (zh) | 数据处理方法、装置、芯片及介质 | |
CN116841753A (zh) | 一种流处理和批处理的切换方法及切换装置 | |
EP1116101B1 (en) | Arithmetic unit with, and method of selectively delaying a multiplication result | |
CN109582279B (zh) | 数据运算装置及相关产品 | |
US20050289328A1 (en) | Reconfigurable processor and semiconductor device | |
CN110673802B (zh) | 数据存储方法、装置、芯片、电子设备和板卡 | |
CN111258641B (zh) | 运算方法、装置及相关产品 | |
Bui et al. | A hardware/software co-design approach for real-time object detection and tracking on embedded devices | |
KR101986669B1 (ko) | Vliw 프로세서와 명령 구조와 명령 실행 방법 | |
JP2552710B2 (ja) | 画像処理装置 | |
CN113095495B (zh) | 卷积神经网络模块的控制方法 | |
CN117194041B (zh) | 一种用于高性能计算机的并行优化方法及系统 | |
US11050965B1 (en) | Image sensor and image recognition apparatus using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |