CN106991477B - 一种人工神经网络压缩编码装置和方法 - Google Patents

一种人工神经网络压缩编码装置和方法 Download PDF

Info

Publication number
CN106991477B
CN106991477B CN201610039026.6A CN201610039026A CN106991477B CN 106991477 B CN106991477 B CN 106991477B CN 201610039026 A CN201610039026 A CN 201610039026A CN 106991477 B CN106991477 B CN 106991477B
Authority
CN
China
Prior art keywords
neural network
artificial neural
data
unit
weight
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.)
Active
Application number
CN201610039026.6A
Other languages
English (en)
Other versions
CN106991477A (zh
Inventor
陈天石
刘少礼
郭崎
陈云霁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Cambrian Technology Co Ltd
Original Assignee
Cambricon Technologies Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN201810151978.6A priority Critical patent/CN108427990B/zh
Priority to CN201610039026.6A priority patent/CN106991477B/zh
Priority to PCT/CN2016/078448 priority patent/WO2017124644A1/zh
Publication of CN106991477A publication Critical patent/CN106991477A/zh
Priority to US16/041,160 priority patent/US10402725B2/en
Priority to US16/508,139 priority patent/US10726336B2/en
Application granted granted Critical
Publication of CN106991477B publication Critical patent/CN106991477B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks

Abstract

一种人工神经网络压缩编码装置,包括内存接口单元、指令缓存、控制器单元和运算单元,其中运算单元用于根据控制器单元的指令对来自内存接口单元的数据执行相应的运算;运算单元主要执行三步运算,第一步是将输入的神经元和权值数据相乘;第二步执行加法树运算,用于将第一步处理后的加权输出神经元通过加法树逐级相加,或者将输出神经元通过和偏置相加得到加偏置输出神经元;第三步执行激活函数运算,得到最终输出神经元。以及一种人工神经网络压缩编码方法。本披露不仅能有效减小人工神经网络的模型大小,提高人工神经网络的数据处理速度,而且能有效降低功耗,提高资源利用率。

Description

一种人工神经网络压缩编码装置和方法
技术领域
本披露涉及人工神经网络处理技术领域,更具体地涉及一种人工神经网络压缩编码装置和方法,尤其是涉及执行人工神经网络算法方法的执行单元或包含这些执行单元的设备,以及多层人工神经网络运算、反向传播训练算法及其压缩编码的装置和方法的执行单元或包括这些执行单元的设备。
背景技术
多层人工神经网络被广泛应用于模式识别、图像处理、函数逼近和优化计算等领域。特别是近年来由于反向传播训练算法,以及预训练算法的研究不断深入,多层人工神经网络由于其较高的识别准确度和较好的可并行性,受到学术界和工业界越来越广泛的关注。
随着人工神经网络计算量和访存量的急剧增大,现有技术中通常采用通用处理器来对多层人工神经网络运算、训练算法及其压缩编码进行处理,通过使用通用寄存器堆和通用功能部件执行通用指令来支持上述算法。采用通用处理器的缺点之一是单个通用处理器的运算性能较低,无法满足通常的多层人工神经网络运算的性能需求。而多个通用处理器并行执行时,通用处理器之间相互通讯又成为了性能瓶颈;此外,通用处理器需要把多层人工神经网络运算译码成一长列运算及访存指令序列,处理器前端译码带来了较大的功耗开销。另一种支持多层人工神经网络运算、训练算法及其压缩编码的已知方法是使用图形处理器(GPU)。该方法通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来支持上述算法。由于GPU是专门用来执行图形图像运算以及科学计算的设备,没有对多层人工神经网络运算的专门支持,仍然需要大量的前端译码工作才能执行多层人工神经网络运算,带来了大量的额外开销。另外GPU只有较小的片上缓存,多层人工神经网络的模型数据(权值)需要反复从片外搬运,片外带宽成为了主要性能瓶颈,同时带来了巨大的功耗开销。
发明内容
针对上述现有技术的不足,本披露的目的在于提供一种人工神经网络压缩编码装置和方法。
为了实现上述目的,作为本披露的一个方面,本披露提出了一种人工神经网络压缩编码装置,包括:
控制器单元,用于读取指令,并将其译码成运算单元的指令;以及
运算单元,用于根据所述控制器单元的指令对数据执行相应的运算。
其中,运算单元用于执行以下至少一种运算:
将输入的神经元和权值数据相乘;
执行加法树运算,用于将第一步处理后的加权输出神经元通过加法树逐级相加,或者将输出神经元通过和偏置相加得到加偏置输出神经元;
执行激活函数运算,得到最终输出神经元。
其中,上述装置还包括内存接口单元,用于输入数据和指令。
其中,上述装置指令缓存,用于对指令进行缓存。
其中,所述运算单元中对于输入的权值数据表示如下:
若是正向运算过程,则所述权值数据W1由k比特数据表示,其中包括1比特符号位、m比特控制位以及n比特数据位,即k=1+m+n;其中k、m、n均为自然数;
若是反向运算过程,则所述权值数据W2使用浮点数表示。
其中,所述W1是从W2转换而来,其中反向运算过程的权值数据W2具有len位有效数字,正向运算过程的权值数据W1中的n表示W1中的有效数字位数,n≤len;控制位m用于指定W1的有效数字在原权值数据中的起始位置。
其中,还包括I/O接口,用于I/O数据。
其中,还包括内存,用于暂存多层人工神经网络模型和神经元数据。
其中,还包括中央处理器CPU,用于进行数据搬运以及加速器芯片启动停止控制,作为加速器芯片与外部控制的接口。
其中,还包括加速器芯片,用于执行多层人工神经网络运算及其反向传播训练算法,接受来自CPU的数据和程序,执行上述多层人工神经网络运算及其反向传播训练算法,将执行结果传输回中央处理器CPU。
其中,所述加速器为多个,所述多个加速器通过PCIE总线互联,以支持更大规模的多层人工神经网络运算。
其中,所述中央处理器CPU为一个,作为多个加速器的同一个宿主,或者所述中央处理器CPU的数量与所述加速器相数量同,使每一个加速器分别有自己的宿主;或者中央处理器数量为多个,与所述多个加速器形成互联拓扑连接。
其中,所述内存为一个,作为所述多个加速器的共享内存;或者所述内存数量与所述加速器数量相同,使每个加速器有各自的内存;或者内存为多个,与所述多个加速器形成互联拓扑连接作为本披露的另一个方面,本披露还提出了一种人工神经网络计算装置进行的人工神经网络压缩编码方法,包括以下步骤;
步骤1:控制器单元从指令缓存中读取一条多层人工神经网络运算SIMD指令;
步骤2:所述控制器单元将所述指令译码成各个功能部件的微指令,包括输入神经元缓存是否读写以及读写次数、输出神经元缓存是否读写以及读写次数、权值神经元缓存是否读写以及读写次数、运算单元各个阶段执行何种操作;
步骤3:运算单元得到从输入神经元缓存和权值缓存的输入向量,根据阶段一的操作码,决定是否执行向量乘法运算,如果执行就将结果发送到下一阶段,否则直接将输入发送到下一阶段;
步骤4:所述运算单元根据阶段二的操作码,决定是否进行加法树运算,如果执行就将结果发送到下一阶段,否则直接将输入发送到下一阶段;
步骤5:所述运算单元根据阶段三的操作码,决定是否进行激活函数的运算,如果执行就将结果发送给输出神经元缓存。
作为本披露的再一个方面,本披露还提出了一种人工神经网络计算装置进行的人工神经网络反向传播训练的方法,包括以下步骤;
步骤1:控制器单元从指令缓存中读取一条多层人工神经网络训练算法SIMD指令;
步骤2:所述控制器单元将所述指令译码成各个运算单元的微指令,包括输入神经元缓存是否读写以及读写次数、输出神经元缓存是否读写以及读写次数、权值神经元缓存是否读写以及读写次数、运算单元各个阶段执行何种操作;
步骤3:运算单元得到从输入神经元缓存和权值缓存的输入向量,根据阶段一的操作码,决定是否执行向量乘法运算,如果执行就将结果发送到下一阶段,否则直接将输入发送到下一阶段;
步骤4:所述运算单元根据阶段二的操作码,决定是否进行加法树运算、向量加法运算或权值更新运算。
作为本披露的还一个方面,本披露还提出了一种人工神经网络计算装置进行的人工神经网络计算方法,包括以下步骤:
步骤1:将存储的浮点权值W2转换成位数较少的表示W1;
步骤2:使用W1进行正向运算;
步骤3:根据正向运算得到的误差结果进行反向运算更新W1;
步骤4:迭代执行上述三个步骤,直到得到所需要的模型。
基于上述技术方案可知,本披露提供了一种用于执行多层人工神经网络运算、反向传播训练算法及其压缩编码的装置和方法,提高了对于多层人工神经网络运算及其反向传播训练算法的性能,同时降低了权值数据表示的位数,以达到压缩编码的目的。本披露不仅能有效减小人工神经网络的模型大小,提高人工神经网络的数据处理速度,而且能有效降低功耗,提高资源利用率;相对于现有的技术,具有显著的性能和功耗改善,并能大幅压缩权值数据。
附图说明
图1是根据本披露一实施例的神经网络正向运算的示例框图;
图2是根据本披露一实施例的神经网络反向训练算法的示例框图;
图3是根据本披露一实施例的总体结构的示例框图;
图4是根据本披露一实施例的加速器芯片结构的示例框图;
图5是根据本披露一实施例的多层人工神经网络的运算流程图;
图6是根据本披露一实施例的多层人工神经网络反向传播训练算法的流程图;
图7是根据本披露一实施例的多层人工神经网络压缩编码算法的流程图。
具体实施方式
将参考以下所讨论的细节来描述本披露的各实施例和方面,并且所附附图将说明各实施例。下列描述和附图是用于说明本披露的,并且不应当被解释为限制本披露。描述许多具体的细节以提供对本披露的各实施例的透彻理解。然而,在某些实例中,不描述公知的或寻常的细节,以便提供本披露的实施例的简洁的讨论。
说明书中提到的“一个实施例”或“一实施例”意思是结合实施例所描述的特定的特征、结构或特性能够被包括在本披露的至少一个实施例中。在本说明书的多处出现的短语“在一个实施例中”不一定全部都指同一个实施例。
本披露涉及的多层人工神经网络运算及其压缩编码,包括两层或者两层以上的多个神经元。对于每一层来说,输入神经元向量首先和权值向量进行点积运算,结果经过激活函数得到输出神经元。其中激活函数可以是sigmoid函数、tanh函数、relu函数和softmax函数等。此外,多层人工神经网络的训练算法包括正向传播、反向传播和权值更新等步骤。
在正向运算过程中,神经网络权值W1由k比特数据表示,其中包括1比特符号位、m比特控制位以及n比特数据位(k=1+m+n)。
反向运算过程中的权值W2使用浮点数表示。
正向运算过程中使用的权值数据表示方法,从反向运算过程使用的浮点权值表示(len位有效数字)转换而来,数据位存储原权值数据中的n位有效数字,n小于等于len。控制位用于指定数据位在原有效数字中的起始位置;由于正向运算过程中使用的权值数据表示方法所使用的总数据位数少于反向训练运算过程中使用的权值表示的总数据位数,从而可以达到压缩编码的作用。
本披露的用于执行人工神经网络运算、反向传播训练算法及其压缩编码的人工神经网络压缩编码装置,包括指令缓存单元、输入神经元缓存单元、权值缓存单元、控制单元、运算单元、输出神经元缓存单元、内存接口单元和直接内存访问通道单元;
其中,指令缓存单元用于缓存指令;
输入神经元缓存单元用于缓存输入神经元数据;
权值缓存单元用于缓存权值;
控制单元用于从指令缓存中读取专用指令,并将其译码成微指令;
运算单元用于接受从控制器单元发出的微指令并进行算术逻辑运算;
输出神经元缓存单元用于缓存输出神经元数据;
内存接口单元用于数据读写通道;
直接内存访问通道单元用于从内存向各缓存中读写数据。
上述指令缓存单元、输入神经元缓存单元、权值缓存单元和输出神经元缓存单元等中使用的缓存可以为RAM。
在上述运算单元中主要执行三步运算,第一步是将输入的神经元和权值数据相乘,表示如下:
将输入神经元(in)通过运算(f)得到输出神经元(out),过程为:out=f(in);
将输入神经元(in)通过和权值(w)相乘得到加权输出神经元(out),过程为:out=w*in;
第二步执行加法树运算,用于将第一步处理后的加权输出神经元通过加法树逐级相加,或者将输出神经元通过和偏置相加得到加偏置输出神经元,表示如下:
将输出神经元(in)通过和偏置(b)相加得到加偏置输出神经元(out),过程为:out=in+b;
第三步执行激活函数运算,得到最终输出神经元,表示如下:
将输出神经元(in)通过激活函数(active)运算得到激活输出神经元(out),过程为:out=active(in),激活函数active可以是sigmoid函数、tanh函数、relu函数或softmax函数等;
将加权输出神经元(in)通过激活函数(active)运算得到激活输出神经元(out),过程为:out=active(in);
将加偏置输出神经元(in)通过激活函数(active)运算得到激活输出神经元(out),过程为:out=active(in)。
在执行人工神经网络反向训练运算时,运算过程表示如下:
将输入梯度(g)通过加权运算(f)得到输出梯度(g’),过程为:g’=f(g);
将输入梯度(g)通过更新运算(update)得到权值改变(deltaW),过程为:deltaW=update(g);
将输入权值(w)和权值改变(deltaW)相加得到输出权值(w’),过程为:w’=w+deltaW;
将输入梯度(g)通过更新运算(update)得到偏置改变(deltaB),过程为:deltaB=update(g);
将输入偏置(b)和偏置改变(deltaB)相加得到输出偏置(b’),过程为:b’=b+deltaB;
其中,在执行人工神经网络反向训练运算时,所有数据使用浮点数表示。
上述人工神经网络压缩编码装置,包括可执行卷积人工神经网络运算的装置、可执行池化人工神经网络运算的装置、可执行lrn人工神经网络运算的装置及可执行全连接人工神经网络运算的装置。
下面结合附图和具体实施例对本披露的技术方案进行进一步的阐释说明。
图3示出了根据本披露一实施例的总体结构的示意性框图。
I/O接口(1),用于I/O数据需要经过CPU(3)发给加速器芯片,然后由加速器芯片(4)写入内存,加速器芯片(4)需要的专用程序也是由CPU(3)传输到加速器芯片。
内存(2),用于暂存多层人工神经网络模型和神经元数据,特别是当全部模型无法在加速器片上缓存中放下时。
中央处理器CPU(3),用于进行数据搬运以及加速器芯片(4)启动停止等基本控制,作为加速器芯片(4)与外部控制的接口。
加速器芯片(4),用于执行多层人工神经网络运算及其反向传播训练算法模块,接受来自CPU(3)的数据和程序,执行上述多层人工神经网络运算及其反向传播训练算法,加速器芯片(4)执行结果将传输回CPU(3)。
通用系统架构。将加速器作为CPU或者GPU的协处理器来执行多层人工神经网络运算及其反向传播训练算法。
多加速器互联的系统结构。多个加速器可以通过PCIE总线互联,以支持更大规模的多层人工神经网络运算,可以共用同一个宿主CPU或者分别有自己的宿主CPU,可以共享内存也可以每个加速器有各自的内存。此外其互联方式可以是任意互联拓扑。
图4示出了根据本披露一实施例的加速器芯片结构的示意性框图。
其中输入神经元缓存(2)存储一层运算的输入神经元。
其中输出神经元缓存(5)存储一层运算的输出神经元。
权值缓存(8)存储模型(权值)数据。
直接内存访问通道(7)用于从内存(6)向各RAM中读写数据。
指令缓存(1)用于储存专用指令。
控制器单元(3)从指令缓存中读取专用指令,并将其译码成各运算单元的微指令。
运算单元(4)用于执行具体运算。运算单元主要被分为三个阶段,第一阶段执行乘法运算,用于将输入的神经元和权值数据相乘。第二阶段执行加法树运算,第一、二两阶段合起来完成了向量内积运算。第三阶段执行激活函数运算,激活函数可以是sigmoid函数、tanh函数等。第三阶段得到输出神经元,写回输出神经元缓存。
图5绘示出根据本披露一实施例的多层人工神经网络的运算流程图,图1为所执行运算的一个示例。
步骤1:控制器从指令缓存中读取一条多层人工神经网络运算SIMD指令,例如多层感知机(MLP)指令、卷积指令、池化(POOLing)指令等执行专门神经网络算法的指令,或者矩阵乘指令、向量加指令、向量激活函数指令等用于执行神经网络运算的通用向量/矩阵指令。
步骤2:控制器将该指令译码成各个功能部件的微指令,包括输入神经元缓存是否读写以及读写次数,输出神经元缓存是否读写以及读写次数,权值神经元缓存是否读写以及读写次数,运算单元各个阶段执行何种操作。
步骤3:运算单元得到从输入神经元缓存和权值缓存的输入向量,根据阶段一的操作码,决定是否执行向量乘法运算,并将结果发送到下一阶段(如不进行乘法运算则直接将输入发到下一阶段)。
步骤4:运算单元得到阶段一的输出,根据阶段二的操作码,决定是否进行加法树运算,并将结果发送到下一阶段(如不进行加法树操作,则直接将输入发送到下一阶段)。
步骤5:运算单元得到阶段二的输出,根据阶段三的操作码,决定是否进行激活函数的运算,并将结果发送给输出神经元缓存。
图6绘示出根据本披露一实施例的多层人工神经网络反向传播训练算法的流程图,图2为所执行运算的一个示例。
步骤1:控制器从指令缓存中读取一条多层人工神经网络训练算法SIMD指令。
步骤2:控制器将该指令译码成各个运算单元的微指令,包括输入神经元缓存是否读写以及读写次数,输出神经元缓存是否读写以及读写次数,权值神经元缓存是否读写以及读写次数,运算单元各个阶段执行何种操作。
步骤3:运算单元得到从输入神经元缓存和权值缓存的输入向量,根据阶段一的操作码,决定是否执行向量乘法运算,并将结果发送到下一阶段(如不进行乘法运算则直接将输入发到下一阶段)。
步骤4:运算单元得到阶段一的输出,根据阶段二的操作码,决定是否进行加法树,向量加法或权值更新运算。
图7绘示出根据本披露一实施例的多层人工神经网络权值压缩算法的流程图。
步骤1:将存储的浮点权值W2转换成位数较少的表示W1。
步骤2:使用W1进行正向运算。
步骤3:根据正向运算得到的误差结果进行反向运算更新W1。
迭代执行上述三个步骤,直到得到所需要的模型。
前面的附图中所描绘的进程或方法可通过包括硬件(例如,电路、专用逻辑等)、固件、软件(例如,被具体化在非瞬态计算机可读介质上的软件),或两者的组合的处理逻辑来执行。虽然上文按照某些顺序操作描述了进程或方法,但是,应该理解,所描述的某些操作能以不同顺序来执行。此外,可并行地而非顺序地执行一些操作。
以上所述的具体实施例,对本披露的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本披露的具体实施例而已,并不用于限制本披露,凡在本披露的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本披露的保护范围之内。

Claims (17)

1.一种人工神经网络压缩编码装置,其特征在于,包括:
控制器单元,用于读取指令,并将其译码成运算单元的指令;以及
运算单元,用于根据所述控制器单元的指令对数据执行相应的运算;
其中,所述运算单元用于执行以下至少一种运算:
将输入的神经元和权值数据相乘;
执行加法树运算,用于将第一步处理后的加权输出神经元通过加法树逐级相加,或者将输出神经元通过和偏置相加得到加偏置输出神经元;
执行激活函数运算,得到最终输出神经元;
其中,若是正向运算过程,所述权值数据为权值数据W1,所述权值数据W1由k比特数据表示,包括1比特符号位、m比特控制位以及n比特数据位,即k=1+m+n,k、m、n均为自然数;
若是反向运算过程,所述权值数据为权值数据W2,所述权值数据W2使用浮点数表示,所述权值数据W1是从权值数据W2转换而来,所述权值数据W2具有len位有效数字,n表示所述权值数据WI中的有效数字位数,n≤len。
2.根据权利要求1所述的人工神经网络压缩编码装置,其特征在于,还包括:
内存接口单元,用于输入所述数据和指令;以及
指令缓存,用于对指令进行缓存。
3.如权利要求1所述的人工神经网络压缩编码装置,其特征在于,控制位m用于指定W1的有效数字在原权值数据中的起始位置。
4.如权利要求2所述的人工神经网络压缩编码装置,其特征在于,所述人工神经网络计算装置还包括DMA,用于在所述内存接口单元与所述指令缓存和/或所述运算单元之间进行数据或者指令读写。
5.如权利要求4所述的人工神经网络压缩编码装置,其特征在于,所述人工神经网络计算装置还包括:
输入神经元缓存,用于缓存输入到所述运算单元的输入神经元数据;
权值缓存,用于缓存权值数据;以及
所述输入神经元缓存和权值缓存均通过所述DMA输入。
6.如权利要求1所述的人工神经网络压缩编码装置,其特征在于,所述人工神经网络计算装置还包括:
输出神经元缓存,用于缓存所述运算单元输出的输出神经元。
7.如权利要求1所述的人工神经网络压缩编码装置,其特征在于,所述运算单元在第三步执行的激活函数为sigmoid函数、tanh函数、relu函数或softmax函数。
8.如权利要求1所述的人工神经网络压缩编码装置,其特征在于,还包括:I/O接口,用于I/O数据。
9.如权利要求1所述的人工神经网络压缩编码装置,其特征在于还包括:内存,用于暂存多层人工神经网络模型和神经元数据。
10.如权利要求9所述的人工神经网络压缩编码装置,其特征在于,还包括:中央处理器CPU,用于进行数据搬运以及加速器芯片启动停止控制,作为加速器芯片与外部控制的接口。
11.如权利要求10所述的人工神经网络压缩编码装置,其特征在于,还包括:加速器芯片,用于执行多层人工神经网络运算及其反向传播训练算法,接受来自CPU的数据和程序,执行上述多层人工神经网络运算及其反向传播训练算法,将执行结果传输回中央处理器CPU。
12.如权利要求11所述的人工神经网络压缩编码装置,其特征在于,所述加速器为多个,多个加速器通过PCIE总线互联,以支持更大规模的多层人工神经网络运算。
13.如权利要求12所述的人工神经网络压缩编码装置,其特征在于,所述中央处理器CPU为一个,作为多个加速器的同一个宿主,或者所述中央处理器CPU的数量与所述加速器数量相同,使每一个加速器分别有自己的宿主;或者中央处理器数量为多个,与所述多个加速器形成互联拓扑连接。
14.如权利要求12所述的人工神经网络压缩编码装置,其特征在于,所述内存为一个,作为所述多个加速器的共享内存;或者所述内存数量与所述加速器数量相同,使每个加速器有各自的内存;或者内存为多个,与所述多个加速器形成互联拓扑连接。
15.一种应用权利要求1-14任一所述的人工神经网络压缩编码装置进行的人工神经网络计算方法,其特征在于,包括以下步骤:
将存储的浮点权值数据W2转换成位数较少的表示权值数据W1;
使用权值数据W1进行正向运算;
根据正向运算得到的误差结果进行反向运算更新权值数据W1;
迭代执行上述三个步骤,直到得到所需要的模型。
16.一种采用权利要求1-14任一所述的人工神经网络压缩编码装置进行人工神经网络压缩编码的方法,其特征在于,包括以下步骤;
控制器单元从指令缓存中读取一条多层人工神经网络运算SIMD指令;
所述控制器单元将所述指令译码成各个功能部件的微指令,包括输入神经元缓存是否读写以及读写次数、输出神经元缓存是否读写以及读写次数、权值神经元缓存是否读写以及读写次数、运算单元各个阶段执行何种操作,其中,所述运算单元执行的操作分为三个阶段,分别为执行向量乘法运算的阶段一,执行加法树运算的阶段二,执行激活函数运算的阶段三;
运算单元得到从输入神经元缓存和权值缓存的输入向量,根据阶段一的操作码,决定是否执行向量乘法运算,如果执行就将结果发送到下一阶段,否则直接将输入发送到下一阶段;
所述运算单元根据阶段二的操作码,决定是否进行加法树运算,如果执行就将结果发送到下一阶段,否则直接将输入发送到下一阶段;
所述运算单元根据阶段三的操作码,决定是否进行激活函数的运算,如果执行就将结果发送给输出神经元缓存。
17.一种权利要求1-14任一所述的人工神经网络压缩编码装置进行人工神经网络反向传播训练的方法,其特征在于,包括以下步骤;
控制器单元从指令缓存中读取一条多层人工神经网络训练算法SIMD指令;
所述控制器单元将所述指令译码成各个运算单元的微指令,包括输入神经元缓存是否读写以及读写次数、输出神经元缓存是否读写以及读写次数、权值神经元缓存是否读写以及读写次数、运算单元各个阶段执行何种操作,其中,所述运算单元执行的操作分为两个阶段,分别为执行向量乘法运算的阶段一,执行加法树运算、向量加法运算或权值更新运算的阶段二;
运算单元得到从输入神经元缓存和权值缓存的输入向量,根据阶段一的操作码,决定是否执行向量乘法运算,如果执行就将结果发送到下一阶段,否则直接将输入发送到下一阶段;
所述运算单元根据阶段二的操作码,决定是否进行加法树运算、向量加法运算或权值更新运算。
CN201610039026.6A 2016-01-20 2016-01-20 一种人工神经网络压缩编码装置和方法 Active CN106991477B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201810151978.6A CN108427990B (zh) 2016-01-20 2016-01-20 神经网络计算系统和方法
CN201610039026.6A CN106991477B (zh) 2016-01-20 2016-01-20 一种人工神经网络压缩编码装置和方法
PCT/CN2016/078448 WO2017124644A1 (zh) 2016-01-20 2016-04-05 一种人工神经网络压缩编码装置和方法
US16/041,160 US10402725B2 (en) 2016-01-20 2018-07-20 Apparatus and method for compression coding for artificial neural network
US16/508,139 US10726336B2 (en) 2016-01-20 2019-07-10 Apparatus and method for compression coding for artificial neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610039026.6A CN106991477B (zh) 2016-01-20 2016-01-20 一种人工神经网络压缩编码装置和方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810151978.6A Division CN108427990B (zh) 2016-01-20 2016-01-20 神经网络计算系统和方法

Publications (2)

Publication Number Publication Date
CN106991477A CN106991477A (zh) 2017-07-28
CN106991477B true CN106991477B (zh) 2020-08-14

Family

ID=59361365

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610039026.6A Active CN106991477B (zh) 2016-01-20 2016-01-20 一种人工神经网络压缩编码装置和方法
CN201810151978.6A Active CN108427990B (zh) 2016-01-20 2016-01-20 神经网络计算系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810151978.6A Active CN108427990B (zh) 2016-01-20 2016-01-20 神经网络计算系统和方法

Country Status (3)

Country Link
US (2) US10402725B2 (zh)
CN (2) CN106991477B (zh)
WO (1) WO2017124644A1 (zh)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106990937B (zh) * 2016-01-20 2020-10-20 中科寒武纪科技股份有限公司 一种浮点数处理装置和处理方法
CN111353588B (zh) * 2016-01-20 2024-03-05 中科寒武纪科技股份有限公司 用于执行人工神经网络反向训练的装置和方法
CN108271026B (zh) * 2016-12-30 2020-03-31 上海寒武纪信息科技有限公司 压缩/解压缩的装置和系统、芯片、电子装置、方法
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
US10817296B2 (en) * 2017-04-21 2020-10-27 Intel Corporation Message based general register file assembly
US11580361B2 (en) * 2017-04-24 2023-02-14 Intel Corporation Neural network training mechanism
EP3657340A1 (en) 2017-05-23 2020-05-27 Shanghai Cambricon Information Technology Co., Ltd Processing method and accelerating device
CN109389209B (zh) * 2017-08-09 2022-03-15 上海寒武纪信息科技有限公司 处理装置及处理方法
US11086634B2 (en) 2017-07-05 2021-08-10 Shanghai Cambricon Information Technology Co., Ltd. Data processing apparatus and method
EP3660739A1 (en) 2017-07-05 2020-06-03 Shanghai Cambricon Information Technology Co., Ltd Data processing apparatus and method
CN107578014B (zh) * 2017-09-06 2020-11-03 上海寒武纪信息科技有限公司 信息处理装置及方法
CN109583577B (zh) 2017-09-29 2021-04-23 上海寒武纪信息科技有限公司 运算装置及方法
KR102601604B1 (ko) * 2017-08-04 2023-11-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
CN108205704B (zh) * 2017-09-27 2021-10-29 深圳市商汤科技有限公司 一种神经网络芯片
CN107748914A (zh) * 2017-10-19 2018-03-02 珠海格力电器股份有限公司 人工神经网络运算电路
CN109697507B (zh) * 2017-10-24 2020-12-25 安徽寒武纪信息科技有限公司 处理方法及装置
CN109063831A (zh) 2017-10-30 2018-12-21 上海寒武纪信息科技有限公司 人工智能处理器及使用处理器执行向量加和指令的方法
CN109754062A (zh) * 2017-11-07 2019-05-14 上海寒武纪信息科技有限公司 卷积扩展指令的执行方法以及相关产品
CN109961131B (zh) * 2017-12-14 2020-05-08 中科寒武纪科技股份有限公司 神经网络正向运算方法及相关产品
CN109977446B (zh) * 2017-12-28 2020-07-07 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN109993276B (zh) * 2017-12-29 2021-10-26 中科寒武纪科技股份有限公司 用于执行人工神经网络反向训练的装置和方法
CN108197705A (zh) * 2017-12-29 2018-06-22 国民技术股份有限公司 卷积神经网络硬件加速装置及卷积计算方法及存储介质
CN113807510A (zh) 2017-12-30 2021-12-17 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN109993290B (zh) 2017-12-30 2021-08-06 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
WO2019129302A1 (zh) 2017-12-30 2019-07-04 北京中科寒武纪科技有限公司 集成电路芯片装置及相关产品
CN109993292B (zh) 2017-12-30 2020-08-04 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
WO2019141902A1 (en) * 2018-01-17 2019-07-25 Nokia Technologies Oy An apparatus, a method and a computer program for running a neural network
CN110196735A (zh) * 2018-02-27 2019-09-03 上海寒武纪信息科技有限公司 一种计算装置及相关产品
CN110196734A (zh) * 2018-02-27 2019-09-03 上海寒武纪信息科技有限公司 一种计算装置及相关产品
WO2019165939A1 (zh) * 2018-02-27 2019-09-06 上海寒武纪信息科技有限公司 一种计算装置及相关产品
CN110363291B (zh) * 2018-03-26 2022-02-08 上海寒武纪信息科技有限公司 神经网络的运算方法、装置、计算机设备和存储介质
CN108764454B (zh) * 2018-04-28 2022-02-25 中国科学院计算技术研究所 基于小波变换压缩和/或解压缩的神经网络处理方法
US11687759B2 (en) 2018-05-01 2023-06-27 Semiconductor Components Industries, Llc Neural network accelerator
CN108566537A (zh) * 2018-05-16 2018-09-21 中国科学院计算技术研究所 用于对视频帧进行神经网络运算的图像处理装置
CN108647660A (zh) * 2018-05-16 2018-10-12 中国科学院计算技术研究所 一种使用神经网络芯片处理图像的方法
CN108921012B (zh) * 2018-05-16 2022-05-03 中国科学院计算技术研究所 一种利用人工智能芯片处理图像视频帧的方法
CN110147872B (zh) * 2018-05-18 2020-07-17 中科寒武纪科技股份有限公司 编码存储装置及方法、处理器及训练方法
US20200090035A1 (en) * 2018-09-19 2020-03-19 International Business Machines Corporation Encoder-decoder memory-augmented neural network architectures
CN110956257A (zh) * 2018-09-26 2020-04-03 龙芯中科技术有限公司 神经网络加速器
CN111062469B (zh) * 2018-10-17 2024-03-05 上海寒武纪信息科技有限公司 计算装置及相关产品
WO2020062284A1 (zh) * 2018-09-30 2020-04-02 深圳市大疆创新科技有限公司 基于卷积神经网络的图像处理方法和设备,以及无人机
CN111222632B (zh) * 2018-11-27 2023-06-30 中科寒武纪科技股份有限公司 计算装置、计算方法及相关产品
CN111045726B (zh) * 2018-10-12 2022-04-15 上海寒武纪信息科技有限公司 支持编码、解码的深度学习处理装置及方法
CN111079908B (zh) * 2018-10-18 2024-02-13 上海寒武纪信息科技有限公司 片上网络数据处理方法、存储介质、计算机设备和装置
EP3869352A4 (en) 2018-10-18 2022-06-22 Shanghai Cambricon Information Technology Co., Ltd NETWORK-ON-CHIP DATA PROCESSING METHOD AND APPARATUS
CN109657788A (zh) * 2018-12-18 2019-04-19 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品
CN111353591A (zh) * 2018-12-20 2020-06-30 中科寒武纪科技股份有限公司 一种计算装置及相关产品
CN111368985B (zh) * 2018-12-25 2023-11-28 上海寒武纪信息科技有限公司 一种神经网络计算装置和方法
CN111367567B (zh) * 2018-12-25 2023-03-07 上海寒武纪信息科技有限公司 一种神经网络计算装置和方法
CN111368986B (zh) * 2018-12-25 2023-03-10 上海寒武纪信息科技有限公司 一种神经网络计算装置和方法
CN111368990B (zh) * 2018-12-25 2023-03-07 上海寒武纪信息科技有限公司 一种神经网络计算装置和方法
CN111368967B (zh) * 2018-12-25 2023-04-07 上海寒武纪信息科技有限公司 一种神经网络计算装置和方法
CN111382835A (zh) * 2018-12-27 2020-07-07 中科寒武纪科技股份有限公司 一种神经网络压缩方法、电子设备及计算机可读介质
CN111385569B (zh) * 2018-12-28 2022-04-26 杭州海康威视数字技术股份有限公司 一种编解码方法及其设备
CN111488976B (zh) * 2019-01-28 2023-06-30 中科寒武纪科技股份有限公司 神经网络计算装置、神经网络计算方法及相关产品
CN109871941B (zh) * 2019-02-18 2020-02-21 中科寒武纪科技股份有限公司 数据处理方法、装置及相关产品
CN110046703B (zh) * 2019-03-07 2020-07-31 中国科学院计算技术研究所 一种用于神经网络的片上存储处理系统
CN111738429B (zh) * 2019-03-25 2023-10-13 中科寒武纪科技股份有限公司 一种计算装置及相关产品
CN109978143B (zh) * 2019-03-29 2023-07-18 南京大学 一种基于simd架构的堆栈式自编码器及编码方法
CN111915003B (zh) * 2019-05-09 2024-03-22 深圳大普微电子科技有限公司 一种神经网络硬件加速器
KR20200129957A (ko) 2019-05-10 2020-11-18 삼성전자주식회사 피처맵 데이터에 대한 압축을 수행하는 뉴럴 네트워크 프로세서 및 이를 포함하는 컴퓨팅 시스템
CN111930681B (zh) * 2019-05-13 2023-10-10 中科寒武纪科技股份有限公司 一种计算装置及相关产品
WO2020248423A1 (zh) * 2019-06-12 2020-12-17 上海寒武纪信息科技有限公司 一种神经网络的量化参数确定方法及相关产品
CN110598858A (zh) * 2019-08-02 2019-12-20 北京航空航天大学 基于非易失性存内计算实现二值神经网络的芯片和方法
US11526761B2 (en) * 2019-08-24 2022-12-13 Microsoft Technology Licensing, Llc Neural network training with decreased memory consumption and processor utilization
CN112712172B (zh) * 2019-10-25 2023-12-26 安徽寒武纪信息科技有限公司 用于神经网络运算的计算装置、方法、集成电路和设备
CN111008699B (zh) * 2019-12-05 2022-06-07 首都师范大学 一种基于自动驾驶的神经网络数据存储方法及系统
CN111045687B (zh) * 2019-12-06 2022-04-22 浪潮(北京)电子信息产业有限公司 一种人工智能应用的部署方法及相关装置
CN111079930B (zh) * 2019-12-23 2023-12-19 深圳市商汤科技有限公司 数据集质量参数的确定方法、装置及电子设备
US11144208B2 (en) * 2019-12-23 2021-10-12 Advanced Micro Devices, Inc. Data compression system using base values and methods thereof
CN111240743B (zh) * 2020-01-03 2022-06-03 格兰菲智能科技有限公司 人工智能集成电路
CN111199283A (zh) * 2020-02-24 2020-05-26 张早 一种基于卷积循环神经网络的气温预测系统及方法
US10938411B1 (en) * 2020-03-25 2021-03-02 Arm Limited Compression and/or decompression of activation data
US11947828B2 (en) * 2020-08-27 2024-04-02 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device
CN112865804B (zh) * 2021-01-12 2023-10-10 东南大学 三值神经网络稀疏性权重的压缩计算单元
CN113783933B (zh) * 2021-08-10 2022-05-24 中山大学 基于编码缓存的双层网络通信方法、装置及介质
US20230068645A1 (en) * 2021-08-27 2023-03-02 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device and method for computing-in-memory (cim)
US11734075B2 (en) * 2021-11-24 2023-08-22 International Business Machines Corporation Reducing data format conversion of an accelerator
CN114819122B (zh) * 2022-03-28 2022-12-06 中国科学院自动化研究所 基于脉冲神经网络的数据处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101527010A (zh) * 2008-03-06 2009-09-09 上海理工大学 人工神经网络算法的硬件实现方法及其系统
CN102184453A (zh) * 2011-05-16 2011-09-14 上海电气集团股份有限公司 基于模糊神经网络和支持向量机的风电功率组合预测方法
CN103019656A (zh) * 2012-12-04 2013-04-03 中国科学院半导体研究所 可动态重构的多级并行单指令多数据阵列处理系统
CN103177288A (zh) * 2013-03-05 2013-06-26 辽宁省电力有限公司鞍山供电公司 基于遗传算法优化神经网络的变压器故障诊断方法
CN104915560A (zh) * 2015-06-11 2015-09-16 万达信息股份有限公司 一种基于广义神经网络聚类的疾病病种诊疗方案预测方法
CN105184366A (zh) * 2015-09-15 2015-12-23 中国科学院计算技术研究所 一种时分复用的通用神经网络处理器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204938A (en) * 1989-05-30 1993-04-20 Loral Aerospace Corp. Method of implementing a neural network on a digital computer
CN1331092C (zh) * 2004-05-17 2007-08-08 中国科学院半导体研究所 模式识别专用神经网络计算机系统
US8862527B2 (en) * 2005-11-15 2014-10-14 Bernadette Garner Neural networks and method for training neural networks
US7864083B2 (en) * 2008-05-21 2011-01-04 Ocarina Networks, Inc. Efficient data compression and decompression of numeric sequences
US10055434B2 (en) * 2013-10-16 2018-08-21 University Of Tennessee Research Foundation Method and apparatus for providing random selection and long-term potentiation and depression in an artificial network
CN105095833B (zh) * 2014-05-08 2019-03-15 中国科学院声学研究所 用于人脸识别的网络构建方法、识别方法及系统
CN104200224A (zh) * 2014-08-28 2014-12-10 西北工业大学 基于深度卷积神经网络的无价值图像去除方法
US10373050B2 (en) * 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
CN104915195B (zh) * 2015-05-20 2017-11-28 清华大学 一种基于现场可编程门阵列实现神经网络计算的方法
US20190073582A1 (en) * 2015-09-23 2019-03-07 Yi Yang Apparatus and method for local quantization for convolutional neural networks (cnns)

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101527010A (zh) * 2008-03-06 2009-09-09 上海理工大学 人工神经网络算法的硬件实现方法及其系统
CN102184453A (zh) * 2011-05-16 2011-09-14 上海电气集团股份有限公司 基于模糊神经网络和支持向量机的风电功率组合预测方法
CN103019656A (zh) * 2012-12-04 2013-04-03 中国科学院半导体研究所 可动态重构的多级并行单指令多数据阵列处理系统
CN103177288A (zh) * 2013-03-05 2013-06-26 辽宁省电力有限公司鞍山供电公司 基于遗传算法优化神经网络的变压器故障诊断方法
CN104915560A (zh) * 2015-06-11 2015-09-16 万达信息股份有限公司 一种基于广义神经网络聚类的疾病病种诊疗方案预测方法
CN105184366A (zh) * 2015-09-15 2015-12-23 中国科学院计算技术研究所 一种时分复用的通用神经网络处理器

Also Published As

Publication number Publication date
US10402725B2 (en) 2019-09-03
US20180330239A1 (en) 2018-11-15
WO2017124644A1 (zh) 2017-07-27
CN108427990B (zh) 2020-05-22
CN108427990A (zh) 2018-08-21
US10726336B2 (en) 2020-07-28
CN106991477A (zh) 2017-07-28
US20190332945A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
CN106991477B (zh) 一种人工神经网络压缩编码装置和方法
CN107729989B (zh) 一种用于执行人工神经网络正向运算的装置及方法
CN109522254B (zh) 运算装置及方法
KR102258414B1 (ko) 처리 장치 및 처리 방법
CN110390385B (zh) 一种基于bnrp的可配置并行通用卷积神经网络加速器
CN109284817B (zh) 深度可分离卷积神经网络处理架构/方法/系统及介质
CN107609642B (zh) 计算装置和方法
CN110163357B (zh) 一种计算装置及方法
WO2020073211A1 (zh) 运算加速器、处理方法及相关设备
WO2019127838A1 (zh) 卷积神经网络实现方法及装置、终端、存储介质
EP3444757B1 (en) Discrete data representation supported device and method for forward operation of artificial neural network
CN110321997B (zh) 高并行度计算平台、系统及计算实现方法
TW202321999A (zh) 一種計算裝置及方法
CN108320018B (zh) 一种人工神经网络运算的装置及方法
Hsiao et al. Design of a sparsity-aware reconfigurable deep learning accelerator supporting various types of operations
KR20190089685A (ko) 데이터를 처리하는 방법 및 장치
JP7256811B2 (ja) アドバンストインタコネクト技術を利用してaiトレーニングを加速するための方法及びシステム
CN113807998A (zh) 图像处理方法、目标检测装置、机器视觉设备和存储介质
WO2017177446A1 (zh) 支持离散数据表示的人工神经网络反向训练装置和方法
CN111930681A (zh) 一种计算装置及相关产品
WO2018112892A1 (zh) 一种支持快速人工神经网络运算的装置及方法
CN111178492B (zh) 计算装置及相关产品、执行人工神经网络模型的计算方法
CN116127685A (zh) 使用机器学习执行模拟
CN115222028A (zh) 基于fpga的一维cnn-lstm加速平台及实现方法
CN110097181B (zh) 用于执行人工神经网络正向运算的装置和方法

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
TA01 Transfer of patent application right

Effective date of registration: 20180428

Address after: 100190 room 644, research complex, 6 South Road, Haidian District Science Academy, Beijing.

Applicant after: Beijing Zhongke Cambrian Technology Co., Ltd.

Address before: 210049 18 Xianlin Road, Ma Qun street, Qixia District, Nanjing, Jiangsu.

Applicant before: NANJING AIXI INFORMATION TECHNOLOGY CO., LTD.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant