CN113297128A - 数据处理方法、装置、计算机设备和存储介质 - Google Patents
数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113297128A CN113297128A CN202010112206.9A CN202010112206A CN113297128A CN 113297128 A CN113297128 A CN 113297128A CN 202010112206 A CN202010112206 A CN 202010112206A CN 113297128 A CN113297128 A CN 113297128A
- Authority
- CN
- China
- Prior art keywords
- weight
- parameter
- data
- neural network
- gradient
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 111
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000013139 quantization Methods 0.000 claims abstract description 71
- 238000013528 artificial neural network Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 18
- 230000005540 biological transmission Effects 0.000 claims abstract description 17
- 230000015654 memory Effects 0.000 claims description 44
- 238000013473 artificial intelligence Methods 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002441 reversible effect Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 17
- 230000008569 process Effects 0.000 abstract description 13
- 238000005265 energy consumption Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 8
- 230000005291 magnetic effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Neurology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及一种数据处理方法、装置、计算机设备和存储介质,可以对神经网络进行训练,在训练的过程中,对输入数据、输出数据、权值、权值梯度进行与量化相关的处理时,利用参数服务器实现了权值的更新,而后将更新后权值广播至多个工作节点,以利用工作节点实现其他处理过程,对参数服务器和工作节点所进行的处理进行了合理的划分,减少了处理过程中参数服务器所进行的数据处理操作,减少了计算开销、传输带宽、访存量、通讯量,降低了装置的能耗。
Description
技术领域
本公开涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,神经网络neural network,NN)的应用越来越广泛,其被应用于图像处理、视频处理、语音识别等数据处理中。神经网络通过样本数据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输出。它是一种应用较为广泛的识别分类模型,多用于函数逼近、模型识别分类、数据压缩和时间序列预测等。神经网络被应用到图像识别、语音识别、自然语言处理等领域中,然而,随着神经网络复杂度提高,数据的数据量和数据维度都在不断增大,不断增大的数据量等对运算装置的数据处理效率、存储装置的存储容量及访存效率等提出了较大的挑战。相关技术中,采用固定位宽对神经网络的运算数据进行量化,即将浮点型的运算数据转换为定点型的运算数据,以实现神经网络的运算数据的压缩,但相关技术中进行量化所占用的计算开销、传输带宽大、访存量高、通讯量大、浪费装置的能耗。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决上述技术问题的数据处理方法、装置、计算机设备和存储介质。
根据本公开的一方面,提供了一种数据处理装置,用于对神经网络进行训练,所述神经网络包括多个神经网络层,所述装置包括参数服务器和多个工作节点,
所述参数服务器,用于接收每个工作节点发送的对应当前神经网络层的权值梯度,并根据多个权值梯度和权值更新算子对所述当前神经网络层的权值进行更新,得到更新后权值,并将所述更新后权值广播至所述多个工作节点;
目标工作节点,用于根据权值参数算子和所述更新后权值进行量化参数计算,得到对应的权值量化参数;以及根据确定的权值量化参数和权值量化算子对所述更新后权值进行量化处理,得到量化后权值;并将所述权值量化参数、所述量化后权值,所述目标工作节点为所述多个工作节点中的任意一个。
根据本公开的另一方面,提供了一种数据处理方法,用于对神经网络进行训练的数据处理装置,所述神经网络包括多个神经网络层,所述数据处理装置包括参数服务器和多个工作节点,所述方法包括:
控制所述参数服务器接收每个工作节点发送的对应当前神经网络层的权值梯度,并根据多个权值梯度和权值更新算子对所述当前神经网络层的权值进行更新,得到更新后权值,并将所述更新后权值广播至所述多个工作节点;
控制目标工作节点根据权值参数算子和所述更新后权值进行量化参数计算,得到对应的权值量化参数;以及根据确定的权值量化参数和权值量化算子对所述更新后权值进行量化处理,得到量化后权值;并将所述权值量化参数、所述量化后权值,所述目标工作节点为所述多个工作节点中的任意一个。
根据本公开的另一方面,提供了一种人工智能芯片,所述芯片包括上述数据处理装置。
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括上述人工智能芯片。
根据本公开的另一方面,提供了一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及上述人工智能芯片;
其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;
所述控制器件,用于对所述人工智能芯片的状态进行监控,
其中,所述存储器件包括:多组存储单元,每一组所述存储单元与所述人工智能芯片通过总线连接,所述存储单元为:DDR SDRAM;
所述芯片包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;
所述接口装置为:标准PCIE接口。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述数据处理方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述数据处理方法。
本公开所提供的数据处理方法、装置、计算机设备和存储介质,可以对神经网络进行训练,在训练的过程中,对输入数据、输出数据、权值、权值梯度进行与量化相关的处理时,利用参数服务器实现了权值的更新,而后将更新后权值广播至多个工作节点,以利用工作节点实现其他处理过程,对参数服务器和工作节点所进行的处理进行了合理的划分,减少了处理过程中参数服务器所进行的数据处理操作,减少了计算开销、传输带宽、访存量、通讯量,降低了装置的能耗。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开实施例的数据处理装置中所利用的处理器的示意图。
图2示出根据本公开一实施例的数据处理装置的框图。
图3示出根据本公开一实施例的数据处理装置的工作原理示意图。
图4示出根据本公开一实施例的数据处理方法的流程图。
图5示出根据本公开实施例的板卡的结构框图。
图6示出根据本公开实施例的一种电子设备800的框图。
图7示出根据本公开实施例的一种电子设备1900的框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应当理解,本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
根据本公开实施例的数据处理装置可以是由多个处理器中。其中,多个处理器中的一个为参数服务器,其余处理器为工作节点。参数服务器所利用的处理器与工作节点所利用的处理器可以相同也可以不同。该处理器可以是通用处理器,例如CPU(CentralProcessing Unit,中央处理器),也可以是用于执行人工智能运算的人工智能处理器(IPU)。人工智能运算可包括机器学习运算,类脑运算等。其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。该人工智能处理器可例如包括GPU(GraphicsProcessing Unit,图形处理单元)、NPU(Neural-Network Processing Unit,神经网络处理单元)、DSP(Digital Signal Process,数字信号处理单元)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片中的一种或组合。本公开对处理器的具体类型不作限制。
在一种可能的实现方式中,本公开中所提及的处理器可包括多个处理单元,每个处理单元可以独立运行所分配到的各种任务,如:卷积运算任务、池化任务或全连接任务等。本公开对处理单元及处理单元所运行的任务不作限制。
图1示出根据本公开实施例的数据处理装置中所利用的处理器的示意图。如图1所示,处理器700包括多个处理单元101以及存储单元102,多个处理单元101用于执行指令序列,存储单元102用于存储数据,可包括随机存储器(RAM,Random Access Memory)和寄存器堆。处理器100中的多个处理单元101既可共用部分存储空间,例如共用部分RAM存储空间和寄存器堆,又可同时拥有各自的存储空间。
图2示出根据本公开一实施例的数据处理装置的框图。如图2所示,该装置用于对神经网络进行训练,所述神经网络包括多个神经网络层,所述装置包括参数服务器100和多个工作节点(也即目标工作节点)200。
所述参数服务器100,用于接收每个工作节点发送的对应当前神经网络层的权值梯度,并根据多个权值梯度和权值更新算子对所述当前神经网络层的权值进行更新,得到更新后权值,并将所述更新后权值广播至所述多个工作节点。
目标工作节点200,用于根据权值参数算子和所述更新后权值进行量化参数计算,得到对应的权值量化参数;以及根据确定的权值量化参数和权值量化算子对所述更新后权值进行量化处理,得到量化后权值;并将所述权值量化参数、所述量化后权值,所述目标工作节点为所述多个工作节点中的任意一个。
在本实施例中,量化前的输出数据、输入数据、权值、输出数据梯度、输入数据梯度、权值梯度为高精度数据格式表示的数据,量化后的输出数据、输入数据、权值、输出数据梯度、输入数据梯度、权值梯度为低精度数据格式表示的数据。
本公开所提供的数据处理装置,可以对神经网络进行训练,在训练的过程中,对输入数据、输出数据、权值、权值梯度进行与量化相关的处理时,利用参数服务器实现了权值的更新,而后将更新后权值广播至多个工作节点,以利用工作节点实现其他处理过程,对参数服务器和工作节点所进行的处理进行了合理的划分,减少了处理过程中参数服务器所进行的数据处理操作,减少了计算开销、传输带宽、访存量、通讯量,降低了装置的能耗。
在本实施例中,每个目标工作节点可以实现不同的数据处理操作,数据处理操作可以包括:权值处理(权值量化运算、权值量化参数计算)、前向数据布局及卷积前向运算、后向数据布局及卷积反向运算、输入数据处理(输入数据量化、输入数据量化参数计算)、输出数据梯度计算、输出数据梯度处理(输出数据梯度量化参数计算、输出数据梯度量化)、权值梯度计算、误差运算。每个目标工作节点可以实现上述数据处理操作的一个或多个,图3示出根据本公开一实施例的数据处理装置的工作原理示意图,如图3所示,以每个目标工作节点实现一个数据处理操作为例,描述数据处理装置的工作过程及原理,其中,为简化以及便于理解图3中仅示出利用上述数据处理装置实现神经网络中某一层的数据处理操作。
在一种可能的实现方式中,如图3所示,所示目标工作节点200用于实现前向数据布局及卷积前向运算。所示目标工作节点200,用于利用前向布局算子对接收到的所述量化后权值进行数据布局处理,得到前向量化后权值;以及根据接收到的所述权值量化参数、所述前向量化后权值、量化后输入数据、输入数据量化参数和前向卷积网络算子进行卷积前向运算,得到对应当前神经网络层的输出数据。
在一种可能的实现方式中,如图3所示,所述目标工作节点200用于实现反向数据布局及卷积反向运算。所述目标工作节点200,用于利用反向布局算子对接收到的所述量化后权值分别进行数据布局处理,得到反向量化后权值;以及根据接收到的量化后输出数据梯度、输出数据量化参数、所述反向量化后权值和所述权值量化参数和反向卷积网络算子进行卷积反向运算,得到对应当前神经网络层的输入数据梯度。
在该实现方式中,利用目标工作节点自身进行量化后权值数据的布局处理(前向数据布局处理和反向数据布局处理)使得前向量化后数据和反向量化后数据由相关技术中的用户可见转换为用户不可见的数据,为用户提供了更为友好数据显示。
在一种可能的实现方式中,所述目标工作节点200,还用于在所述当前神经网络层为所述神经网络的最后一层时,根据预设的目标输出数据确定所述输出数据的误差,以使所述装置根据所述误差判断是否满足训练结束条件。
在该实现方式中,可以根据训练的精度要求、时间要求等对训练结束条件进行设置,本公开对此不作限制。例如,在输出数据的误差小于预设的误差阈值时,可以确定满足训练结束条件。这样,可以使装置满足不同神经网络训练的需求,扩大装置的适用范围。
在一种可能的实现方式中,如图3所示,所述目标工作节点200还用于实现输入数据处理。所述目标工作节点200用于根据输入数据和输入数据参数算子进行量化参数计算,得到输入数据量化参数;根据确定的输入数据量化参数和输入数据量化算子对输入数据进行量化处理,得到量化后输入数据。在该实现方式中,将对输入数据所进行的相关处理操作(输入数据量化、输入数据量化参数计算)控制在同一目标工作节点中进行,可以缩减通讯量和传输带宽的占用情况。
在一种可能的实现方式中,如图3所示,所述目标工作节点200,用于对所述输出数据进行误差运算,得到所述输出数据的输出数据梯度。
在该实现方式中,进行“误差运算”的目标工作节点可以与进行“前向数据布局及卷积前向运算”的目标工作节点可以相同也可以不同,本公开对此不作限制。
在一种可能的实现方式中,如图3所示,所述目标工作节点200还用于实现输出数据梯度计算。所述目标工作节点200,还用于根据所述输出数据梯度和输出数据梯度参数算子进行量化参数计算,得到输出数据梯度量化参数;根据确定的输出数据梯度量化参数和输出数据梯度量化算子对所述输出数据梯度进行量化处理,得到量化后输出数据梯度。在该实现方式中,将对输出数据梯度所进行的相关处理操作(输出数据梯度量化参数计算、输出数据梯度量化)控制在同一目标工作节点中进行,可以缩减通讯量和传输带宽的占用情况。
在一种可能的实现方式中,如图3所示,所述目标工作节点200还用于实现权值梯度计算。所述目标工作节点200,还用根据所述量化后输出数据梯度、所述输出数据梯度量化参数、所述量化后输入数据、所述输入数据量化参数和权值梯度算子进行权值梯度运算,得到对应所述当前神经网络层的新的权值梯度,并将所述新的权值梯度发送至所述参数服务器。这样,通过参数服务器进行权值的更新,可以简化装置所进行的操作,减少计算开销,降低装置能耗。
在一种可能的实现方式中,所述目标工作节点,还用于在确定所述当前神经网络层为所述神经网络的中间层和/或第一层时,将所述输出数据和/或所述输入数据梯度作为下一个神经网络层的输入数据。这样,可以实现层间数据的交互,保证数据处理的顺利进行。
在一种可能的实现方式中,还可以为不同的算子设置对应的算子标识,以使得参数服务器和目标工作节点可以根据算子标识调用响应的算子。下表1为本公开提供的一种算子标识示例,算子标识可以是由字母、数字、运算符号、标点符号和其他符号、以及一些功能性符号中一个或多个的组合,如多个字母的组合、多个运算符合的组合等,本公开对此不作限制。
表1算子标识示例
应该理解,上述的装置实施例仅是示意性的,本公开的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本公开各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述人工智能处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic RandomAccess Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
图4示出根据本公开一实施例的数据处理方法的流程图。如图4所示,用于对神经网络进行训练的数据处理装置,所述神经网络包括多个神经网络层,所述数据处理装置包括参数服务器和多个工作节点,该方法包括步骤S11和步骤S12。
在步骤S11中,控制所述参数服务器接收每个工作节点发送的对应当前神经网络层的权值梯度,并根据多个权值梯度和权值更新算子对所述当前神经网络层的权值进行更新,得到更新后权值,并将所述更新后权值广播至所述多个工作节点;
在步骤S12中,控制目标工作节点根据权值参数算子和所述更新后权值进行量化参数计算,得到对应的权值量化参数;以及根据确定的权值量化参数和权值量化算子对所述更新后权值进行量化处理,得到量化后权值;并将所述权值量化参数、所述量化后权值,所述目标工作节点为所述多个工作节点中的任意一个。
在一种可能的实现方式中,所述方法还包括:
控制所述目标工作节点利用前向布局算子对接收到的所述量化后权值进行数据布局处理,得到前向量化后权值;以及
根据接收到的所述权值量化参数、所述前向量化后权值、量化后输入数据、输入数据量化参数和前向卷积网络算子进行卷积前向运算,得到对应当前神经网络层的输出数据。
在一种可能的实现方式中,所述方法还包括:控制所述目标工作节点利用反向布局算子对接收到的所述量化后权值分别进行数据布局处理,得到反向量化后权值;以及根据接收到的量化后输出数据梯度、输出数据量化参数、所述反向量化后权值和所述权值量化参数和反向卷积网络算子进行卷积反向运算,得到对应当前神经网络层的输入数据梯度。
在一种可能的实现方式中,所述方法还包括:控制所述目标工作节点在所述当前神经网络层为所述神经网络的最后一层时,根据预设的目标输出数据确定所述输出数据的误差,以使所述装置根据所述误差判断是否满足训练结束条件。
在一种可能的实现方式中,所述方法还包括:
控制所述目标工作节点根据输入数据和输入数据参数算子进行量化参数计算,得到输入数据量化参数;
根据确定的输入数据量化参数和输入数据量化算子对输入数据进行量化处理,得到量化后输入数据。
在一种可能的实现方式中,所述方法还包括:
控制所述目标工作节点对所述输出数据进行误差运算,得到所述输出数据的输出数据梯度。
在一种可能的实现方式中,所述方法还包括:
控制所述目标工作节点根据所述输出数据梯度和输出数据梯度参数算子进行量化参数计算,得到输出数据梯度量化参数;
根据确定的输出数据梯度量化参数和输出数据梯度量化算子对所述输出数据梯度进行量化处理,得到量化后输出数据梯度。
在一种可能的实现方式中,所述方法还包括:
控制所述目标工作节点根据所述量化后输出数据梯度、所述输出数据梯度量化参数、所述量化后输入数据、所述输入数据量化参数和权值梯度算子进行权值梯度运算,得到对应所述当前神经网络层的新的权值梯度,并将所述新的权值梯度发送至所述参数服务器。
在一种可能的实现方式中,所述方法还包括:控制所述目标工作节点在确定所述当前神经网络层为所述神经网络的中间层和/或第一层时,将所述输出数据和/或所述输入数据梯度作为下一个神经网络层的输入数据。
本公开所提供的数据处理方法,可以对神经网络进行训练,在训练的过程中,对输入数据、输出数据、权值、权值梯度进行与量化相关的处理时,利用参数服务器实现了权值的更新,而后将更新后权值广播至多个工作节点,以后利用工作节点实现其他处理过程,对参数服务器和工作节点所进行的处理进行了合理的划分,减少了处理过程中参数服务器所进行的数据处理操作,减少了计算开销、传输带宽、访存量、通讯量,降低了装置的能耗。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
进一步需要说明的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一种可能的实现方式中,还公开了一种人工智能芯片,其包括了上述数据处理装置。
在一种可能的实现方式中,还公开了一种板卡,其包括存储器件、接口装置和控制器件以及上述人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。
图5示出根据本公开实施例的板卡的结构框图,参阅图5,上述板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
所述存储器件390与所述人工智能芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述人工智能芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述人工智能芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述人工智能芯片电连接。所述接口装置用于实现所述人工智能芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE 3.0 X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本公开并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述人工智能芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述人工智能芯片电连接。所述控制器件用于对所述人工智能芯片的状态进行监控。具体的,所述人工智能芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述人工智能芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述人工智能芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述人工智能芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一种可能的实现方式中,公开了一种电子设备,其包括了上述人工智能芯片。电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
图6示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端,用于作为工作节点。
参照图6,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图7示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器,用于作为参数服务器。参照图7,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本公开的方法及其核心思想。同时,本领域技术人员依据本公开的思想,基于本公开的具体实施方式及应用范围上做出的改变或变形之处,都属于本公开保护的范围。综上所述,本说明书内容不应理解为对本公开的限制。
Claims (15)
1.一种数据处理装置,其特征在于,用于对神经网络进行训练,所述神经网络包括多个神经网络层,所述装置包括参数服务器和多个工作节点,
所述参数服务器,用于接收每个工作节点发送的对应当前神经网络层的权值梯度,并根据多个权值梯度和权值更新算子对所述当前神经网络层的权值进行更新,得到更新后权值,并将所述更新后权值广播至所述多个工作节点;
目标工作节点,用于根据权值参数算子和所述更新后权值进行量化参数计算,得到对应的权值量化参数;以及根据确定的权值量化参数和权值量化算子对所述更新后权值进行量化处理,得到量化后权值;并将所述权值量化参数、所述量化后权值,所述目标工作节点为所述多个工作节点中的任意一个。
2.根据权利要求1所述的装置,其特征在于,
所述目标工作节点,用于利用前向布局算子对接收到的所述量化后权值进行数据布局处理,得到前向量化后权值;以及
根据接收到的所述权值量化参数、所述前向量化后权值、量化后输入数据、输入数据量化参数和前向卷积网络算子进行卷积前向运算,得到对应当前神经网络层的输出数据。
3.根据权利要求1所述的装置,其特征在于,
所述目标工作节点,用于利用反向布局算子对接收到的所述量化后权值分别进行数据布局处理,得到反向量化后权值;以及
根据接收到的量化后输出数据梯度、输出数据量化参数、所述反向量化后权值和所述权值量化参数和反向卷积网络算子进行卷积反向运算,得到对应当前神经网络层的输入数据梯度。
4.根据权利要求2所述的装置,其特征在于,
所述目标工作节点,还用于在所述当前神经网络层为所述神经网络的最后一层时,根据预设的目标输出数据确定所述输出数据的误差,以使所述装置根据所述误差判断是否满足训练结束条件。
5.根据权利要求1或2所述的装置,其特征在于,
所述目标工作节点,用于根据输入数据和输入数据参数算子进行量化参数计算,得到输入数据量化参数;
根据确定的输入数据量化参数和输入数据量化算子对输入数据进行量化处理,得到量化后输入数据。
6.根据权利要求2所述的装置,其特征在于,
所述目标工作节点,用于对所述输出数据进行误差运算,得到所述输出数据的输出数据梯度。
7.根据权利要求6所述的装置,其特征在于,
所述目标工作节点,还用于根据所述输出数据梯度和输出数据梯度参数算子进行量化参数计算,得到输出数据梯度量化参数;
根据确定的输出数据梯度量化参数和输出数据梯度量化算子对所述输出数据梯度进行量化处理,得到量化后输出数据梯度。
8.根据权利要求7所述的装置,其特征在于,
所述目标工作节点,还用根据所述量化后输出数据梯度、所述输出数据梯度量化参数、所述量化后输入数据、所述输入数据量化参数和权值梯度算子进行权值梯度运算,得到对应所述当前神经网络层的新的权值梯度,并将所述新的权值梯度发送至所述参数服务器。
9.根据权利要求2或3所述的装置,其特征在于,
所述目标工作节点,还用于在确定所述当前神经网络层为所述神经网络的中间层和/或第一层时,将所述输出数据和/或所述输入数据梯度作为下一个神经网络层的输入数据。
10.一种数据处理方法,其特征在于,用于对神经网络进行训练的数据处理装置,所述神经网络包括多个神经网络层,所述数据处理装置包括参数服务器和多个工作节点,所述方法包括:
控制所述参数服务器接收每个工作节点发送的对应当前神经网络层的权值梯度,并根据多个权值梯度和权值更新算子对所述当前神经网络层的权值进行更新,得到更新后权值,并将所述更新后权值广播至所述多个工作节点;
控制目标工作节点根据权值参数算子和所述更新后权值进行量化参数计算,得到对应的权值量化参数;以及根据确定的权值量化参数和权值量化算子对所述更新后权值进行量化处理,得到量化后权值;并将所述权值量化参数、所述量化后权值,所述目标工作节点为所述多个工作节点中的任意一个。
11.一种人工智能芯片,其特征在于,所述芯片包括如权利要求1-9中任意一项所述的数据处理装置。
12.一种电子设备,其特征在于,所述电子设备包括如权利要求11所述的人工智能芯片。
13.一种板卡,其特征在于,所述板卡包括:存储器件、接口装置和控制器件以及如权利要求11所述的人工智能芯片;
其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;
所述控制器件,用于对所述人工智能芯片的状态进行监控,
其中,所述存储器件包括:多组存储单元,每一组所述存储单元与所述人工智能芯片通过总线连接,所述存储单元为:DDR SDRAM;
所述芯片包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;
所述接口装置为:标准PCIE接口。
14.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求10所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求10所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010112206.9A CN113297128B (zh) | 2020-02-24 | 2020-02-24 | 数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010112206.9A CN113297128B (zh) | 2020-02-24 | 2020-02-24 | 数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113297128A true CN113297128A (zh) | 2021-08-24 |
CN113297128B CN113297128B (zh) | 2023-10-31 |
Family
ID=77318582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010112206.9A Active CN113297128B (zh) | 2020-02-24 | 2020-02-24 | 数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297128B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116739039A (zh) * | 2023-05-05 | 2023-09-12 | 北京百度网讯科技有限公司 | 分布式部署模型的量化方法、装置、设备和介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106062786A (zh) * | 2014-09-12 | 2016-10-26 | 微软技术许可有限责任公司 | 用于训练神经网络的计算系统 |
US20170286830A1 (en) * | 2016-04-04 | 2017-10-05 | Technion Research & Development Foundation Limited | Quantized neural network training and inference |
CN108491928A (zh) * | 2018-03-29 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 模型参数训练方法、装置、服务器及存储介质 |
CN108734646A (zh) * | 2017-04-24 | 2018-11-02 | 英特尔公司 | 跨处理系统进行的高效数据共享和压缩扩展 |
DE102018110719A1 (de) * | 2017-05-05 | 2018-11-08 | Intel Corporation | Hardwareimplementierte Punkt-zu-Punkt-Kommunikationsprimitive zum Maschinenlernen |
CN109214504A (zh) * | 2018-08-24 | 2019-01-15 | 北京邮电大学深圳研究院 | 一种基于fpga的yolo网络前向推理加速器设计方法 |
CN109754060A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种神经网络机器学习模型的训练方法及装置 |
US20190171935A1 (en) * | 2017-12-04 | 2019-06-06 | International Business Machines Corporation | Robust gradient weight compression schemes for deep learning applications |
CN110163334A (zh) * | 2018-02-11 | 2019-08-23 | 上海寒武纪信息科技有限公司 | 集成电路芯片装置及相关产品 |
US20190324856A1 (en) * | 2018-04-18 | 2019-10-24 | EMC IP Holding Company LLC | Optimization of checkpoint operations for deep learning computing |
CN110379416A (zh) * | 2019-08-15 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种神经网络语言模型训练方法、装置、设备及存储介质 |
US20190347550A1 (en) * | 2018-05-14 | 2019-11-14 | Samsung Electronics Co., Ltd. | Method and apparatus with neural network parameter quantization |
-
2020
- 2020-02-24 CN CN202010112206.9A patent/CN113297128B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106062786A (zh) * | 2014-09-12 | 2016-10-26 | 微软技术许可有限责任公司 | 用于训练神经网络的计算系统 |
US20170286830A1 (en) * | 2016-04-04 | 2017-10-05 | Technion Research & Development Foundation Limited | Quantized neural network training and inference |
CN108734646A (zh) * | 2017-04-24 | 2018-11-02 | 英特尔公司 | 跨处理系统进行的高效数据共享和压缩扩展 |
DE102018110719A1 (de) * | 2017-05-05 | 2018-11-08 | Intel Corporation | Hardwareimplementierte Punkt-zu-Punkt-Kommunikationsprimitive zum Maschinenlernen |
CN109754060A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种神经网络机器学习模型的训练方法及装置 |
US20190171935A1 (en) * | 2017-12-04 | 2019-06-06 | International Business Machines Corporation | Robust gradient weight compression schemes for deep learning applications |
CN110163334A (zh) * | 2018-02-11 | 2019-08-23 | 上海寒武纪信息科技有限公司 | 集成电路芯片装置及相关产品 |
CN108491928A (zh) * | 2018-03-29 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 模型参数训练方法、装置、服务器及存储介质 |
US20190324856A1 (en) * | 2018-04-18 | 2019-10-24 | EMC IP Holding Company LLC | Optimization of checkpoint operations for deep learning computing |
US20190347550A1 (en) * | 2018-05-14 | 2019-11-14 | Samsung Electronics Co., Ltd. | Method and apparatus with neural network parameter quantization |
CN109214504A (zh) * | 2018-08-24 | 2019-01-15 | 北京邮电大学深圳研究院 | 一种基于fpga的yolo网络前向推理加速器设计方法 |
CN110379416A (zh) * | 2019-08-15 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种神经网络语言模型训练方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
朱虎明;李佩;焦李成;杨淑媛;侯彪;: "深度神经网络并行化研究综述", 计算机学报, no. 08, pages 171 - 191 * |
顾乃杰;赵增;吕亚飞;张致江;: "基于多GPU的深度神经网络训练算法", 小型微型计算机系统, no. 05, pages 148 - 152 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116739039A (zh) * | 2023-05-05 | 2023-09-12 | 北京百度网讯科技有限公司 | 分布式部署模型的量化方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113297128B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110889503B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111443917B (zh) | 神经网络运行优化方法、装置及相关产品 | |
US11451070B2 (en) | Charging circuit, electronic device, charging method and charging device | |
EP4030817A1 (en) | Data processing method and apparatus, and electronic device and computer readable storage medium | |
WO2021036893A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110851787B (zh) | 合并指令处理方法、装置、电子设备和存储介质 | |
CN108564539B (zh) | 一种显示图像的方法和装置 | |
WO2021114903A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113033761B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113297128B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113298223B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
WO2022156572A1 (zh) | 控制方法、控制装置以及电子设备 | |
US11586469B2 (en) | Method, device and storage medium for processing overhead of memory access | |
CN111783969A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113762518B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN115173495A (zh) | 充电控制方法、装置以及存储介质 | |
WO2021082654A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
WO2021083100A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113762518A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113537476A (zh) | 运算装置以及相关产品 | |
WO2021083097A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113762488B (zh) | 处理器、数据处理方法、计算机设备和存储介质 | |
CN112766472B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113034396B (zh) | 图像滤波方法、装置、电子设备及存储介质 | |
US20230244287A1 (en) | Method and apparatus of temperature control, and storage medium |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |