System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开属于人工智能领域,具体涉及一种稀疏混合专家大语言模型推理任务的卸载方法及装置。
技术介绍
1、稀疏混合专家大语言模型在ai领域的应用变得越来越普遍,例如聊天机器人和代码生成。稀疏混合专家是一种神经网络设计,其核心理念是根据给定的输入,仅激活部分模型参数参与计算(即专家)。稀疏混合专家大语言模型可以在计算成本几乎不增加的情况下扩展其模型参数规模。与密集型大语言模型相比,将稀疏混合专家大语言模型部署在消费级gpu上面临重大挑战,因为稀疏混合专家大语言模型通常配备比其密集型对手更多的模型参数,远远超过消费级设备的内存容量。
2、卸载技术是将稀疏混合专家大语言模型在资源有限的设备上部署的主要方法之一。卸载技术将专家存储在cpu dram,从而满足消费级gpu的内存限制。然而,这会导致不可接受的推理延迟。如稀疏混合专家大语言模型mixtral8×7b,其每个专家层有8个专家,在半精度表示中需要94gb的内存。基于mixtral-offload的卸载方法将专家存储在cpu dram并在需要时加载对应的专家到gpu内存。虽然这使得mixtral 8×7b模型在24gb内存的gpu中进行推理成为可能,但是专家加载操作显著提高了推理延迟,每个单词的推理延迟约为3.9秒,显著慢于人类阅读速度的0.2到0.3秒;基于fiddler的卸载方法将mixtral 8×7b模型的专家存储在cpu dram,在推理时与专家相关的计算都在cpu端进行。这虽然避免了cpu与gpu间的大量加载操作,但是由于cpu的计算能力显著低于gpu,因此与专家
技术实现思路
1、本公开实施例提出了一种稀疏混合专家大语言模型推理任务的卸载方案,减少了现有卸载方案在消费级gpu上显著推理延迟的问题。
2、本公开实施例的第一方面提供了一种稀疏混合专家大语言模型推理任务的卸载方法,包括:
3、预测所述稀疏混合专家大语言模型在推理任务中被选择的专家和对应的活跃神经元;
4、在计算设备加载被选择的所述专家的所述活跃神经元以执行所述推理任务。
5、在一些实施例中,所述计算设备包括cpu端和gpu端,所述稀疏混合专家大语言模型包括多层专家层,每层所述专家层包括多个专家,所述方法还包括:
6、在第i层所述专家层执行所述推理任务时,同步在所述gpu端预取第i+1层所述专家层被选择的所述专家的所述活跃神经元,其中,i为正整数。
7、在一些实施例中,所述在所述gpu端预取第i+1层所述专家层被选择的所述专家的所述活跃神经元包括:
8、同步基于第i层所述专家层的输入预测第i+1层所述专家层被选择的所述专家;
9、同步预测所述专家的所述活跃神经元;
10、同步预取所述活跃神经元到所述gpu端。
11、所述基于第i层所述专家层的输入预测第i+1层所述专家层被选择的所述专家包括:
12、将所述稀疏混合专家大语言模型第i层注意力层输出的隐藏状态作为第i+1层所述专家层的门控单元的输入,输出第i+1层所述专家层预测的被选择的所述专家,其中,所述稀疏混合专家大语言模型包括层状结构,每层所述层状结构由串联的注意力层和专家层组成,所述注意力层输出的隐藏状态作为所述专家层的输入,所述专家层包括用于激活参与计算的所述专家的门控单元。
13、在一些实施例中所述预测所述专家的所述活跃神经元包括:
14、基于所述专家的权重预测所述专家的所述活跃神经元。
15、在一些实施例中,所述基于所述专家的权重预测所述专家的所述活跃神经元包括:
16、获取所述专家的权重矩阵,
17、用激活函数对所述权重矩阵与输入的所述隐藏状态的矩阵乘法计算结果进行激活,将绝对值超过预设阈值的激活结果对应的神经元作为所述活跃神经元。
18、在一些实施例中,所述gpu端包括用于缓存专家的专家缓存以及用于对每个所述专家的所述活跃神经元进行缓存的神经元缓存,所述在计算设备加载被选择的所述专家的所述活跃神经元包括:
19、如果被选择的所述专家在所述专家缓存中,并且所述活跃神经元在所述专家缓存对应的所述神经元缓存中,则从所述神经元缓存中读取所述活跃神经元以执行所述推理任务;
20、如果被选择的所述专家在所述专家缓存中,并且所述活跃神经元不在所述专家缓存对应的所述神经元缓存中,则将所述活跃神经元缓存在所述神经元缓存中,并从所述神经元缓存中读取所述活跃神经元以执行所述推理任务;
21、如果被选择的所述专家不在所述专家缓存中,则将被选择的所述专家缓存在所述专家缓存,并将所述专家活跃的所述神经元缓存在所述专家缓存对应的所述神经元缓存,从所述神经元缓存中读取所述活跃神经元以执行所述推理任务。
22、在一些实施例中,所述将被选择的所述专家缓存在所述专家缓存包括:
23、将被选择的所述专家基于lru策略加载至所述专家缓存;
24、将所述专家活跃的所述神经元缓存在所述专家缓存对应的所述神经元缓存包括:
25、当被选择的所述专家不在所述专家缓存中时,将所有活跃的所述神经元加载至所述专家缓存对应的所述神经元缓存;
26、当被选择的所述专家在所述专家缓存中时,将不在所述专家缓存对应的所述神经元缓存中的所有活跃的所述神经元加载至所述神经元缓存。
27、在一些实施例中,加载所述活跃神经元包括:
28、在所述cpu端将所述活跃神经元压缩成压缩矩阵;
29、将所述压缩矩阵从所述cpu端加载至所述gpu端并解压。
30、本公开实施例的第二方面提供了一种稀疏混合专家大语言模型推理任务的卸载装置,包括:
31、预测模块,用于预测所述稀疏混合专家大语言模型在推理任务中被选择的专家和对应的活跃神经元;
32、执行模块,用于在计算设备加载被选择的所述专家的所述活跃神经元以执行所述推理任务。
33、综上所述,本公开各实施例提供的稀疏混合专家大语言模型推理任务的卸载方法及装置和设备,减少了稀疏混合专家大语言模型执行推理任务时在消费级gpu上卸载时的推理延迟,特别的,通过利用专家和神经元层次的双重稀疏性来优化权重加载过程,解决了现有方法无法在推理延迟和准确性之间取得平衡的问题;通过粗粒度到细粒度的预测和预取机制,在不增加额外内存需求的情况下准确预测所需的权重,从而实现权重加载和计算的重叠以隐藏延迟,解决了稀疏混合专家大语言模型中的执行序列性问题;通过粗粒度到细粒度的缓存策略,最大限度地减少了重复加载权重的需求,解决了卸载推理时gpu内存利用低效的问题。
本文档来自技高网...【技术保护点】
1.一种稀疏混合专家大语言模型推理任务的卸载方法,其特征在于,包括:
2.根据权利要求1所述方法,所述计算设备包括CPU端和GPU端,所述稀疏混合专家大语言模型包括多层专家层,每层所述专家层包括多个专家,其特征在于,所述方法还包括:
3.根据权利要求2所述方法,其特征在于,所述在所述GPU端预取第i+1层所述专家层被选择的所述专家的所述活跃神经元包括:
4.根据权利要求3所述方法,其特征在于,所述基于第i层所述专家层的输入预测第i+1层所述专家层被选择的所述专家包括:
5.根据权利要求4所述方法,其特征在于,所述预测所述专家的所述活跃神经元包括:
6.根据权利要求5所述方法,其特征在于,所述基于所述专家的权重预测所述专家的所述活跃神经元包括:
7.根据权利要求2所述方法,其特征在于,所述GPU端包括用于缓存专家的专家缓存以及用于对每个所述专家的所述活跃神经元进行缓存的神经元缓存,所述在计算设备加载被选择的所述专家的所述活跃神经元包括:
8.根据权利要求7所述方法,其特征在于,所述将被选择的所述专家
9.根据权利要求8所述方法,其特征在于,加载所述活跃神经元包括:
10.一种稀疏混合专家大语言模型推理任务的卸载装置,其特征在于,包括:
...【技术特征摘要】
1.一种稀疏混合专家大语言模型推理任务的卸载方法,其特征在于,包括:
2.根据权利要求1所述方法,所述计算设备包括cpu端和gpu端,所述稀疏混合专家大语言模型包括多层专家层,每层所述专家层包括多个专家,其特征在于,所述方法还包括:
3.根据权利要求2所述方法,其特征在于,所述在所述gpu端预取第i+1层所述专家层被选择的所述专家的所述活跃神经元包括:
4.根据权利要求3所述方法,其特征在于,所述基于第i层所述专家层的输入预测第i+1层所述专家层被选择的所述专家包括:
5.根据权利要求4所述方法,其特征在于,所述预测所述专家的所述活跃神...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。