Methods, systems and devices, including computer programs coded on computer storage media, are used to process the input of machine learning models in batches. One of the methods includes: receiving the request flow, each request identifying the corresponding input for processing by the first machine learning model; adding the corresponding input from each request to the first queue of input for processing by the first machine learning model; and determining at the first time to the first time as follows: In response, the input in the first queue generates the first batch input from the input in the queue up to the first time, so that the count of the input in the first batch input equals the maximum batch size, and provides the first batch size. Batch input for processing by the first machine learning model.
【技术实现步骤摘要】
【国外来华专利技术】分批处理机器学习模型的输入
本说明书涉及使用机器学习模型来处理输入。
技术介绍
机器学习模型接收输入并且基于所接收到的输入生成输出,例如预测的输出。一些机器学习模型是参数模型并且基于所接收到的输入且基于模型的参数值生成输出。一些机器学习模型是采用模型的多个层来为所接收到的输入生成输出的深度模型。例如,深度神经网络包括输出层和一个或多个隐藏层,所述一个或多个隐藏层各自对所接收到的输入应用非线性变换以生成输出。
技术实现思路
一般而言,本说明书描述一种用于分批处理机器学习模型的输入的系统。可借助于安装在系统上的软件、固件、硬件或其组合来如此配置一个或多个计算机的系统,所述软件、固件、硬件或其组合在操作中使系统执行动作。可借助于具有指令来如此配置一个或多个计算机程序,所述指令当由数据处理装置执行时,使该装置执行动作。可实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。通过像本说明书中所描述的那样分批处理机器学习模型的输入,可更有效地使用由系统使用来执行模型的操作的硬件资源,同时确保不超过最大可接受的等待时间。特别地,可优化高吞吐量硬件资源,例如图形处理单元(GPU)和其它硬件加速器,同时维持可接受的等待时间。在系统维护多个机器学习模型的情形下,可有效地分批处理用于那些模型中的每一个的输入。通过为多个机器学习模型中的每一个维护相应的队列,可有效地实现可被系统用于处理机器学习输入的硬件加速器的虚拟化。在下面的附图和描述中阐述本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求书,主题的其它特征、方面和优点将变得显而易见。附图说明图1图示示 ...
【技术保护点】
1.一种方法,所述方法包括:接收请求流,每个请求识别相应的输入以供由第一机器学习模型处理;将来自每个请求的所述相应的输入添加到输入的第一队列以供由所述第一机器学习模型处理;在第一时间确定到所述第一时间时为止所述第一队列中的输入的计数等于或者超过最大批大小,并且作为响应:从到所述第一时间时为止所述队列中的所述输入生成第一成批输入,使得所述第一成批输入中的输入的计数等于所述最大批大小,并且提供所述第一成批输入以供由所述第一机器学习模型处理;以及在第二时间确定(i)到所述第二时间时为止所述队列中的输入的计数小于所述最大批大小但是(ii)所述队列中的最旧输入比等待时间参数旧,并且作为响应:从到所述第二时间时为止所述队列中的所述输入生成第二成批输入,使得所述第二成批输入中的输入的计数小于所述最大批大小,并且提供所述第二成批输入以供由所述第一机器学习模型处理。
【技术特征摘要】
【国外来华专利技术】2016.04.05 US 15/091,3811.一种方法,所述方法包括:接收请求流,每个请求识别相应的输入以供由第一机器学习模型处理;将来自每个请求的所述相应的输入添加到输入的第一队列以供由所述第一机器学习模型处理;在第一时间确定到所述第一时间时为止所述第一队列中的输入的计数等于或者超过最大批大小,并且作为响应:从到所述第一时间时为止所述队列中的所述输入生成第一成批输入,使得所述第一成批输入中的输入的计数等于所述最大批大小,并且提供所述第一成批输入以供由所述第一机器学习模型处理;以及在第二时间确定(i)到所述第二时间时为止所述队列中的输入的计数小于所述最大批大小但是(ii)所述队列中的最旧输入比等待时间参数旧,并且作为响应:从到所述第二时间时为止所述队列中的所述输入生成第二成批输入,使得所述第二成批输入中的输入的计数小于所述最大批大小,并且提供所述第二成批输入以供由所述第一机器学习模型处理。2.根据权利要求1所述的方法,其中,生成所述第二成批输入包括:确定所述第二成批输入中的所述输入的计数大于第一可接受的批大小且小于第二可接受的批大小,并且作为响应,将占位符输入添加到所述第二成批输入,使得所述第二成批输入中的所述输入的计数等于所述第二可接受的批大小。3.根据权利要求2所述的方法,其中,每个占位符输入是已经在所述第二成批输入中的相应的输入的副本。4.根据权利要求2或权利要求3所述的方法,还包括:接收由所述机器学习模型为所述第二成批输入而生成的第二机器学习输出;对于所述第二成批输入中的每个输入,确定与所述输入对应的所述第二机器学习输出的相应的部分;对于所述第二成批输入中的每个占位符输入,丢弃所述第二机器学习输出的相应的对应部分;以及对于不是占位符输入的所述第二成批输入中的每个输入,在对识别所述输入的所述请求的响应中提供所述第二机器学习输出的相应的对应部分。5.根据任一前述权利要求所述的方法,其中,由所述第一机器学习模型对输入的处理由计算图系统来管理,所述计算图系统将所述第一机器学习模型在给定成批输入的处理期间的操作表示为计算图,其中,所述计算图包括多个节点和有向边,其中,每个节点表示相应的操作,并且其中,每个有向边将相应的第一节点连接到相应的第二节点,所述相应的第二节点表示接收由所述相应的第一节点表示的操作的输出作为输入的操作。6.根据权利要求5所述的方法,其中,所述计算图系统通过在多个设备之中指派由所述计算图中的所述节点表示的所述操作来处理成批输入。7.根据权利要求5或权利要求6所述的方法,其中,提供所述第一成批输入以供由所述第一机器学习模型处理包括将所述第一成批输入提供给所述计算图系统,并且其中,提供所述第二成批输入以供由所述第一机器学习模型处理包括将所述第二成批输入提供给所述计算图系统。8.根据任一前述权利要求所述的方法,还包括:维护包括所述第一队列的多个队列,其中,每个队列与来自多个机器学习模型的相应的机器学习模型对应。9.根据权利要求8所述的方法,还包括:确定线程已变得可用于由所述多个机器学习模型中的一个机器学习模型处理成批输入;以及从所述多个机器学习模型中选择所述第一机器学习模型,并且作为响应,提供所述第一成批输入以供在已变得可用的所述线程上处理。10.根据任一前述权利要求所述的方法,还包括:基于可用于处理所述机器学习模型的输入的硬件资源的特性和所述机器学习模型的架构来确定所述最大批大小。11.一种包括一个或多个计算机和存储指令的一个或多个存储设备的系统,所述指令当由所述一个或多个计算机执行时,使所述一个或多个计算机执行包括以下各项的操作:接收请求流,每个请求识别相应的输入以供由第一机器学习模型处理;将来自每个请求的所述相应的输入添加到输入的第一队列以供由所述第一机器学习模型处理;在第一时间确定到所述第一时间时为止所述第一队列中的输入的计数等于或者超过最大批大小,并且作为响应:从到所述第一时间时...
【专利技术属性】
技术研发人员:诺亚·菲德尔,克里斯托弗·奥尔斯顿,杰里迈亚·哈姆森,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。