CN108924187A - 基于机器学习的任务处理方法、装置和终端设备 - Google Patents
基于机器学习的任务处理方法、装置和终端设备 Download PDFInfo
- Publication number
- CN108924187A CN108924187A CN201810578498.8A CN201810578498A CN108924187A CN 108924187 A CN108924187 A CN 108924187A CN 201810578498 A CN201810578498 A CN 201810578498A CN 108924187 A CN108924187 A CN 108924187A
- Authority
- CN
- China
- Prior art keywords
- request
- parameter
- merging
- queue
- machine learning
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种基于机器学习的任务处理方法、装置和终端设备,其中,方法包括:根据机器学习模型的任务处理请求的类型,将任务处理请求加入对应的任务处理队列中;其中,任务处理队列包括合并请求队列和有序请求队列;合并请求队列包括参数更新请求,有序请求队列包括参数获取请求;在满足合并条件的情况下,将合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新机器学习模型的模型参数;根据有序请求队列中参数获取请求排列的先后顺序,依次获取机器学习模型的模型参数,并返回给相应的客户端。采用本发明,能分类处理机器学习的任务处理请求,避免不同类型请求之间的相互依赖,提高机器学习过程的任务处理效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于机器学习的任务处理方法、装置和终端设备。
背景技术
机器学习(Machine Learning,ML)主要是通过学习训练数据中的特征,以调整其自身的模型结构或模型参数的过程。其中,机器学习在训练的过程中会对模型中大量的参数进行训练更新。训练数据可以包括文本格式的数据。这些文本中的一行是一条训练样本,训练样本的总条目数(也就是行数)会达到万亿级别的数量级,样本中的特征也会达到千亿级别的数量级。随着特征的数量的上升,机器学习的训练过程的速度也会随之变得缓慢。
如图1所示,传统的机器学习的训练任务为多机处理,基本角色分为两种,包括客户端和服务端。其中,客户端用于训练数据,主要根据单条训练样本或者一小批训练样本对梯度值(delta)进行计算,梯度值的格式是一个kv对数据(参数关键字key及其赋值value的组合)。服务端会不断接受客户端(worker)发送的梯度值的kv对数据,接受客户端的获取参数请求。服务端会根据客户端提供的梯度值对模型参数的赋值进行更新,根据客户端要求获取的模型参数提取相应的参数值返回给客户端。机器学习模型的模型参数在服务端中是由多台机器共同存储。服务端在收到参数更新请求之后,根据收到的参数更新请求的请求顺序依次更新服务端的多台机器。对于任一个请求,更新完服务端中的所有机器的梯度值之后,再发送回包给客户端。
在这种传统的处理架构下,服务端由于计算能力有限,在接收到的任务处理请求过多的情况下,服务器中的任务容易堆积或拥堵,处理效率低下。
发明内容
本发明实施例提供一种基于机器学习的任务处理方法、装置、存储介质和终端设备,以解决或缓解现有技术中的以上一个或多个技术问题。
第一方面,本发明实施例提供了一种基于机器学习的任务处理方法,包括:
根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中;其中,所述任务处理队列包括合并请求队列和有序请求队列;如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列;在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数;根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。
结合第一方面,在第一方面的第一种实施方式中,所述根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中,包括:判断所述任务处理请求的类型;如果所述任务处理请求的类型为参数获取请求,则将所述参数获取请求按照请求时间的先后顺序依次排列在有序请求队列中;如果所述任务处理请求的类型为参数更新请求,则根据所述参数更新请求中请求更新的模型参数所属范围,将所述参数更新请求加入到与所述模型参数所属范围相符的合并请求队列中。
结合第一方面,在第一方面的第二种实施方式中,所述在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,包括以下任意一种方式:判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,将所述合并请求队列中的各参数更新请求合并;判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并;判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,以及,判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,且当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并。
结合第一方面及其任一种实施方式,在第一方面的第三种实施方式中,所述将所述合并请求队列中的各参数更新请求合并,包括:对所述合并请求队列中的各参数更新请求包括模型参数的赋值分别进行赋值合并,获得各模型参数的唯一赋值,以组成参数更新组,并将所述参数更新组加入合并后的参数更新请求中。
结合第一方面的第三种实施方式,在第一方面的第四种实施方式中,所述根据合并后的参数更新请求更新所述机器学习模型的模型参数,包括:根据合并后的参数更新请求的生成时间或当前时间,计算所述合并后的参数更新请求的哈希值;根据所述合并后的参数更新请求的哈希值,确定所述机器学习模型的更新参数的初始位置;根据所述合并后的参数更新请求,从所述更新参数的初始位置开始,逐个地更新所述参数更新组的各参数对应的参数位置的模型参数的赋值。
结合第一方面及其任一种实施方式,在第一方面的第五种实施方式中,所述参数获取请求包括多个请求获取的模型参数,根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,包括:对于所述有序请求队列中的每个参数获取请求,根据当前时间计算所述参数获取请求的哈希值;根据所述参数获取请求的哈希值,确定所述机器学习模型的获取参数的初始位置;根据所述参数获取请求,从所述获取参数的初始位置开始,逐个地从所述请求获取的模型参数对应的参数位置获取模型参数的赋值。
结合第一方面及其任一种实施方式,在第一方面的第七种实施方式中,所述任务处理方法还包括:判断所述参数位置的写参数位置与读参数位置是否满足同步条件;所述写参数位置包括用于更新参数的位置,所述读参数位置包括用于获取参数的位置;当所述写参数位置与所述读参数位置满足所述同步条件时,将所述写参数位置中的模型参数同步到所述读参数位置。
结合第一方面及其任一种实施方式,在第一方面的第八种实施方式中,在根据合并后的参数更新请求更新所述机器学习模型的模型参数之后,所述方法包括:向所述合并请求队列中的各参数更新请求对应的客户端发送回包信息;所述回包信息用于向接收到所述回包信息的客户端提示已完成参数更新。
第二方面,本发明实施例提供一种基于机器学习的任务处理装置,包括:
任务分类模块,用于根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中;其中,所述任务处理队列包括合并请求队列和有序请求队列;如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列;合并更新模块,用于在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数;以及参数获取模块,用于根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。
所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,基于机器学习的任务处理结构中包括处理器和存储器,所述存储器用于基于机器学习的任务处理装置执行上述第一方面中基于机器学习的任务处理程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述基于机器学习的任务处理装置还可以包括通信接口,用于基于机器学习的任务处理装置与其他设备或通信网络通信。
第三方面,本发明实施例还提供一种计算机可读存储介质,用于存储基于机器学习的任务处理装置所用的计算机软件指令,其中包括用于执行上述第一方面的基于机器学习的任务处理方法所涉及的程序。
上述技术方案中的任一个技术方案具有如下优点或有益效果:
本发明实施例通过根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中。如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列。对于合并请求队列,在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数,可以提高更新参数的效率。对于有序请求队列,根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。本发明实施例实现了对不同类型的任务处理请求进行分类处理,避免不同类型请求之间的相互依赖,提高机器学习过程的任务处理效率。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1是现有技术提供的基于机器学习的任务处理的方法的框架示意图;
图2是本发明提供的基于机器学习的任务处理的方法的一个实施例的流程示意图;
图3是本发明提供的任务处理请求分类的一个实施例的流程示意图;
图4是本发明提供的模型参数更新的一个实施例的流程示意图;
图5是本发明提供的基于机器学习的任务处理的方法的另一个实施例的流程示意图;
图6是本发明提供的基于机器学习的任务处理的装置的一个实施例的流程示意图;
图7是本发明提供的基于机器学习的任务处理的装置的另一个实施例的流程示意图;
图8是本发明提供的参数更新过程的应用示例的框架示意图;
图9是本发明提供的参数获取过程的应用示例的框架示意图;
图10是本发明提供的终端设备的一个实施例的结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
由于服务器接收到的任务处理请求的类型包括更新参数值的请求(以下简称参数更新请求)和获取参数值的请求(以下简称参数获取请求)。如果服务器分开处理这两种请求,放在同一任务处理队列中,按任务处理队列的排列顺序对任务处理请求进行处理,会导致在任务处理请求过程中会有前后的依赖,造成整体耗时的延长。此外,服务器在更新参数时,可能需要更新多个参数块中的参数,每一个参数更新请求需要等到前一个参数更新请求的所有参数都更新完再开始处理,进一步延长了处理时间。
请参阅图2,本发明实施例提供了一种基于机器学习的任务处理方法,可以应用于服务器。本实施例包括步骤S100至步骤S300,具体如下:
S100,根据机器学习模型的任务处理请求的类型,将任务处理请求加入对应的任务处理队列中;其中,任务处理队列包括合并请求队列和有序请求队列;如果任务处理请求的类型为参数更新请求,则加入合并请求队列,如果任务处理请求的类型为参数获取请求,则加入有序请求队列。
在本实施例中,服务器可以提供接收请求接口,用于接收到客户端发送的任务处理请求。任务处理请求可以包括参数更新请求和参数获取请求。其中,参数更新请求用于更新机器学习模型的模型参数。参数获取请求用于获取机器学习模型的模型参数。
在本实施例中,可以将任务处理队列分成两类,分别对这两种类型的任务处理队列进行处理,即分别执行步骤S200和步骤S300。
S200,在满足合并条件的情况下,将合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新机器学习模型的模型参数。其中,合并条件可以根据时间、队列的缓冲空间等因素进行设置。
S300,根据有序请求队列中参数获取请求排列的先后顺序,依次获取机器学习模型的模型参数,并返回给相应的客户端。
本发明实施例根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中。如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列。对于合并请求队列,在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数,可以提高更新参数的效率。对于有序请求队列,根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。本发明实施例对不同类型的任务处理请求进行分类处理,可以避免不同类型请求之间的相互依赖,提高机器学习过程中的任务处理效率。
在一种可能的实现方式中,如图3所示,步骤S100可以包括:
步骤S101、服务器判断任务处理请求的类型;
步骤S102、如果任务处理请求的类型为参数获取请求,则服务器将参数获取请求按照请求时间的先后顺序依次排列在有序请求队列中;
步骤S103、如果任务处理请求的类型为参数更新请求,则服务器根据参数更新请求中请求更新的模型参数所属范围,将参数更新请求加入到与模型参数所属范围相符的合并请求队列中。
在本实施例中,服务器可以包括一个有序请求队列和多个合并请求队列,其中,每个合并请求队列可以负责其中一部分的任务处理请求。例如,合并请求队列A负责处理模型参数所属范围为1~10的请求,合并请求队列B负责处理模型参数所属范围为11~20的请求,以此类推。以及每个任务处理请求可以包括多个模型参数,例如:任务处理请求a包括模型参数1至模型参数3,任务请求b包括模型参数5至模型参数8,任务处理请求c包括模型参数1、模型参数3以及模型参数4,任务处理请求d包括模块参数11至模型参数15等。在一种具体示例中,任务处理请求a、b和c均可加入合并请求队列A,以及任务处理请求d可加入到合并请求队列B中。
在一种可能的实现方式中,在步骤S200中,对于任一合并请求队列来说,服务器可以判断合并请求队列是否满足合并条件。在满足合并条件的情况下,服务器可以将合并请求队列中的各参数更新请求合并,例如采用以下任意一种方式判断是否满足合并条件:
其一,判断合并请求队列包含的参数更新请求的数量是否达到数量阈值,当合并请求队列包含的参数更新请求的数量达到数量阈值时,表示满足合并条件,将合并请求队列中的各参数更新请求合并。
其二,判断合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当合并请求队列距离上一次执行合并请求的操作的时长达到时长阈值时,表示满足合并条件,将合并请求队列中的各参数更新请求合并。
其三,判断合并请求队列包含的参数更新请求的数量是否达到数量阈值,以及,判断合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当合并请求队列包含的参数更新请求的数量达到数量阈值时,且当合并请求队列距离上一次执行合并请求的操作的时长达到时长阈值时,表示满足合并条件,将合并请求队列中的各参数更新请求合并。
在一种可能的实现方式中,将合并请求队列中的各参数更新请求合并的合并的方式可以包括:对合并请求队列中的各参数更新请求包括模型参数的赋值分别进行赋值合并,获得各模型参数的唯一赋值,以组成参数更新组,并将参数更新组加入合并后的参数更新请求中。
在本实施例中,对于任一个合并请求队列,队列中包括多个参数更新请求,每个参数更新请求可以包括多个模型参数,则队列中包含的同一模型参数的赋值有多个。例如,同一个参数key对应多个value赋值。此时可以将队列中各模型参数进行赋值合并以获得各模型参数的唯一赋值。赋值合并的方式可以包括对模型参数的多个value赋值取均值、对模型参数的多个value赋值取均值进行加权求和等方式。合并请求之后,队列中包括的每个模型参数对应一个赋值,可以组成一个参数更新组,后续直接根据该参数更新组对机器学习模型的模型参数进行更新。如此,多个合并请求队列可以并行工作,互不干扰,有效解决任务处理拥堵的问题。
在一种可能的实现方式中,如图4所示,在步骤S200中,根据合并后的参数更新请求更新机器学习模型的模型参数,可以包括:
步骤S201、根据合并后的参数更新请求的生成时间或当前时间,计算合并后的参数更新请求的哈希值。
步骤S202、根据合并后的参数更新请求的哈希值,确定机器学习模型的更新参数的初始位置。
步骤S203、根据合并后的参数更新请求,从更新参数的初始位置开始,逐个地更新参数更新组的各参数对应的参数位置的模型参数的赋值。
在本实施例中,机器学习模型的模型参数可以分成多个机器、存储器或存储块/区进行存储。例如,每个存储块可以存储机器学习模型中的一部分模型参数。在一个示例中,机器学习模型的模型参数包括模型参数key1~key20,可以采用4个存储块来存储这20个模型参数。其中,存储块1负责处理模型参数key1~key5,存储块2负责处理模型参数key6~key10,存储块3负责处理模型参数key11~key15,存储块4负责处理模型参数key16~key20。那么,当合并一个队列中的参数更新请求之后,根据合并后的参数更新请求的生成时间或当前时间,计算出一个哈希值,以确定从哪一个存储块(即更新参数的初始位置)开始。然后,基于合并后的参数更新请求进行模型参数更新。
示例性地,假设参数更新组M包括模型参数key3~key12的赋值,以及根据参数更新组M的哈希值所确定的存储块为存储块1,则可以将参数更新组M提交到存储块1中,开始对存储块1的模型参数key3~key5的赋值进行更新。当存储块1更新完之后,根据存储块的排列顺序以及存储块负责处理的模型参数,确定下一存储块为存储块2,将参数更新组M提交给存储块2。然后,开始对存储块2的模型参数key6~key10进行更新。以此类推,直至对参数更新组M中的模型参数更新完毕。如此,服务器可以同时处理多个参数更新组(多个合并后的参数更新请求),实现异步链式处理,进一步提高任务处理的效率。
在一种可能的实现方式中,参数获取请求可以包括一个或多个请求获取的模型参数,上述步骤S300的实施方式可以包括:
首先,对于有序请求队列中的每个参数获取请求,根据当前时间计算参数获取请求的哈希值。然后,根据参数获取请求的哈希值,确定机器学习模型的获取参数的初始位置。最后,根据参数获取请求,从获取参数的初始位置开始,逐个地从请求获取的模型参数对应的参数位置获取模型参数的赋值。
在本实施例中,与确定更新参数的初始位置类似,可以根据参数获取请求的哈希值来确定获取参数的初始位置,然后,从确定的初始位置开始获取模型参数。
示例性地,假设参数获取请求N需要请求获取模型参数key3~key12的赋值,以及假设根据参数获取请求N的哈希值所确定的存储块为存储块2,则可以将参数获取请求提交到存储块2,开始从存储块2中获取模型参数key6~key10。当存储块2更新完之后,根据存储块的排列顺序以及存储块负责处理的模型参数,确定下一存储块为存储块3,将参数获取请求N提交给存储块3。然后,开始从存储块3中获取模型参数key11~key12。当存储块3更新完之后,根据存储块的排列顺序以及存储块负责处理的模型参数,确定下一存储块为存储块1,将参数获取请求N提交给存储块1。进而,开始从存储块1中获取模型参数key3~key5。以此类推,对其他的参数获取请求也是执行同样的处理。如此,服务器可以同时处理多个参数获取请求,实现异步链式处理。
在一种可能的实现方式中,参数位置可以包括写参数位置和读参数位置,写参数位置包括用于更新参数的位置,读参数位置包括用于获取参数的位置。例如,以存储块1为例,存储块1可以包括写参数位置1和读参数位置1,写参数位置1执行写入请求的操作(例如,更新参数请求),读参数位置1执行读出请求的操作(例如,获取参数请求),读写请求之间不会相互影响。
因而,如图5所示,本发明实施例提供的任务处理方法还可以包括:
步骤S501、判断参数位置的写参数位置与读参数位置是否满足同步条件;
步骤S502、当写参数位置与读参数位置满足同步条件时,将写参数位置中的模型参数同步到读参数位置。
例如,可以在服务器的内部设置时钟,当时间到了,自动同步写参数位置1的内容到读参数位置1中,也可以将所有的写参数位置的内容同步到相应的读参数位置中。本实施例可以将参数更新请求与参数获取请求在内存上实现隔离,避免读写之间的相互依赖,提高服务器的任务处理速度。
在一种可能的实现方式中,如图5所示,在根据合并后的参数更新请求更新机器学习模型的模型参数之后,该方法还包括:
步骤S503、服务器可以向合并请求队列中的各参数更新请求对应的客户端发送回包信息;
步骤S504、回包信息用于向接收到回包信息的客户端提示已完成参数更新。
如图6所示,本发明实施例提供一种基于机器学习的任务处理装置,包括:
任务分类模块100,用于根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中;其中,所述任务处理队列包括合并请求队列和有序请求队列;如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列;
合并更新模块200,用于在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数;以及
参数获取模块300,用于根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。
在一种可能的实现方式中,所述任务分类模块100包括:
请求类型判断单元,用于判断所述任务处理请求的类型;
有序队列排列单元,用于如果所述任务处理请求的类型为参数获取请求,则将所述参数获取请求按照请求时间的先后顺序依次排列在有序请求队列中;
合并队列加入单元,用于如果所述任务处理请求的类型为参数更新请求,则根据所述参数更新请求中请求更新的模型参数所属范围,将所述参数更新请求加入到与所述模型参数所属范围相符的合并请求队列中。
在一种可能的实现方式中,所述合并更新模块包括以下任意一种单元:
第一合并判断单元,用于判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,将所述合并请求队列中的各参数更新请求合并;
第二合并判断单元,用于判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并;
第三合并判断单元,用于判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,以及,判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,且当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并。
在一种可能的实现方式中,所述合并更新模块200具体用于:对所述合并请求队列中的各参数更新请求包括模型参数的赋值分别进行赋值合并,获得各模型参数的唯一赋值,以组成参数更新组,并将所述参数更新组加入合并后的参数更新请求中。
在一种可能的实现方式中,所述合并更新模块200包括:
第一哈希计算单元,用于根据合并后的参数更新请求的生成时间或当前时间,计算所述合并后的参数更新请求的哈希值;
第一位置确定单元,用于根据所述合并后的参数更新请求的哈希值,确定所述机器学习模型的更新参数的初始位置;
参数更新单元,用于根据所述合并后的参数更新请求,从所述更新参数的初始位置开始,逐个地更新所述参数更新组的各参数对应的参数位置的模型参数的赋值。
在一种可能的实现方式中,所述参数获取请求包括多个请求获取的模型参数,所述参数获取模块300包括:
第二哈希计算单元,用于对于所述有序请求队列中的每个参数获取请求,根据当前时间计算所述参数获取请求的哈希值;
第二位置确定单元,用于根据所述参数获取请求的哈希值,确定所述机器学习模型的获取参数的初始位置;
参数获取单元,用于根据所述参数获取请求,从所述获取参数的初始位置开始,逐个地从所述请求获取的模型参数对应的参数位置获取模型参数的赋值。
在一种可能的实现方式中,如图7所示,所述任务处理装置还包括:
同步判断模块400,用于判断所述参数位置的写参数位置与读参数位置是否满足同步条件;所述写参数位置包括用于更新参数的位置,所述读参数位置包括用于获取参数的位置;
参数同步模块500,用于当所述写参数位置与所述读参数位置满足所述同步条件时,将所述写参数位置中的模型参数同步到所述读参数位置。
在一种可能的实现方式中,所述装置还包括:
回包发送模块600,用于在根据合并后的参数更新请求更新所述机器学习模型的模型参数之后,向所述合并请求队列中的各参数更新请求对应的客户端发送回包信息;所述回包信息用于向接收到所述回包信息的客户端提示已完成参数更新。
所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,基于机器学习的任务处理结构中包括处理器和存储器,所述存储器用于基于机器学习的任务处理装置执行上述第一方面中基于机器学习的任务处理程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述基于机器学习的任务处理装置还可以包括通信接口,用于基于机器学习的任务处理装置与其他设备或通信网络通信。
如图8所示,是本发明实施例提供一种参数更新过程的应用示例的示意图。本应用示例的服务器可以包括接收请求模块、多个线程表、合并请求模块、多个参数处理模块以及发送回包模块。
其中,接收请求模块用于接收来自客户端的任务处理请求,并根据请求中请求处理的模型参数所属的范围分配到相应的线程表中。每个线程表可以无序地接收来自接收请求模块的请求。每个线程表对应一个或多个合并请求模块,每个线程表可以统一地把接收到的参数获取请求发给该线程表对应的合并请求模块。
合并请求模块在满足合并条件的情况下,可以对收到的多个参数更新请求具有相同的key值,则将这些参数更新请求中与该key值对应的多个value值进行合并。合并完以后,一个key值对应的一个value值,组成一组kv对参数组,组内key值不重复。其中,合并策略(也即判断是否满足合并条件)可以包括多种,例如:设置一个超时时间,当时间已超时开始对队列内的请求进行合并。再如:在合并请求模块中临时存储的kv对的缓存空间已满的情况下,触发合并。合并的方式可以是对一个key值对应的多个value值取均值,也可以是根据业务需求对一个key值对应的多个value值进行加权求合。合并请求模块会将合并后的kv对(图5中的合并请求模块与参数处理模块之间的顺序流1、顺序2和顺序3中的一者),通过哈希(hash)的方式发送给后续的参数处理模块。本实施例的hash方式采用的是无锁的可扩展的一种方式。
每个参数处理模块可以由单个线程进行处理,每个参数处理模块可以处理一部分key值对应的参数值。例如,图8包括3个参数处理模块,模型参数的key值的范围可以包括1至10,参数处理模块1负责处理key值1-3对应的参数值,参数处理模块2处理key值4-6的对应的参数值,参数处理模块N处理key值7-10对应的参数值。
在合并后的kv对对应的模型参数更新完毕之后,参数处理模块发送更新完成的信息给发送回包模块,发送回包模块发送相应的回包信息给相应的客户端。
如图9所示,其是本发明实施例提供一种参数获取过程的应用示例的示意图。本应用示例的服务器可以包括接收请求模块、多个线程表、有序请求模块、多个参数处理模块以及发送回包模块。
在本实施例中,参数获取请求与前述的参数更新请求的处理方式类似,区别在于:把合并请求模块换成了有序请求模块。此处的有序请求模块采用单个线程维护了一个队列。所有接收到的参数更新请求按照进入队列的顺序先后排列,再进行参数更新请求的处理。合并请求模块可以通过资源线程池来进行维护。有序请求模块可以由单个统一的队列按请求时间先后来排序参数获取请求,可以优先处理先收到的参数获取请求,避免后接收到的参数获取请求被优先处理。在参数处理模块处理完成一个参数更新请求之后,将获取到的所有参数返回给发送回包模块。发送回包模块将接收到的参数返回给发送该参数获取请求的客户端。
在本应用示例中,每一个参数处理模块的内部可以分别维护两块内存,分别用于保存读数据和写数据。读请求用于请求读缓冲区,写请求用于请求写缓冲区,可以避免读写请求之间的相互影响。参数处理模块的内部还可以设置时钟,自动同步写请求的缓冲区的内容到读请求的缓冲区。
本发明实施例实现了机器学习过程中任务的分布式处理,可以在机器学习的训练任务处理过程中最大程度地减少拥塞;可以将读请求与写请求在内存上隔离,避免读写请求之间的相互影响。此外,参数更新请求与参数获取请求在各自操作过程中可以不依赖各自的前项请求的处理进度,使得服务器的资源利用率相对较高,耗时非常短,处理效率高。而且,在对参数进行更新或获取的过程中,处理方式从先分布后集合的方式改成了异步链式处理的方式,有利于提高请求处理速度。
本发明实施例还提供一种终端设备,如图10所示,该设备包括:存储器21和处理器22,存储器21内存储有可在处理器22上的计算机程序。处理器22执行计算机程序时实现上述实施例中的基于机器学习的任务处理方法。存储器21和处理器22的数量可以为一个或多个。
该设备还包括:
通信接口23,用于处理器22与外部设备之间的通信。
存储器21可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
如果存储器21、处理器22和通信接口23独立实现,则存储器21、处理器22和通信接口23可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器21、处理器22及通信接口23集成在一块芯片上,则存储器21、处理器22及通信接口23可以通过内部接口完成相互间的通信。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
本发明实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种基于机器学习的任务处理方法,其特征在于,包括:
根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中;其中,所述任务处理队列包括合并请求队列和有序请求队列;如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列;
在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数;
根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。
2.如权利要求1所述的基于机器学习的任务处理方法,其特征在于,所述根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中,包括:
判断所述任务处理请求的类型;
如果所述任务处理请求的类型为参数获取请求,则将所述参数获取请求按照请求时间的先后顺序依次排列在有序请求队列中;
如果所述任务处理请求的类型为参数更新请求,则根据所述参数更新请求中请求更新的模型参数所属范围,将所述参数更新请求加入到与所述模型参数所属范围相符的合并请求队列中。
3.如权利要求1所述的基于机器学习的任务处理方法,其特征在于,所述在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,包括以下任意一种方式:
判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,将所述合并请求队列中的各参数更新请求合并;
判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并;
判断所述合并请求队列包含的参数更新请求的数量是否达到数量阈值,以及,判断所述合并请求队列距离上一次执行合并请求的操作的时长是否达到时长阈值,当所述合并请求队列包含的参数更新请求的数量达到所述数量阈值时,且当所述合并请求队列距离上一次执行合并请求的操作的时长达到所述时长阈值时,将所述合并请求队列中的各参数更新请求合并。
4.如权利要求1至3任一项所述的基于机器学习的任务处理方法,其特征在于,所述将所述合并请求队列中的各参数更新请求合并,包括:
对所述合并请求队列中的各参数更新请求包括模型参数的赋值分别进行赋值合并,获得各模型参数的唯一赋值,以组成参数更新组,并将所述参数更新组加入合并后的参数更新请求中。
5.如权利要求4所述的基于机器学习的任务处理方法,其特征在于,所述根据合并后的参数更新请求更新所述机器学习模型的模型参数,包括:
根据合并后的参数更新请求的生成时间或当前时间,计算所述合并后的参数更新请求的哈希值;
根据所述合并后的参数更新请求的哈希值,确定所述机器学习模型的更新参数的初始位置;
根据所述合并后的参数更新请求,从所述更新参数的初始位置开始,逐个地更新所述参数更新组的各参数对应的参数位置的模型参数的赋值。
6.如权利要求1至3任一项所述的基于机器学习的任务处理方法,其特征在于,所述参数获取请求包括多个请求获取的模型参数,根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,包括:
对于所述有序请求队列中的每个参数获取请求,根据当前时间计算所述参数获取请求的哈希值;
根据所述参数获取请求的哈希值,确定所述机器学习模型的获取参数的初始位置;
根据所述参数获取请求,从所述获取参数的初始位置开始,逐个地从所述请求获取的模型参数对应的参数位置获取模型参数的赋值。
7.如权利要求1至3任一项所述的基于机器学习的任务处理方法,其特征在于,还包括:
判断所述参数位置的写参数位置与读参数位置是否满足同步条件;所述写参数位置包括用于更新参数的位置,所述读参数位置包括用于获取参数的位置;
当所述写参数位置与所述读参数位置满足所述同步条件时,将所述写参数位置中的模型参数同步到所述读参数位置。
8.如权利要求1至3任一项所述的基于机器学习的任务处理方法,其特征在于,在根据合并后的参数更新请求更新所述机器学习模型的模型参数之后,所述方法包括:
向所述合并请求队列中的各参数更新请求对应的客户端发送回包信息;所述回包信息用于向接收到所述回包信息的客户端提示已完成参数更新。
9.一种基于机器学习的任务处理装置,其特征在于,包括:
任务分类模块,用于根据机器学习模型的任务处理请求的类型,将所述任务处理请求加入对应的任务处理队列中;其中,所述任务处理队列包括合并请求队列和有序请求队列;如果所述任务处理请求的类型为参数更新请求,则加入所述合并请求队列,如果所述任务处理请求的类型为参数获取请求,则加入所述有序请求队列;
合并更新模块,用于在满足合并条件的情况下,将所述合并请求队列中的各参数更新请求合并,并根据合并后的参数更新请求更新所述机器学习模型的模型参数;
参数获取模块,用于根据所述有序请求队列中参数获取请求排列的先后顺序,依次获取所述机器学习模型的模型参数,并返回给相应的客户端。
10.一种实现基于机器学习的任务处理终端设备,其特征在于,所述终端设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-9中任一所述的基于机器学习的任务处理方法。
11.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的基于机器学习的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810578498.8A CN108924187B (zh) | 2018-06-07 | 2018-06-07 | 基于机器学习的任务处理方法、装置和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810578498.8A CN108924187B (zh) | 2018-06-07 | 2018-06-07 | 基于机器学习的任务处理方法、装置和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108924187A true CN108924187A (zh) | 2018-11-30 |
CN108924187B CN108924187B (zh) | 2020-05-08 |
Family
ID=64420220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810578498.8A Active CN108924187B (zh) | 2018-06-07 | 2018-06-07 | 基于机器学习的任务处理方法、装置和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108924187B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298031A (zh) * | 2019-05-28 | 2019-10-01 | 北京百度网讯科技有限公司 | 一种词典服务系统及模型版本一致性配送方法 |
CN110321213A (zh) * | 2019-07-08 | 2019-10-11 | 杭州港盛软件科技有限公司 | 一种请求处理方法、装置、设备及可读存储介质 |
CN110874643A (zh) * | 2019-11-08 | 2020-03-10 | 中科寒武纪科技股份有限公司 | 机器学习指令的转换方法及装置、板卡、主板、电子设备 |
CN111124708A (zh) * | 2019-12-10 | 2020-05-08 | 广州小鹏汽车科技有限公司 | 面向微服务的批推理方法、服务器和计算机可读存储介质 |
CN111124671A (zh) * | 2019-12-10 | 2020-05-08 | 广州小鹏汽车科技有限公司 | 批推理动态等待方法、服务器和计算机可读存储介质 |
WO2021142637A1 (zh) * | 2020-01-14 | 2021-07-22 | Oppo广东移动通信有限公司 | 人工智能操作处理方法、装置、系统、终端及网络设备 |
CN113885902A (zh) * | 2021-08-23 | 2022-01-04 | 北京房江湖科技有限公司 | 一种应用程序界面更新方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631624A (zh) * | 2013-11-29 | 2014-03-12 | 华为技术有限公司 | 读写请求的处理方法和装置 |
CN104714852A (zh) * | 2015-03-17 | 2015-06-17 | 华中科技大学 | 一种适用于分布式机器学习的参数同步优化方法及其系统 |
US20150379072A1 (en) * | 2014-06-30 | 2015-12-31 | Amazon Technologies, Inc. | Input processing for machine learning |
CN107622310A (zh) * | 2017-08-30 | 2018-01-23 | 第四范式(北京)技术有限公司 | 用于执行机器学习的分布式系统及其方法 |
CN107679563A (zh) * | 2017-09-15 | 2018-02-09 | 广东欧珀移动通信有限公司 | 图像处理方法和装置、系统、计算机设备 |
CN107944566A (zh) * | 2017-11-28 | 2018-04-20 | 杭州云脑科技有限公司 | 一种机器学习方法、主节点、工作节点及系统 |
-
2018
- 2018-06-07 CN CN201810578498.8A patent/CN108924187B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631624A (zh) * | 2013-11-29 | 2014-03-12 | 华为技术有限公司 | 读写请求的处理方法和装置 |
US20150379072A1 (en) * | 2014-06-30 | 2015-12-31 | Amazon Technologies, Inc. | Input processing for machine learning |
CN104714852A (zh) * | 2015-03-17 | 2015-06-17 | 华中科技大学 | 一种适用于分布式机器学习的参数同步优化方法及其系统 |
CN107622310A (zh) * | 2017-08-30 | 2018-01-23 | 第四范式(北京)技术有限公司 | 用于执行机器学习的分布式系统及其方法 |
CN107679563A (zh) * | 2017-09-15 | 2018-02-09 | 广东欧珀移动通信有限公司 | 图像处理方法和装置、系统、计算机设备 |
CN107944566A (zh) * | 2017-11-28 | 2018-04-20 | 杭州云脑科技有限公司 | 一种机器学习方法、主节点、工作节点及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298031A (zh) * | 2019-05-28 | 2019-10-01 | 北京百度网讯科技有限公司 | 一种词典服务系统及模型版本一致性配送方法 |
CN110321213A (zh) * | 2019-07-08 | 2019-10-11 | 杭州港盛软件科技有限公司 | 一种请求处理方法、装置、设备及可读存储介质 |
CN110874643A (zh) * | 2019-11-08 | 2020-03-10 | 中科寒武纪科技股份有限公司 | 机器学习指令的转换方法及装置、板卡、主板、电子设备 |
CN111124708A (zh) * | 2019-12-10 | 2020-05-08 | 广州小鹏汽车科技有限公司 | 面向微服务的批推理方法、服务器和计算机可读存储介质 |
CN111124671A (zh) * | 2019-12-10 | 2020-05-08 | 广州小鹏汽车科技有限公司 | 批推理动态等待方法、服务器和计算机可读存储介质 |
CN111124708B (zh) * | 2019-12-10 | 2023-05-16 | 广州小鹏汽车科技有限公司 | 面向微服务的批推理方法、服务器和计算机可读存储介质 |
CN111124671B (zh) * | 2019-12-10 | 2023-05-16 | 广州小鹏汽车科技有限公司 | 批推理动态等待方法、服务器和计算机可读存储介质 |
WO2021142637A1 (zh) * | 2020-01-14 | 2021-07-22 | Oppo广东移动通信有限公司 | 人工智能操作处理方法、装置、系统、终端及网络设备 |
CN113885902A (zh) * | 2021-08-23 | 2022-01-04 | 北京房江湖科技有限公司 | 一种应用程序界面更新方法 |
CN113885902B (zh) * | 2021-08-23 | 2022-10-11 | 贝壳找房(北京)科技有限公司 | 一种应用程序界面更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108924187B (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108924187A (zh) | 基于机器学习的任务处理方法、装置和终端设备 | |
CN106651097A (zh) | 基于众包的数据采集方法、装置和服务器 | |
CN105511806B (zh) | 处理写请求的方法和移动终端 | |
CN105988970B (zh) | 共享存储数据的处理器和芯片 | |
CN104778025B (zh) | 基于随机访问存储器的先入先出存储器的电路结构 | |
CN105956666B (zh) | 一种机器学习方法及系统 | |
CN107077390A (zh) | 一种任务处理方法以及网卡 | |
CN106775493B (zh) | 一种存储控制器及io请求处理方法 | |
CN105653652B (zh) | 一种数据同步方法及系统 | |
CN109558133A (zh) | 一种页面处理方法、装置和存储介质 | |
CN110109868A (zh) | 用于索引文件的方法、装置和计算机程序产品 | |
CN110134215A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
Wang et al. | Phase-reconfigurable shuffle optimization for Hadoop MapReduce | |
CN116680060B (zh) | 面向异构计算系统的任务分配方法、装置、设备和介质 | |
CN108629560A (zh) | 任务派发方法、电子设备及存储介质 | |
CN103440182A (zh) | 自适应分配方法及装置、自适应副本一致性方法 | |
CN104216834B (zh) | 一种内存访问的方法、缓冲调度器和内存模块 | |
US6915248B1 (en) | Method and apparatus for transforming test stimulus | |
CN109800074A (zh) | 任务数据并发执行方法、装置以及电子设备 | |
CN108241535A (zh) | 资源管理的方法、装置及服务器设备 | |
CN110008187A (zh) | 文件传输调度方法、装置、设备及计算机可读存储介质 | |
CN110515872A (zh) | 直接内存存取方法、装置、专用计算芯片及异构计算系统 | |
CN116089477B (zh) | 分布式训练方法及系统 | |
CN107172222A (zh) | 一种基于分布式存储系统的数据存储方法及装置 | |
Fox | Massively parallel neural computation |
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 |