CN115237618A - 请求处理方法、装置、计算机设备及可读存储介质 - Google Patents

请求处理方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN115237618A
CN115237618A CN202210805040.8A CN202210805040A CN115237618A CN 115237618 A CN115237618 A CN 115237618A CN 202210805040 A CN202210805040 A CN 202210805040A CN 115237618 A CN115237618 A CN 115237618A
Authority
CN
China
Prior art keywords
requests
request
processed
real
width
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.)
Pending
Application number
CN202210805040.8A
Other languages
English (en)
Inventor
马力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202210805040.8A priority Critical patent/CN115237618A/zh
Publication of CN115237618A publication Critical patent/CN115237618A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

本申请实施例提供的请求处理方法、装置、计算机设备及可读存储介质,考虑在服务器部署的序列生成模型的集束宽对序列生成操作的耗时和质量的较大影响,选择与请求数量适应的集束宽以达到较为优化的处理效果。针对实时请求数量大于或者等于预设请求数量的情况,将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,而针对实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作。待处理请求的实时请求数量较少时的临时集束宽大于预设集束宽,保证输出质量和推理速度,实现服务器算力的弹性分配,提升服务器吞吐量。

Description

请求处理方法、装置、计算机设备及可读存储介质
技术领域
本申请涉及计算机领域,尤其涉及一种请求处理方法、装置、计算机设备及可读存储介质。
背景技术
序列生成模型近年来逐步从学术界走向工业界,被广泛应用于聊天机器人、自动文摘、自动写诗、自动谱曲等领域。基于深度学习的序列生成模型通常通过集束搜索(beamsearch)、top-k、top-p等搜索算法来生成序列,其推理速度由两个重要参数决定,集束宽(beam width)和序列长度。其中集束宽用来表示模型每次生成下一个符号时的搜索宽度。集束宽的取值对生成序列的耗时和质量都有显著影响,当集束宽为1时,搜索策略退化为贪婪搜索,此时搜索耗时最小,生成序列的平均质量也最差,当集束宽增加时,生成序列的平均质量也随之提升,但耗时也会逐渐增加。在服务器上部署序列生成模型时,如何选取合适的搜索集束宽,在吞吐量和生成序列的质量之间进行权衡是一个重要的问题。
序列长度表示生成序列所包含的符号数,由于每生成一个符号需要进行一次模型推理,所以生成一个完整序列的耗时与序列长度呈线性关系。在实际部署场景中,往往有多个用户向服务器发送请求,每处理一个请求都需要生成一个完整序列,假设序列长度为i,搜索宽度为j,则需要进行i次模型推理,每次并行处理j个样本,可见序列生成模型在实际部署场景下对算力的要求和时间的开销相对于其他如分类、回归等任务来说要高得多。
因此,亟需在实际部署场景中提供一种在保证生成序列质量的前提下提升服务器吞吐量的处理方案。
发明内容
为了解决上述技术问题,本申请实施例提供了一种请求处理方法、装置、计算机设备及可读存储介质。
第一方面,本申请实施例提供了一种请求处理方法,所述方法包括:
获取请求队列中待处理请求的实时请求数量;
若所述实时请求数量大于或者等于预设请求数量,则将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为预设集束宽;
若所述实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为所述临时集束宽;
其中,所述预设集束宽小于所述临时集束宽。
根据本申请的一种具体实施方式,所述根据所述实时请求数量确定临时集束宽,包括:
根据所述实时请求数量和所述序列生成模型的最大集束宽确定所述临时集束宽。
根据本申请的一种具体实施方式,所述根据所述实时请求数量和所述序列生成模型的最大集束宽确定所述临时集束宽,包括:
根据公式m=Floor(K,n)计算所述临时集束宽;
其中,m表示所述临时集束宽,K表示所述序列生成模型的最大集束宽,n表示所述序列生成模型的实际请求数量。
根据本申请的一种具体实施方式,所述获取请求队列中待处理请求的实时请求数量之前,所述方法还包括:
创建空的请求队列;
若接收到参与序列生成操作的待处理请求,将所述待处理请求按照接收时间依次加入所述请求队列;
所述将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,包括:
按照加入所述请求队列的顺序,将所述请求队列中的前预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作。
根据本申请的一种具体实施方式,所述将所述请求队列中的前预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,还包括:
将新接收的待处理请求按照接收顺序继续添加到所述请求队列中;
若监测到所述序列生成模型执行完序列生成操作后,继续跳转执行获取所述请求队列中待处理请求的实时请求数量。
根据本申请的一种具体实施方式,所述获取请求队列中待处理请求的实时请求数量之后,所述方法还包括:
若实时请求数量为零,则等待所述请求队列中待处理请求的实时请求数量至最小合并数量时执行序列生成操作;其中,1≤所述最小合并数量小于预设请求数量。
根据本申请的一种具体实施方式,所述待处理请求合并,包括:
将文本格式的各待处理请求分别进行文本分词得到多维词条,并将多维词条转换成独热编码格式;
将全部待处理请求对应的多维词条组合成对应所述序列生成模型的输入格式的多维张量,其中,所述多维张量的维度为[batch_size,max_sequence_length,dictionary_size],batch_size表示所述实时请求数量,max_sequence_length表示所述序列生成模型的最大序列长度,dictionary_size表示词典中词条的总数。
第二方面,本申请实施例提供了一种请求处理装置,所述装置包括:
获取模块,用于获取请求队列中待处理请求的实时请求数量;
处理模块,用于,
若所述实时请求数量大于或者等于预设请求数量,则将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为预设集束宽;
若所述实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为所述临时集束宽;
其中,所述预设集束宽小于所述临时集束宽。
第三方面,本申请实施例提供了一种计算机设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的请求处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的请求处理方法。
上述本申请提供的请求处理方法、装置、计算机设备及可读存储介质,考虑在服务器部署的序列生成模型的集束宽对序列生成操作的耗时和质量的较大影响,选择与请求数量适应的集束宽以达到较为优化的处理效果。针对实时请求数量大于或者等于预设请求数量的情况,将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,而针对实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作。待处理请求的实时请求数量较少时的临时集束宽大于预设集束宽,保证输出质量和推理速度,实现服务器算力的弹性分配,提升服务器吞吐量。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例提供的一种请求处理方法的流程示意图;
图2示出了本申请实施例提供的请求处理方法的另一种流程示意图;
图3示出了本申请实施例提供的一种请求处理装置的结构示意图;
图4示出了本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
实施例1
参见图1,为本申请实施例提供的一种请求处理方法的流程示意图。如图1所示,所述请求处理方法主要包括以下步骤:
步骤S101,获取请求队列中待处理请求的实时请求数量;
本实施例提供的请求处理方法,应用于序列生成模型对用户输入的请求进行处理的场景,所涉及的序列生成模型可以为应用于聊天机器人、自动文摘、自动写诗、自动谱曲等领域的深度学习模型,所涉及的请求可以为文本语种翻译、自动闲聊对话等,任何可作为序列生成模型的输入都可作为请求的内容。请求可能来自同一个用户,也可能来自不同的用户。针对需要合并的多个请求,通常请求处理相同的任务,交由同一个序列生成模型进行处理,可以合并作为一个序列生成模型的输入。将等待序列生成模型的请求定义为待处理请求,本实施例提供的方案将待处理请求合并批量处理,以优化服务器加载模型的吞吐量。
具体实施时,计算机设备可以创建一个独立于模型运算的进程维护一个任务队列,定义为请求队列,用于接收存放等待当前的序列生成模型的待处理请求。接收的待处理请求先进入请求队列,等待一定数量的待处理请求合并运算,将请求队列中的待处理请求的数量定义为实时请求数量,计算机设备可以实时地或者周期性地获取请求队列中待处理请求的实时请求数量,以此来选择是否执行后续的请求合并运算的操作。
步骤S102,若所述实时请求数量大于或者等于预设请求数量,则将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为预设集束宽;
步骤S103,若所述实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为所述临时集束宽;
其中,所述预设集束宽小于所述临时集束宽。
在实际使用场景中,一定时间内收到的请求数量通常是变化的不确定的,可能单位时间内收到的请求数较少偶尔会遇到峰值。为了提供一种长期的或者常规情况下的普适性方案,结合序列生成模型可合并处理的请求数量以及不同请求数量对输出质量和推理速度的影响,确定临界条件下可合并处理的请求数量,定义为预设请求数量,限定每次合并处理的待处理请求的数量小于或者等于该预设请求数量。
计算机设备在每次触发序列生成请求之前,获取请求队列中待处理请求的实时请求数量,并将该实时请求数量与预设请求数量进行比较,分两种情况执行不同的合并操作。
第一种情况,实时请求数量大于或者等于预设请求数量,即请求队列中当前的待处理请求的数量达到可合并处理的最大请求数量。此时,可以从请求队列中提取出预设请求数量的待处理请求,将该预设请求数量的待处理请求合并后作为序列生成模型的输入进行序列生成操作。请求数量为固定的预设请求数量,那么此种情况下序列生成模型的集束宽也为预先设定好的预设集束宽,即将序列生成模型在进行搜索时的实际集束宽设为预设集束宽。
第二种情况,实时请求数量小于预设请求数量,即请求队列当前的待处理请求的数量未达到可合并处理的最大请求数量。此时,可以从请求队列中提取出全部的待处理请求,将该全部的待处理请求合并后作为序列模型的输入进行序列生成操作。基于不同请求数量所需求的算力不同,此时可计算当前的实时请求数量的待处理请求所适用的集束宽,定义为临时集束宽,将该序列生成模型在进行搜索时的实际集束宽设为临时集束宽。
根据集束宽和单轮请求书的制约关系,合并输入的待处理请求的数量越少,可以选用较大的集束宽,以优先保证序列生成模型输出结果的质量;而合并输入的待处理请求的数量越大,则可以选用相对较小的集束宽,以优先保证序列生成模型的推理速度。由此,针对上述两种情况,合并输入预设请求数量时的预设集束宽小于临时集束宽。
在上述实施例的基础上,增设针对临时集束宽的具体获取方案。根据本申请的一种具体实施方式,所述根据所述实时请求数量确定临时集束宽,包括:
根据所述实时请求数量和所述序列生成模型的最大集束宽确定所述临时集束宽。
序列生成模型根据其运算属性,有其最大集束宽。针对实际合并的实时请求数量未达到临界条件下的预设请求数量时,可以根据此时的实时请求数量和序列生成模型的最大集束宽来确定此时适用的临时集束宽,以综合保证输出质量和推理速度。
具体的,所述根据所述实时请求数量和所述序列生成模型的最大集束宽确定所述临时集束宽,可以包括:
根据公式m=Floor(K,n)计算所述临时集束宽;
其中,m表示所述临时集束宽,K表示所述序列生成模型的最大集束宽,n表示所述序列生成模型的实际请求数量。
触发合并输入时,将从请求队列中提取出的n个待处理请求馈入序列生成模型进行序列生成。在进行搜索时将临时集束宽m取值等于K整除n,即向下取整,其中K为预设的最大集束宽batchsize,其取值由可用计算资源及期望响应时间及吞吐量决定。此时序列生成模型的实际batchsize为m*n,m*n≤K。
参数K的具体取值需要根据图形处理器的显存大小决定,K越大,单次输入模型的张量越大,运算消耗的显存越大,完成单次运算的耗时也越长,但单次运算处理的请求越多,所以模型吞吐量也越大。实际使用中,需要先确定允许的最大响应时间和允许分配的最大显存,在满足这两项约束的前提下让K尽量大。
针对上述步骤中涉及到的请求合并的操作,通常是以模型输入的格式需求进行相应格式的合并操作。根据本申请的一种具体实施方式,所述待处理请求合并,可以具体包括:
将文本格式的各待处理请求分别进行文本分词得到多维词条,并将多维词条转换成独热编码格式;
将全部待处理请求对应的多维词条组合成对应所述序列生成模型的输入格式的多维张量,其中,所述多维张量的维度为[batch_size,max_sequence_length,dictionary_size],batch_size表示所述实时请求数量,max_sequence_length表示所述序列生成模型的最大序列长度,dictionary_size表示词典中词条的总数。
序列生成模型为深度学习模型,其输入是一个多维张量,一个张量中可以包含多条数据,称为一个batch,张量第一个维度的下标表示数据是当前batch中的第几条。
此处需要做数据类型的转换,将用户输入的数据类型(如文本)转化为适用于模型输入的数据类型(多维张量),转化的方法视具体的模型类型而不同,在自然语言处理中比较常见的方法是先将文本分词,再转化为独热编码格式(one-hot),此时,输入张量的维度为[batch_size,max_sequence_length,dictionary_size]。batch_size表示一个batch内的请求数,max_sequence_length表示模型接受的最大序列长度,超过此长度时对序列做截断,不足此长度时以特殊符号对序列做补全,dictionary_size表示词典中词的总数,该张量可以想象成一个用0或1填充的立方体,其中特定维度下标[i,j.k]对应的值为1,表示batch中第i条数据经分词后第j个位置的词是词典中的第k个词,否则,该取值为0。
图形计算单元在处理张量运算时具有比CPU更高效的运算速度,具体的原理涉及硬件知识,此处我们将用户多个请求合并为一个张量进行运算,比将请求逐条转化为张量串行输入模型进行运算所耗的时间更短。
当然,考虑到不同序列生成模型的输入格式可能不同,请求合并方式也会随之调整,在此不作赘述。
上述本申请提供的请求处理方法,考虑在服务器部署的序列生成模型的集束宽对序列生成操作的耗时和质量的较大影响,选择与请求数量适应的集束宽以达到较为优化的处理效果,待处理请求的实时请求数量较少时的临时集束宽大于预设集束宽,保证输出质量和推理速度,实现服务器算力的弹性分配,提升服务器吞吐量。
如图2所示的一种实施方式,增设了请求处理前后触发流程的相关操作。本具体实施方式中,所述获取请求队列中待处理请求的实时请求数量之前,所述方法还可以包括:
S201,创建空的请求队列;
S202,若接收到参与序列生成操作的待处理请求,将所述待处理请求按照接收时间依次加入所述请求队列;
所述将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,包括:
S203,按照加入所述请求队列的顺序,将所述请求队列中的前预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作。
计算机设备创建空的请求队列T,将接收的用户发送的待处理请求先加入该请求队列T中,后续在触发合并操作时再从该请求队列中提取。为保证请求处理的合理性,待处理请求进入该请求队列和从该请求队列中提取时遵从先进先出原则,即按照接收时间依次加入所述请求队列,且按照加入请求队列的时间依次从请求队列中提取出来。
针对前文所提及的第一种情况,若请求队列中剩余的待处理请求的实时请求数量大于预设请求数量,则按照加入顺序提取出前预设数量的待处理请求进行合并输入,若实时请求数量刚好等于或者等于预设请求数量,则可以直接提取全部待处理请求进行合并输入。
此外,在具体实施时,所述将所述请求队列中的前预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,还可以包括:
将新接收的待处理请求按照接收顺序继续添加到所述请求队列中;
若监测到所述序列生成模型执行完序列生成操作后,继续跳转执行获取所述请求队列中待处理请求的实时请求数量。
在执行当前次的请求提取、合并输入和序列生成操作的同时,计算机设备会持续新接收待处理请求,此时可以将新接收的待处理请求继续添加到请求队列中等待下一次的请求提取、合并输入和序列生成操作。
需要说明的是,请求合并处理的相邻操作的触发条件可以有多种,例如可以将每执行完一次序列生成操作作为触发条件,即监测到所述序列生成模型执行完序列生成操作后,继续跳转执行获取所述请求队列中待处理请求的实时请求数量进而选择是否进行下一次的序列生成操作,当然也可以通过时间、周期等作为触发条件触发下一次序列生成操作。本实施方式可以优选将当前次序列生成操作的完成状态作为触发条件,这样前一轮模型运算完成后立即从队列中提取新请求,而周期性地或者分时段的提取会造成不必要的延迟。
当然,针对上述触发请求提取操作时可能出现的异常情况,即请求队列中为空的情况,也可以限定等待操作避免不必要的进程。根据本申请的一种具体实施方式,所述获取请求队列中待处理请求的实时请求数量之后,所述方法还可以包括:
若实时请求数量为零,则等待所述请求队列中待处理请求的实时请求数量至最小合并数量时执行序列生成操作;其中,1≤所述最小合并数量小于预设请求数量。
为避免算力浪费,针对请求队列为空的情况限定等待至最小合并数量再执行序列生成操作。可以将最小合并数量限定为1,这样可以保证用户的每个请求都得到及时的响应,避免长时间没有新的请求进来时先前收到的请求会无限地等待下去导致请求长时间无法被响应处理的异常情况。
本实施方式提供的请求处理方案,当处理请求数目小于N时,搜索集束宽会提升,集束宽越大生成序列的质量越高,如果1个请求就触发合并请求运算时,模型搜索集束宽K将取到最大值,此时生成序列的质量最高。当服务器访问量不高时,例如单次处理请求数是1的情况,此时搜索算法将优先保证生成序列的质量。而只有当访问量出现高峰时,队列才会产生积压,此时单次处理请求变为N,搜索集束宽也相应减少,搜索算法牺牲一定的质量来提升效率。提升序列生成模型吞吐量,并在生成序列的质量与生成速度之间进行弹性平衡的方法,有利于序列生成模型在工业应用场景中的落地,促进其从学术研究到实际应用的转化。
实施例2
参见图3,为本申请实施例提供的一种请求处理装置的模块框图。如图3所示,所述请求处理装置300主要包括:
获取模块301,用于获取请求队列中待处理请求的实时请求数量;
处理模块302,用于,
若所述实时请求数量大于或者等于预设请求数量,则将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为预设集束宽;
若所述实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为所述临时集束宽;
其中,所述预设集束宽小于所述临时集束宽。
根据本申请的一种具体实施方式,所述处理模块302具体用于:
根据所述实时请求数量和所述序列生成模型的最大集束宽确定所述临时集束宽。
根据本申请的一种具体实施方式,所述处理模块302具体用于:
根据公式m=Floor(K,n)计算所述临时集束宽;
其中,m表示所述临时集束宽,K表示所述序列生成模型的最大集束宽,n表示所述序列生成模型的实际请求数量。
根据本申请的一种具体实施方式,所述获取模块301具体用于:
创建空的请求队列;
若接收到参与序列生成操作的待处理请求,将所述待处理请求按照接收时间依次加入所述请求队列;
所述处理模块302具体用于:
按照加入所述请求队列的顺序,将所述请求队列中的前预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作。
根据本申请的一种具体实施方式,所述获取模块301具体用于:
将新接收的待处理请求按照接收顺序继续添加到所述请求队列中;
若监测到所述序列生成模型执行完序列生成操作后,所述处理模块302具体用于继续跳转执行获取所述请求队列中待处理请求的实时请求数量。
根据本申请的一种具体实施方式,所述处理模块302具体用于:
若实时请求数量为零,则等待所述请求队列中待处理请求的实时请求数量至最小合并数量时执行序列生成操作;其中,1≤所述最小合并数量小于预设请求数量。
根据本申请的一种具体实施方式,所述处理模块302具体用于:
将文本格式的各待处理请求分别进行文本分词得到多维词条,并将多维词条转换成独热编码格式;
将全部待处理请求对应的多维词条组合成对应所述序列生成模型的输入格式的多维张量,其中,所述多维张量的维度为[batch_size,max_sequence_length,dictionary_size],batch_size表示所述实时请求数量,max_sequence_length表示所述序列生成模型的最大序列长度,dictionary_size表示词典中词条的总数。
上述本申请提供的请求处理装置,考虑在服务器部署的序列生成模型的集束宽对序列生成操作的耗时和质量的较大影响,选择与请求数量适应的集束宽以达到较为优化的处理效果。针对实时请求数量大于或者等于预设请求数量的情况,将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,而针对实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作。待处理请求的实时请求数量较少时的临时集束宽大于预设集束宽,保证输出质量和推理速度,实现服务器算力的弹性分配,提升服务器吞吐量。本实施例所提供的请求处理装置的具体实施过程,可以参见前述实施例提供的请求处理方法的具体实施过程,在此不再一一赘述。
实施例3
此外,本申请实施例还提供了一种计算机设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行请求处理方法,所执行的请求处理方法可以为前述实施例1提供的请求处理方法。
具体的,如图4所示,本实施例提供的计算机设备400包括:
射频单元401、网络模块402、音频输出单元403、输入单元404、传感器405、显示单元406、用户输入单元407、接口单元408、存储器409、处理器410、以及电源411等部件。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本申请实施例中,计算机设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载计算机设备、可穿戴设备、以及计步器等。
应理解的是,本申请实施例中,射频单元401可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器410处理;另外,将上行的数据发送给基站。通常,射频单元401包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元401还可以通过无线通信系统与网络和其他设备通信。
计算机设备通过网络模块402为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元403可以将射频单元401或网络模块402接收的或者在存储器409中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元403还可以提供与计算机设备400执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元403包括扬声器、蜂鸣器以及受话器等。
输入单元404用于接收音频或视频信号。输入单元404可以包括图形处理器(Graphics Processing Unit,GPU)4041和麦克风4042,图形处理器4041对在视频捕获模式或图像捕获模式中由图像捕获计算机设备(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以视频播放在显示单元406上。经图形处理器4041处理后的图像帧可以存储在存储器409(或其它存储介质)中或者经由射频单元401或网络模块402进行发送。麦克风4042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元401发送到移动通信基站的格式输出。
计算机设备400还包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板4061的亮度,接近传感器可在计算机设备400移动到耳边时,关闭显示面板4061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别计算机设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器405还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元406用于视频播放由用户输入的信息或提供给用户的信息。显示单元406可包括显示面板4061,可以采用液晶视频播放器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板4061。
用户输入单元407可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元407包括触控面板4071以及其他输入设备4072。触控面板4071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板4071上或在触控面板4071附近的操作)。触控面板4071可包括触摸检测计算机设备和触摸控制器两个部分。其中,触摸检测计算机设备检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测计算机设备上接收触摸信息,并将它转换成触点坐标,再送给处理器410,接收处理器410发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板4071。除了触控面板4071,用户输入单元407还可以包括其他输入设备4072。具体地,其他输入设备4072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板4071可覆盖在显示面板4061上,当触控面板4071检测到在其上或附近的触摸操作后,传送给处理器410以确定触摸事件的类型,随后处理器410根据触摸事件的类型在显示面板4061上提供相应的视觉输出。虽然在图4中,触控面板4071与显示面板4061是作为两个独立的部件来实现计算机设备的输入和输出功能,但是在某些实施例中,可以将触控面板4071与显示面板4061集成而实现计算机设备的输入和输出功能,具体此处不做限定。
接口单元408为外部计算机设备与计算机设备400连接的接口。例如,外部计算机设备可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的计算机设备的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元408可以用于接收来自外部计算机设备的输入(例如,数据信息、电力等等)并且将接收到的输入传输到计算机设备400内的一个或多个元件或者可以用于在计算机设备400和外部计算机设备之间传输数据。
存储器409可用于存储软件程序以及各种数据。存储器409可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器409可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器410是计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器409内的软件程序和/或模块,以及调用存储在存储器409内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。处理器410可包括一个或多个处理单元;优选的,处理器410可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器410中。
计算机设备400还可以包括给各个部件供电的电源411(比如电池),优选的,电源411可以通过电源管理系统与处理器410逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,计算机设备400包括一些未示出的功能模块,在此不再赘述。
此外,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行请求处理方法,所执行的请求处理方法可以为前述实施例1提供的请求处理方法。
在本实施例中,计算机可读存储介质可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
上述本申请提供的计算机设备及可读存储介质,考虑在服务器部署的序列生成模型的集束宽对序列生成操作的耗时和质量的较大影响,选择与请求数量适应的集束宽以达到较为优化的处理效果。针对实时请求数量大于或者等于预设请求数量的情况,将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,而针对实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作。待处理请求的实时请求数量较少时的临时集束宽大于预设集束宽,保证输出质量和推理速度,实现服务器算力的弹性分配,提升服务器吞吐量。所提供的计算机设备及可读存储介质的具体实施过程,可以参见前述实施例提供的请求处理方法的具体实施过程,在此不再一一赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (10)

1.一种请求处理方法,其特征在于,所述方法包括:
获取请求队列中待处理请求的实时请求数量;
若所述实时请求数量大于或者等于预设请求数量,则将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为预设集束宽;
若所述实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为所述临时集束宽;
其中,所述预设集束宽小于所述临时集束宽。
2.根据权利要求1所述的方法,其特征在于,所述根据所述实时请求数量确定临时集束宽,包括:
根据所述实时请求数量和所述序列生成模型的最大集束宽确定所述临时集束宽。
3.根据权利要求2所述的方法,其特征在于,所述根据所述实时请求数量和所述序列生成模型的最大集束宽确定所述临时集束宽,包括:
根据公式m=Floor(K,n)计算所述临时集束宽;
其中,m表示所述临时集束宽,K表示所述序列生成模型的最大集束宽,n表示所述序列生成模型的实际请求数量。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述获取请求队列中待处理请求的实时请求数量之前,所述方法还包括:
创建空的请求队列;
若接收到参与序列生成操作的待处理请求,将所述待处理请求按照接收时间依次加入所述请求队列;
所述将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,包括:
按照加入所述请求队列的顺序,将所述请求队列中的前预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作。
5.根据权利要求4所述的方法,其特征在于,所述将所述请求队列中的前预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,还包括:
将新接收的待处理请求按照接收顺序继续添加到所述请求队列中;
若监测到所述序列生成模型执行完序列生成操作后,继续跳转执行获取所述请求队列中待处理请求的实时请求数量。
6.根据权利要求1所述的方法,其特征在于,所述获取请求队列中待处理请求的实时请求数量之后,所述方法还包括:
若实时请求数量为零,则等待所述请求队列中待处理请求的实时请求数量至最小合并数量时执行序列生成操作;其中,1≤所述最小合并数量小于预设请求数量。
7.根据权利要求1所述的方法,其特征在于,所述待处理请求合并,包括:
将文本格式的各待处理请求分别进行文本分词得到多维词条,并将多维词条转换成独热编码格式;
将全部待处理请求对应的多维词条组合成对应所述序列生成模型的输入格式的多维张量,其中,所述多维张量的维度为[batch_size,max_sequence_length,dictionary_size],batch_size表示所述实时请求数量,max_sequence_length表示所述序列生成模型的最大序列长度,dictionary_size表示词典中词条的总数。
8.一种请求处理装置,其特征在于,所述装置包括:
获取模块,用于获取请求队列中待处理请求的实时请求数量;
处理模块,用于,
若所述实时请求数量大于或者等于预设请求数量,则将所述请求队列中的预设请求数量的待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为预设集束宽;
若所述实时请求数量小于预设请求数量,则根据所述实时请求数量确定临时集束宽,将全部待处理请求合并输入序列生成模型进行序列生成操作,所述序列生成模型的实际集束宽为所述临时集束宽;
其中,所述预设集束宽小于所述临时集束宽。
9.一种计算机设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行权利要求1至7中任一项所述的请求处理方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7中任一项所述的请求处理方法。
CN202210805040.8A 2022-07-08 2022-07-08 请求处理方法、装置、计算机设备及可读存储介质 Pending CN115237618A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210805040.8A CN115237618A (zh) 2022-07-08 2022-07-08 请求处理方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210805040.8A CN115237618A (zh) 2022-07-08 2022-07-08 请求处理方法、装置、计算机设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN115237618A true CN115237618A (zh) 2022-10-25

Family

ID=83671871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210805040.8A Pending CN115237618A (zh) 2022-07-08 2022-07-08 请求处理方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115237618A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116757254A (zh) * 2023-08-16 2023-09-15 阿里巴巴(中国)有限公司 任务处理方法、电子设备及存储介质
CN117349032A (zh) * 2023-12-05 2024-01-05 城云科技(中国)有限公司 一种提高大语言模型吞吐量的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116757254A (zh) * 2023-08-16 2023-09-15 阿里巴巴(中国)有限公司 任务处理方法、电子设备及存储介质
CN116757254B (zh) * 2023-08-16 2023-11-14 阿里巴巴(中国)有限公司 任务处理方法、电子设备及存储介质
CN117349032A (zh) * 2023-12-05 2024-01-05 城云科技(中国)有限公司 一种提高大语言模型吞吐量的方法及装置
CN117349032B (zh) * 2023-12-05 2024-02-20 城云科技(中国)有限公司 一种提高大语言模型吞吐量的方法及装置

Similar Documents

Publication Publication Date Title
CN106919918B (zh) 一种人脸跟踪方法和装置
CN109768926B (zh) 一种数据处理方法、终端设备及计算机可读存储介质
CN108984064B (zh) 分屏显示方法、装置、存储介质和电子设备
CN108121803B (zh) 一种确定页面布局的方法和服务器
CN111078172B (zh) 一种显示流畅度的调整方法、装置、电子设备及存储介质
CN115237618A (zh) 请求处理方法、装置、计算机设备及可读存储介质
CN109062468B (zh) 分屏显示方法、装置、存储介质和电子设备
CN109976611B (zh) 终端设备的控制方法及终端设备
CN109388456B (zh) 一种头像选择方法及移动终端
CN111026464A (zh) 一种识别方法及电子设备
CN109995862B (zh) 一种资源调度方法及终端
CN108984066B (zh) 一种应用程序图标显示方法及移动终端
CN108920040B (zh) 一种应用图标整理方法及移动终端
CN108601048B (zh) 一种流量控制方法及移动终端
CN109117037B (zh) 一种图像处理的方法及终端设备
CN109062469B (zh) 分屏显示方法、装置、存储介质和电子设备
CN108628534B (zh) 一种字符展示方法及移动终端
CN111338745A (zh) 一种虚拟机的部署方法、装置及智能设备
KR20220114082A (ko) 표시 방법 및 전자 기기
CN109144860B (zh) 一种对控件对象的操作方法及终端设备
CN115348256A (zh) 入账数据下传方法、装置、存储介质及电子设备
US20210225376A1 (en) Speech processing method and mobile terminal
CN111158830B (zh) 一种显示应用任务窗口的方法和终端设备
CN110795001B (zh) 消息处理方法及电子设备
CN110209333B (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