CN117709466A - 基于大语言模型的推理方法、装置、电子设备及存储介质 - Google Patents
基于大语言模型的推理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117709466A CN117709466A CN202311774893.0A CN202311774893A CN117709466A CN 117709466 A CN117709466 A CN 117709466A CN 202311774893 A CN202311774893 A CN 202311774893A CN 117709466 A CN117709466 A CN 117709466A
- Authority
- CN
- China
- Prior art keywords
- language model
- level
- reasoning
- large language
- query request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013138 pruning Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000000977 initiatory effect Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 102100033814 Alanine aminotransferase 2 Human genes 0.000 description 2
- 101710096000 Alanine aminotransferase 2 Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种基于大语言模型的推理方法、装置、电子设备及存储介质,涉及人工智能技术领域。该方法包括:获取查询请求;获取多层级大语言模型,各层级大语言模型的复杂度小于相应的下一层级大语言模型的复杂度;从多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对查询请求进行推理,直至得到满足预设条件的目标推理结果。此种推理方式具有更高的灵活性,能够使复杂的问题自动调整至由复杂度更高的高层级大语言模型进行推理,以保证得到具有较高精度的目标推理结果,简单的查询请求也会在复杂度较低的低层级大语言模型完成推理,以使推理的时延低、效率高、实时性好。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及一种基于大语言模型的推理方法、装置、电子设备及存储介质。
背景技术
在人工智能技术领域中,大语言模型(Large Language Model,LLM)是一类人工智能模型,LLM的特点是规模及参数数量庞大,这也使得LLM可以执行广泛的任务,包括文本总结、翻译、情感分析等推理任务。
相关技术中,利用一个LLM对不同的查询请求进行推理。
然而,不同的查询请求复杂程度不同,利用一个LLM对不同的查询请求进行推理的方式灵活性差,若LLM复杂度低,则在推理复杂的查询请求时会导致推理结果的精度差。若LLM复杂度高,则在推理简单的查询请求时会占用较多资源,并且推理延迟高,推理的实时性差。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种基于大语言模型的推理方法、装置、电子设备及存储介质,至少在一定程度上克服了相关技术中推理方式灵活性差的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种基于大语言模型的推理方法,包括:获取查询请求;获取多层级大语言模型,各层级大语言模型的复杂度小于相应的下一层级大语言模型的复杂度;从所述多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对所述查询请求进行推理,直至得到满足预设条件的目标推理结果。
在本公开的一个实施例中,所述从所述多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对所述查询请求进行推理,直至得到满足预设条件的目标推理结果,包括:将第一层级大语言模型作为当前层级大语言模型,进行如下处理:根据当前层级大语言模型对所述查询请求进行推理,得到推理结果;确定所述推理结果是否满足所述预设条件;在所述推理结果不满足所述预设条件时,将所述当前层级大语言模型在所述多层级大语言模型中的下一层级大语言模型更新为当前层级大于语言模型,并基于更新后的当前层级大语言模型重新对所述查询请求进行推理,直至得到所述目标推理结果;在所述推理结果满足所述预设条件时,将所述推理结果作为所述目标推理结果。
在本公开的一个实施例中,所述基于更新后的当前层级大语言模型重新对所述查询请求进行推理,包括:获取所述查询请求中各个关键词的重要性权重;根据所述重要性权重,对所述查询请求中的关键词进行修剪;将修剪后的查询请求输入更新后的当前层级大语言模型,通过更新后的当前层级大语言模型对修剪后的查询请求进行推理。
在本公开的一个实施例中,所述获取所述查询请求中各个关键词的重要性权重,包括:获取更新前的当前层级大语言模型对所述查询请求进行推理的记录;从所述记录中,获取各个关键词在更新前的当前层级大语言模型中的注意力层和/或注意力头中的权重,得到每一关键词的至少一个权重;针对每一关键词,计算关键词的至少一个权重的平均值,得到每一关键词的重要性权重。
在本公开的一个实施例中,所述根据所述重要性权重,对所述查询请求中的关键词进行修剪,包括:确定每一关键词的重要性权重与预设值的大小关系;剪除所述查询请求中大小关系为重要性权重小于所述预设值的关键词。
在本公开的一个实施例中,所述获取多层级大语言模型,包括:获取不同的多个大语言模型及每一大语言模型的元数据;根据每一大语言模型的元数据,计算各个大语言模型的复杂度;根据各个大语言模型的复杂度,确定每一大语言模型的层级,得到所述多层级大语言模型。
在本公开的一个实施例中,所述根据每一大语言模型的元数据,计算各个大语言模型的复杂度,包括:获取每一大语言模型的元数据中各个参数的参数值和参数权重;对于每一大语言模型的元数据,计算元数据中各个参数的参数值与参数权重的乘积之和,得到各个大语言模型的复杂度。
根据本公开的另一个方面,提供一种基于大语言模型的推理装置,包括:第一获取模块,用于获取查询请求;第二获取模块,用于获取多层级大语言模型,各层级大语言模型的复杂度小于相应的下一层级大语言模型的复杂度;推理模块,用于从所述多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对所述查询请求进行推理,直至得到满足预设条件的目标推理结果。
在本公开的一个实施例中,所述推理模块,用于将第一层级大语言模型作为当前层级大语言模型,进行如下处理:根据当前层级大语言模型对所述查询请求进行推理,得到推理结果;确定所述推理结果是否满足所述预设条件;在所述推理结果不满足所述预设条件时,将所述当前层级大语言模型在所述多层级大语言模型中的下一层级大语言模型更新为当前层级大于语言模型,并基于更新后的当前层级大语言模型重新对所述查询请求进行推理,直至得到所述目标推理结果;在所述推理结果满足所述预设条件时,将所述推理结果作为所述目标推理结果。
在本公开的一个实施例中,所述推理模块,用于获取所述查询请求中各个关键词的重要性权重;根据所述重要性权重,对所述查询请求中的关键词进行修剪;将修剪后的查询请求输入更新后的当前层级大语言模型,通过更新后的当前层级大语言模型对修剪后的查询请求进行推理。
在本公开的一个实施例中,所述推理模块,用于获取更新前的当前层级大语言模型对所述查询请求进行推理的记录;从所述记录中,获取各个关键词在更新前的当前层级大语言模型中的注意力层和/或注意力头中的权重,得到每一关键词的至少一个权重;针对每一关键词,计算关键词的至少一个权重的平均值,得到每一关键词的重要性权重。
在本公开的一个实施例中,所述推理模块,用于确定每一关键词的重要性权重与预设值的大小关系;剪除所述查询请求中大小关系为重要性权重小于所述预设值的关键词。
在本公开的一个实施例中,所述第二获取模块,用于获取不同的多个大语言模型及每一大语言模型的元数据;根据每一大语言模型的元数据,计算各个大语言模型的复杂度;根据各个大语言模型的复杂度,确定每一大语言模型的层级,得到所述多层级大语言模型。
在本公开的一个实施例中,所述第二获取模块,用于获取每一大语言模型的元数据中各个参数的参数值和参数权重;对于每一大语言模型的元数据,计算元数据中各个参数的参数值与参数权重的乘积之和,得到各个大语言模型的复杂度。
根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任一所述的基于大语言模型的推理方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的基于大语言模型的推理方法。
根据本公开的又一个方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令由处理器加载并执行,以使计算机实现上述任一所述的基于大语言模型的推理方法。
本公开的实施例所提供的技术方案至少存在以下有益效果:
本公开的实施例所提供的技术方案中,多层级LLM的复杂度随层级递增,通过从多层级LLM的第一层级LLM开始,逐个根据各层级LLM对查询请求进行推理,直至得到满足预设条件的目标推理结果的方式,相较于应用一个LLM对不同复杂程度的查询请求进行推理的方式,具有更高的灵活性,能够使复杂的问题自动调整至由复杂度更高的高层级LLM进行推理,从而保证得到具有较高精度的目标推理结果。而且,简单的查询请求也会在复杂度较低的低层级LLM完成推理,避免了应用较高复杂度的LLM处理简单的查询请求而使推理的延迟高,从而使得推理具有更高的效率及更好的实时性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开一个实施例中基于大语言模型的推理系统示意图;
图2示出本公开一个实施例中基于大语言模型的推理方法流程图;
图3示出本公开一个实施例中的多层级LLM的示意图;
图4示出本公开一个实施例中基于更新后的当前层级大语言模型重新对查询请求进行推理的流程图;
图5示出本公开一个实施例中通过多层级LLM对查询请求进行推理的过程的示意图;
图6示出本公开一个实施例中基于大语言模型的推理装置示意图;
图7示出本公开一个实施例中电子设备的结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
随着人工智能的发展,在认识到LLM的庞大参数量所带来的益处后,语言模型的发展趋势逐渐演变为构建规模越来越庞大的模型,规模庞大的语言模型在自然语言处理任务中展现出了卓越的性能。例如,在文本生成、文本分类、机器翻译等多个类型的自然语言处理任务上,LLM相较于传统的参数量小的语言模型具有更优异的推理能力。
相关技术中,对于不同复杂程的查询请求,均通过一个LLM进行推理来得到推理结果。对于复杂的查询请求,若使用的LLM复杂度较低,则会导致推理结果的精度不足。对于简单查询请求,若使用的LLM具有较高的复杂度,则会导致推理具有较高的时延。
也就是说,相关技术中,对于不同复杂程度的查询请求,皆应用一个LLM来处理的方式,缺乏灵活性,难以适应不同复杂程度的查询场景。
在实际应用中,对于简单查询请求,无需使用复杂度高的LLM来处理,较低复杂度的LLM即可对简单的查询请求进行推理,从而可以在具有较低推理时延的情况下,得到具有较高准确率的推理结果。而对于复杂的查询请求,通常应用具有较高复杂度的LLM进行推理,以便于得到具有较高精度的推理结果。
图1示出本公开实施例中一种基于大语言模型的推理系统的示意图,该系统可以应用本公开各种实施例中的基于大语言模型的推理方法或基于大语言模型的推理装置。
如图1所示,该基于大语言模型的推理系统可以包括:推理设备101、查询发起设备102和模型存储设备103。
其中,模型存储设备103中存储有多个不同的LLM,不同的两个LLM可以基于同一个模型类型实现。例如,GPT-1(Generative Pre-Training Transforme-1,第一代生成式预训练变换)和GPT-2。不同的两个LLM也可以基于不同的模型类型实现,例如,GPT-1和BERT(Bidirectional Encoder Representation from Transformers,变压器的双向编码器表示)。
在一个实施例中,推理设备101可以通过网络从该模型存储设备103中获取一个或多个LLM,并将获取到的LLM进行离线存储。在另一个实施例中,推理设备101中还可以直接构建出一个或不同的多个LLM。
推理设备101可以根据LLM的复杂度,确定LLM的层级,进而得到多层级LLM。在一个实施例中,LLM的复杂度可以基于LLM的元数据中的每一项参数来确定,也可以基于LLM的元数据中的一项或多项参数确定。例如,可以仅根据LLM的参数数量来确定LLM的复杂度。再例如,可以根据LLM的参数数量和推理时延来确定LLM的复杂度。
在一个实施例中,推理设备101可以根据LLM的元数据确定LLM的复杂度。
推理设备101可以测试出LLM的元数据,该元数据可以包括:准确度、推理延迟、占用内存、LLM的参数数量中的一项或多项。其中,LLM的参数数量可以直接根据LLM确定。在另一个实施例中,模型存储设备103中存储有多个LLM及每一LLM的元数据,推理设备101还可以直接通过网络从模型存储设备103中获取LLM的元数据。
其中,准确度用于衡量LLM进行推理任务后得到的推理结果的准确程度。推理延迟用于衡量LLM处理推理任务时的速度,推理延迟越大,则代表LLM处理推理任务的速度越慢;推理延迟越小,则代表LLM处理推理任务的速度越快。占用内存用于表示运行LLM所需要使用的内存的大小。
在另一个实施例中,模型存储设备103中存储有多个LLM及LLM的复杂度,推理设备101可以通过网络从模型存储设备103中获取并存储LLM及LLM的复杂度。需要说明的是,若直接从模型存储设备103中获取到LLM的复杂度,则无需再从模型存储设备103中获取元数据。
推理设备101可以接收查询发起设备102的查询请求,并利用多层级LLM对查询请求进行推理,得到推理结果。
推理设备101、查询发起设备102和模型存储设备103之间通过网络实现通信连接,该网络可以是有线网络,也可以是无线网络。
可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(ExtensibleMarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
推理设备101、查询发起设备102和模型存储设备103皆可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机等。
该电子设备还可以是服务器,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云存储、以及大数据和人工智能平台等基础云计算服务的云服务器。
本领域技术人员可以知晓,图1中的查询发起设备102和模型存储设备103的数量仅仅是示意性的,根据实际需要,可以具有任意数目的查询发起设备102和模型存储设备103。本公开实施例对此不作限定。
在一个实施例中,查询发起设备102可以与推理设备101为同一个设备。推理设备101可以提供查询请求输入装置,通过该输入装置可以直接向推理设备101发起查询请求。
下面结合附图及实施例对本示例实施方式进行详细说明。
本公开实施例中提供了一种基于大语言模型的推理方法,该方法可以由任意具备计算处理能力的电子设备执行。例如,该设备可以是推理设备。
图2示出本公开一个实施例中的基于大语言模型的推理方法流程图,如图2所示,本公开实施例中提供的基于大语言模型的推理方法包括如下S201至S203。
S201,获取查询请求。
关于查询请求的具体内容包括哪些,本公开的实施例不做限制。查询请求可以是任意一种LLM能够处理的任务类型所对应的问题。关于LLM能够处理的任务类型包括哪些,本公开的实施例做限制,可根据具体的LLM确定。例如,任务类型包括数学计算,则查询请求可以是:请问1+1=?。再例如,任务类型包括文本翻译,则查询请求可以是:请将helloworld翻译成中文。再例如,任务类型包括文本生成,则查询请求可以是:A城市有那些好玩的景点。
在一个实施例中,获取查询请求可以包括:通过网络接收请求发起设备发送的查询请求。
在另一个实施例中,推理设备配置有输入装置,通过该输入装置可以向推理设备输入查询请求,例如输入装置为文本输入装置,通过文本输入装置可以向推理设备中输入查询请求。其中,文本输入装置包括但不限于键盘、写字板、电子键盘等。再例如,输入装置可以为语音采集装置,通过语音采集装置可以实现语音的采集及转换为文本(将语音数据转为文本也可以由推理设备实现),从而实现通过语音向推理设备中输入查询请求。其中,语音输入装置可以为麦克风。也就是说,获取查询请求还可以包括:通过输入装置接收查询请求。
S202,获取多层级大语言模型,各层级大语言模型的复杂度小于相应的下一层级大语言模型的复杂度。
关于多层级大语言模型(多层级LLM)具体包括多少层级的LLM,本公开的实施例不做限制,可根据经验确定。例如,多层级LLM包括两个层级的LLM。再例如,多层级LLM包括三个层级的LLM,或四个层级的LLM,或五个层级的LLM等等。
多层级LLM中,不同层级上的LLM可以是同一个深度神经网络模型的不同版本,例如,GPT-1与GPT-2。不同层级上的LLM也可以是不同的深度神经网络模型,例如,GPT-1与BERT。
为便于理解:各层级大语言模型的复杂度小于相应的下一层级大语言模型的复杂度。下面将以多层级LLM包括三个层级的LLM来说明。多层级LLM包括:第一层级LLM、第二层级LLM和第三层级LLM。其中,第二层级LLM为第一层级LLM的下一层级LLM,第三层级LLM为第二层级LLM的下一层级LLM,则第二层级LLM的复杂度大于第一层级LLM的复杂度,第三层级LLM的复杂度大于第二层级LLM的复杂度。
在一个实施例中,获取多层级大语言模型可以包括:通过网络从存储该多层级大语言模型的设备中获取该多层级大语言模型。
在另一个实施例中,获取多层级大语言模型可以包括:获取不同的多个大语言模型及每一大语言模型的元数据;根据每一大语言模型的元数据,计算各个大语言模型的复杂度;根据各个大语言模型的复杂度,确定每一大语言模型的层级,得到多层级大语言模型。
对于不同的多个LLM,可以通过网络从存储各个LLM的存储设备中获取。对于每一LLM对应的元数据,若存储LLM的设备中还存储有LLM的元数据,则还可以通过网络从该设备中获取LLM的元数据。
在另一个实施例中,获取每一LLM的元数据的方式还可以包括:对LLM进行测试,从而得到LLM的元数据。
在一个实施例中,每一LLM的元数据可以包括:准确度、推理延迟、占用内存、LLM的参数数量中的一项或多项。需要说明的是,若LLM的元数据是通过测到得到,则LLM的参数数量可以直接根据LLM确定,而无需进行测试。
在一个实施例中,根据每一大语言模型的元数据,计算各个大语言模型的复杂度可以包括:获取每一大语言模型的元数据中各个参数的参数值和参数权重;对于每一大语言模型的元数据,计算元数据中各个参数的参数值与参数权重的乘积之和,得到各个大语言模型的复杂度。
其中,元数据中包括各个参数的参数值,获取每一大语言模型的元数据中各个参数的参数值,可以包括:直接从元数据中获取各个参数的参数值。
为便于理解:对于每一大语言模型的元数据,计算元数据中各个参数的参数值与参数权重的乘积之和,得到各个大语言模型的复杂度。下面将以两个例子进行说明。
以元数据包括推理延迟、LLM的参数数量为例,一个LLM的推理延迟的值为n1、参数数量的值为m1,推理延迟的权重为x1,参数数量的权重为x2,则该LLM的复杂度为n1×x1+m1×x2。
再以元数据仅包括LLM的参数数量为例,一个LLM的参数数量的值为m2,参数数量的权重为x2,则该LLM的复杂度为m2×x2。关于元数据中各项参数对应的权重具体为何值,本公开的实施例不做限制,可根据经验设置。
在另一个实施例中,计算LLM复杂度的方式可以是基于准确度、推理延迟、占用内存、LLM的参数数量中的任意一个或多个实现,所以在元数据包括多项参数时,也可以是只应用元数据中的用于计算LLM复杂度的参数来计算LLM的复杂度。例如,LLM的复杂度仅由LLM的参数数量确定,则在元数据包括:准确度、推理延迟、占用内存、LLM的参数数量时,也只应用LLM的参数数量来计算LLM的复杂度。
计算出不同的多个LLM各自的复杂度后,可以按照复杂度的大小顺序,确定每一LLM的层级。其中,在多个LLM中复杂度最低的LLM的层级为第一层级,即复杂度最低的LLM为第一层级LLM,复杂度在多个LLM的复杂度中倒数第二的LLM为第二层级LLM。
在一个实施例中,根据各个大语言模型的复杂度,确定每一大语言模型的层级,得到多层级大语言模型,可以包括:对各个LLM的复杂度进行从小到大的排序,按照排序结果中复杂度的排名作为相应LLM的层级数,得到多层级LLM。
例如,一个复杂度在排序结果位于第一位,则表示该复杂度最小,该复杂度对应的LLM的层级数为第一层级。再例如,一个复杂度在排序结果位于第三位,则该复杂度对应的LLM的层级数为第三层级。
需要说明的是,上述通过对复杂度进行从小到大的排序方式仅仅是示例性地,还可以是通过从大到小的方式进行排序,相应地,LLM的层级可以是复杂度在排序结果中倒序的位次。例如,在排序结果中位于最后一位的复杂度在倒序中处于第一位,则该复杂度对应的LLM的层级为第一层级。
在另一个实施例中,推理设备中已经存储有该多层级LLM,则获取该多层级LLM的方式可以是直接从存储器中调用该多层级LLM。
S203,从多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对查询请求进行推理,直至得到满足预设条件的目标推理结果。
在一个实施例中,多层级LLM可以如图3所示,图3中多层级LLM中LLM的数量为N,也就是说,多层级LLM的层级数量为N,N为大于1的整数。下面将结合图3中的多层级LLM,来说明多层级LLM如何对查询请求进行推理。
查询请求输入到多层级LLM后,由第一层级LLM对查询请求进行推理,得到推理结果;再判断该推理结果是否满足预设条件;该推理结果满足预设条件,则将该推理结果作为目标推理结果输出;若该推理结果不满足预设条件,则将该查询请求输入到第二层级LLM,由第二层级LLM对该查询请求进行推理,并判断第二层级LLM得到的推理结果是否符合预设条件,若符合,则作为目标推理结果输出,若不符合,则继续向第三层LLM输入该查询请求,以此类推,直至得到符合预设要求的目标推理结果。
在一个实施例中,若直到第N层级LLM对查询请求进行推理得到的推理结果仍然不能满足预设条件,则将第N层级LLM得到的推理结果作为目标结果输出,或者,直接反馈推理失败。
在一个实施例中,从多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对查询请求进行推理,直至得到满足预设条件的目标推理结果,可以包括:将第一层级大语言模型作为当前层级大语言模型,进行如下处理:根据当前层级大语言模型对查询请求进行推理,得到推理结果;确定推理结果是否满足预设条件;在推理结果不满足预设条件时,将当前层级大语言模型在多层级大语言模型中的下一层级大语言模型更新为当前层级大于语言模型,并基于更新后的当前层级大语言模型重新对查询请求进行推理,直至得到目标推理结果;在推理结果满足预设条件时,将推理结果作为目标推理结果。
关于预设条件具体为何种条件,本公开的实施例不做限制,能够使得复杂度越高的LLM得到的推理结果越容易满足的条件均可作为预设条件应用于此。在一个实施例中,预设条件可以是推理结果的置信度大于置信度阈值。在另一个实施例中,预设条件可是推理结果的精度大于精度阈值。在再一个实施例中,预设条件可以是推理结果的精度大于精度阈值,且推理结果的置信度大于置信度阈值。
本公开的实施例所提供的技术方案中,多层级LLM的复杂度随层级递增,通过从多层级LLM的第一层级LLM开始,逐个根据各层级LLM对查询请求进行推理,直至得到满足预设条件的目标推理结果的方式,相较于应用一个LLM对不同复杂程度的查询请求进行推理的方式,具有更高的灵活性,能够使复杂的问题自动调整至由复杂度更高的高层级LLM进行推理,从而保证得到具有较高精度的目标推理结果。而且,简单的查询请求也会在复杂度较低的低层级LLM完成推理,避免了应用较高复杂度的LLM处理简单的查询请求而使推理的延迟高,从而使得推理具有更高的效率及更好的实时性。
在当前层级LLM对查询请求进行推理得到的推理结果不符合预设条件的情况下,需要将当前层级LLM的下一层级LLM更新为新的当前层级LLM,并利更新后的当前层级LLM重新进行推理。
需要解释说明的是,若当前层级LLM为第一层级LLM,则更新后的当前层级LLM为第二层级LLM,第一层级LLM则成为更新前的当前层级LLM。
在一个实施例中,基于更新后的当前层级大语言模型重新对查询请求进行推理,可以包括如下S401至S403。
S401,获取查询请求中各个关键词的重要性权重。
其中,关键词是查询请求中携带有具体信息的词。例如,一个查询请求为:A城市的景点有哪些。则该查询请求中包括的关键词可以包括:A城市、景点。而该查询请求中“的”、“有哪些”不包括具体的信息,不属于关键词。
需要说明的是,一个查询请求中的关键词具体如何划分,还需要根据具体的分析模型确定,对于同一个词,在不同的分析模型下可能被划分为属于关键词,也可能被划分为不是关键词。例如,查询请求为:A城市中好玩的景点有哪些,其中一个词为“好玩的”,在不同的分析模型下,该“好玩的”存在被划分为关键词的可能,也存在被划分为不是关键词的可能。
重要性权重用于在对关键词进行修剪时衡量关键词的重要性,重要性权重越高的关键词在对查询请求进修剪时越不容易被剪除。
关于如何获取查询请求中各个关键词从重要性权重,本公开的实施例不做限制。关键词所能包含的信息量通常主要受到关键词自身内容的影响,例如,A城市这一关键词包含的信息中指明了城市名称,根据该城市名称可以相关到与该城市相关的多种内容。再例如,问题这一关键词,所包括的信息仅用于表示查询请求的是一个问题。可见,不同的关键词所包含的信息量存在差异,因此,可以给不同的关键词标定不同的信息值。
在一个实施例中,推理设备中存储有关键词与信息值的对应关系,获取查询请求中各个关键词的重要性权重,可以包括:根据关键词与信息值的对应关系,获取查询请求中各个关键词的信息值,将每一关键词的信息值作为关键词的重要性权重。
在另一个实施例中,推理设备中存储有关键词与信息值的对应关系,获取查询请求中各个关键词的重要性权重,可以包括:根据关键词与信息值的对应关系,获取查询请求中各个关键词的信息值;计算每一关键词的信息值与参考值的比值,将该比值作为查询的重要性权重。
关于关键词与信息值的对应关系具体采用何种形式实现,本公开的实施例不做限制。例如,该对应关系可以是基于表格的形式实现。再例如,该对应关系可以是基于模型的形式实现。再例如,该对应关系可以是基于函数的形式实现。
关于参考值具体为何值,本公开的实施例不做限制,参考值可以是任意一个正实数。在一个实施例中,参考值是查询请求中各个关键词的信息值的加和值。
此外,查询请求中各个关键词包含的信息量的多少,还可以通过关键词在更新前的当前层级LLM中的权重来表示。LLM对查询请求进行推理的过程中,会在应用注意力机制的网络层和/或主力头中给各个关键词配置相应的权重,该权重能够体现出关键词在推理任务中的重要性程度,该重要性程度通常用于衡量关键词所包含信息的信息量及重要性程度。推理设备在利用LLM对查询请求进行推理过程中,会将LLM在推理过程中产生的中间参数进行记录,该中间参数包括LLM中应用注意力机制的网络层和/或主力头中给各个关键词配置的权重。
需要说明的是,多头注意力机制中会对输入数据(关键词)进行多次不同的线性变换,并对每个变换后的数据进行注意力计算,从而配置权重,也就是说,若LLM中应用有多头注意力机制,则LLM具有多个注意力头,关键词在注意力头中的权重是对关键词进行一次线性变换后分配的权重。
在另一个实施例中,获取查询请求中各个关键词的重要性权重,可以包括:获取更新前的当前层级大语言模型对查询请求进行推理的记录;从记录中,获取各个关键词在更新前的当前层级大语言模型中的注意力层和/或注意力头中的权重,得到每一关键词的至少一个权重;针对每一关键词,计算关键词的至少一个权重的平均值,得到每一关键词的重要性权重。
其中,更新前的当前层级大语言模型对查询请求进行推理的记录存储在推理设备中,所以可以直接从该记录在推理设备中的存储位置处获取该记录。
在更新前的当前层级LLM包括至少一个注意力层和至少一个注意力头时,则获取到的至少一个权重中包括了关键词在每一个注意力层及每一个注意力头中的权重。在更新前的当前层级LLM包括至少一个注意力层,而不具有注意力头时,则获取到的至少一个权重中包括了关键词在每一个注意力层中的权重。在更新前的当前层级LLM包括至少一个注意力头,而不具有注意力层时,则获取到的至少一个权重中包括了关键词在每一个注意力头中的权重。
在再一个实施例中,获取查询请求中各个关键词的重要性权重,可以包括:获取更新前的当前层级大语言模型对查询请求进行推理的记录;从记录中,获取各个关键词在更新前的当前层级大语言模型中的目标注意力层和/或目标注意力头中的权重,得到每一关键词的至少一个权重;针对每一关键词,计算关键词的至少一个权重的平均值,得到每一关键词的重要性权重。
关于目标注意力层和/或目标注意力头是更新前的当前层级LLM中的哪个/哪些应用主力机制的注意力层和/或注意力头,本公开的实施例不做限制,可根据经验确定。
例如,目标注意力层和/目标注意力头,可以是LLM的网络层结构中最后一个应用注意力机制的注意力层或注意力头。再例如,目标注意力层和/目标注意力头,还可以是LLM的网络层结构中第一个应用注意力机制的注意力层或注意力头。再例如,目标注意力层和/目标注意力头,还可以是LLM的网络层结构中的第一个注意力层和/或第一个注意力头。再例如,目标注意力层和/目标注意力头,还可以是LLM的网络层结构中的最后一个注意力层和/或最后一个注意力头。
关键词的重要性权重可以量化关键词的重要性、包含的信息量,利用重要性权重可以更简单、快速识别出查询请求中哪些关键词更需要保留。若重要性权重基于更新前的当前层级LLM中的注意力层和/或注意力头中关键词的权重确定时,则重要性权重还能够体现出该关键词在查询请求中相对于其他关键词的重要性,从而根据该重要性权重可以更好地辅助修剪查询请求中的关键词。
S402,根据重要性权重,对查询请求中的关键词进行修剪。
在一个实施例中,根据重要性权重,对查询请求中的关键词进行修剪,可以包括:确定每一关键词的重要性权重与预设值的大小关系;剪除查询请求中大小关系为重要性权重小于预设值的关键词。
例如,一个关键词的重要性权重为0.6,预设值为0.65,则该查询值的重要性权重小于预设值,则该关键词是查询请求的各个关键词中大小关系为重要性权重小于预设值的关键词。
关于预设值具体为何值,本公开的实施例不做限制,可根据重要性权重的获取方式确定。例如,关键词的重要性权重是关键词的信息值时,则需要根据信息值的数值量级来设置预设值。再例如,关键词的重要性权重是关键词的信息值与参考值的比值时,则需要根据该比值的数值量级来设置预设值,以参考值为各个关键词的信息值之和为例,则该比值的取值范围为大于0且小于1,相应地,预设值也应在0-1之间进行取值。再例如,关键词的重要性权重是至少一个权重的平均值时,则需要根据该平均值的数值量级来设置预设值。
在一个实施例中,查询请求中各个关键词的重要性权重与预设值的比较可以通过如下公式1和公式2进行。
其中,为各个关键词的重要性权重组成的1*n的向量,n为查询请求中关键词的数量;μ1为查询请求中第一个关键词的重要性权重;μ2为查询请求中第二个关键词的重要性权重;μn为查询请求中第n个关键词的重要性权重;v为预设值;compare(,)函数用于将向量中的每一参数与v进行比较,参数大于v则输出第一值,参数不大于v则输出第二值,第一值和第二值不同,且第一值和第二值皆可以是任意一个值,例如,第一值为1且第二值为0,或者第一值为1且第二值为-1;修剪向量也是一个1*n的向量,该修剪向量中的参数为第一值则表示保留相应的关键词,参数为第二值,则需要在查询请求中剪除相应的关键词。
该修剪向量能够表示出查询请求中各个关键词的重要性权重与预设值的大小关系,进而根据该修剪向量可以剪除查询请求中大小关系为重要性权重小于预设值的关键词。
通过对关键词进行修剪,可以去除关键词中信息量少,在推理过程中作用较小的关键词,从而加快更新后的当前层级LLM的推理速度。若修剪时利用的重要性权重是基于关键词在更新前的当前层级LLM的注意力层和/或注意力头中的权重确定时,则该修剪过程利用到了更新前的当前等级LLM对查询请求的推理过程,从而使得修剪过程中不仅考虑了关键词的信息量,还考虑了关键词在查询请求中的重要性,从而可以使得修剪后的查询请求更加适合用于进行推理任务。
在一个实施例中,在根据重要性权重,对查询请求中的关键词进行修剪之前,还可以包括:对所述查询请求进行预处理。该预处理的内容可以包括:对查询请求进行分词;或者,预处理的内容除了包括对查询请求进行分词外,还可以包括:去除标点符号、去除停用词、将大写字母转换为小写字母中的一个或多个。
其中,对查询请求进行分词是将一个完成的查询请求划分为多个词,该多个词中可以仅包括关键词,例如,当查询请求为:A城市景点,则分词结果为A城市、景点两个关键词。该多个词中也可以包括关键词及停用词,例如,当查询请求为:A城市有哪些景点,则分词后得到A城市、景点两个关键词,及“有哪些”这一停用词。其中,停用词是查询请求中不包括具体信息的词。
在一个实施例中,对查询请求进行分词可以通过任意一个分词模型来实现,例如,该分词模型可以是CRF(Conditional Random Field,条件随机场)。
在一个实施例中,推理设备中存储有停用词列表,根据该停用词列表可以确定出查询请求分词后得到的词中哪些词为停用词,之后,再将停用词去除。
S403,将修剪后的查询请求输入更新后的当前层级大语言模型,通过更新后的当前层级大语言模型对修剪后的查询请求进行推理。
利用修剪后的查询请求进行推理,可以避免更新后的当前层级LLM在推理时,可以减少不必要的计算和推理开销,加快推理速度,提高推理效率。本公开的实施例中利用更新后的当前层级LLM对修剪后的查询请求进行推理,与直接应用复杂度高的LLM来处理查询请求相比,可以在保证推理精度的情况下,更快地得到推理结果。
为便于理解本公开的实施例提供的技术方案,下面将结合图5,并以多层级LLM包括两个层级的LLM,及预设条件为推理结果的置信度大于置信度阈值为例来进行说明。图5中,在第一层级LLM 510与第二层级LLM 502之间还具有词修剪组件503,该词修剪组件用于对查询请求进行修剪。
推理设备获取到查询请求后,将查询请求输入到多层级LLM中,之后,由多层级LLM中的第一层级LLM 501对查询请求进行推理,得到推理结果,若推理结果的置信度大于置信度阈值,则认为推理结果的置信度高,直接将推理结果作为目标推理结果进行输出;若推理结果的置信度不大于置信度阈值,则认为推理结果的置信度低,则需要对查询请求进行修剪,并将修剪后的查询请求继续输入到第二层级LLM中,由第二层级LLM对修剪后的查询请求进行推理,得到推理结果,并将该推理结果作为目标推理结果输出。
需要说明的是,词修剪组件503中具体如何实现对查询请求的修剪,可以参见图4对应的实施例中的S401和S402,此处不在赘述。
还需说明的是,图5中是将第二层级LLM作为了多层级LLM中的最后一个层级的LLM,并在根据第二层级LLM得到推理结果后,直接将推理结果作为目标推理结果进行了输出。实际应用中,也可以先判断最后一个层级的LLM输出的推理结果的置信度是否大于置信度阈值,在推理结果的置信度大于置信度阈值的情况下再作为目标推理结果输出,在推理结果的置信度不大于置信度阈值的情况下直接输出推理失败。
基于同一发明构思,本公开实施例中还提供了一种基于大语言模型的推理装置,如下面的实施例所述。由于该装置实施例解决问题的原理与上述方法实施例相似,因此该装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。
图6示出本公开一个实施例中的基于大语言模型的推理装置示意图,如图6所示,该装置包括:第一获取模块601,用于获取查询请求;第二获取模块602,用于获取多层级大语言模型,各层级大语言模型的复杂度小于相应的下一层级大语言模型的复杂度;推理模块603,用于从多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对查询请求进行推理,直至得到满足预设条件的目标推理结果。
在本公开的一个实施例中,推理模块603,用于将第一层级大语言模型作为当前层级大语言模型,进行如下处理:根据当前层级大语言模型对查询请求进行推理,得到推理结果;确定推理结果是否满足预设条件;在推理结果不满足预设条件时,将当前层级大语言模型在多层级大语言模型中的下一层级大语言模型更新为当前层级大于语言模型,并基于更新后的当前层级大语言模型重新对查询请求进行推理,直至得到目标推理结果;在推理结果满足预设条件时,将推理结果作为目标推理结果。
在本公开的一个实施例中,推理模块603,用于获取查询请求中各个关键词的重要性权重;根据重要性权重,对查询请求中的关键词进行修剪;将修剪后的查询请求输入更新后的当前层级大语言模型,通过更新后的当前层级大语言模型对修剪后的查询请求进行推理。
在本公开的一个实施例中,推理模块603,用于获取更新前的当前层级大语言模型对查询请求进行推理的记录;从记录中,获取各个关键词在更新前的当前层级大语言模型中的注意力层和/或注意力头中的权重,得到每一关键词的至少一个权重;针对每一关键词,计算关键词的至少一个权重的平均值,得到每一关键词的重要性权重。
在本公开的一个实施例中,推理模块603,用于确定每一关键词的重要性权重与预设值的大小关系;剪除查询请求中大小关系为重要性权重小于预设值的关键词。
在本公开的一个实施例中,第二获取模块602,用于获取不同的多个大语言模型及每一大语言模型的元数据;根据每一大语言模型的元数据,计算各个大语言模型的复杂度;根据各个大语言模型的复杂度,确定每一大语言模型的层级,得到多层级大语言模型。
在本公开的一个实施例中,第二获取模块602,用于获取每一大语言模型的元数据中各个参数的参数值和参数权重;对于每一大语言模型的元数据,计算元数据中各个参数的参数值与参数权重的乘积之和,得到各个大语言模型的复杂度。
本公开的实施例所提供的技术方案中,多层级LLM的复杂度随层级递增,通过从多层级LLM的第一层级LLM开始,逐个根据各层级LLM对查询请求进行推理,直至得到满足预设条件的目标推理结果的方式,相较于应用一个LLM对不同复杂程度的查询请求进行推理的方式,具有更高的灵活性,能够使复杂的问题自动调整至由复杂度更高的高层级LLM进行推理,从而保证得到具有较高精度的目标推理结果。而且,简单的查询请求也会在复杂度较低的低层级LLM完成推理,避免了应用较高复杂度的LLM处理简单的查询请求而使推理的延迟高,从而使得推理具有更高的效率及更好的实时性。
另外,利用修剪后的查询请求进行推理,可以避免更新后的当前层级LLM在推理时,可以减少不必要的计算和推理开销,加快推理速度,提高推理效率。本公开的实施例中利用更新后的当前层级LLM对修剪后的查询请求进行推理,与直接应用复杂度高的LLM来处理查询请求相比,可以在保证推理精度的情况下,更快地得到推理结果。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本公开的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备740(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。其上存储有能够实现本公开上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。
本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本公开的示例性实施例中,还提供了一种计算机程序产品,计算机程序产品包括计算机程序或计算机指令,计算机程序或计算机指令由处理器加载并执行,以使计算机实现本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围由所附的权利要求指出。
Claims (10)
1.一种基于大语言模型的推理方法,其特征在于,包括:
获取查询请求;
获取多层级大语言模型,各层级大语言模型的复杂度小于相应的下一层级大语言模型的复杂度;
从所述多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对所述查询请求进行推理,直至得到满足预设条件的目标推理结果。
2.根据权利要求1所述的方法,其特征在于,所述从所述多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对所述查询请求进行推理,直至得到满足预设条件的目标推理结果,包括:
将第一层级大语言模型作为当前层级大语言模型,进行如下处理:
根据当前层级大语言模型对所述查询请求进行推理,得到推理结果;
确定所述推理结果是否满足所述预设条件;
在所述推理结果不满足所述预设条件时,将所述当前层级大语言模型在所述多层级大语言模型中的下一层级大语言模型更新为当前层级大于语言模型,并基于更新后的当前层级大语言模型重新对所述查询请求进行推理,直至得到所述目标推理结果;
在所述推理结果满足所述预设条件时,将所述推理结果作为所述目标推理结果。
3.根据权利要求2所述的方法,其特征在于,所述基于更新后的当前层级大语言模型重新对所述查询请求进行推理,包括:
获取所述查询请求中各个关键词的重要性权重;
根据所述重要性权重,对所述查询请求中的关键词进行修剪;
将修剪后的查询请求输入更新后的当前层级大语言模型,通过更新后的当前层级大语言模型对修剪后的查询请求进行推理。
4.根据权利要求3所述的方法,其特征在于,所述获取所述查询请求中各个关键词的重要性权重,包括:
获取更新前的当前层级大语言模型对所述查询请求进行推理的记录;
从所述记录中,获取各个关键词在更新前的当前层级大语言模型中的注意力层和/或注意力头中的权重,得到每一关键词的至少一个权重;
针对每一关键词,计算关键词的至少一个权重的平均值,得到每一关键词的重要性权重。
5.根据权利要求3所述的方法,其特征在于,所述根据所述重要性权重,对所述查询请求中的关键词进行修剪,包括:
确定每一关键词的重要性权重与预设值的大小关系;
剪除所述查询请求中大小关系为重要性权重小于所述预设值的关键词。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,所述获取多层级大语言模型,包括:
获取不同的多个大语言模型及每一大语言模型的元数据;
根据每一大语言模型的元数据,计算各个大语言模型的复杂度;
根据各个大语言模型的复杂度,确定每一大语言模型的层级,得到所述多层级大语言模型。
7.根据权利要求6所述的方法,其特征在于,所述根据每一大语言模型的元数据,计算各个大语言模型的复杂度,包括:
获取每一大语言模型的元数据中各个参数的参数值和参数权重;
对于每一大语言模型的元数据,计算元数据中各个参数的参数值与参数权重的乘积之和,得到各个大语言模型的复杂度。
8.一种基于大语言模型的推理装置,其特征在于,包括:
第一获取模块,用于获取查询请求;
第二获取模块,用于获取多层级大语言模型,各层级大语言模型的复杂度小于相应的下一层级大语言模型的复杂度;
推理模块,用于从所述多层级大语言模型中的第一层级大语言模型开始,逐个根据各层级大语言模型对所述查询请求进行推理,直至得到满足预设条件的目标推理结果。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7中任意一项所述的基于大语言模型的推理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任意一项所述的基于大语言模型的推理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311774893.0A CN117709466A (zh) | 2023-12-21 | 2023-12-21 | 基于大语言模型的推理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311774893.0A CN117709466A (zh) | 2023-12-21 | 2023-12-21 | 基于大语言模型的推理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117709466A true CN117709466A (zh) | 2024-03-15 |
Family
ID=90158675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311774893.0A Pending CN117709466A (zh) | 2023-12-21 | 2023-12-21 | 基于大语言模型的推理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117709466A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117992078A (zh) * | 2024-04-03 | 2024-05-07 | 山东浪潮科学研究院有限公司 | 一种基于TensorRT-LLM模型推理加速服务的自动化部署方法 |
-
2023
- 2023-12-21 CN CN202311774893.0A patent/CN117709466A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117992078A (zh) * | 2024-04-03 | 2024-05-07 | 山东浪潮科学研究院有限公司 | 一种基于TensorRT-LLM模型推理加速服务的自动化部署方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11455473B2 (en) | Vector representation based on context | |
US11551437B2 (en) | Collaborative information extraction | |
CN110442878A (zh) | 翻译方法、机器翻译模型的训练方法、装置及存储介质 | |
CN112445876B (zh) | 融合结构、属性和关系信息的实体对齐方法和系统 | |
CN114730383A (zh) | 使用循环神经网络融合多模态数据 | |
CN117709466A (zh) | 基于大语言模型的推理方法、装置、电子设备及存储介质 | |
US20230089268A1 (en) | Semantic understanding method, electronic device, and storage medium | |
CN111159220B (zh) | 用于输出结构化查询语句的方法和装置 | |
WO2019154411A1 (zh) | 词向量更新方法和装置 | |
CN113761163A (zh) | 基于代码结构语义信息的深度代码搜索方法、系统及装置 | |
JP2019169126A (ja) | 人工知能に基づく三元組チェック方法、装置及びコンピュータプログラム | |
CN110708285B (zh) | 流量监控方法、装置、介质及电子设备 | |
CN113434683B (zh) | 文本分类方法、装置、介质及电子设备 | |
US20210342380A1 (en) | Generative ontology learning and natural language processing with predictive language models | |
KR102555607B1 (ko) | 데이터 주석 방법, 장치, 기기, 저장매체 및 컴퓨터 프로그램 | |
US20230092274A1 (en) | Training example generation to create new intents for chatbots | |
WO2024036662A1 (zh) | 一种基于数据采样的并行图规则挖掘方法及装置 | |
CN114341795A (zh) | 用于系统设计的会话设计机器人 | |
CN116432611A (zh) | 文稿写作辅助方法、系统、终端及存储介质 | |
Chen | Higher mathematics teaching resource scheduling system based on cloud computing | |
CN111460224B (zh) | 评论数据的质量标注方法、装置、设备及存储介质 | |
CN112100360A (zh) | 一种基于向量检索的对话应答方法、装置和系统 | |
CN109858745A (zh) | 翻译平台匹配方法及装置 | |
CN110888944A (zh) | 基于多卷积窗尺寸注意力卷积神经网络实体关系抽取方法 | |
US20220092403A1 (en) | Dialog data processing |
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 |