【技术实现步骤摘要】
用于基于转换器的生成任务的推理系统的选择性分批
技术介绍
[0001]本专利技术总体上涉及机器学习转换器(transformer)神经网络模型,并且更具体地涉及针对转换器模型进行选择性分批。
[0002]转换器神经网络模型是用于各种应用例如包括顺序数据的自然语言处理(NLP)、图像处理或音频处理应用的机器学习模型。例如,转换器模型可以接收表示查询的输入令牌序列,并且生成表示对查询的响应的输出令牌序列。作为另一示例,转换器模型可以接收表示德语段落的输入令牌序列,并且生成表示英语段落的翻译的输出令牌序列。作为又一示例,转换器模型可以接收表示文本段落的输入令牌序列,并且生成表示文本的概括版本的输出令牌序列。
[0003]通常,客户端设备的用户向推理系统提交请求。推理系统针对请求的输入(例如,输入令牌序列)执行机器学习转换器模型,以生成针对这些请求的输出(例如,输出令牌序列)。推理系统可以将输出作为响应返回给请求的客户端设备。在一个实例中,推理系统在专用硬件加速器例如图形处理单元(GPU)或张量处理单元(TPU)上执行请求,以改善等待时间和吞吐量,尤其是在转换器模型的参数的数量相当大的情况下。
[0004]在一个实例中,推理系统分批地处理请求以实现对加速器的高处理器利用率。具体地,推理系统可以一起处理批中的多个请求,以利用硬件加速器中的并行计算单元的量。在许多情况下,批中的请求的输入在长度上是可变的。例如,批中的每个请求的输入令牌的数量可能在长度上是可变的。然而,针对转换器模型进行分批的方法通常要求批中的多个请求的数据的长度相 ...
【技术保护点】
【技术特征摘要】
1.一种通过应用机器学习转换器模型来执行一批请求的方法,包括:接收包括两个或更多个令牌序列的一批请求,其中,针对所述批中的第一请求的第一令牌序列的长度不同于针对所述批中的第二请求的第二令牌序列的长度;访问包括至少一组解码器的机器学习转换器模型;针对一次或更多次迭代,执行以下步骤:通过将所述组解码器应用于针对所述请求的一个或更多个输入来生成针对所述请求的一个或更多个输出令牌,所述生成进一步包括,针对所述组中的至少一个解码器:通过将QKV权重张量应用于一个或更多个输入表示来生成针对所述请求的一个或更多个查询、一个或更多个关键字以及一个或更多个值,所述一个或更多个查询、所述一个或更多个关键字以及所述一个或更多个值通过批操作生成,从所述一个或更多个查询中拆分针对所述第一请求的第一查询、从所述一个或更多个关键字中拆分针对所述第一请求的第一关键字以及从所述一个或更多个值中拆分针对所述第一请求的第一值,并且从所述一个或更多个查询中拆分针对所述第二请求的第二查询、从所述一个或更多个关键字中拆分针对所述第二请求的第二关键字以及从所述一个或更多个值中拆分针对所述第二请求的第二值,通过至少组合所述第一查询、所述第一关键字和所述第一值来生成针对所述第一请求的第一注意力输出,通过至少组合针对所述第二请求的第二查询、第二关键字和第二值来单独地生成针对所述第二请求的第二注意力输出,将至少所述第一注意力输出和所述第二注意力输出连结成连结张量,以及通过至少将一个或更多个权重张量应用于所述连结张量来生成一个或更多个输出表示,所述一个或更多个输出表示通过批操作生成;将所述一个或更多个输出令牌设置为所述组解码器的一个或更多个输入,以用于接下来的迭代;以及将针对至少一个请求生成的输出令牌作为对所述至少一个请求的响应提供给客户端设备。2.根据权利要求1所述的方法,还包括:沿单个维度将针对所述批请求的所述一个或更多个令牌序列中包括的令牌连结,以生成经连结的输入张量,并且其中,针对所述一次或更多次迭代中的第一迭代,将所述组解码器应用于针对所述请求的一个或更多个输入包括:将所述组解码器应用于所述经连结的输入张量。3.根据权利要求1所述的方法,其中,将至少所述第一注意力输出和所述第二注意力输出连结成所述连结张量进一步包括:沿单个维度将所述第一注意力输出的元素和所述第二注意力输出的元素连结,以生成所述连结张量。4.根据权利要求1所述的方法,其中,所述第一请求的第一令牌序列是针对所述第一请求的输入令牌序列,并且其中,所述第二请求的第二令牌序列是在先前迭代处生成的输出令牌。5.根据权利要求1所述的方法,其中,生成针对所述第一请求的第一注意力输出包括:
将所述第一关键字添加至第一关键字缓存,所述第一关键字缓存另外包括在先前迭代处针对所述第一请求生成的关键字,以及将所述第一值添加至第一值缓存,所述第一值缓存另外包括在先前迭代处针对所述第一请求生成的值,以及将所述第一查询与所述第一关键字缓存相乘以生成第一相乘张量,并且将所述第一相乘张量与所述第一值缓存相乘,并且其中,生成针对所述第二请求的第二注意力输出包括:将所述第二关键字添加至第二关键字缓存,所述第二关键字缓存另外包括在先前迭代处针对所述第二请求生成的关键字,以及将所述第二值添加至第二值缓存,所述第二值缓存另外包括在先前迭代处针对所述第二请求生成的值,以及将所述第二查询与所述第二关键字缓存相乘以生成第二相乘张量,并且将所述第二相乘张量与所述第二值缓存相乘。6.根据权利要求1所述的方法,其中,所述第一注意力输出是通过对至少所述第一查询、所述第一关键字和所述第一值执行一组操作来生成的,并且其中,所述第二注意力输出是通过在与所述第一组操作分开的步骤中对至少所述第二查询、所述第二关键字和所述第二值执行第二组操作来生成的。7.根据权利要求6所述的方法,其中,所述第一注意力输出是通过在执行引擎的第一内核上执行所述一组操作来生成的,并且其中,所述第二注意力输出是通过在所述执行引擎的第二内核上或在第二执行引擎上执行所述第二组操作来生成的。8.根据权利要求1所述的方法,其中,将所述转换器模型的所述组解码器应用于所述请求的一个或更多个输入包括:在包括图形处理单元(GPU)或张量处理单元(TPU)的执行引擎上执行所述转换器模型的操作。9.根据权利要求1所述的方法,其中,输入令牌序列中的每个令牌表示文本单元。10.一种存储计算机程序指令的非暂态计算机可读存储介质,所述计算机程序指令能够执行以执行用于通过应用机器学习转换器模型来执行一批请求的操作,所述操作包括:接收包...
【专利技术属性】
技术研发人员:刘暻仁,金建宇,郑主成,金守情,田炳坤,
申请(专利权)人:友好人工智能公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。