技术领域
[0001] 本发明涉及人工智能技术领域,尤其涉及一种多模型集成方法及系统。
相关背景技术
[0002] 大模型部署是指将训练好的大型模型应用到实际生产环境中的过程。模型通常需要大量的存储和计算资源,因此在部署之前需要对模型进行压缩和优化。常用的技术包括参数剪枝、量化、低秩分解等,以减少模型的大小和计算量,同时保持模型的性能。为了进一步提高大模型的性能,可以采用硬件加速和优化技术。例如,使用图形处理器(GPU)或专用的神经网络处理器(如Google的TPU)来加速模型的计算速度。此外,对硬件和软件进行深度优化,如使用高效的矩阵运算库(如cuDNN)和模型推理引擎(如TensorRT),可以提高模型的运行效率。大模型的训练和推理往往需要巨大的计算能力,单个计算节点难以满足需求。因此,采用分布式计算技术可以将计算任务分布到多个计算节点上并行处理,提高计算效率和吞吐量。相关技术中的集成方法,通过固定逻辑将大模型拆分并集成至分布式网络节点中,分布的速度较慢。
具体实施方式
[0056] 下面结合附图,对本发明中的技术方案进行描述。
[0057] 在本发明实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。此外,在本发明实施例中,“和/或”所表达的含义可以是两者都有,或者可以是两者任选其一。
[0058] 本发明实施例中,“图像”,“图片”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“的(of)”,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
[0059] 本发明实施例中,有时候下标如W1可能会笔误为非下标的形式如W1,在不强调其区别时,其所要表达的含义是一致的。
[0060] 为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0061] 本发明实施例提供了一种多模型集成方法,该方法可以由多模型集成设备实现,该多模型集成设备可以是终端或服务器。如图1所示的多模型集成方法流程图,该方法的处理流程可以包括如下的步骤:
[0062] S101:获取初始大模型,对初始大模型进行拆分,获得多个子模型。
[0063] 一种可行的实施方式中,将大模型拆分成多个子模型后,可以将这些子模型分布式地部署在不同的计算节点上进行计算。这样可以充分利用分布式计算的优势,提高计算效率和并行性。
[0064] S102:获取分布式网络节点,其中,每一个分布式网络节点具有独立计算资源。
[0065] 一种可行的实施方式中,通过网络进行通信和协作。这种分布式计算模型可以提供高性能、高可扩展性和高可用性的计算能力。
[0066] S103:根据多个子模型以及分布式网络节点确定模型集的基本集成逻辑;其中,基本集成逻辑包括第一集成逻辑以及每一个第一集成逻辑对应的分布式网络节点;每一个第一集成逻辑对应一个或多个分布式网络节点。
[0067] 一种可行的实施方式中,基本集成逻辑是指将多个子模型通过网络节点进行集成的方法或规则。可以通过计算每一个基本集成逻辑中,每一个模型集与网络节点的契合度,然后获取契合度最高的集成逻辑为第一集成逻辑。
[0068] S104:基于第一集成逻辑确定目标集成逻辑。
[0069] 可选地,步骤S104可以进一步包括以下步骤S1041‑S1046:
[0070] S1041:基于基本集成逻辑,在邻域生成多个第一预集成逻辑。
[0071] S1042:对多个第一预集成逻辑进行染色体交叉处理,得到多个第二预集成逻辑。
[0072] S1043:对多个第一预集成逻辑的第三预集成逻辑以及多个第二预集成逻辑的第四预集成逻辑进行染色体交叉处理,得到多个第五预集成逻辑。
[0073] S1044:根据每一个第一预集成逻辑、第二预集成逻辑以及第五预集成逻辑中,每一个集成逻辑与网络节点的契合度,获取多个第一预集成逻辑、多个第二预集成逻辑以及多个第五预集成逻辑的候选目标集成逻辑。
[0074] S1045:对多个第一集成逻辑进行染色体交叉处理以获取多个第二集成逻辑;
[0075] S1046:确定第一集成逻辑中的第三集成逻辑,并对第三集成逻辑与第二集成逻辑进行染色体交叉处理,得到多个第四集成逻辑;
[0076] S104‑7:根据每一个第一集成逻辑,第二集成逻辑以及第四集成逻辑中,每一个集成逻辑与网络节点的契合度,获取目标集成逻辑。
[0077] 一种可行的实施方式中,将每个集成逻辑中的每个集成项进行染色体编码。染色体编码可以使用二进制、整数或其他适合的编码方式,以表示每个集成项的基因。确定进行染色体交叉的交叉点。交叉点可以是染色体中的一个位置或多个位置,用于切割和交换基因。对于多个第一集成逻辑,进行染色体交叉操作,生成多个第二集成逻辑。在交叉过程中,通过交换染色体的基因片段,产生新的染色体组合。
[0078] S105:基于目标集成逻辑将多个子模型集成至网络节点;
[0079] 可选地,步骤S105可以进一步包括以下步骤S1051‑S1052:
[0080] S1051:对多个候选目标集成逻辑与多个目标集成逻辑进行染色体交叉处理,得到多个实际集成逻辑;
[0081] S1052:根据实际集成逻辑对各个网络节点以及模型集进行任务集成。
[0082] S106:获取网络节点的处理结果,基于处理结果获取目标模型。
[0083] 本发明提出的一种多模型集成方法,首先,获取初始大模型,拆分所述大模型以使其成为多个子模型,然后,获取分布式网络节点,其中,每一个所述网络节点具有独立计算资源,然后,根据多个所述子模型与所述网络节点确定模型集的基本集成逻辑,其中,所述基本集成逻辑包括第一集成逻辑以及每一个所述第一集成逻辑对应的一个或多个所述网络节点,然后,基于所述第一集成逻辑确定目标集成逻辑;基于所述目标集成逻辑将多个所述子模型集成至所述网络节点,最后,获取所述网络节点的处理结果,基于所述处理结果获取目标模型。本发明提出的多模型集成方法,在将大模型集成值网络节点的过程中,集成的速度较快。
[0084] 图2是根据一示例性实施例示出的一种多模型集成装置框图,该装置用于多模型集成方法。参照图2,该装置包括第一获取模块210、第二获取模块220、第一确定模块230、第二确定模块240、第一集成模块250以及第三获取模块260,其中:
[0085] 第一获取模块210,用于获取初始大模型,对初始大模型进行拆分,获得多个子模型;
[0086] 第二获取模块220,用于获取分布式网络节点,其中,每一个分布式网络节点具有独立计算资源;
[0087] 第一确定模块230,用于根据多个子模型以及分布式网络节点确定模型集的基本集成逻辑;其中,基本集成逻辑包括第一集成逻辑以及每一个第一集成逻辑对应的分布式网络节点;每一个第一集成逻辑对应一个或多个分布式网络节点;
[0088] 第二确定模块240,用于基于第一集成逻辑确定目标集成逻辑;
[0089] 第一集成模块250,用于基于目标集成逻辑将多个子模型集成至网络节点;
[0090] 第三获取模块260,用于获取网络节点的处理结果,基于处理结果获取目标模型。
[0091] 可选地,第二确定模块240,进一步用于:
[0092] 对多个第一集成逻辑进行染色体交叉处理以获取多个第二集成逻辑;
[0093] 确定第一集成逻辑中的第三集成逻辑,并对第三集成逻辑与第二集成逻辑进行染色体交叉处理,得到多个第四集成逻辑;
[0094] 根据每一个第一集成逻辑、第二集成逻辑以及第四集成逻辑中,每一个集成逻辑与网络节点的契合度,获取目标集成逻辑。
[0095] 可选地,第二确定模块240,还用于:
[0096] 基于基本集成逻辑,在邻域生成多个第一预集成逻辑;
[0097] 对多个第一预集成逻辑进行染色体交叉处理,得到多个第二预集成逻辑;
[0098] 对多个第一预集成逻辑的第三预集成逻辑以及多个第二预集成逻辑的第四预集成逻辑进行染色体交叉处理,得到多个第五预集成逻辑;
[0099] 根据每一个第一预集成逻辑、第二预集成逻辑以及第五预集成逻辑中,每一个集成逻辑与网络节点的契合度,获取多个第一预集成逻辑、多个第二预集成逻辑以及多个第五预集成逻辑的候选目标集成逻辑。
[0100] 可选地,第一集成模块250,进一步用于:
[0101] 对多个候选目标集成逻辑与多个目标集成逻辑进行染色体交叉处理,得到多个实际集成逻辑;
[0102] 根据实际集成逻辑对各个网络节点以及多个子模型进行任务集成。
[0103] 可选地,第一确定模块230,还用于:
[0104] 计算每一个基本集成逻辑中,每一个模型集与网络节点的契合度;
[0105] 获取契合度最高的集成逻辑为第一集成逻辑。
[0106] 本发明提出的一种多模型集成系统,首先,获取初始大模型,拆分所述大模型以使其成为多个子模型,然后,获取分布式网络节点,其中,每一个所述网络节点具有独立计算资源,然后,根据多个所述子模型与所述网络节点确定模型集的基本集成逻辑,其中,所述基本集成逻辑包括第一集成逻辑以及每一个所述第一集成逻辑对应的一个或多个所述网络节点,然后,基于所述第一集成逻辑确定目标集成逻辑;基于所述目标集成逻辑将多个所述子模型集成至所述网络节点,最后,获取所述网络节点的处理结果,基于所述处理结果获取目标模型。本发明提出的多模型集成系统,在将大模型集成值网络节点的过程中,集成的速度较快。
[0107] 图3是本发明实施例提供的一种多模型集成设备的结构示意图,如图3所示,多模型集成设备可以包括上述图3所示的多模型集成装置。可选地,多模型集成设备310可以包括第一处理器2001。
[0108] 可选地,多模型集成设备310还可以包括存储器2002和收发器2003。
[0109] 其中,第一处理器2001与存储器2002以及收发器2003,如可以通过通信总线连接。
[0110] 下面结合图3对多模型集成设备310的各个构成部件进行具体的介绍:
[0111] 其中,第一处理器2001是多模型集成设备310的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,第一处理器2001是一个或多个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
[0112] 可选地,第一处理器2001可以通过运行或执行存储在存储器2002内的软件程序,以及调用存储在存储器2002内的数据,执行多模型集成设备310的各种功能。
[0113] 在具体的实现中,作为一种实施例,第一处理器2001可以包括一个或多个CPU,例如图3中所示出的CPU0和CPU1。
[0114] 在具体实现中,作为一种实施例,多模型集成设备310也可以包括多个处理器,例如图3中所示的第一处理器2001和第二处理器2004。这些处理器中的每一个可以是一个单核处理器(single‑CPU),也可以是一个多核处理器(multi‑CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0115] 其中,所述存储器2002用于存储执行本发明方案的软件程序,并由第一处理器2001来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
[0116] 可选地,存储器2002可以是只读存储器(read‑only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read‑only memory,EEPROM)、只读光盘(compact disc read‑only memory,CD‑ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器2002可以和第一处理器2001集成在一起,也可以独立存在,并通过多模型集成设备310的接口电路(图3中未示出)与第一处理器2001耦合,本发明实施例对此不作具体限定。
[0117] 收发器2003,用于与网络设备通信,或者与终端设备通信。
[0118] 可选地,收发器2003可以包括接收器和发送器(图3中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。
[0119] 可选地,收发器2003可以和第一处理器2001集成在一起,也可以独立存在,并通过多模型集成设备310的接口电路(图3中未示出)与第一处理器2001耦合,本发明实施例对此不作具体限定。
[0120] 需要说明的是,图3中示出的多模型集成设备310的结构并不构成对该路由器的限定,实际的知识结构识别设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0121] 此外,多模型集成设备310的技术效果可以参考上述方法实施例所述的多模型集成方法的技术效果,此处不再赘述。
[0122] 应理解,在本发明实施例中的处理器可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0123] 还应理解,本发明实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read‑only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
[0124] 上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
[0125] 应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
[0126] 本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a, b, c, a‑b, a‑c, b‑c, 或a‑b‑c,其中a,b,c可以是单个,也可以是多个。
[0127] 应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0128] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0129] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0130] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0131] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0132] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0133] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read‑only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0134] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。