掌桥专利:专业的专利平台
掌桥专利
首页

大型语言模型推理加速方法及相关装置

文献发布时间:2024-07-23 01:35:21


大型语言模型推理加速方法及相关装置

技术领域

本申请实施方式涉及数据处理领域,更具体地,本申请实施方式涉及一种大型语言模型推理加速方法及相关装置。

背景技术

大语言模型(Large Language Model,LLM),能够对自然语言进行处理和生成,具有强大的语言理解和生成能力。

目前,相关技术中,由于LLM的参数规模庞大,在推理过程中常常会面临访存带宽等问题,限制了推理速度和性能。解码过程中,在生成每个标记时,需要将所有参数从存储单元传输到计算单元中。由于参数规模庞大,需频繁传输参数会导致大量的数据传输,增加了内存访问带宽的负担。此外,在自回归采样算法中,需要对全部前缀对应位置的激活函数进行访问,这会导致大量的内存访问操作,耗费大量的访存带宽。同时,由于模型访问的数据量庞大,在解码过程中,需要频繁地从内存中读取数据,但内存带宽有限,无法满足高速的数据读取需求,导致解码过程受制于访存带宽的瓶颈。综上,LLM解码过程由于模型参数传输、访存效率低和内存访问瓶颈等多方面因素而受制于访存带宽,使得模型推理过程中的访存速度慢,影响了解码效率和模型性能。

综上,亟待提供一种全新的技术方案,用以解决相关技术中存在的上述至少一个技术问题。

发明内容

在本上下文中,本申请的实施方式期望提供一种大型语言模型推理加速方法及相关装置,用以实现大语言模型的投机采样,提高访存效率和内存访问速度,以加快解码过程并实现更高效的推理。

在本申请实施方式的第一方面中,提供了一种大型语言模型推理加速方法,应用于模型交互网络,所述模型交互网络包括原始目标模型以及对应的近似模型;该方法包括:

采用所述近似模型生成候选输出序列;所述近似模型的模型参数少于所述原始目标模型,并且所述近似模型与所述原始目标模型具有相同的模型结构;

将多个所述候选输出序列输入到所述原始目标模型中,对所述候选输出序列进行并行评估,以获得多个所述候选输出序列各自的序列评估结果;

基于多个所述候选输出序列各自的序列评估结果,确定最终输出的目标输出序列。

在本申请实施方式的第二方面中,提供了一种大型语言模型推理加速装置,该装置应用于模型交互网络,该模型交互网络包括原始目标模型以及对应的近似模型;该装置包括:

生成模块,用于采用近似模型生成候选输出序列;近似模型的模型参数少于所述原始目标模型,并且所述近似模型与所述原始目标模型具有相同的模型结构;

评估模块,用于将多个所述候选输出序列输入到所述原始目标模型中,对所述候选输出序列进行并行评估,以获得多个所述候选输出序列各自的序列评估结果;

输出模块,用于基于多个所述候选输出序列各自的序列评估结果,确定最终输出的目标输出序列。

在本申请实施方式的第三方面中,提供了一种计算设备,所述计算设备包括:

至少一个处理器、存储器和输入输出单元;

其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行第一方面的大型语言模型推理加速方法。

在本申请实施方式的第四方面中,提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行该指令时,使得计算机执行第一方面的大型语言模型推理加速方法。

本申请实施方式中,提供了一种大型语言模型推理加速方法及相关装置。本申请实施方式中,应用于模型交互网络,该模型交互网络包括原始目标模型以及对应的近似模型。这里,原始目标模型为大语言模型。首先,采用所述近似模型生成候选输出序列。其中,近似模型的模型参数少于原始目标模型,并且近似模型与原始目标模型具有相同的模型结构。这样,通过使用参数较少的近似模型,相比于原始目标模型,可以减少计算成本和内存占用,提高解码速度。同时,近似模型与原始目标模型具有相同的模型结构,确保了生成的候选序列与原始模型的期望输出更为一致,保证了输出序列的质量。进而,将多个候选输出序列输入到原始目标模型中,对候选输出序列进行并行评估,以获得多个候选输出序列各自的序列评估结果。这样,将多个候选输出序列同时输入到原始目标模型进行评估,实现了并行化处理,从而提高了计算效率,可以加快模型的推理速度,尤其是在处理大量序列时效果更为显著。最终,基于多个候选输出序列各自的序列评估结果,确定最终输出的目标输出序列。这样,通过对多个候选输出序列各自的序列评估结果进行综合分析,选择最优的候选输出序列作为最终输出,确保了生成结果的质量和准确性。

本申请实施方式,通过引入近似模型和并行评估方式,实现对原始目标模型的投机采样,有效地提高了大型语言模型推理的速度和效率,减少了计算资源的消耗,提高访存效率和内存访问速度,以加快解码过程并实现更高效的推理,同时也有效保证了生成序列的质量,确保了生成结果的质量和准确性。

附图说明

通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:

图1为本申请一实施例提供的大型语言模型推理加速方法的流程示意图;

图2为本申请一实施例提供的大型语言模型推理加速方法的原理示意图;

图3为本申请另一实施例提供的大型语言模型推理加速示例的原理示意图;

图4为本申请一实施例提供的大型语言模型推理加速装置的结构示意图;

图5示意性地示出了本申请实施例的一种介质的结构示意图;

图6示意性地示出了本申请实施例的一种计算设备的结构示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本申请的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

大语言模型(Large Language Model,LLM),能够对自然语言进行处理和生成,具有强大的语言理解和生成能力。LLM通常采用自回归模型(如GPT)或自编码模型(如BERT)等结构,通过大量的参数和训练数据来学习文本数据的内在规律和语言模式,从而实现自然语言的生成、翻译、问答等任务。LLM在自然语言处理领域得到广泛应用,如机器翻译、文本生成、语义理解等任务中取得了很好的效果。

目前,相关技术中,由于LLM的参数规模庞大,在推理过程中常常会面临访存带宽等问题,限制了推理速度和性能。解码过程中,在生成每个标记时,需要将所有参数从存储单元传输到计算单元中。比如,在自回归采样算法中,模型生成下一个token需要依赖当前已生成的前缀序列,而这些前缀序列在模型中的计算单元和存储单元之间是分开的,因此,每生成一个 token 都需要进行一次传输。因此,每次生成一个 token 都需要将当前的前缀序列传输到计算单元中,然后进行计算生成下一个 token。这种传输过程会消耗大量的存储访问带宽,导致推理效率低下。其中,token 是指语言模型中的基本单位,通常是一个单词、一个字符或者一个子词(subword)。在自然语言处理中,模型会根据给定的输入序列生成相应的token,也就是对应的单词、字符或者子词。

相关技术中,由于参数规模庞大,需频繁传输参数会导致大量的数据传输,增加了内存访问带宽的负担。此外,在自回归采样算法中,需要对全部前缀对应位置的激活函数进行访问,这会导致大量的内存访问操作,耗费大量的访存带宽。同时,由于模型访问的数据量庞大,在解码过程中,需要频繁地从内存中读取数据,但内存带宽有限,无法满足高速的数据读取需求,导致解码过程受制于访存带宽的瓶颈。

以自回归采样算法为例,通常计算过程分为两步:首先,使用前缀作为输入,将输出结果处理并归一化成概率分布,然后采样生成下一个 token。其次,将生成的token和前缀拼接成新的前缀,重复执行第一步,直到生成EOS(句子结束标志)或达到最大token 数目。在第一步中,模型输出logits后,需要将其转换成概率分布。常用的采样方法包括argmax、top-k 和top-n。由于自回归采样每次只对序列长度为1的部分进行有效计算,但需要访问全部前缀对应位置的激活函数,导致计算访存比很低。这使得大型模型的推理受制于访存速度,因为生成每个标记都需要将所有参数从存储单元传输到计算单元,内存访问带宽成为严重的瓶颈。

综上,LLM解码过程由于模型参数传输、访存效率低和内存访问瓶颈等多方面因素而受制于访存带宽,使得模型推理过程中的访存速度慢,影响了解码效率和模型性能。

综上,亟待提供一种全新的技术方案,用以解决相关技术中存在的上述至少一个技术问题。

为了克服现有方案存在的上述技术问题,根据本申请的实施方式,提出了一种大型语言模型推理加速方法及相关装置。

本申请实施方式中,首先,应用于模型交互网络,该模型交互网络包括原始目标模型以及对应的近似模型。这里,原始目标模型为大语言模型。首先,采用所述近似模型生成候选输出序列。其中,近似模型的模型参数少于原始目标模型,并且近似模型与原始目标模型具有相同的模型结构。这样,通过使用参数较少的近似模型,相比于原始目标模型,可以减少计算成本和内存占用,提高解码速度。同时,近似模型与原始目标模型具有相同的模型结构,确保了生成的候选序列与原始模型的期望输出更为一致,保证了输出序列的质量。进而,将多个候选输出序列输入到原始目标模型中,对候选输出序列进行并行评估,以获得多个候选输出序列各自的序列评估结果。这样,将多个候选输出序列同时输入到原始目标模型进行评估,实现了并行化处理,从而提高了计算效率,可以加快模型的推理速度,尤其是在处理大量序列时效果更为显著。最终,基于多个候选输出序列各自的序列评估结果,确定最终输出的目标输出序列。这样,通过对多个候选输出序列各自的序列评估结果进行综合分析,选择最优的候选输出序列作为最终输出,确保了生成结果的质量和准确性。

本申请实施方式,通过引入近似模型和并行评估方式,实现对原始目标模型的投机采样,有效地提高了大型语言模型推理的速度和效率,减少了计算资源的消耗,提高访存效率和内存访问速度,以加快解码过程并实现更高效的推理,同时也有效保证了生成序列的质量,确保了生成结果的质量和准确性。

本申请实施方式提供的技术方案,可以由服务器和/或终端设备实现。需要说明的是,本申请实施例涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、大数据和人工智能平台等基础云计算服务的云服务器。

本申请实施例涉及的终端设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。例如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(Personal Communication Service,PCS)电话、无绳电话、会话发起协议(Sessioninitialization Protocol,SIP)话机、无线本地环路(Wireless Local Loop,WLL)站、个人数字助理(Personal Digital Assistant,PDA)等设备。

在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。

下面参考图1,图1为本申请一实施例提供的大型语言模型推理加速方法的流程示意图。本申请实施例提供的一种大型语言模型推理加速方法,包括:

步骤S101,采用所述近似模型生成候选输出序列。

本申请实施例提供的技术方案应用于模型交互网络。具体地,模型交互网络包括原始目标模型以及对应的近似模型。近似模型用于执行自回归串行采样,原始目标模型用于评估近似模型的采样结果。可以理解的是,自回归串行采样是指按顺序逐个生成序列中的每个token,通常通过将前面生成的token作为输入来生成下一个token。评估采样则是指使用原始目标模型来评估生成的序列的质量,以确保生成的序列符合预期,比如语法正确性、语义连贯性等。在这个上下文实施例中,token是指大语言模型中的基本单位,比如,可以是一个单词、一个字符或者一个子词(subword)。在自然语言处理中,大语言模型会根据给定的输入序列生成相应的token,也就是对应的单词、字符或者子词。

示例性地,原始目标模型可以是一个大型语言模型,比如,由深度神经网络构成,用于生成自然语言文本、完成文本分类、文本生成等任务。该模型的性能和准确性较高,但计算复杂度和内存消耗也相应较大。近似模型,是对原始目标模型的简化版本,其模型参数较少,计算复杂度和内存消耗相对较低。近似模型与原始目标模型具有相同的模型结构,以确保其生成的序列与原始目标模型的输出更为一致。近似模型的引入可以提高推理速度和效率。

在步骤S101中,采用近似模型生成候选输出序列的过程是通过近似模型来生成可能的输出序列,以作为原始目标模型进一步评估的基础。通过这种方式,可以减少计算负担,加快输出序列的生成速度,并在后续步骤中实现更高效的推理和解码过程。

本申请实施例中,进一步可选地,近似模型的模型参数少于原始目标模型。并且,近似模型与原始目标模型具有相同的模型结构。具体来说,可以理解的是,近似模型的模型参数数量比原始目标模型的模型参数数量更少。这意味着在近似模型中需要存储的参数量更少,从而减少了内存消耗和计算成本。通过减少参数数量,可以更高效地执行推理过程。此外,尽管近似模型的参数数量较少,但其模型结构与原始目标模型是相同的。这保证了近似模型在生成候选输出序列时能够保持与原始模型相似的输出特性,从而提高了候选序列的质量和可靠性。通过以上特点,本申请实施例中的近似模型在保持了与原始目标模型相似的输出特性的同时,减少了计算负担,提高了推理效率,从而实现了对原始目标模型的加速和优化。

本申请实施例中,通过使用一个参数更少但结构相似的模型来进行实际的采样,可以减少计算和内存访问的压力,从而提高推理速度。同时,原始目标模型则负责评估采样结果的质量,确保生成的序列符合预期。这种双模型交互的方法有望在解决大型语言模型推理速度慢的问题上取得进展。这种双模型交互的划分方式,可以使整个采样过程更加有效。近似模型中采用的自回归串行采样用于生成序列,能够逐步生成每个token,并保持生成序列的连续性和逻辑性。而原始目标模型的投机评估采样,则确保了近似模型生成的各个序列的质量,因为原始目标模型能够提供对生成序列的全面评估,以确保其符合语法、语义等预期。这样的划分充分利用了两个模型的优势,提高了整体的采样效率和质量。进一步地,投机评估采样是一种生成模型的采样方法,其目标是在不依赖于已生成的token 的情况下生成下一个token。与相关技术中的自回归模型不同,投机评估采样不需要前面的token 作为输入。它通常用于生成较长的序列或者在生成时不需要严格的顺序性。与自回归模型相比,投机评估采样不直接依赖于前面生成的token,因此与它们的关系较为间接。然而,投机采样的结果仍然可以由评估模型进行评估,以确保生成的序列质量。

总而言之,本申请实施例中使用一个参数更少但结构相似的近似模型替代原始目标模型进行实际采样,可以减少计算和内存访问压力,从而提高推理速度,因为这样的近似模型通常具有更小的模型尺寸和参数数量。较小的模型尺寸意味着更少的计算资源需求和更少的内存访问量,因为需要处理的参数量更少。这样可以降低了计算和内存开销,从而加快推理速度。而原始目标模型对近似模型的评估,则进一步确保了近似模型输出结果的质量,保证了模型输出序列的准确性。近似模型可以快速生成token序列,而原始目标模型可以高效地并行验证多个token,从而最大化计算吞吐量。本申请实施例中的方法在生成序列时能够兼顾速度和准确性,提高了模型的整体效率。

步骤S101中,进一步可选地,采用所述近似模型生成候选输出序列,可以实现为如下步骤:

步骤S1011,初始化设置初始化token值,并将初始化token值输入到所述近似模型中,以得到第一个初始token样本;

步骤S1012,将第一个初始token样本输入到所述近似模型中,以预测得到第二个初始token样本;

步骤S1013,循环向所述近似模型输入多个初始token样本,直到获得预设数量的初始token样本时,并以预设数量的初始token样本构建为对应的候选输出序列。

具体来说,步骤S1011中,初始化设置初始化token值,并将初始化token值输入到所述近似模型中,以得到第一个初始token样本。这一步骤旨在为生成序列的开始提供一个起始点,通过输入初始化token值到近似模型中,获取第一个初始token样本。步骤S1012中,将第一个初始token样本输入到所述近似模型中,以预测得到第二个初始token样本。在这一步骤中,利用第一个初始token样本作为输入,通过近似模型的推理过程,生成第二个初始token样本,以逐步扩展序列。步骤S1013中,循环向所述近似模型输入多个初始token样本,直到获得预设数量的初始token样本时,并以预设数量的初始token样本构建为对应的候选输出序列。通过不断循环生成初始token样本,并逐步扩展序列的长度,直到达到预设的数量,以构建完整的候选输出序列。

这些步骤的目的是通过近似模型逐步生成候选输出序列,以提供给原始目标模型进行进一步的评估和选择。通过逐步生成序列的方式,可以有效地减少计算负担,并在保证序列质量的同时加速生成过程。

步骤S102,将多个候选输出序列输入到原始目标模型中,对候选输出序列进行并行评估,以获得多个候选输出序列各自的序列评估结果。

可以理解是,并行评估是指将多个候选输出序列批量输入到原始目标模型中,以便同时对这些候选输出序列进行评估。这种并行处理可以显著提高评估的效率,尤其是在处理大量候选序列的情况下,假设原始目标模型是一个用于任务解决的深度学习模型,如语言模型或者机器翻译模型。通过并行评估,可以更快地获取每个候选序列的评估结果,从而加速模型的决策过程。

从技术效果方面来看,同时对多个候选序列进行评估,可以在相同时间内处理更多的序列,从而加速整个处理过程,提升模型计算效率。通过并行处理,可以减少每个序列的评估时间,从而降低系统响应的延迟。并行评估使得系统能够轻松处理大量的候选序列,而不会因为序列数量的增加而导致性能下降。综合而言,并行评估技术能够有效提升序列生成任务的效率和性能,使得模型能够更快速地生成高质量的输出序列。

具体来说,在步骤S102的一可选实施例参见图2所示,可以实现为如下步骤:

步骤S201,将多个所述候选输出序列输入到所述原始目标模型中。

步骤S202,通过所述原始目标模型,对多个所述候选输出序列执行样本推理并行评估,以获得多个所述候选输出序列各自的样本推理评估结果。

其中,所述候选输出序列由多个初始token样本组成。也即,候选输出序列由多个初始token样本组成意味着序列的起始位置不是单一的token,而是由多个初始token组成。例如,在某些序列生成任务中,可能需要模型同时考虑多个不同起始点的情况,这时候就可以用多个初始token样本来表示这些不同的起始位置。举例来说,如果要生成一段对话的文本,可能会同时考虑两个不同角色的发言,那么每个角色的发言起始位置都可以用一个初始token样本来表示。

其中,所述样本推理评估结果用于指示各个所述候选输出序列是否达到预设条件。进一步可选地,本申请实施例中,预设条件至少包括:候选输出序列中符合模型推理条件的初始token样本的总数达到预先设置的最小目标序列长度。

举例来说,假设有两个候选输出序列:英文句子:“How are you?”,对应符合模型推理条件的初始token样本: [“How”,“are”]。另一英文句子: “What is your name?”,对应符合模型推理条件的初始token样本: [“What”,“is”,“your”]。进一步假设预设条件是,候选输出序列中符合模型推理条件的初始token样本的总数必须达到3个,即预设的最小目标序列长度。对于第一个候选输出序列,初始token样本的总数是2,不满足预设条件,因此样本推理评估结果会指示该序列未达到预设条件。而对于第二个候选输出序列,初始token样本的总数是3,满足了预设条件,因此样本推理评估结果会指示该序列已达到预设条件。这样,通过样本推理评估结果,可以确定哪些候选输出序列符合预设条件,进而进行后续的决策或选择。

通过上述步骤步骤S201至步骤S202,实现了将多个候选输出序列输入到原始目标模型中,并通过模型进行样本推理并行评估的过程。这一过程,通过并行处理能够同时将多个候选输出序列输入到原始目标模型中进行评估,从而实现了对多个候选序列的高效处理,提高了处理效率。通过在原始目标模型上执行样本推理并行评估,可以更准确地评估每个候选输出序列的质量,有助于选择最佳的输出序列,使得模型的准确度进一步提升。获得多个候选输出序列各自的样本推理评估结果后,可以快速做出决策,选择最合适的序列作为最终输出,加速了整个预测过程。综合来看,通过这些步骤,可以有效地对候选输出序列进行评估和选择,提高了模型的生成效率和输出质量。

进一步可选地,在步骤S202中,通过所述原始目标模型,对多个所述候选输出序列执行样本推理并行评估,以获得多个所述候选输出序列各自的样本推理评估结果,可以实现为如下步骤:

步骤S2021,通过所述原始目标模型,预测所述候选输出序列中各个初始token样本对应的概率预测分布;

步骤S2022,若所述候选输出序列中的第一初始token样本与所述概率预测分布中对应的概率预测值一致,则确定第一初始token样本符合模型推理条件,跳转至下一个初始token样本;

步骤S2023,若所述候选输出序列中的第二初始token样本与所述概率预测分布中对应的概率预测值不一致,则确定第二初始token样本不符合模型推理条件。

具体而言,在步骤S202中,通过原始目标模型对多个候选输出序列执行样本推理并行评估可以进一步细化为以下步骤。步骤S2021中,通过原始目标模型,预测候选输出序列中各个初始token样本对应的概率预测分布。这意味着模型会给出每个初始token的可能性分布,即每个token在序列中的概率。步骤S2022中,如果候选输出序列中的第一个初始token样本与概率预测分布中对应的概率预测值一致,那么确定第一个初始token样本符合模型推理条件,并跳转至下一个初始token。这意味着如果模型预测的概率与实际序列中的第一个token相符,那么该token符合模型推理条件。步骤S2023中,如果候选输出序列中的第二个初始token样本与概率预测分布中对应的概率预测值不一致,那么确定第二个初始token样本不符合模型推理条件。这意味着如果模型预测的概率与实际序列中的第二个token不符,那么该token不符合模型推理条件。通过这些步骤,可以根据模型的概率预测分布来确定每个初始token样本是否符合模型推理条件,从而进行样本推理并行评估。

步骤S103,基于多个候选输出序列各自的序列评估结果,确定最终输出的目标输出序列。

基于上述可选实施例,在步骤S103中,基于多个候选输出序列各自的序列评估结果,确定最终输出的目标输出序列的一可选实施例参见图2所示,可以实现为如下步骤:

步骤S203,对候选输出序列中不符合模型推理条件的初始token样本进行重构;

步骤S204,直到样本推理评估结果中指示候选输出序列达到预设条件时,输出候选输出序列作为目标输出序列。

在步骤S203中,对候选输出序列中不符合模型推理条件的初始token样本进行重构,意味着需要对不符合条件的token样本进行修正或替换,以使整个候选输出序列符合模型推理条件。在步骤S204中,直到样本推理评估结果中指示候选输出序列达到预设条件时,输出该候选输出序列作为目标输出序列。这意味着只有当所有的初始token样本都符合模型推理条件,整个候选输出序列才会被认定为满足预设条件,并最终作为目标输出序列输出。

举例来说,假设有一个自动生成图像标题的任务,候选输出序列为图像标题的不同部分,初始token样本为图像的不同特征或关键词。假设候选输出序列为 "A happyfamily enjoying a picnic in the park";假设初始token样本为 ["A", "happy", "family", "enjoying", "a", "picnic", "in", "the", "park"]。基于上述假设,在步骤S203中,如果发现"family"这个token不符合模型推理条件,可能会根据上下文调整为合适的token,比如将其替换为"children"。然后经过样本推理并行评估,逐步检查每个token,直到所有token都符合模型推理条件。当所有的初始token样本都经过修正后符合模型推理条件时,整个候选输出序列才会被确定为达到预设条件,并作为最终的目标输出序列输出,即"为家人享受野餐带去快乐的一天"。这样即实现了候选输出序列的重构和优化,确保生成的图像标题质量较高,符合预期。

进一步可选地,步骤S203中,对所述候选输出序列中不符合模型推理条件的初始token样本进行重构,可以实现为如下步骤:

步骤S2031,对所述候选输出序列中的第二初始token样本执行舍弃操作,并对所述候选输出序列执行前向传递处理;

步骤S2032,对所述近似模型进行重新采样,以获得第三初始token样本,用以替换所述候选输出序列中被舍弃的第二初始token样本。

具体而言,在步骤S203中,对候选输出序列中不符合模型推理条件的初始token样本进行重构可以进一步细化为以下步骤。步骤S2031中,对候选输出序列中的第二个初始token样本执行舍弃操作,并对候选输出序列执行前向传递处理。这意味着将不符合条件的第二个token从序列中移除,并对剩余的序列进行重新处理,以确保后续的token符合模型推理条件。步骤S2032中,对近似模型进行重新采样,以获得第三个初始token样本,用以替换被舍弃的第二个初始token样本。这意味着重新从近似模型中获取一个新的token样本,以替换掉原序列中被移除的token,从而保持序列的完整性和合理性。通过这些步骤,可以有效地对不符合模型推理条件的初始token样本进行重构,使得候选输出序列符合预设条件,并最终生成高质量的目标输出序列。

实际应用中,进一步可选地,通过所述原始目标模型,预测所述候选输出序列中各个初始token样本对应的概率预测分布,可以实现为如下步骤:

通过原始目标模型q,计算近似模型p输出的候选输出序列中第n个初始token样本

进一步可选地,通过原始目标模型q,计算近似模型p输出的候选输出序列中第n个初始token样本

若原始目标模型q关于

上述步骤中,首先使用原始目标模型q来计算近似模型p输出的候选输出序列中第n个初始token样本对应的概率预测分布。这个概率预测分布反映了模型对每个token在序列中的可能性的估计。接着,根据计算得到的概率预测分布。若原始目标模型q关于的概率预测分布值大于近似模型p关于采样值的概率预测分布值,则确定所述候选输出序列中的第n个初始token样本与所述概率预测分布中对应的概率预测值一致。若原始目标模型q关于采样值的概率预测分布值小于近似模型p关于的概率预测分布值,则确定所述候选输出序列中的第n个初始token样本与所述概率预测分布中对应的概率预测值不一致。这样,能够根据两个模型的概率预测分布来确定第n个初始token样本是否符合模型推理条件,从而优化和重构候选输出序列。从而,通过比较原始目标模型和近似模型的概率预测分布,可以更准确地判断候选输出序列中各个初始token样本是否符合模型推理条件,从而提高了模型生成序列的准确性和合理性。

作为一个可选示例,在图3中,每一行代表一次迭代,绿色的标记是由近似模型输出的候选token,而目原始标模型判断是否接受了这些候选token生成的建议。红色和蓝色的标记分别表示被拒绝和修正。进而,使用投机采样方法,在第一行中近似模型生成了5个token,原始目标模型使用这5个token和前缀拼接后的句子“[START] japan’s bechmarkbond”作为输入,通过一次推理执行来验证小模型(即近似模型)的生成效果。后一个token“bond”被原始目标模型拒绝,重新采样生成“n”。这样中间的四个tokens,“japan”、“’” 、“s” 、“benchmark”都是小模型(即近似模型)生成的。由于用大模型(即目原始标模型)对输入序列并行地执行,大模型(即目原始标模型)只前向传递了9次,就生成了37个tokens。尽管,大模型(即目原始标模型)的总计算量不变,但是大模型(即目原始标模型)推理一个1个token和5个token延迟类似,从而,相较于通过大模型一个一个生成词汇的计算速度,本申请实施例提供的技术方案的计算速度更快。

本申请实施方式中,通过上述步骤S101至S103,通过引入近似模型和并行评估方式,实现对原始目标模型的投机采样,有效地提高了大型语言模型推理的速度和效率,减少了计算资源的消耗,提高访存效率和内存访问速度,以加快解码过程并实现更高效的推理,同时也有效保证了生成序列的质量,确保了生成结果的质量和准确性。

在介绍了本申请示例性实施方式的方法之后,接下来,参考图4对本申请示例性实施方式的一种大型语言模型推理加速装置进行说明,该装置应用于模型交互网络,该模型交互网络包括原始目标模型以及对应的近似模型。该装置包括如下模块:

生成模块,用于采用所述近似模型生成候选输出序列;所述近似模型的模型参数少于所述原始目标模型,并且所述近似模型与所述原始目标模型具有相同的模型结构;

评估模块,用于将多个所述候选输出序列输入到所述原始目标模型中,对所述候选输出序列进行并行评估,以获得多个所述候选输出序列各自的序列评估结果;

输出模块,用于基于多个所述候选输出序列各自的序列评估结果,确定最终输出的目标输出序列。

作为一种可选的实施方式,评估模块,将多个所述候选输出序列输入到所述原始目标模型中,对所述候选输出序列进行并行评估,以获得多个所述候选输出序列各自的序列评估结果时,具体用于:

将多个所述候选输出序列输入到所述原始目标模型中;所述候选输出序列由多个初始token样本组成;

通过所述原始目标模型,对多个所述候选输出序列执行样本推理并行评估,以获得多个所述候选输出序列各自的样本推理评估结果;

所述样本推理评估结果用于指示各个所述候选输出序列是否达到预设条件。

作为一种可选的实施方式,输出模块,基于多个所述候选输出序列各自的序列评估结果,确定最终输出的目标输出序列时,具体用于:

对所述候选输出序列中不符合模型推理条件的初始token样本进行重构;

直到所述样本推理评估结果中指示所述候选输出序列达到所述预设条件时,输出所述候选输出序列作为所述目标输出序列。

作为一种可选的实施方式,所述预设条件至少包括:所述候选输出序列中符合模型推理条件的初始token样本的总数达到预先设置的最小目标序列长度。

作为一种可选的实施方式,评估模块,通过所述原始目标模型,对多个所述候选输出序列执行样本推理并行评估,以获得多个所述候选输出序列各自的样本推理评估结果,具体用于:

通过所述原始目标模型,预测所述候选输出序列中各个初始token样本对应的概率预测分布;

若所述候选输出序列中的第一初始token样本与所述概率预测分布中对应的概率预测值一致,则确定第一初始token样本符合模型推理条件,跳转至下一个初始token样本;

若所述候选输出序列中的第二初始token样本与所述概率预测分布中对应的概率预测值不一致,则确定第二初始token样本不符合模型推理条件。

作为一种可选的实施方式,输出模块,对所述候选输出序列中不符合模型推理条件的初始token样本进行重构时,具体用于:

对所述候选输出序列中的第二初始token样本执行舍弃操作,并对所述候选输出序列执行前向传递处理;

对所述近似模型进行重新采样,以获得第三初始token样本,用以替换所述候选输出序列中被舍弃的第二初始token样本。

作为一种可选的实施方式,评估模块,通过所述原始目标模型,预测所述候选输出序列中各个初始token样本对应的概率预测分布时,具体用于:

通过原始目标模型q,计算近似模型p输出的候选输出序列中第n个初始token样本

所述评估模块,通过原始目标模型q,计算近似模型p输出的候选输出序列中第n个初始token样本

若原始目标模型q关于

若原始目标模型q关于

作为一种可选的实施方式,生成模块,采用所述近似模型生成候选输出序列,具体用于:

初始化设置初始化token值,并将初始化token值输入到所述近似模型中,以得到第一个初始token样本;

将第一个初始token样本输入到所述近似模型中,以预测得到第二个初始token样本;

循环向所述近似模型输入多个初始token样本,直到获得预设数量的初始token样本时,并以预设数量的初始token样本构建为对应的候选输出序列。

本申请实施例中,通过大型语言模型推理加速装置,通过引入近似模型和并行评估方式,实现对原始目标模型的投机采样,有效地提高了大型语言模型推理的速度和效率,减少了计算资源的消耗,提高访存效率和内存访问速度,以加快解码过程并实现更高效的推理,同时也有效保证了生成序列的质量,确保了生成结果的质量和准确性。

在介绍了本申请示例性实施方式的设备、方法和装置之后,接下来,参考图5对本申请示例性实施方式的计算机可读存储介质进行说明,该计算机可读存储介质可以设置于大型语言模型推理加速设备中,请参考图5,其示出的计算机可读存储介质为光盘110,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,采用所述近似模型生成候选输出序列;所述近似模型的模型参数少于所述原始目标模型,并且所述近似模型与所述原始目标模型具有相同的模型结构;将多个所述候选输出序列输入到所述原始目标模型中,对所述候选输出序列进行并行评估,以获得多个所述候选输出序列各自的序列评估结果;基于多个所述候选输出序列各自的序列评估结果,确定最终输出的目标输出序列;各步骤的具体实现方式在此不再重复说明。

需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。

在介绍了本申请示例性实施方式的设备、方法、介质和装置之后,接下来,参考图6对本申请示例性实施方式的用于大型语言模型推理加速的计算设备,该计算设备可以设置于大型语言模型推理加速设备中。

图6示出了适于用来实现本申请实施方式的示例性计算设备120的框图,该计算设备120可以是计算机系统或服务器。图6显示的计算设备120仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图6所示,计算设备120的组件可以包括但不限于:一个或者多个处理器或者处理单元1201,系统存储器1202,连接不同系统组件(包括系统存储器1202和处理单元1201)的总线1203。

计算设备120典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备120访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器1202可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)12021和/或高速缓存存储器12022。计算设备120可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM12023可以用于读写不可移动的、非易失性磁介质(图6中未显示,通常称为“硬盘驱动器”)。尽管未在图6中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1203相连。系统存储器1202中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块12024的程序/实用工具12025,可以存储在例如系统存储器1202中,且这样的程序模块12024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块12024通常执行本申请所描述的实施例中的功能和/或方法。

计算设备120也可以与一个或多个外部设备1204(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口605进行。并且,计算设备120还可以通过网络适配器1206与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器1206通过总线1203与计算设备120的其它模块(如处理单元1201等)通信。应当明白,尽管图6中未示出,可以结合计算设备120使用其它硬件和/或软件模块。

处理单元1201通过运行存储在系统存储器1202中的程序,从而执行各种功能应用以及数据处理,例如,采用所述近似模型生成候选输出序列;所述近似模型的模型参数少于所述原始目标模型,并且所述近似模型与所述原始目标模型具有相同的模型结构;将多个所述候选输出序列输入到所述原始目标模型中,对所述候选输出序列进行并行评估,以获得多个所述候选输出序列各自的序列评估结果;基于多个所述候选输出序列各自的序列评估结果,确定最终输出的目标输出序列。各步骤的具体实现方式在此不再重复说明。应当注意,尽管在上文详细描述中提及了大型语言模型推理加速装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

相关技术
  • 一种卷积神经网络推理硬件加速方法及其装置
  • 多项式乘法的加速方法及装置、NTRU加解密加速方法及装置
  • 语言模型的确定方法和装置
  • 基于大型预训练语言模型的API关系推理方法及系统
  • 推理加速方法、推理加速装置及存储介质
技术分类

06120116678682