CN117972293B - 基于混合专家模型的计算方法、装置、设备及存储介质 - Google Patents
基于混合专家模型的计算方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117972293B CN117972293B CN202410365057.5A CN202410365057A CN117972293B CN 117972293 B CN117972293 B CN 117972293B CN 202410365057 A CN202410365057 A CN 202410365057A CN 117972293 B CN117972293 B CN 117972293B
- Authority
- CN
- China
- Prior art keywords
- expert model
- layer
- sparsity
- mixed
- expert
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 81
- 239000013598 vector Substances 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000003213 activating effect Effects 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 28
- 238000010606 normalization Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于混合专家模型的计算方法、装置、设备及存储介质,涉及人工智能技术领域,方法包括:根据混合专家模型各层的预估稀疏度计算出归一化的路由权值;根据各个归一化的路由权值确定混合专家模型各层的目标稀疏度;按照各个目标稀疏度和归一化的路由权值激活混合专家模型各层中对应的专家,得到稀疏化后的混合专家模型;利用稀疏化后的混合专家模型计算向量数据。本申请可有针对性地对混合专家模型各层分别确定一个稀疏度,进而可精准分配专家用于后续向量计算,相较于现有技术对混合专家模型每层都进行固定稀疏,本申请可将冗余的专家进行冻结,实现可变稀疏度的混合专家模型,降低了冗余计算量,避免冗余专家占用计算资源。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于混合专家模型的计算方法、装置、设备及存储介质。
背景技术
以Transformer为基础构建的大语言模型推动了各行各业的变革,随着大语言模型的蓬勃发展,模型规模不断的扩大,对存储空间和计算资源都提出了很大的挑战。为了解决大语言模型计算量需求大的问题,混合专家模型(Mixture of Experts,简称MoE)被提出,在MoE模型中包含了多个专家(每个专家为一个神经网络模型),使用MoE模型时可以只激活部分专家实现稀疏计算,使得MoE模型规模虽然很大,但实际的计算量相对较小。但现有技术对MoE模型的稀疏化方案十分固定,导致MoE模型在实际计算时仍包括了部分冗余的计算量,也占用了多余的计算资源。
发明内容
本申请实施例的主要目的在于提出一种基于混合专家模型的计算方法、装置、设备及存储介质,以针对性地稀疏化MoE模型,降低冗余计算,提高计算资源利用率。
为实现上述目的,本申请实施例的一方面提出了一种基于混合专家模型的计算方法,所述方法包括:
根据混合专家模型各层的预估稀疏度计算出归一化的路由权值;
根据各个所述归一化的路由权值确定所述混合专家模型各层的目标稀疏度;
按照各个所述目标稀疏度和所述归一化的路由权值激活所述混合专家模型各层中对应的专家,得到稀疏化后的所述混合专家模型;
利用稀疏化后的所述混合专家模型计算向量数据。
在一些实施例中,所述根据混合专家模型各层的预估稀疏度计算出归一化的路由权值,包括:
利用softmax函数根据混合专家模型各层的预估稀疏度对各层路由权值进行归一化计算,获得各层所述路由权值对应的softmax向量作为所述归一化的路由权值。
在一些实施例中,所述根据各个所述归一化的路由权值确定所述混合专家模型各层的目标稀疏度,包括:
根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度。
在一些实施例中,所述根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度,包括:
利用权值系数计算式根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度;
所述权值系数计算式为:
;
其中,表示第i层第m个专家的路由权值;w(.)为激活函数;h(.)为线性映射关系,k为超参数,(M-N)/M为所述目标稀疏度,normalize(.) 为归一化函数。
在一些实施例中,所述按照各个所述稀疏度激活所述混合专家模型各层中对应的专家,得到稀疏化后的所述混合专家模型,包括:
对所述混合专家模型中各层并联连接的多个专家,选取与各个所述稀疏度对应的专家进行激活,得到稀疏化后的所述混合专家模型。
在一些实施例中,所述利用稀疏化后的所述混合专家模型计算向量数据,包括:
利用稀疏化后的所述混合专家模型对文字数据或图像数据对应所述向量数据进行计算。
在一些实施例中,所述方法还包括:
若各个所述稀疏度大于内存的读端口数,则利用复用器通过时间共享的方式将各层所述专家所需的计算数据传输到所述内存进行计算。
为实现上述目的,本申请实施例的另一方面提出了一种基于混合专家模型的计算装置,所述装置包括:
权值归一化单元,用于根据混合专家模型各层的预估稀疏度计算出归一化的路由权值;
稀疏度确定单元,用于根据各个所述归一化的路由权值确定所述混合专家模型各层的目标稀疏度;
专家激活单元,用于按照各个所述目标稀疏度和所述归一化的路由权值激活所述混合专家模型各层中对应的专家,得到稀疏化后的所述混合专家模型;
向量计算单元,用于利用稀疏化后的所述混合专家模型计算向量数据。
为实现上述目的,本申请实施例的另一方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
为实现上述目的,本申请实施例的另一方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本申请实施例至少包括以下有益效果:
本申请根据混合专家模型各层的预估稀疏度计算出归一化的路由权值;根据各个归一化的路由权值确定混合专家模型各层的目标稀疏度;按照各个目标稀疏度和归一化的路由权值激活混合专家模型各层中对应的专家,得到稀疏化后的混合专家模型;利用稀疏化后的混合专家模型计算向量数据。本申请可有针对性地对混合专家模型各层分别确定一个稀疏度,进而可精准分配专家用于后续向量计算,相较于现有技术对混合专家模型每层都进行固定稀疏,本申请可将冗余的专家进行冻结,实现可变稀疏度的混合专家模型,降低了冗余计算量,避免冗余专家占用计算资源。
附图说明
图1为本申请实施例提供的一种基于混合专家模型的计算方法的流程示意图;
图2为本申请实施例提供的一种混合专家模型的结构示意图;
图3为本申请实施例提供的一种混合专家模型中各层的结构示意图;
图4为本申请实施例提供的一种存储架构的结构示意图;
图5为本申请实施例提供的一种计算架构的结构示意图;
图6为本申请实施例提供的一种基于混合专家模型的计算装置的结构示意图;
图7为本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请实施例相一致的所有实施方式,它们仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。例如,在不脱离本申请实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“若”、“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”等,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,每个是指对应的多个中的每一个,任一是指多个中的任意一个。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
本申请实施例提供了一种基于混合专家模型的计算方法、装置、设备及存储介质。该方案根据混合专家模型各层的预估稀疏度计算出归一化的路由权值;根据各个归一化的路由权值确定混合专家模型各层的目标稀疏度;按照各个目标稀疏度和归一化的路由权值激活混合专家模型各层中对应的专家,得到稀疏化后的混合专家模型;利用稀疏化后的混合专家模型计算向量数据。本申请可有针对性地对混合专家模型各层分别确定一个稀疏度,进而可精准分配专家用于后续向量计算,相较于现有技术对混合专家模型每层都进行固定稀疏,本申请可将冗余的专家进行冻结,实现可变稀疏度的混合专家模型,降低了冗余计算量,避免冗余专家占用计算资源。
本申请实施例提供了一种基于混合专家模型的计算方法,涉及人工智能技术领域。本申请实施例提供的计算方法可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表以及车载终端等,但并不局限于此;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器,服务器还可以是区块链网络中的一个节点服务器;软件可以是实现计算方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
参照图1,本申请实施例提供了一种基于混合专家模型的计算方法,该方法可以包括但不限于包括S100至S130,具体如下:
S100:根据混合专家模型各层的预估稀疏度计算出归一化的路由权值。
具体地,本申请实施例的混合专家模型可以包括多层结构,而每层可以包括多个神经网络模型,每个神经网络作为一个专家,每个神经网络模型都可以对应有一个路由权值,根据路由权值可以决定其对应的申请网络模型是否被稀疏化,即是否被冻结不使用。
为方便计算,本实施例中每层的多个路由权值可以作为一个1×n的矩阵向量,然后对各层的矩阵向量进行归一化计算,获得各层路由权值的归一化结果。
进一步地,S100可以包括:
利用softmax函数根据混合专家模型各层的预估稀疏度对各层路由权值进行归一化计算,获得各层所述路由权值对应的softmax向量作为所述归一化的路由权值。
具体地,本实施例可以利用softmax函数(归一化指数函数)对各个路由权值的矩阵向量进行归一化计算,然后得到对应的归一化向量。
S110:根据各个所述归一化的路由权值确定所述混合专家模型各层的目标稀疏度。
具体地,根据归一化后的路由权值确定各层的目标稀疏度,该目标稀疏度可以表示从对应层选取专家的数量,例如,某层目标稀疏度为2,即可以表示从该层选取2个专家进行后续计算。
进一步地,S110可以包括:
根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度。
具体地,每层可以对应有一个设定阈值,归一化后的路由权值达到该设定阈值即可表示对应的专家需要保留使用,保留使用的专家数量即为目标稀疏度。
需要说明的是,混合专家模型各层的设定阈值可以分别设置,各层设定阈值可以不相同。
更进一步地,确定目标稀疏度的步骤可以包括:
利用权值系数计算式根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度;
所述权值系数计算式为:
;
其中,表示第i层第m个专家的路由权值;w(.)为激活函数;h(.)为线性映射关系,k为超参数,(M-N)/M为所述目标稀疏度,normalize(.) 为归一化函数。
S120:按照各个所述目标稀疏度和所述归一化的路由权值激活所述混合专家模型各层中对应的专家,得到稀疏化后的所述混合专家模型。
具体地,混合专家模型各层中与路由权值达到设定阈值的一个或多个专家被激活,而其余专家则被冻结不参与后续计算。
进一步地,S120可以包括:
对所述混合专家模型中各层并联连接的多个专家,选取与各个所述稀疏度对应的专家进行激活,得到稀疏化后的所述混合专家模型。
具体地,本实施例中混合专家模型各层以串联形式连接,而每层的各个专家则可以时并联形式连接,本实施例可以激活对应的专家,并利用已激活的专家同时进行计算。
S130:利用稀疏化后的所述混合专家模型计算向量数据。
具体地,本实施例中的混合专家模型各层可以具有不同的稀疏度,据此可有针对性地对向量数据进行计算,降低计算资源消耗。
进一步地,S130可以包括:
利用稀疏化后的所述混合专家模型对文字数据或图像数据对应所述向量数据进行计算。
具体地,本实施例中稀疏化后的混合专家模型可以进行图像识别、图像特征提取、语言特征提取或生成人机对话等向量计算,并且可以减少计算过程中不必要的硬件占用,提高混合专家模型的利用率。
为进一步优化混合专家模型在计算过程中的内存占用,本申请实施例还可以包括:
若各个所述稀疏度大于内存的读端口数,则利用复用器通过时间共享的方式将各层所述专家所需的计算数据传输到所述内存进行计算。
具体地,本实施例可以每次选择与读端口数相同数量的专家进行计算,通过循环多次,遍历所有需要计算的专家,进而完成各个专家的依次计算,可实现在优先内存资源情况下有序高效地利用各个专家进行计算。
接下来将结合具体的应用例子,对本申请实施例的方案作详细介绍和说明:
本实施例可以具备以下有益效果:1)支持不同稀疏度的MoE模型;2)支持MoE模型内不同块(层)稀疏度不同,实现可变稀疏度MoE模型;3)支持更大的模型规模。
接下来,将具体说明本实施的实现过程:
如果要实现上述三个有益效果,按照现有的设计方法,需要按照最大个数的专家(expert)个数设计,导致极大地增加硬件开销和负担,而实际计算又用不到这些资源,造成严重的资源浪费。为此,本实施例提出一种支持不同稀疏度的MoE模型及其计算方法,能够极好的解决该问题。
假设MoE模型有I(i=1,2...I)层(块),每一个层总共有M个专家,但只有N(N<=M)个专家被激活。现有的MoE模型通常会取固定个数的专家,采用top-K的计算方法, 即只取softmax向量中值最大的K个,而本实施例可以根据softmax的计算结果,使得K的大小是变化的:假设第i层和第j层的激活的专家数分别为Ni和Nj,则Ni和Nj可以不相等。
对于第i层,按照现有的MoE模型,取最大K个值的路由权值(routing weight):
其中,为路由权值(routing weight);w(.)为激活函数;MoE模型中通常为softmax函数;h(.)为线性映射关系,是一个待训练的函数;top_K(.)表示取最大的K个值,其他为零,进而G(x)计算的结果一共有M个元素,其中,固定的有K个非零元素,M-K个0元素。/>为第i层第m个专家的输出。
而本实施例的路由权值(routing weight)函数输出的非零元素的个数不固定为K,而是根据计算结果进行自适应的动态调整,从而达到信息量损失小和稀疏度高的效果。本实施例提供的一种路由权值计算方法为:
其中,表示第i层第m个专家的路由权值;w(.)为激活函数;h(.)为线性映射关系,k为超参数,(M-N)/M为目标稀疏度,normalize(.) 为归一化函数。本实施例可以根据计算结果更加有效的选取专家,提高模型效率。
具体举例:假设一共有三个专家(M=3),第i层和第j层的softmax函数计算的结果分别为:[0.90.050.1 0.05] 和[0.310.30.39 0.01], k=1或2。 则对于第i层,利用现有的top_K(K=2)计算结果取最大的两个值,应当取专家1和3进行计算,而利用本实施例的方法计算结果为取专家1进行计算,进而可以在误差较小的情况下,减少计算的专家数从而减少消耗的资源;对于第j层,利用当前的已有的top_K(K=2)计算结果应当取专家1和3计算,利用本实施例的方法计算结果为取专家1,2和3进行计算,这样可以通过增加计算的专家数提高计算的准确度。由此可见,本实施例舍弃的信息更少,因此MoE模型容量更高。
如图2所示,通常MoE模型通常包含多个层(层也可称为块)(图2中为L层),各个层之间是串联关系。每层(块)可能只包含有MoE ,也可能包含MoE和非MoE两部分,本实施例可以优化MoE部分。对于MoE部分,如图3所示,包含有多个专家(expert),各个专家是并联的关系,由一个路由权值计算函数用来确定选择对应的专家进行计算。
计算所用的权值和数据存储在存储(memory)里,存储通常包含多级,比如图4的三级存储架构:第一级存储(HBM), 第二级存储(DDR)和第三级存储(SSD),随着存储级数的增加,容量不断增加,读写速度不断减小。第一级存储存放的是当前需要计算的权值;第二级存储存放的是整个MoE模型的权值;如果第二级存储容量不够存储整个MoE模型的权值,则将整个MoE模型的权值存储在第三级存储,第二级存储只存储MoE模型的部分权值。如果第三级存储容量不够存储整个MoE模型的权值,则继续追加级数,增加存储容量,直到容量可以存储整个MoE模型的权值为止。
基于图4所示存储架构,考虑到第一级存储的容量有限和计算资源的可变性,本实施例提出了一种计算架构如图5所示。图5中,内存是一块P个读端口,Q个写端口的存放器,存放的是tokin数据或者前面的输出数据。图5中,P也是专家计算单元的个数(每个专家计算单元对应为模型中的一个专家),一次可以实现P个专家并行计算。c = ceil(N/P),其中,N为权值函数计算出来的非零元素个数,也即激活的专家数。如果N>P,则利用c:1复用器通过时间共享的方式计算cP个专家:每次计算P个专家,通过c次循环,可以计算完成。如果N<=P, 则可以一次计算完成。
本实施例可实现可变稀疏度的MoE模型,进而降低硬件资源的开销和负担,避免实际计算占用过多硬件资源而造成严重的资源浪费。
参照图6,本申请实施例还提供了一种基于混合专家模型的计算装置,可以实现上述的计算方法,该装置包括:
权值归一化单元,用于根据混合专家模型各层的预估稀疏度计算出归一化的路由权值;
稀疏度确定单元,用于根据各个所述归一化的路由权值确定所述混合专家模型各层的目标稀疏度;
专家激活单元,用于按照各个所述目标稀疏度和所述归一化的路由权值激活所述混合专家模型各层中对应的专家,得到稀疏化后的所述混合专家模型;
向量计算单元,用于利用稀疏化后的所述混合专家模型计算向量数据。
可以理解的是,上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述计算方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
可以理解的是,上述方法实施例中的内容均适用于本设备实施例中,本设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
请参阅图7,图7示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器701,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器702,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器702可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器702中,并由处理器701来调用执行本申请实施例的计算方法;
输入/输出接口703,用于实现信息输入及输出;
通信接口704,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线705,在设备的各个组件(例如处理器701、存储器702、输入/输出接口703和通信接口704)之间传输信息;
其中处理器701、存储器702、输入/输出接口703和通信接口704通过总线705实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述计算方法。
可以理解的是,上述方法实施例中的内容均适用于本存储介质实施例中,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (6)
1.一种基于混合专家模型的计算方法,其特征在于,所述方法包括:
根据混合专家模型各层的预估稀疏度计算出归一化的路由权值;
根据各个所述归一化的路由权值确定所述混合专家模型各层的目标稀疏度;
按照各个所述目标稀疏度和所述归一化的路由权值激活所述混合专家模型各层中对应的专家,得到稀疏化后的所述混合专家模型;
利用稀疏化后的所述混合专家模型计算向量数据;
所述利用稀疏化后的所述混合专家模型计算向量数据,包括:
利用稀疏化后的所述混合专家模型对文字数据或图像数据对应所述向量数据进行计算;
所述根据混合专家模型各层的预估稀疏度计算出归一化的路由权值,包括:
利用softmax函数根据混合专家模型各层的预估稀疏度对各层路由权值进行归一化计算,获得各层所述路由权值对应的softmax向量作为所述归一化的路由权值;
所述根据各个所述归一化的路由权值确定所述混合专家模型各层的目标稀疏度,包括:
根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度;
所述根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度,包括:
利用权值系数计算式根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度;
所述权值系数计算式为:
;
其中,表示第i层第m个专家的路由权值;w(.)为激活函数;h(.)为线性映射关系,k为超参数,(M-N)/M为所述目标稀疏度,normalize(.) 为归一化函数。
2.根据权利要求1所述的一种基于混合专家模型的计算方法,其特征在于,所述按照各个所述稀疏度激活所述混合专家模型各层中对应的专家,得到稀疏化后的所述混合专家模型,包括:
对所述混合专家模型中各层并联连接的多个专家,选取与各个所述稀疏度对应的专家进行激活,得到稀疏化后的所述混合专家模型。
3.根据权利要求1至2任一项所述的一种基于混合专家模型的计算方法,其特征在于,所述方法还包括:
若各个所述稀疏度大于内存的读端口数,则利用复用器通过时间共享的方式将各层所述专家所需的计算数据传输到所述内存进行计算。
4.一种基于混合专家模型的计算装置,其特征在于,所述装置包括:
权值归一化单元,用于根据混合专家模型各层的预估稀疏度计算出归一化的路由权值;
稀疏度确定单元,用于根据各个所述归一化的路由权值确定所述混合专家模型各层的目标稀疏度;
专家激活单元,用于按照各个所述目标稀疏度和所述归一化的路由权值激活所述混合专家模型各层中对应的专家,得到稀疏化后的所述混合专家模型;
向量计算单元,用于利用稀疏化后的所述混合专家模型计算向量数据;
所述利用稀疏化后的所述混合专家模型计算向量数据,包括:
利用稀疏化后的所述混合专家模型对文字数据或图像数据对应所述向量数据进行计算;
所述根据混合专家模型各层的预估稀疏度计算出归一化的路由权值,包括:
利用softmax函数根据混合专家模型各层的预估稀疏度对各层路由权值进行归一化计算,获得各层所述路由权值对应的softmax向量作为所述归一化的路由权值;
所述根据各个所述归一化的路由权值确定所述混合专家模型各层的目标稀疏度,包括:
根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度;
所述根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度,包括:
利用权值系数计算式根据各个所述softmax向量中达到设定阈值的数值数量确定所述混合专家模型各层的所述目标稀疏度;
所述权值系数计算式为:
;
其中,表示第i层第m个专家的路由权值;w(.)为激活函数;h(.)为线性映射关系,k为超参数,(M-N)/M为所述目标稀疏度,normalize(.) 为归一化函数。
5.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的方法。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410365057.5A CN117972293B (zh) | 2024-03-28 | 2024-03-28 | 基于混合专家模型的计算方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410365057.5A CN117972293B (zh) | 2024-03-28 | 2024-03-28 | 基于混合专家模型的计算方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117972293A CN117972293A (zh) | 2024-05-03 |
CN117972293B true CN117972293B (zh) | 2024-06-07 |
Family
ID=90861521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410365057.5A Active CN117972293B (zh) | 2024-03-28 | 2024-03-28 | 基于混合专家模型的计算方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117972293B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115730646A (zh) * | 2022-12-30 | 2023-03-03 | 赵继胜 | 一种基于部分量化的混合专家网络优化方法 |
CN116415175A (zh) * | 2022-12-28 | 2023-07-11 | 蚂蚁区块链科技(上海)有限公司 | 用于大规模多标签分类的方法和系统 |
CN116502680A (zh) * | 2023-06-30 | 2023-07-28 | 清华大学 | 一种用于混合专家模型的并行训练方法及装置 |
CN117274115A (zh) * | 2023-11-22 | 2023-12-22 | 松立控股集团股份有限公司 | 基于多尺度稀疏Transformer网络的图像增强方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230316042A1 (en) * | 2022-03-31 | 2023-10-05 | Microsoft Technology Licensing, Llc | Mixture of experts models with sparsified weights |
US20230419166A1 (en) * | 2022-06-24 | 2023-12-28 | Microsoft Technology Licensing, Llc | Systems and methods for distributing layers of special mixture-of-experts machine learning models |
-
2024
- 2024-03-28 CN CN202410365057.5A patent/CN117972293B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116415175A (zh) * | 2022-12-28 | 2023-07-11 | 蚂蚁区块链科技(上海)有限公司 | 用于大规模多标签分类的方法和系统 |
CN115730646A (zh) * | 2022-12-30 | 2023-03-03 | 赵继胜 | 一种基于部分量化的混合专家网络优化方法 |
CN116502680A (zh) * | 2023-06-30 | 2023-07-28 | 清华大学 | 一种用于混合专家模型的并行训练方法及装置 |
CN117274115A (zh) * | 2023-11-22 | 2023-12-22 | 松立控股集团股份有限公司 | 基于多尺度稀疏Transformer网络的图像增强方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117972293A (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307864B2 (en) | Data processing apparatus and method | |
CN109284823B (zh) | 一种运算装置及相关产品 | |
CN106503791B (zh) | 用于有效神经网络部署的系统和方法 | |
CN110969198A (zh) | 深度学习模型的分布式训练方法、装置、设备及存储介质 | |
EP3642763B1 (en) | System and method for neural networks | |
EP4016331A1 (en) | Neural network dense layer sparsification and matrix compression | |
CN114282678A (zh) | 一种机器学习模型的训练的方法以及相关设备 | |
CN106802772A (zh) | 数据回收的方法、装置及固态硬盘 | |
WO2022217210A1 (en) | Privacy-aware pruning in machine learning | |
CN108764458B (zh) | 一种减少移动设备存储空间消耗以及计算量的方法及系统 | |
CN111898698A (zh) | 对象的处理方法及装置、存储介质和电子设备 | |
CN114007231B (zh) | 异构无人机数据卸载方法、装置、电子设备及存储介质 | |
CN110401681A (zh) | 用于数据传输、数据接收的方法以及电子设备 | |
CN118312660A (zh) | 数据处理方法和装置、电子设备、计算机可读存储介质 | |
CN117972293B (zh) | 基于混合专家模型的计算方法、装置、设备及存储介质 | |
CN117786299A (zh) | 一种稀疏矩阵求解方法、系统、设备及介质 | |
CN110245688B (zh) | 一种数据处理的方法及相关装置 | |
CN117370488A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
Zhan et al. | Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems | |
CN115905168B (zh) | 基于数据库的自适应压缩方法和装置、设备、存储介质 | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN114547308A (zh) | 文本处理的方法、装置、电子设备及存储介质 | |
US11086634B2 (en) | Data processing apparatus and method | |
CN116860564B (zh) | 一种云服务器数据管理方法及其数据管理装置 | |
CN111047024A (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 | ||
GR01 | Patent grant |