CN118886508A - 一种模型推理方法、装置、设备及介质 - Google Patents
一种模型推理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN118886508A CN118886508A CN202411063960.2A CN202411063960A CN118886508A CN 118886508 A CN118886508 A CN 118886508A CN 202411063960 A CN202411063960 A CN 202411063960A CN 118886508 A CN118886508 A CN 118886508A
- Authority
- CN
- China
- Prior art keywords
- model
- word
- sequence
- reasoning
- historical
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种模型推理方法、装置、设备及介质,其中方法包括:在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练;对所述历史词元序列进行压缩,得到替换词元序列;基于所述替换词元序列,应用训练后的模型进行推理。本发明通过在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练,从而提高了模型处理长序列任务的效率和准确性。同时,控制键值对缓存的最大长度以及压缩历史词元序列,能够降低计算和存储资源消耗。基于这些优化,模型能够在处理复杂和长序列任务时,保持高效的推理速度和输出质量。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种模型推理方法、装置、设备及介质。
背景技术
大语言模型通常通过自回归推理方式,基于已有的词元(token)推理下一个词元。每一步推理过程中,模型的各层自注意力模块都会保存键值对缓存(KV cache)用于后续推理。
然而,随着推理步数的增加,键值对缓存的长度线性增长,在长词元任务中会导致计算和存储资源的巨大消耗。特别是在现有AI加速器(如GPU)显存有限的情况下,内存负担会逐步增加,最终可能导致内存不足的问题。
发明内容
本发明提供一种模型推理方法、装置、设备及介质,用以解决相关技术中计算和存储资源巨大消耗的缺陷。
本发明提供一种模型推理方法,包括如下步骤:
在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练;
对所述历史词元序列进行压缩,得到替换词元序列;
基于所述替换词元序列,应用训练后的模型进行推理。
根据本发明提供的模型推理方法,所述基于所述模型推理产生的历史词元序列,对所述模型进行训练,包括:
基于所述模型推理产生的历史词元序列,对所述模型中的快速权重进行训练;
所述快速权重为所述模型中与所述键值对缓存相关的权重。
根据本发明提供的模型推理方法,所述快速权重包括所述模型的注意力模块中的键权重和值权重,所述键权重用于确定键矩阵,所述值权重用于确定值矩阵。
根据本发明提供的模型推理方法,所述基于所述模型推理产生的历史词元序列,对所述模型中的快速权重进行训练,包括:
从所述模型推理产生的历史词元序列中,选取最后推理产生的所述长度阈值个历史词元,作为第一样本词元序列;
基于所述第一样本词元序列,对所述模型中的快速权重进行训练。
根据本发明提供的模型推理方法,所述基于所述第一样本词元序列,对所述模型中的快速权重进行训练,包括:
从所述历史词元序列中,选取除所述第一样本词元序列之外的第二样本词元序列;
基于所述第一样本词元序列和所述第二样本词元序列,对所述模型中的快速权重进行训练。
根据本发明提供的模型推理方法,所述对所述历史词元序列进行压缩,得到替换词元序列,包括:
基于所述历史词元序列中各历史词元的重要度,从所述历史词元序列中选取历史词元以构建替换词元序列。
本发明提供一种模型推理装置,包括如下模块:
训练单元,用于在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练;
压缩单元,用于对所述历史词元序列进行压缩,得到替换词元序列;
推理单元,用于基于所述替换词元序列,应用训练后的模型进行推理。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述模型推理方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述模型推理方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述模型推理方法。
本发明提供的一种模型推理方法、装置、设备及介质,通过在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练,从而提高了模型处理长序列任务的效率和准确性。同时,控制键值对缓存的最大长度以及压缩历史词元序列,能够降低计算和存储资源消耗。基于这些优化,模型能够在处理复杂和长序列任务时,保持高效的推理速度和输出质量。
附图说明
为了更清楚地说明本发明或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中自回归推理的工作机制流程图。
图2是本发明提供的模型推理方法的流程示意图。
图3是本发明提供的模型推理流程示意图。
图4是本发明提供的模型推理装置的结构示意图
图5是本发明提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
自回归推理是一种生成模型的技术,通过依赖于之前已经生成的输出来逐步生成新的输出。在自然语言处理(Natural language processing)和其他生成任务(如图像、音频生成)中,自回归推理是当前非常流行的一种方法。自回归推理的核心思想是,模型根据之前的输入或输出来预测下一个输出。这个过程是逐步进行的,每一步生成一个新的输出,并将其作为下一步的输入。具体到语言模型中,这意味着模型通过解析一段文本中的前n个词来预测第n+1个词。
自回归推理可以分为两个主要阶段:上下文解码和单步解码。在上下文解码阶段,模型接收初始输入或提示,并生成相应的隐空间表示。这些表示会被存储在键值对缓存中,用于后续的单步解码。在单步解码阶段,模型逐步生成新的词元,每一步生成的词元会作为下一步的输入,继续进行处理。每一步生成新的词元后,自注意力模块会更新键值对缓存,新的键(Key,K)矩阵和值(Value,V)矩阵与之前保存的键值对缓存合并,形成更长的键值对缓存。通过这种方式,自回归推理可以逐步生成序列,每一步生成一个新的词元,并不断更新键值对缓存以保持对长序列的记忆和处理能力。
图1是相关技术中自回归推理的工作机制流程图。如图1所示,自回归推理模型基于层级结构实现,其中包含了多层神经网络(从层1到层L)。每一层包含一个自注意力模块和一个全连接模块。模型接收用户提示或上一步生成的输出作为输入,此处,用户提示可以理解为一段词元序列。其中,用户提示会经过编码器转化为一系列词元,并嵌入到隐空间表示中。具体来说,用户提示被嵌入尺寸为s×d的矩阵,其中s为序列长度,d为隐空间维度。在每一层中,自注意力模块用于计算输入词元之间的关联。输入x通过权重矩阵W Q、W K和W V分别计算出查询(Query,Q)矩阵、键矩阵和值矩阵,再通过softmax函数计算得到注意力权重,并与值矩阵和模型权重矩阵W O相乘得到输出y。具体计算如下:
其中,K、V矩阵将作为新的键值对缓存,即新的K cache和V cache。自注意力模块输出的尺寸为s×d,然后经过全连接模块进行非线性变换,生成该层的最终输出。
如图1所示,假设输入序列长度为s,隐空间维度为d。在上下文解码阶段,输入被嵌入为尺寸为[s,d]的矩阵。经过每一层自注意力模块的计算,生成的键矩阵和值矩阵尺寸也是[s,d]。此时的键值对缓存尺寸为2×L×[s,d]。在单步解码阶段,第一步生成新的键值对缓存后,新增一个词元,键值对缓存的尺寸变为2×L×[s+1,d];第一步生成新的键值对缓存后,再新增一个词元,键值对缓存的尺寸变为2×L×[s+2,d]。以此类推,每新增一个词元,键值对缓存的长度增加1,最终形成的键值对缓存尺寸为2×L×[s+n,d],其中n是生成的词元数。
通过这种方式,自回归推理实现了逐步生成序列的过程,每一步生成一个新的词元,并不断更新键值对缓存,以保持对长序列的记忆和处理能力。然而,随着推理步数的增加,键值对缓存的长度线性增长,在长序列任务重会导致计算和存储资源的巨大消耗。
针对上述问题,本发明实施例提供一种模型推理方法。图2是本发明提供的模型推理方法的流程示意图。如图2所示,该方法包括:
步骤210,在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练。
此处的模型即包含多个注意力层的神经网络模型,例如可以是Transformer模型。模型具体可用于实现序列推理,例如可用于实现文本序列推理、图像序列推理、视频序列推理和语音序列推理等,本发明实施例对此不作具体限定。进一步地,此处的模型可以是用于文本分类、情感分析等任务的模型,或者是用于问答系统、对话生成以及长文本生成的模型,还可以是应用于图像分类、目标检测、目标跟踪、高分辨率图片生成和长视频生成等计算机视觉任务的模型,本发明实施例对此不作具体限定。
以单次模型推理为例,可以获取在此次模型推理之前、该模型在推理历史词元序列时产生的键值对缓存。此处的历史词元序列即由多个历史词元构成的序列,其中的历史词元可以理解为在之前的输入模型的词元以及模型推理所输出的词元,例如在文本序列推理中,历史词元可以是字或者词,历史词元序列可以是用户输入的文本,或者是用户输入的文本以及模型推理出的文本的组合,本发明实施例对此不作具体限定。
在推理历史词元的过程中,模型中的每一层注意力模块均参与计算,且每个注意力模块均计算得到与历史词元相对应的键值对缓存。由此,随着模型推理的逐步运行,模型中各注意力模块所产生的键值对缓存的长度也逐步累加。
在此情况下,为了避免由于键值对缓存规模过大导致内存不足的问题,可以预先设置长度阈值。此处的长度阈值,即键值对缓存的最大长度。长度阈值的设置可以与运行模型的内存大小关联。
具体来说,在键值对缓存的长度达到长度阈值后,模型会将推理产生的历史词元序列作为训练数据,例如可以将完整的历史词元序列作为训练数据,或者将历史词元序列中最近生成的部分序列作为训练数据。使用这些训练数据,模型会对其内部的模型权重参数(例如注意力模块的权重矩阵)进行微调,以便更好地记忆和理解长序列中的依赖关系和上下文信息。这一过程旨在通过训练来优化模型的权重参数,使得历史词元序列以及历史词元序列中各历史词元的关联能够融入模型的权重参数,由此模型能够保持对于历史词元序列的记忆,使其能够在未保留历史词元序列的键值对缓存的前提下更有效地处理长词元数据。同时,这种方法不仅能够通过长度阈值的设定避免键值对缓存的无限增长,还能在不增加存储负担的情况下,提高模型在处理长词元任务时的性能和准确性。
步骤220,对所述历史词元序列进行压缩,得到替换词元序列。
具体来说,历史词元序列通常包含了大量的词元。直接存储和处理这些数据会导致存储空间和计算资源的急剧增加。因此,通过压缩技术,可以有效减少数据量,提升模型的处理效率。
对历史词元序列的压缩方法本发明实施例不做限制。例如,通过去除冗余信息,识别并去除历史词元序列中重复或不必要的部分,仅保留对模型推理至关重要的信息。再例如,利用模型自身的注意力机制,通过计算每个词元的重要性权重,筛选出对推理最有贡献的词元,形成压缩后的替换词元序列。甚至随机选取亦为可选取的压缩方法之一。
压缩后的替换词元序列,相较于历史词元序列,长度更短,减少了数据的冗余度,使得后续的模型推理和训练能够在更高效的基础上进行。这不仅降低了存储和计算资源的需求,还加快了模型的响应速度,提高了整体系统的性能。
步骤230,基于所述替换词元序列,应用训练后的模型进行推理。
具体来说,替换词元序列的数据量较小,训练后的模型可以更加高效地处理这些输入,从而加快推理过程。将替换词元序列输入到训练后的模型中,作为新的上下文信息。训练后的模型会利用这些压缩后的数据进行处理,生成隐空间表示。模型通过嵌入层将替换词元序列转换为隐空间表示,并逐层传递,通过每一层的自注意力模块和全连接模块进行处理。自注意力模块会计算新的查询、键和值矩阵,捕捉替换词元序列中的依赖关系和特征。在每一步推理中,模型基于当前隐空间表示和已更新的键值对缓存,生成下一个词元。这一过程会不断重复,直到生成完整的输出序列。
通过基于替换词元序列应用训练后的模型进行推理,可以显著提升推理的效率和准确性。压缩后的替换词元序列不仅减少了模型的计算和存储负担,还保留了一定的上下文信息,使得模型能够在较短的时间内生成高质量的输出。
本发明实施例提供的推理方法,在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练,从而提高了模型处理长序列任务的效率和准确性。同时,控制键值对缓存的最大长度以及压缩历史词元序列,能够降低计算和存储资源消耗。基于这些优化,模型能够在处理复杂和长序列任务时,保持高效的推理速度和输出质量。
基于上述实施例,步骤210中,所述基于所述模型推理产生的历史词元序列,对所述模型进行训练,包括:
基于所述模型推理产生的历史词元序列,对所述模型中的快速权重进行训练;
所述快速权重为所述模型中与所述键值对缓存相关的权重。
具体来说,模型推理时会生成一系列的历史词元序列。这些序列包含了模型在推理过程中遇到的所有输入数据和中间结果。通过使用这些历史词元序列,模型能够识别和学习到输入数据中的重要模式和历史词元之间的依赖关系,从而对快速权重进行有针对性的训练和优化。
快速权重是一种介于长时间训练的模型权重参数和短期激活隐空间变量之间的权重类型。其特点是可以在短时间内进行多次更新,具有较高的更新频率。通过快速权重的动态调整,模型能够及时适应新输入的数据变化,捕捉到最新的上下文信息。具体来说,快速权重在每次推理过程中都会根据当前的输入和历史词元序列进行调整,使得模型能够更灵活地处理长序列数据中的依赖关系和重要模式。在本发明实施例中,快速权重为模型中与键值对缓存相关的权重。快速权重的更新是一个动态调整的过程,其目的是在保持模型高效推理能力的同时,限制键值对缓存的长度。这些快速权重直接影响到自注意力模块中的键矩阵和值矩阵的计算和存储,因此,通过训练这些权重,可以使模型更好地适应长序列输入,并在减少存储和计算资源消耗的同时,保持对长序列历史信息的记忆能力。
通过这种方式,基于历史词元序列对模型进行训练,可以显著优化模型的性能,使其在处理长文本生成、长视频生成等超长词元任务时,表现出更高的效率和更好的输出质量。这种方法既解决了键值对缓存无限增长的问题,又保持了模型对长历史词元的有效记忆和理解,适用于多种复杂和高要求的应用场景。
基于上述实施例,所述快速权重包括所述模型的注意力模块中的键权重和值权重,所述键权重用于确定键矩阵,所述值权重用于确定值矩阵。
具体来说,在模型推理过程中,键权重(W K)用于计算输入序列中各个词元的重要性和位置关系,生成键矩阵。这些键矩阵在自注意力机制中起到匹配查询矩阵与值矩阵的作用,从而决定哪些输入信息在当前步骤中最为重要。值权重(W V)则用于生成值矩阵,这些矩阵包含了输入序列中各个词元的实际值信息和特征表示,在自注意力计算中与键矩阵相结合,生成最终的注意力输出。
在训练过程中,模型会根据历史词元序列中的信息,对这些键权重和值权重进行动态调整和优化。这一过程不仅能够有效整合长序列中的关键信息,还能通过快速权重的更新,减少键值对缓存的冗余数据,从而提高模型推理的效率和准确性。通过这种方式,模型能够更好地适应长序列任务,提高推理的性能和输出质量,特别是在处理长文本生成和长视频生成等复杂应用场景中。
基于上述实施例,所述基于所述模型推理产生的历史词元序列,对所述模型中的快速权重进行训练,包括:
从所述模型推理产生的历史词元序列中,选取最后推理产生的所述长度阈值个历史词元,作为第一样本词元序列;
基于所述第一样本词元序列,对所述模型中的快速权重进行训练。
具体来说,模型在推理过程中会生成大量的历史词元序列,这些序列包含了模型在每一步推理中所生成的词元。当模型推理所用的键值对缓存的长度达到预设的长度阈值时,从这些历史词元序列中提取出最近生成的长度阈值个历史词元,作为第一样本词元序列。可以理解的是,相较于历史词元序列整体,第一样本历史序列能够反映在本次模型训练时,模型最需要学习的参数,从而保证训练完成的模型,能够保持对于历史词元序列、尤其是历史词元序列中最近生成的第一样本历史序列的记忆。
通过选取最后推理产生的所述长度阈值个历史词元作为第一样本词元序列,模型能够在快速权重的训练过程中,重点关注这些最近推理生成的历史词元,从而更好地调整和优化注意力模块中的键权重和值权重。
接下来,可以基于所述第一样本词元序列,对模型中的快速权重进行训练。具体而言,模型会利用第一样本词元序列中的信息,对其内部的快速权重进行更新和优化。在这个过程中,模型的注意力模块将通过计算键权重和值权重,并对其进行调整,以便快速权重能够更好地适应新的输入数据。这种训练过程使得模型能够及时更新其内部参数,提升对长序列数据的处理能力,确保在推理过程中生成更准确和相关的输出。通过对快速权重的训练,模型不仅提高了处理效率,还保持了对重要历史信息的记忆和理解。
基于上述实施例,所述基于所述第一样本词元序列,对所述模型中的快速权重进行训练,包括:
从所述历史词元序列中,选取除所述第一样本词元序列之外的第二样本词元序列;
基于所述第一样本词元序列和所述第二样本词元序列,对所述模型中的快速权重进行训练。
具体而言,第二样本词元序列由未被第一样本词元序列包含的历史词元组成,这些词元涵盖了更长时间范围内的上下文信息,提供了更广泛的数据背景和关联信息。
选取第二样本词元序列后,基于第一样本词元序列和第二样本词元序列,对模型中的快速权重进行训练。在这一过程中,模型会利用第一样本词元序列中的最新信息以及第二样本词元序列中的广泛上下文,对其内部的快速权重进行全面的更新和优化。注意力模块通过调整键权重和值权重,确保模型能够同时捕捉到近期的关键模式和长期的依赖关系。
这种结合两种样本词元序列的训练方法,使得模型不仅能有效适应新的输入数据,还能保持对更长时间范围内历史信息的记忆和理解。通过对快速权重的训练,模型提高了处理效率,减少了存储和计算资源的消耗,并在处理长文本生成、长视频生成等复杂任务时,表现出更高的准确性和稳定性。
基于上述实施例,所述对所述历史词元序列进行压缩,得到替换词元序列,包括:
基于所述历史词元序列中各历史词元的重要度,从所述历史词元序列中选取历史词元以构建替换词元序列。
首先,基于所述历史词元序列中各历史词元的重要度,从所述历史词元序列中选取历史词元以构建替换词元序列。具体而言,模型在推理过程中会生成大量的历史词元序列,这些序列包含了每一步推理生成的词元。为了有效压缩这些数据,模型会对每个历史词元的重要度进行评估。
重要度评估可以基于多个因素进行,例如每个历史词元在上下文中的位置、其对生成下一个词元的影响程度、以及其在整个序列中的频率和相关性。通过综合这些因素,模型能够确定哪些历史词元在推理过程中起到键作用。
在对重要度进行评估后,模型会从历史词元序列中选取那些重要度较高的历史词元,作为构建替换词元序列的基础。这些被选取的历史词元将保留主要的上下文信息和依赖关系,从而在压缩数据量的同时,确保替换词元序列能够有效地代表原始序列的关键信息。
通过这种方法,模型能够有效地压缩历史词元序列,生成的替换词元序列在数据量大幅减少的情况下,仍然能够保持对原始序列的主要信息和依赖关系的表达。这不仅降低了存储和计算资源的需求,还提高了模型在推理过程中的效率和准确性。
基于上述实施例,图3是本发明提供的模型推理流程示意图。图3详细展示了在引入快速权重训练机制后,大模型自回归推理过程中键值对缓存的操作流程。首先,在输入阶段,用户输入一段提示,通过分词器(tokenizer)将其转换成长度为s的词元序列。这些词元经过嵌入层(embedding layer)转化为隐空间变量,尺寸为[s, d]。这些隐空间变量作为输入,进入模型的第一层进行处理。
在输入序列词元进入模型第一层后,需要进行上下文解码。输入词元序列会依次进入模型的每一层(共L层),每层都包含有自注意力模块和全连接模块。自注意力模块的主要作用是计算输入词元之间的关系和重要性。具体来说,假设模型里的每一层的输入为x,尺寸为[s, d]。在每一层中,首先计算查询矩阵、键矩阵和值矩阵:
接着,通过计算查询矩阵和键矩阵的内积,并应用softmax函数和输出权重矩阵,得到输出y:
其中,W O为输出权重矩阵。每层自注意力模块会保存尺寸为[s, d]的键矩阵和值矩阵作为键值对缓存,用于后续的解码步骤。每层保存的键值对缓存数据总量为2×L×s×d。全连接模块的作用是对自注意力模块的输出进行进一步的线性变换和非线性激活,从而增强模型的表达能力和拟合复杂关系的能力。
在单步解码阶段,使用预测得到下一个词元作为下一步推理的输入词元。模型的每一层再次执行自注意力操作,但这次输入词元x 1的长度为1,隐空间尺寸为[1, d]。第一步单词元推理的计算如下:
保存新的键值对缓存,尺寸为[s+1, d]。总键值对缓存的数据量为2×L×(s+1)×d。每一步推理后,键值对缓存都会增加一个词元的长度。即,在第i步单步解码后,键值对的尺寸为[s+i, d]。
随着推理的进行,键值对缓存的长度逐步增加。当长度达到M时,即键值对缓存尺寸为[M, d],停止增加。此时进入快速权重训练阶段,从最近的M个输入词元中选出m个词元,并使用这m个词元对模型的关键模型权重参数(如注意力模块中的查询权重矩阵W Q、键权重矩阵W K和值权重矩阵W V)进行微调训练。通过训练阶段性更新模型权重以保存历史词元的关联信息。这m个词元的选择策略包括但不限于通过模型自行筛选(例如根据预测概率最高的词元),也可以随机选取。在快速权重训练过程中,可将之前的历史(k-1)×M个输入词元也加入到最近M个输入词元的训练数据当中,这里的k为键值对缓存长度达到M的次数。通过这种方式,模型能够更好地记住更长时间范围内的历史信息。
在模型的键权重参数更新后,被选取的m个词元作为新的上下文输入,重启所述上下文解码和单步解码的步骤。当键值对缓存再次达到长度M时,再次进行所述快速权重训练和重启。重启后的键值对缓存长度为m+n,其中n是自重启后已经推理的词元数。当总的推理次数达到总预测词元数N(此时键值对缓存长度满足m+n≤M≪N,其中k×M+n=N),整体推理结束。
下面对本发明提供的模型推理装置进行描述,下文描述的模型推理装置与上文描述的模型推理方法可相互对应参照。
图4是本发明提供的模型推理装置的结构示意图,如图4所示,该装置包括:
训练单元410,用于在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练;
压缩单元420,用于对所述历史词元序列进行压缩,得到替换词元序列;
推理单元430,用于基于所述替换词元序列,应用训练后的模型进行推理。
本发明实施例提供的装置,通过在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练,从而提高了模型处理长序列任务的效率和准确性。同时,控制键值对缓存的最大长度以及压缩历史词元序列,能够降低计算和存储资源消耗。基于这些优化,模型能够在处理复杂和长序列任务时,保持高效的推理速度和输出质量。
基于上述任一实施例,训练单元具体用于:
基于所述模型推理产生的历史词元序列,对所述模型中的快速权重进行训练;
所述快速权重为所述模型中与所述键值对缓存相关的权重。
基于上述任一实施例,训练单元具体用于:
所述快速权重包括所述模型的注意力模块中的键权重和值权重,所述键权重用于确定键矩阵,所述值权重用于确定值矩阵。
基于上述任一实施例,训练单元包括:
词元选取子单元,用于从所述模型推理产生的历史词元序列中,选取最后推理产生的所述长度阈值个历史词元,作为第一样本词元序列;
权重训练子单元,用于基于所述第一样本词元序列,对所述模型中的快速权重进行训练。
基于上述任一实施例,词元选取子单元还用于:
从所述历史词元序列中,选取除所述第一样本词元序列之外的第二样本词元序列;
权重训练子单元具体用于:
基于所述第一样本词元序列和所述第二样本词元序列,对所述模型中的快速权重进行训练。
基于上述任一实施例,压缩单元具体用于:
基于所述历史词元序列中各历史词元的重要度,从所述历史词元序列中选取历史词元以构建替换词元序列。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行模型推理方法,该方法包括:
在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练;
对所述历史词元序列进行压缩,得到替换词元序列;
基于所述替换词元序列,应用训练后的模型进行推理。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的模型推理方法,该方法包括:
在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练;
对所述历史词元序列进行压缩,得到替换词元序列;
基于所述替换词元序列,应用训练后的模型进行推理。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的模型推理方法,该方法包括:
在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练;
对所述历史词元序列进行压缩,得到替换词元序列;
基于所述替换词元序列,应用训练后的模型进行推理。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种模型推理方法,其特征在于,包括:
在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练;
对所述历史词元序列进行压缩,得到替换词元序列;
基于所述替换词元序列,应用训练后的模型进行推理。
2.根据权利要求1所述的模型推理方法,其特征在于,所述基于所述模型推理产生的历史词元序列,对所述模型进行训练,包括:
基于所述模型推理产生的历史词元序列,对所述模型中的快速权重进行训练;所述快速权重为所述模型中与所述键值对缓存相关的权重。
3.根据权利要求2所述的模型推理方法,其特征在于,所述快速权重包括所述模型的注意力模块中的键权重和值权重,所述键权重用于确定键矩阵,所述值权重用于确定值矩阵。
4.根据权利要求2所述的模型推理方法,其特征在于,所述基于所述模型推理产生的历史词元序列,对所述模型中的快速权重进行训练,包括:
从所述模型推理产生的历史词元序列中,选取最后推理产生的所述长度阈值个历史词元,作为第一样本词元序列;
基于所述第一样本词元序列,对所述模型中的快速权重进行训练。
5.根据权利要求4所述的模型推理方法,其特征在于,所述基于所述第一样本词元序列,对所述模型中的快速权重进行训练,包括:
从所述历史词元序列中,选取除所述第一样本词元序列之外的第二样本词元序列;
基于所述第一样本词元序列和所述第二样本词元序列,对所述模型中的快速权重进行训练。
6.根据权利要求1至5中任一项所述的模型推理方法,其特征在于,所述对所述历史词元序列进行压缩,得到替换词元序列,包括:
基于所述历史词元序列中各历史词元的重要度,从所述历史词元序列中选取历史词元以构建替换词元序列。
7.一种模型推理装置,其特征在于,包括:
训练单元,用于在模型推理所用的键值对缓存的长度达到长度阈值的情况下,基于所述模型推理产生的历史词元序列,对所述模型进行训练;
压缩单元,用于对所述历史词元序列进行压缩,得到替换词元序列;
推理单元,用于基于所述替换词元序列,应用训练后的模型进行推理。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述模型推理方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述模型推理方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述模型推理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411063960.2A CN118886508A (zh) | 2024-08-02 | 2024-08-02 | 一种模型推理方法、装置、设备及介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411063960.2A CN118886508A (zh) | 2024-08-02 | 2024-08-02 | 一种模型推理方法、装置、设备及介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118886508A true CN118886508A (zh) | 2024-11-01 |
Family
ID=93235905
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411063960.2A Pending CN118886508A (zh) | 2024-08-02 | 2024-08-02 | 一种模型推理方法、装置、设备及介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118886508A (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120371221A (zh) * | 2025-06-24 | 2025-07-25 | 苏州元脑智能科技有限公司 | 存储优化的方法及装置、电子设备和存储介质 |
| CN120430418A (zh) * | 2025-07-01 | 2025-08-05 | 科大讯飞股份有限公司 | 大模型推理方法、装置、相关设备及计算机程序产品 |
| CN120725163A (zh) * | 2025-08-29 | 2025-09-30 | 深圳元始智能有限公司 | 基于rwkv架构的端侧模型推理方法、装置、电子设备及存储介质 |
-
2024
- 2024-08-02 CN CN202411063960.2A patent/CN118886508A/zh active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120371221A (zh) * | 2025-06-24 | 2025-07-25 | 苏州元脑智能科技有限公司 | 存储优化的方法及装置、电子设备和存储介质 |
| CN120430418A (zh) * | 2025-07-01 | 2025-08-05 | 科大讯飞股份有限公司 | 大模型推理方法、装置、相关设备及计算机程序产品 |
| CN120725163A (zh) * | 2025-08-29 | 2025-09-30 | 深圳元始智能有限公司 | 基于rwkv架构的端侧模型推理方法、装置、电子设备及存储介质 |
| CN120725163B (zh) * | 2025-08-29 | 2025-11-11 | 深圳元始智能有限公司 | 基于rwkv架构的端侧模型推理方法、装置、电子设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN118886508A (zh) | 一种模型推理方法、装置、设备及介质 | |
| CN114467096B (zh) | 增强基于注意力的神经网络以选择性地关注过去的输入 | |
| CN112687266B (zh) | 语音识别方法、装置、计算机设备和存储介质 | |
| CN112633516B (zh) | 性能预测和机器学习编译优化方法及装置 | |
| CN119721261B (zh) | 用于用户请求的大模型推理方法及服务器 | |
| CN120276667B (zh) | 键值缓存数据的调度方法、大模型推理方法及装置 | |
| CN111898752B (zh) | 执行lstm神经网络运算的装置和方法 | |
| CN117933270A (zh) | 大语言模型长文本输出方法、装置、设备及存储介质 | |
| CN118839774A (zh) | 模型推理方法、装置、电子设备及存储介质 | |
| CN118334323B (zh) | 一种基于紫外图像的绝缘子检测方法及系统 | |
| KR20230148252A (ko) | 강화 학습을 통한 전송률 제어 신경망 트레이닝 | |
| CN118886511A (zh) | 基于预测解码的大语言模型的推理加速方法及装置 | |
| CN120598057A (zh) | 基于键值缓存压缩的问答推理方法、装置、设备及介质 | |
| CN119905087B (zh) | 一种语音模型压缩方法、电子设备及存储介质 | |
| CN119578558A (zh) | 一种对话模型训练方法、装置、设备及介质 | |
| CN115374926A (zh) | 神经网络的剪枝方法、装置、电子设备及存储介质 | |
| CN119005258A (zh) | 基于异常值的大模型训练后权重激活量化方法 | |
| CN112183744A (zh) | 一种神经网络剪枝方法及装置 | |
| KR102815186B1 (ko) | 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치 | |
| CN118607637A (zh) | 一种大模型推理加速方法、装置及电子设备 | |
| CN118586459A (zh) | 一种基于任务匹配相似度的预训练模型的压缩方法 | |
| CN118297060A (zh) | 模型解码方法、装置、电子设备、存储介质和程序产品 | |
| CN115379293B (zh) | 智能电视点播用户时序行为预测方法、设备和计算机可读存储介质 | |
| CN116436067A (zh) | 动态图神经网络节点聚合优化方法、系统、设备及介质 | |
| TWI881897B (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 |