CN109214519B - 数据处理***、方法和设备 - Google Patents
数据处理***、方法和设备 Download PDFInfo
- Publication number
- CN109214519B CN109214519B CN201710552725.5A CN201710552725A CN109214519B CN 109214519 B CN109214519 B CN 109214519B CN 201710552725 A CN201710552725 A CN 201710552725A CN 109214519 B CN109214519 B CN 109214519B
- Authority
- CN
- China
- Prior art keywords
- sample
- component
- data
- data processing
- compute
- 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
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Neurology (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种数据处理***、方法和设备。该***包括控制组件,以及耦合到控制组件的多个计算子组件;多个计算子组件在控制组件中的处理流程的指示下,分别处理样本数据集合的样本子集,对于多个计算子组件中的一个:数据组件用于基于控制组件中的处理流程,将样本数据集合的样本子集依次输出到嵌入组件;嵌入组件,用于基于控制组件中的处理流程接收样本子集,基于映射参数,将样本子集中的样本数据映射到多维空间得到多维样本子集,并输出多维样本子集到后端组件;后端组件,用于根据后端组件中存储的模型对接收的多维样本子集进行模型训练。根据本发明实施例提供的数据处理***,可以节约计算资源,提高海量样本数据的计算能力。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及数据处理***、方法和设备。
背景技术
从2010年以来,深度学习从学术界大规模地走向了工业界,并在图像、语音、自然语言处理等领域均取得了突破性的进展和良好的效果。深度学习可以充分利用了强大的计算力,通过多层神经网络级联的方式构建了复杂的非线性模型,在海量数据上直接进行端到端的问题求解。
这些取得了良好效果的深度学习框架,往往问题空间较小且特征空间连续,并且深度模型的参数规模一般在十亿GB以下。
但是,当深度模型的模型复杂度极高,参数规模动辄百亿甚至千亿,用来训练模型的样本达到几十TB甚至更大时,这样的数据规模非常耗费计算资源,计算能力低下。
发明内容
本发明实施例提供的数据处理***、方法和设备,可以节约计算资源,提高海量样本数据的计算能力。
根据本发明实施例的一方面,提供一种数据处理***,包括:控制组件,以及耦合到控制组件的多个计算子组件,该计算子组件包括一个或多个数据组件、一个或多个嵌入组件和一个或多个后端组件;多个计算子组件在控制组件中的处理流程的指示下,分别处理样本数据集合的样本子集,对于多个计算子组件中的一个:
数据组件,用于基于控制组件中的处理流程,将样本数据集合的样本子集依次输出到嵌入组件;
嵌入组件,用于基于控制组件中的处理流程接收样本子集,基于映射参数,将样本子集中的样本数据映射到多维空间得到多维样本子集,并输出多维样本子集到后端组件;
后端组件,用于接收多维样本子集,并根据后端组件中存储的模型对多维样本子集进行模型训练。
根据本发明实施例的另一方面,提供一种数据处理方法,包括:耦合控制组件和多个计算子组件,每个计算子组件包括一个或多个数据组件、一个或多个嵌入组件和一个或多个后端组件;多个计算子组件在控制组件中的处理流程的指示下,分别处理样本数据集合的样本子集,对于多个计算子组件中的一个:
数据组件基于控制组件中的处理流程,将样本数据集合的样本子集依次输出到嵌入组件;
嵌入组件基于控制组件中的处理流程接收样本子集,基于映射参数,将样本子集中的样本数据映射到多维空间得到多维样本子集,并输出多维样本子集到后端组件;
后端组件接收多维样本子集,并根据后端组件中存储的模型对多维样本子集进行模型训练。
根据本发明实施例的再一方面,提供一种数据处理设备,包括:存储器和处理器;该存储器用于储存有可执行程序代码;该处理器用于读取存储器中存储的可执行程序代码以执行上述的数据处理方法。
根据本发明实施例中的数据处理***、方法和设备,在面对海量数据和复杂模型时,可以通过数据并行和模型并行的方式,提高数据处理过程的计算能力,节约资源,降低耗电量,达到更好的对样本进行深度模型学习的效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是示出根据本发明一实施例的数据处理***的架构示意图;
图2是示出根据本发明另一实施例的数据处理***的结构示意图;
图3是示出根据本发明实施例的数据处理方法的流程图;
图4是示出能够实现根据本发明实施例的数据处理***和方法的计算设备的示例性硬件架构的结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出了根据本发明示意性实施例的数据处理***的架构示意图。根据本发明实施例的数据处理***100可以包括:
控制组件101,耦合于控制组件101的多个计算子组件,例如:计算子组件1、计算子组件2、……、计算子组件n,其中,n为大于1的整数,并且,在本发明实施例的描述中,多个表示数量为大于1个。
计算子组件可以包括一个数据组件(Data Element)、一个嵌入组件(EmbeddingElement)和一个后端组件(Backend Element)。在该计算子组件中,数据组件可以与嵌入组件耦合,嵌入组件可以与后端组件耦合。
以计算子组件1为例,计算子组件1中包括一个数据组件102-1,一个嵌入组件103-1和一个后端组件104-1。在计算子组件1中,数据组件102-1耦合于嵌入组件103-1,嵌入组件103-1耦合于后端组件104-1。
在数据处理***100中,用户可以通过控制组件101自定义数据处理流程,多个计算子组件可以共同基于一套用户自定义的处理流程对海量数据进行处理。
在本发明实施例中,可以将样本数据集合的数据流分散到多个计算子组件,根据控制组件101中用户设置的处理流程,计算子组件1、计算子组件2、……、和计算子组件n可以分别针对样本集合中的一个样本子集,利用该计算子组件的后端组件中存储的模型进行模型训练。
也就是说,可以将对样本数据集合的数据处理的任务分布到多个计算子组件中。每个计算子组件完成的处理任务可以是整个数据处理***100对样本数据集合进行数据处理的任务的一部分。
在一个示例中,控制组件101作为数据处理***100的一个总控设备,可以通过一台终端设备实现,也可以通过云服务实现。用户可以在本地或远端访问控制组件,自定义数据处理流程,使耦合于该控制组件101的多个计算子组件在该数据处理流程的指示下,通过每个计算子组件中数据组件、嵌入组件和后端组件的功能,共同完成对样本数据集合进行数据处理的任务。
由于本发明实施例中的计算子组件具有相同的结构,计算子组件中的数据组件之间、嵌入组件之间以及后端组件之间在一套用户自定义的处理流程的控制下,具有相同的工作原理,下面结合多个计算子组件中的至少一个,通过具体地实施例,详细描述根据本发明实施例的数据处理***。
以计算子组件1为例,计算子组件1中的数据组件102-1,可以提供样本存储、样本解析以及样本数据输出等功能。
在一个实施例中,数据组件102-1可以连接到数据存储器,数据存储器中包括样本数据集合的样本子集,多个计算子组件的数据存储器中存储的样本子集构成了样本数据集合的全集。
在一个实施例中,样本数据集合的每个样本子集的样本容量可以相同,也可以不同。
作为一个示例,如果一个样本数据集合的样本容量为500万,则该每个样本子集的样本容量可以为100万。
作为一个示例,数据处理***100可以包括控制组件,以及耦合到该控制组件的5个计算子组件。
在一个实施例中,数据存储器可以包括本地存储和分布式磁盘存储两种形式。分布式磁盘存储适用于百亿GB以上规模的样本存储及计算需求,可以经济并高效的分析处理海量样本数据。
作为一个示例,该分布式磁盘存储可以基于分布式平台提供多种数据处理服务,例如可以支持跨集群(机房)数据共享,可以支持结构化查询语言(Structured QueryLanguage,SQL)的数据检索,以及可以支持消息传递接口(Message Passing Inertface,MPI)的数据通信。
作为一个示例,样本数据的数据类型可以是图像样本、语音样本或自然语言处理(Natural Language Process,NLP)样本。
在一个实施例中,数据组件从数据存储器中取出一个样本子集后,可以提供对样本数据的样本解析,通过样本解析可以将样本数据转化为指定类型的数据结构。作为一个示例,对一个社交网站的页面内容构成的数据样本进行样本解析,以进行页面内容的信息提取和信息转化。信息提取例如可以是对页面内容中的图片资源和声音资源的提取,信息转化例如可以是页面内容清洗并转化为可扩展标记语言(XML)格式数据。
在一个实施例中,数据存储器中可以存储不同样本数据集合的样本子集,根据控制组件101中用户设置的处理流程,依次发送每个样本数据集合的样本子集至嵌入组件或后端组件以进行后续处理。
在该实施例中,控制组件101可以根据样本子集中样本数据自身的性质,决定将该样本子集输出到嵌入组件或后端组件。
在一个实施例中,如果该样本子集中的样本数据线性不可分,那么数据组件可以在控制组件101的控制下,输出该样本子集到嵌入组件。该嵌入组件可以基于映射参数,将该样本子集中的样本数据映射到多维空间得到多维样本子集。
根据本发明的实施例,在用户自定义的处理流程的控制下,嵌入组件可以实现样本子集中样本数据在多维空间的映射、对映射参数的更新以及在多个计算子组件的嵌入组件间同步映射参数的功能,对样本数据集合进行分布式的数据处理。
在一个实施例中,映射参数可以是一个矩阵,基于该映射参数,可以将样本子集中的样本数据映射到多维空间得到多维样本子集,并将得到的多维样本子集输出到后端组件。通过样本数据在多维空间的映射可以降低后续数据处理的难度和复杂程度。
作为一个示例,映射参数的初始值可以是一个随机参数或用户根据经验设定的一个参数值。
在一个实施例中,嵌入组件将得到的多维样本子集输出到后端组件后,可以接收后端组件对该多维样本子集进行模型训练后得到的梯度向量,嵌入组件可以根据该梯度向量,对映射参数进行更新。
在本发明实施例中,可以利用梯度下降算法,对该多维样本子集进行模型训练,获得该多维样本子集的梯度,利用该梯度更新映射参数,从而使多维样本子集的训练结果更接近于训练目标值。
在一些实施例中,梯度本身是一个向量,可以称之为梯度向量,梯度向量可以为多维样本子集的训练过程指明更新映射参数的方向,沿着该梯度向量的方向,根据梯度向量的大小更新映射参数,可以保证每次对多维样本子集进行模型训练的结果更接近于模型训练的目标值。
在一个实施例中,多个计算子组件中的嵌入组件之间可以通信,并可以用于根据控制组件中的处理流程的指示,在多个计算子组件的嵌入组件之间同步多维样本子集的映射参数。
在该实施例中,多个计算子组件中的嵌入组件共同构成嵌入层(EmbeddingLayer),在嵌入层,每个计算子组件完成的处理任务是对样本数据集合进行数据处理的任务的一部分,通过嵌入层可以在多个计算子组件间同步映射参数,得到该样本数据集合的映射参数。
在本发明实施例中,可以由多个计算子组件共同完成对样本数据集合的参数更新,具体地,多个计算子组件可以分别对样本数据集合的样本子集进行处理。也就是说,每个计算子组件中通过后端组件完成对样本子集的模型训练得到梯度向量,根据该梯度向量更新该样本子集的映射参数,从而完成对样本数据集合的映射参数更新的一部分。
在一些实施例中,计算子组件的嵌入组件在控制组件中的处理流程的指示下,对样本子集的映射参数进行同步更新。
具体地,该同步更新包括:计算子组件的嵌入组件对映射参数进行更新之后,多个计算子组件的嵌入组件之间可以建立通信,并在控制组件中的处理流程的指示下,同步多维样本子集的映射参数,映射参数同步完成之后,多个计算子组件可以对下一个样本数据集合进行处理。
在一些实施例中,计算子组件的嵌入组件在控制组件中的处理流程的指示下,对样本子集的映射参数进行异步更新。
具体地,该异步更新包括:计算子组件的嵌入组件对映射参数进行更新之后,多个计算子组件之间不必同步更新多维样本子集的映射参数,该计算子组件的数据组件可以从连接的数据存储器中获取下一个样本数据集合的样本子集,以进行后续的数据处理。
在一些实施例中,计算子组件的嵌入组件在控制组件中的处理流程的指示下,多个计算子组件之间的最大时钟间隔小于该时间阈值时,对样本子集的映射参数进行如上所述的异步更新;多个计算子组件之间的最大时钟间隔等于该时间阈值时,对样本子集的映射参数进行如上所述的同步更新。
在上述实施例中,对计算子组件中数据组件基于控制组件中的处理流程,将样本数据集合的样本子集依次输出到嵌入组件进行处理的情况进行了详细的描述。
在另一些实施例中,根据样本数据集合中样本数据自身的数据属性,计算子组件中数据组件可以基于控制组件中的处理流程,将样本数据集合中的样本子集依次输出到后端组件进行模型训练。
也就是说,计算子组件中的数据组件可以在控制组件中的处理流程的指示下,基于样本数据集合中样本数据自身的数据属性,确定将样本数据集合的样本子集输出到后端组件。
如果将样本数据集合的样本子集输出到后端组件,后端组件可以根据后端组件中存储的模型对该样本子集进行模型训练得到梯度向量,并向嵌入组件反馈该梯度向量。
如果将样本数据集合的样本子集输出到嵌入组件,根据上述实施例中中的描述,在嵌入组件中将该样本子集映射到多维空间得到的多维样本子集,再将该多维样本子集输出到后端组件以进行后续的处理。
根据本发明实施例,后端组件可以提供根据本发明实施例对样本数据集合进行数据处理的各种模型。多个计算子组件的后端组件中存储的模型可以相同,也可以不同。
在一个实施例中,多个后端组件中存储的模型包括深度学习框架TensorFlow。TensorFlow可以广泛应用于语音识别或图像识别等多项机器深度学习领域。并且,TensorFlow支持面向对象的解释型计算机程序设计语言python,以及面向对象的程序设计语言c/c++。
作为一个示例,在后端组件中,可以结合深度学习框架TensorFlow和该计算机程序设计语言python,以构建后端组件中的模型结构。
根据本发明实施例中,n个计算子组件可以布置在m台机器设备上,n和m均为大于等于1的整数,n和m可以相等,也可以不相等。布置有计算子组件的机器设备之间可以通过网络进行连接。因此,布置有一个或多个计算子组件的机器设备可以理解为是网络节点。
作为一个示例,每台指定的机器设备上可以布置有一个计算子组件。
作为一个示例,如果指定的机器设备具有足够强的算力,那么,该机器设备上可以布置有多个计算子组件。
根据上述实施例中的描述,根据本发明实施例的数据处理***,多个计算子组件通过与控制组件的耦合,在控制组件中处理流程的指示下,基于一套处理流程,共同完成对样本数据集合的数据处理。
通过本发明实施例的数据处理***,可以提高该数据处理***对海量数据和复杂模型的处理能力,并在模型训练中表现出强计算力。
在一个实施例中,多个计算子组件中的嵌入组件共同构成数据处理***100的嵌入层,实现对样本数据集合的分布式的数据处理。因此,根据本发明实施例的数据处理***100可以作为一个分布式的深度学习计算框架对超大数据和复杂模型进行深度学习模型训练。
为了更好的理解本发明,下面结合图2,通过一些示例性实施例详细描述根据本发明实施例的数据处理***。
图2示出了根据本发明另一实施例的数据处理***的结构示意图。图2与图1中相同或等同的结构使用相同的编号。
在一个实施例中,数据处理***200可以包括控制组件101,以及耦合到该控制组件的多个计算子组件例如计算子组件1、计算子组件2、……、计算子组件n,计算子组件包括一个或多个数据组件、一个或多个嵌入组件和一个或多个后端组件。
以例如计算子组件1为例,多个计算子组件在控制组件中的处理流程的指示下,分别处理样本数据集合的样本子集,对于多个计算子组件中的一个:
数据组件102-1,用于基于控制组件中的处理流程,将样本数据集合的样本子集依次输出到嵌入组件。
嵌入组件103-1,用于基于控制组件中的处理流程接收样本子集,基于映射参数,将样本子集中的样本数据映射到多维空间得到多维样本子集,并输出多维样本子集到后端组件。
后端组件104-1,用于接收多维样本子集,并根据后端组件中存储的模型对多维样本子集进行模型训练。
根据本发明实施例,在控制组件101中的处理流程可以是用户自定义的。
在一个实施例中,用户在控制组件101的处理流程中,可以根据样本数据集合自身的数据属性,定义数据组件将样本数据集合的样本子集输出到嵌入组件还是后端组件。
作为一个示例,对于多个计算子组件中的一个,根据控制组件101中的处理流程的指示,数据组件将样本数据集合的样本子集依次输出到嵌入组件中的输出次数达到输出次数阈值时,数据组件直接将样本数据集合的样本子集依次输出到后端组件中进行模型训练。
作为一个具体的示例,对于多个计算子组件中的一个,根据控制组件101中的处理流程的指示,当数据组件将样本数据集合的样本子集依次输出到嵌入组件中的输出次数在100次以内,数据组件可以将样本数据集合的样本子集依次输出到嵌入组件,当数据组件将样本数据集合的样本子集依次输出到嵌入组件中的输出次数超过100次,数据组件可以将样本数据集合的样本子集依次输出到后端组件。
作为一个示例,对于多个计算子组件中的一个,根据控制组件101中的处理流程的指示,数据组件将样本数据集合的样本子集依次输出时,输出次数满足第一预设条件时,数据组件将满足该第一预设条件的输出次数对应的样本数据集合的样本子集依次输出到嵌入组件,输出次数满足第二预设条件时,数据组件将满足该第二预设条件的输出次数对应的样本数据集合的样本子集依次输出到后端组件。
作为一个具体的示例,对于多个计算子组件中的一个,根据控制组件101中的处理流程的指示,数据组件将样本数据集合的样本子集依次输出时,输出次数为奇数时,数据组件将奇数次输出次数对应的样本数据集合的样本子集依次输出到嵌入组件,输出次数为偶数时,数据组件将偶数次输出次数对应的样本数据集合的样本子集依次输出到后端组件。
作为一个示例,用户在控制组件101的处理流程中,可以定义嵌入组件在接收到后端组件反馈的映射参数后,是否在多个计算子组件中的嵌入组件之间进行多维样本子集的映射参数的同步。
在一个实施例中,多个计算子组件中的嵌入组件之间建立通信,并且,多个计算子组件可以根据控制组件101中的处理流程的指示,在计算子组件的嵌入组件之间同步多维样本子集的映射参数。
在一个实施例中,后端组件还用于对多维样本子集进行模型训练得到梯度向量,并反馈梯度向量到嵌入组件;该嵌入组件还用于接收后端组件反馈的梯度向量,并根据梯度向量更新多维样本子集的映射参数。
在本发明实施例中,多个计算子组件处理的样本数据集合的样本子集,可以构成样本数据集合的全集。
因此,多个计算子组件将更新的多维样本子集的映射参数,通过多个计算子组件中的嵌入组件之间通信进行映射参数的同步,可以得到样本数据集合的映射参数。
在本发明实施例中,多个计算子组件中后端组件之间存储的模型可以均相同,也可以不均相同。
在一个实施例中,后端组件中存储的模型包括深度学习框架TensorFlow。
在一个实施例中,对于多个计算子组件中的一个,数据组件可以与控制组件101耦合,控制组件101可以与后端组件耦合。
作为一个示例,该接口的数据格式可以是预设的矩阵空间。
在一些实施例中,该矩阵空间是预先开辟好的固定的内存,在数据处理过程中,该矩阵空间大小可以是固定不变的。
本发明实施例提供了一种数据处理***,多个计算子组件与控制组件101耦合,并可以在控制组件101中的处理流程的指示下,对样本数据集合的样本子集分别进行数据处理,共同完成对样本数据集合的模型训练。该数据处理***具有较好的整体优化性能,可以充分利用并节约计算资源,降低耗电量,高效地支持大规模数据和复杂参数模型的运算。
图3是示出根据本发明实施例的数据处理方法的流程图。如图3所示,本发明实施例中的数据处理方法300包括以下步骤:
步骤S310,耦合控制组件和多个计算子组件,该计算子组件包括一个或多个数据组件、一个或多个嵌入组件和一个或多个后端组件。
在该步骤中,将控制组件分别与多个计算子组件耦合,并且,计算子组件中的数据组件可以与嵌入组件耦合,嵌入组件可以与后端组件耦合。
步骤S320,多个计算子组件在控制组件中的处理流程的指示下,分别处理样本数据集合的样本子集,对于多个计算子组件中的一个:数据组件基于控制组件中的处理流程,将样本数据集合的样本子集依次输出到嵌入组件。
在本发明实施例中,多个计算子组件处理的样本数据集合的样本子集,构成样本数据集合的全集。因此,每个计算子组件可以通过处理样本数据集合的样本子集,完成对样本数据集合进行数据处理的任务的一部分,多个计算子组件可以在控制组件中的处理流程的指示下,共同完成对样本数据集合的数据处理的任务。
在该步骤中,控制组件中的处理流程,可以是用户自定义的处理流程。
步骤S330,嵌入组件基于控制组件中的处理流程接收样本子集,基于映射参数,将样本子集中的样本数据映射到多维空间得到多维样本子集,并输出多维样本子集到后端组件。
利用该映射参数,将样本子集中的样本数据映射到多维空间,得到多维样本子集,从而降低后续数据处理任务的复杂程度。作为一个示例,映射参数可以是一个矩阵,映射参数的初始值可以是一个随机参数,或者可以是用户自定义的一个参数值。
步骤S340,后端组件接收多维样本子集,并根据后端组件中存储的模型对多维样本子集进行模型训练。
在一个实施例中,后端组件中存储有多种模型,多个计算子组件的后端组件之间存储的模型可以均相同,也可以不均相同。后端组件可以在控制组件中的处理流程的指示下,选择适当的模型对接收的样本子集例如多维样本子集进行模型训练。
在一些实施例中,步骤S340具体可以包括:
步骤S341,后端组件接收多维样本子集,并根据后端组件中存储的模型对多维样本子集进行模型训练得到梯度向量,并反馈梯度向量。
步骤S342,嵌入组件接收后端组件反馈的梯度向量,根据梯度向量更新多维样本子集的映射参数。
多个后端组件中存储的模型包括深度学习框架TensorFlow。
在本发明实施例中,后端组件可以根据控制组件中的处理流程的指示,在对多维样本子集进行模型训练之后,向嵌入组件反馈梯度向量。
作为一个示例,根据控制组件中的处理流程的指示,后端组件可以做完一次或做完其他指定次数的模型训练之后,向嵌入组件反馈训练得到的梯度向量。
在一些实施例中,该数据处理方法还包括:
步骤S350,在多个计算子组件中的嵌入组件之间建立通信,根据控制组件中的处理流程的指示,在计算子组件的嵌入组件之间同步多维样本子集的映射参数。
根据本发明实施例的数据处理***,多个计算子组件中的嵌入组件共同构成了该数据处理***的嵌入层,对数据样本集合的数据处理任务进行分布式处理。
在一个实施例中,在计算子组件的嵌入组件之间同步多维样本子集的映射参数,可以得到样本数据集合的映射参数。在该步骤之后,可以根据控制组件中的处理流程的指示,可以继续对该样本数据集合的样本子集进行处理,或者可以对下一个样本数据集合的样本子集进行根据本发明实施例的数据处理。
为了更好的理解,下面通过一个具体实施例说明根据本发明实施例的数据处理方法。应注意,该具体实施例中的数据只是为了对该数据处理方法的工作流程和原理进行说明,而不应该被视为是对本发明实施例的数据处理***和方法的限定。
根据本发明的实施例的数据处理方法,例如有5个计算子组件共同对样本数据集合进行数据处理,每个计算子组件可以包括一个数据组件,一个嵌入组件,一个后端组件,建立该5个计算子组件分别与控制组件的耦合关系。
对于该该5个计算子组件中的其中一个,数据组件从位于本地或云端的数据存储器中读取或接收样本数据集合的样本子集。该样本数据集合例如包括500万个样本,则每个数据组件连接的数据存储器中可以保存例如100万个样本。
后端组件接收该多维样本子集,并根据后端组件中存储的模型对多维样本子集进行模型训练。
进一步地,后端组件将对多维样本子集进行模型训练得到的梯度向量反馈给嵌入组件,使嵌入组件可以根据该梯度向量更新映射参数。
在控制组件中的处理流程的指示下,计算子组件的嵌入组件之间可以建立通信,通过通信同步多维样本子集的映射参数,计算子组件的嵌入组件之间可以通过交换多维样本子集的映射参数,得到对应的样本数据集合的总的映射参数。
根据本发明实施例的数据处理方法,当样本规模达到几十TB甚至更大,参数规模达到百亿甚至千亿时,依然能够表现出强计算力,通过本发明实施例的数据处理方法,可以解决模型参数过于庞大,单机无法装载的问题。
根据本发明实施例的数据处理方法的其他细节与以上结合图1和图2描述的根据本发明实施例的数据处理***类似,在此不再赘述。
图4是示出能够实现根据本发明实施例的数据处理***和方法的计算设备的示例性硬件架构的结构图。如图4所示,计算设备400包括输入设备401、输入接口402、中央处理器403、存储器404、输出接口405、以及输出设备406。其中,输入接口402、中央处理器403、存储器404、以及输出接口405通过总线410相互连接,输入设备401和输出设备406分别通过输入接口402和输出接口405与总线410连接,进而与计算设备300的其他组件连接。
具体地,输入设备401接收来自外部的输入信息,并通过输入接口402将输入信息传送到中央处理器403;中央处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出接口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算设备400的外部供用户使用。
也就是说,图4所示的计算设备也可以被实现为数据处理设备,该数据处理设备可以包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1至图3描述的数据处理***和方法。这里,处理器可以与离线样本服务器通信,从而基于来自离线样本服务器的相关信息执行计算机可执行指令,从而实现结合图1至图3描述的数据处理***和方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品或计算机可读存储介质的形式实现。所述计算机程序产品或计算机可读存储介质包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (13)
1.一种数据处理***,包括:
控制组件,以及
耦合到所述控制组件的多个计算子组件,
所述计算子组件包括一个或多个数据组件、一个或多个嵌入组件和一个或多个后端组件;
所述多个计算子组件在所述控制组件中的处理流程的指示下,分别处理样本数据集合的样本子集,对于所述多个计算子组件中的一个:
所述数据组件,用于基于所述控制组件中的处理流程,将样本数据集合的样本子集依次输出到所述嵌入组件;
所述嵌入组件,用于基于所述控制组件中的处理流程接收所述样本子集,基于映射参数,将所述样本子集中的样本数据映射到多维空间得到多维样本子集,并输出所述多维样本子集到所述后端组件;
所述后端组件,用于接收所述多维样本子集,并根据所述后端组件中存储的模型对所述多维样本子集进行模型训练。
2.根据权利要求1所述的数据处理***,其中,所述多个计算子组件中的所述嵌入组件之间建立通信,并用于:
根据所述控制组件中的处理流程的指示,在所述计算子组件的嵌入组件之间同步所述多维样本子集的映射参数。
3.根据权利要求1所述的数据处理***,其中,
所述后端组件还用于对所述多维样本子集进行模型训练得到梯度向量,并反馈所述梯度向量;
所述嵌入组件还用于接收所述后端组件反馈的梯度向量,根据所述梯度向量更新所述多维样本子集的映射参数。
4.根据权利要求1所述的数据处理***,其中,
所述多个计算子组件处理的所述样本数据集合的样本子集,构成所述样本数据集合的全集。
5.根据权利要求1所述的数据处理***,其中,
所述控制组件中的处理流程,是用户自定义的处理流程。
6.根据权利要求5所述的数据处理***,其中,
所述多个后端组件中存储的模型包括深度学习框架TensorFlow。
7.一种数据处理方法,包括:
耦合控制组件和多个计算子组件,每个所述计算子组件包括一个或多个数据组件、一个或多个嵌入组件和一个或多个后端组件;
所述多个计算子组件在所述控制组件中的处理流程的指示下,分别处理样本数据集合的样本子集,对于所述多个计算子组件中的一个:
所述数据组件基于所述控制组件中的处理流程,将样本数据集合的样本子集依次输出到所述嵌入组件;
所述嵌入组件基于所述控制组件中的处理流程接收所述样本子集,基于映射参数,将所述样本子集中的样本数据映射到多维空间得到多维样本子集,并输出所述多维样本子集到所述后端组件;
所述后端组件接收所述多维样本子集,并根据所述后端组件中存储的模型对所述多维样本子集进行模型训练。
8.根据权利要求7所述的数据处理方法,其中,所述数据处理方法还包括:
在所述多个计算子组件中的所述嵌入组件之间建立通信;
根据所述控制组件中的处理流程的指示,在所述计算子组件的嵌入组件之间同步所述多维样本子集的映射参数。
9.根据权利要求7所述的数据处理方法,其中,所述数据处理方法还包括:
所述后端组件对所述多维样本子集进行模型训练得到梯度向量,并反馈所述梯度向量;
所述嵌入组件接收所述后端组件反馈的梯度向量,根据所述梯度向量更新所述多维样本子集的映射参数。
10.根据权利要求7所述的数据处理方法,其中,
所述多个计算子组件处理的所述样本数据集合的样本子集,构成所述样本数据集合的全集。
11.根据权利要求7所述的数据处理方法,其中,
所述控制组件中的处理流程,是用户自定义的处理流程。
12.根据权利要求7所述的数据处理方法,其中,
所述多个后端组件中存储的模型包括深度学习框架TensorFlow。
13.一种数据处理设备,其特征在于,包括存储器和处理器;
所述存储器用于储存有可执行程序代码;
所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求7至12任意一项所述的数据处理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710552725.5A CN109214519B (zh) | 2017-07-07 | 2017-07-07 | 数据处理***、方法和设备 |
TW107120133A TW201907320A (zh) | 2017-07-07 | 2018-06-12 | 資料處理系統、方法和設備 |
US16/029,389 US20190012596A1 (en) | 2017-07-07 | 2018-07-06 | Data processing system, method, and device |
PCT/US2018/041101 WO2019010424A1 (en) | 2017-07-07 | 2018-07-06 | DATA PROCESSING SYSTEM, METHOD AND DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710552725.5A CN109214519B (zh) | 2017-07-07 | 2017-07-07 | 数据处理***、方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109214519A CN109214519A (zh) | 2019-01-15 |
CN109214519B true CN109214519B (zh) | 2022-07-01 |
Family
ID=64904254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710552725.5A Active CN109214519B (zh) | 2017-07-07 | 2017-07-07 | 数据处理***、方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190012596A1 (zh) |
CN (1) | CN109214519B (zh) |
TW (1) | TW201907320A (zh) |
WO (1) | WO2019010424A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110503150A (zh) * | 2019-08-26 | 2019-11-26 | 苏州科达科技股份有限公司 | 样本数据采集方法、装置及存储介质 |
CN110941451A (zh) * | 2019-10-23 | 2020-03-31 | 中国科学院计算技术研究所 | 一种数据流处理器指令映射方法及***、装置 |
CN110780978B (zh) * | 2019-10-25 | 2022-06-24 | 赛尔网络有限公司 | 一种数据处理方法、***、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235974A (zh) * | 2013-04-25 | 2013-08-07 | 中国科学院地理科学与资源研究所 | 一种提高海量空间数据处理效率的方法 |
CN104115165A (zh) * | 2012-02-15 | 2014-10-22 | 阿尔卡特朗讯 | 使用机器学习来用于映射媒体组件的方法 |
CN105787591A (zh) * | 2016-02-26 | 2016-07-20 | 中国水产科学研究院东海水产研究所 | 一种利用多尺度环境特征的渔场预报方法 |
CN105940395A (zh) * | 2014-01-31 | 2016-09-14 | 谷歌公司 | 生成文档的矢量表示 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9129227B1 (en) * | 2012-12-31 | 2015-09-08 | Google Inc. | Methods, systems, and media for recommending content items based on topics |
US9349105B2 (en) * | 2013-12-18 | 2016-05-24 | International Business Machines Corporation | Machine learning with incomplete data sets |
WO2017044737A1 (en) * | 2015-09-11 | 2017-03-16 | Powerscout, Inc. | Spatial modeling and other data analytics enabled energy platform |
-
2017
- 2017-07-07 CN CN201710552725.5A patent/CN109214519B/zh active Active
-
2018
- 2018-06-12 TW TW107120133A patent/TW201907320A/zh unknown
- 2018-07-06 US US16/029,389 patent/US20190012596A1/en not_active Abandoned
- 2018-07-06 WO PCT/US2018/041101 patent/WO2019010424A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104115165A (zh) * | 2012-02-15 | 2014-10-22 | 阿尔卡特朗讯 | 使用机器学习来用于映射媒体组件的方法 |
CN103235974A (zh) * | 2013-04-25 | 2013-08-07 | 中国科学院地理科学与资源研究所 | 一种提高海量空间数据处理效率的方法 |
CN105940395A (zh) * | 2014-01-31 | 2016-09-14 | 谷歌公司 | 生成文档的矢量表示 |
CN105787591A (zh) * | 2016-02-26 | 2016-07-20 | 中国水产科学研究院东海水产研究所 | 一种利用多尺度环境特征的渔场预报方法 |
Non-Patent Citations (1)
Title |
---|
TensorFlow: A System for Large-Scale Machine Learning;Abadi et al.;《Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation(OSDI"16)》;20161104;摘要,第6页第2栏至第7页第1栏,第11页第1栏至第12页第2栏 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019010424A1 (en) | 2019-01-10 |
CN109214519A (zh) | 2019-01-15 |
US20190012596A1 (en) | 2019-01-10 |
TW201907320A (zh) | 2019-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11322138B2 (en) | Voice awakening method and device | |
US11620532B2 (en) | Method and apparatus for generating neural network | |
US9934260B2 (en) | Streamlined analytic model training and scoring system | |
US20190164549A1 (en) | Method and apparatus for controlling page | |
KR102308002B1 (ko) | 정보 생성 방법 및 장치 | |
US11341415B2 (en) | Method and apparatus for compressing neural network | |
WO2021196954A1 (zh) | 序列化数据处理方法和装置、文本处理方法和装置 | |
CN109214519B (zh) | 数据处理***、方法和设备 | |
EP3480704A1 (en) | Method and apparatus for information interaction | |
CN111898698B (zh) | 对象的处理方法及装置、存储介质和电子设备 | |
CN114693934A (zh) | 语义分割模型的训练方法、视频语义分割方法及装置 | |
CN111354345A (zh) | 生成语音模型和语音识别的方法、装置、设备以及介质 | |
CN112182255A (zh) | 用于存储媒体文件和用于检索媒体文件的方法和装置 | |
CN116186295A (zh) | 基于注意力的知识图谱链接预测方法、装置、设备及介质 | |
CN113946648B (zh) | 结构化信息生成方法、装置、电子设备和介质 | |
CN112329459A (zh) | 文本标注方法和神经网络模型的构建方法 | |
CN111709784A (zh) | 用于生成用户留存时间的方法、装置、设备和介质 | |
CN113111169A (zh) | 基于深度学习模型的接处警文本地址信息提取方法和装置 | |
CN111353585A (zh) | 神经网络模型的结构搜索方法和装置 | |
CN116107666B (zh) | 程序业务流信息生成方法、装置、电子设备和计算机介质 | |
CN111522887B (zh) | 用于输出信息的方法和装置 | |
CN114663073B (zh) | 异常节点的发现方法及其相关设备 | |
CN117389544B (zh) | 一种人工智能的数据建模方法、装置、介质和设备 | |
CN111526054B (zh) | 用于获取网络的方法及装置 | |
CN117217459A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |