一种基于混合专家模型的缓存感知推测解码方法及系统
本发明涉及基于特定计算模型的计算机系统,尤其涉及一种基于混合专家模型的缓存感知推测解码方法及系统。
背景技术:
1、混合专家(简称 moe)模型是现阶段扩展大语言模型参数规模的重要技术方案。其核心实现原理为:将模型的前馈网络层拆分为多个独立的专家子网络,并配置可训练的路由模块;对于每一个输入词元,由该路由模块动态筛选并激活其中部分专家子网络,使其参与当前词元的计算过程。由于每个词元仅经过少数专家计算,moe模型能够在总参数量大幅增加的同时,控制单次前向传播的计算量,从而在同等算力预算下获得更强的表达能力。随着模型规模增长,专家数量通常可达数十乃至数百个,单卡gpu显存已难以容纳全部专家权重。为此,实际部署中广泛采用专家卸载策略:将大部分专家权重存放于主机cpu内存,仅将近期频繁使用的专家子集保留在gpu显存(即gpu专家缓存)中,当路由结果指向未缓存的专家时,由运行时系统动态将其从cpu内存加载至gpu显存。这种异构存储架构使大规模moe模型的推理成为可能,但也引入了一个关键性能瓶颈——专家权重的跨设备传输开销。与计算密集型的前向传播相比,cpu至gpu的数据搬运带宽相对有限,其传输延迟会显著影响端到端推理吞吐量。
2、推测解码(speculative decoding)是另一类提升大语言模型推理效率的通用技术,其基本思想是利用一个参数量较小、成本更低且运行更快的草稿模型(draft model),以自回归方式预先为当前请求生成多个候选词元(即草稿词元)。然后将这批草稿词元连同历史上下文一并送入目标大模型,让目标大模型在一次前向传播中并行验证每个草稿词元的合理性。对于被接受的词元,可直接提交给用户,从而在一次目标大模型调用中推进多个词元生成。在实际应用中,草稿词元的生成数量存在效率权衡:生成数量过少时,单次验证可确认的词元有限,吞吐量提升效果不明显;生成数量过多时,草稿模型自回归生成的时延会相应增加,且长序列草稿的整体接受率通常会下降,反而可能抵消并行验证带来的增益。
3、然而,当现有推测解码应用于采用专家卸载的moe模型时,通常遵循先来先服务或按就绪队列顺序构建批处理批次,并将主要优化精力放在草稿词元数量的自适应控制上,应用在moe模型中,原有调度逻辑将面临完全不同的约束条件,当一个验证批次中混合了路由偏好差异较大的多个请求时,该批次所需加载的专家权重集合是各请求所需专家的并集。这意味着,为了完成这一次前向验证,系统必须从cpu内存中搬运大量互不重叠的专家权重,使gpu专家缓存的命中率急剧下降,原本驻留的热点专家也可能被频繁驱逐。
4、现有针对moe推理的专家缓存与预取技术,通常在请求批已经固定之后介入,其优化目标是在给定批次下提高缓存命中率或提前加载预测会使用的专家。这类方法虽然能够在一定程度上缓解缺失专家引起的停顿,但无法改变批次本身固有的专家需求并集大小,专家权重传输压力从根本上无法缓解。另一方面,部分现有工作尝试根据草稿词元接受率的波动来动态调整草稿长度,但调整依据仅限于生成质量,并未将因此可能额外激活的专家数量纳入考量。因此,草稿词元长度控制、验证批次构建与专家预加载三者之间存在着紧密的耦合关系,而现有技术方案往往只孤立地优化其中一个或两个维度,缺乏对三者联合决策的系统性考虑。
5、此外,从实际部署角度看,现有方案还存在若干具体局限性。其一,固定按到达顺序批处理无法利用运行时动态获取的路由信息来压缩批次专家并集,导致高并发场景下gpu专家缓存抖动严重,首词元时延显著上升。其二,现有草稿词元数量控制通常采用对接受率进行简单指数平滑或基于阈值的启发式,未引入误差累积和趋势判别,面对接受率波动时容易出现过度扩张或收缩,影响生成效率与缓存压力的平衡。其三,在待验证词元序列的拼接上,常见做法是将批次内所有请求的草稿词元填充至统一长度以构造张量,这种填充方式在草稿词元数量差异大时会浪费大量计算资源,同时填充位置仍会参与注意力计算,间接干扰路由分布。其四,现有预取策略缺乏与批次构建的协同,预加载优先级仅考虑单个专家的历史频率,未结合验证批次内共享度、当前缓存驻留收益以及驱逐代价等多因素进行综合排序,导致有限的传输带宽和缓存空间不能发挥最大效用。
技术实现思路
1、本发明所要解决的技术问题是提供一种基于混合专家模型的缓存感知推测解码方法及系统,以待推理请求为外部输入,以经目标混合专家模型确认并提交的输出词元或完整生成结果为外部输出,并将每轮目标验证建模为草稿词元数、验证请求批和专家预加载集合的闭环联合调度问题,减少混合专家模型推测解码过程中专家传输开销与缓存压力,提升了混合专家模型推理吞吐量并降低首词元生成时延。
2、本发明是通过以下技术方案予以实现:
3、一种基于混合专家模型的缓存感知推测解码方法,其包括如下步骤:
4、s1:获取以提示词元序列形式接入的待推理请求的请求状态,并通过预处理得到当前上下文词元前缀、请求标识及对应键值缓存,形成请求状态集合;
5、s2:基于请求状态集合中的历史草稿词元接受反馈更新各待推理请求的请求级草稿词元数推荐值,基于草稿词元数推荐值控制草稿模型从各待推理请求的当前上下文词元前缀及对应键值缓存生成草稿词元序列,将请求标识、实际草稿词元数和草稿词元序列关联保存,形成就绪请求;
6、s3:基于就绪请求及请求状态集合中的历史专家路由信息构建专家路由签名,选取路由相近的就绪请求组成路由对齐验证请求批,按照路由对齐验证请求批内请求标识与请求长度拼接形成无填充目标验证输入、因果掩码及请求边界信息;
7、s4:基于路由对齐验证请求批及当前gpu专家缓存状态预测路由对齐验证请求批在本轮目标验证中所需的预测专家需求集合,从预测专家需求集合中选择预加载专家集合,并将预加载专家集合中的缺失专家权重由cpu内存异步传输至gpu专家缓存,更新预加载后的gpu专家缓存;
8、s5:基于预加载后的gpu专家缓存、无填充目标验证输入、因果掩码及请求边界信息执行目标混合专家模型验证,对残余缺失专家及预测专家需求集合之外由实际路由命中的其他缺失专家按需加载,并根据请求边界信息还原各请求的验证结果,按照标准推测解码规则确定和提交输出词元,形成本轮验证结果;
9、s6:基于本轮验证结果及预加载后的gpu专家缓存更新各请求状态,直至迭代达到停止条件后释放待推理请求的状态资源。
10、优化的,步骤s1中由文本、图像或音频输入数据组成待推理请求的提示词元序列。
11、优化的,步骤s1所述请求状态集合中包括当前上下文词元前缀、对应键值缓存、历史草稿词元接受反馈、历史专家路由信息及gpu专家缓存状态。
12、进一步,步骤s2中形成就绪请求的方法如下:
13、s211:从请求状态集合中读取上一目标验证轮次的草稿词元数和被混合专家模型接受的草稿词元数,并根据式(1)计算瞬时接受率:
14、(1);
15、其中:表示第个待验证请求第轮目标验证的瞬时接受率,表示第个待验证请求第轮目标验证的草稿词元数,表示第个待验证请求第轮目标验证被目标模型接受的草稿词元数量;
16、s212:采用非对称平滑方式根据式(2)更新请求的接受率估计值:
17、(2);
18、其中:表示第个待验证请求第轮目标验证的接受率估计值,表示接受率不低于上一轮接受率估计值时的保留系数,表示接受率低于上一轮接受率估计值时的保留系数;
19、s213:基于接受率估计值根据式(3)计算控制误差,并更新累计误差项和误差趋势项:
20、 (3);
21、其中:表示第个待验证请求第轮目标验证的控制误差,表示目标接受率,表示第个待验证请求第轮目标验证的累计误差项,表示限幅函数,表示累计误差绝对值上限,表示第个待验证请求第轮目标验证的误差趋势项;
22、s214:基于控制误差、累计误差项和误差趋势项根据式(4)确定草稿词元数量调整量:
23、(4);
24、其中:表示控制误差的分段控制函数,为正误差二次项系数,为非正误差线性项系数;为累计误差项的控制权重,为误差趋势项的控制权重;表示第个待验证请求第轮目标验证取整后的未限幅草稿词元数量调整量,为取整函数;为第个待验证请求第轮目标验证限幅后实际采用的草稿词元数量调整量,为单轮草稿词元数量调整量绝对值上限;
25、s215:基于草稿词元数量调整量根据式(5)确定草稿词元数推荐值:
26、(5);
27、其中:表示第个待验证请求第轮目标验证草稿词元数推荐值,为最小允许草稿词元数;为最大允许草稿词元数;
28、s216:根据当前轮次的待验证请求的草稿词元数推荐值确定草稿词元数,控制草稿模型生成对应的草稿词元序列,并将请求标识、实际草稿词元数和草稿词元序列关联保存,形成就绪请求。
29、进一步,步骤s3中形成无填充目标验证输入、因果掩码及请求边界信息的方法如下:
30、s311:基于就绪请求及请求状态集合中的历史专家路由信息根据式(6)计算长期专家签名和近期专家签名:
31、(6);
32、其中:表示词元位置,表示模型层标识,表示专家标识,表示第个待验证请求专家在第轮目标验证被选择的次数,表示第个待验证请求第轮目标验证词元位置在第层的路由器输出,表示第个待验证请求在第轮目标验证中参与统计的词元位置,表示对应的前个专家集合,表示第个待验证请求专家截至第轮目标验证累计被选择次数,表示第个待验证请求第轮目标验证长期专家签名,表示按计数从大到小选取前个层标识下对应的专家标识项,表示长期专家签名保留的专家标识数量,表示第个待验证请求第轮目标验证近期专家签名,表示近期专家签名保留的专家标识数量,为指示函数,条件成立时取1,否则取0;
33、s312:基于长期专家签名和近期专家签名根据式(7)计算待验证请求之间的路由相似度:
34、(7);
35、其中:表示待验证请求与待验证请求的路由相似度,表示长期签名相似度权重,表示待验证请求的长期专家签名,表示待验证请求的长期专家签名,表示待验证请求的近期专家签名,表示待验证请求的近期专家签名,表示雅卡尔相似度;
36、s313:将就绪请求放入多个路由感知就绪队列,以队首请求为种子,在就绪队列候选窗口内逐个选择路由相似度最高的候选请求进入路由对齐验证请求批,当前路由对齐验证请求批的请求数达到预设批规模上限或当前批次调度时间窗口结束后,形成路由对齐验证请求批并输出批内请求标识,未入路由对齐验证请求批的请求保留在就绪队列;
37、s314:将对齐验证请求批内请求标识与请求长度拼接形成无填充目标验证输入、因果掩码及请求边界信息。
38、进一步,步骤s4中路由对齐验证请求批在本轮目标验证中所需的预测专家需求集合为式(8):
39、(8);
40、其中:表示路由对齐验证请求批在第轮目标验证中所需的预测专家需求集合,表示第个待验证请求第轮目标验证长期专家签名,表示第个待验证请求第轮目标验证近期专家签名,表示按计数从大到小选取前个层标识下对应的专家标识项,表示模型层标识,表示专家标识,为第轮目标验证路由对齐验证请求批,为第轮目标验证路由对齐验证请求批内请求数量,表示长期专家签名的可配置权重,表示近期专家签名的可配置权重,表示指示值函数,表示单请求预测专家预算系数。
41、优化的,步骤s4中从预测专家需求集合中选择预加载专家集合时,在gpu专家缓存的可用空间、允许驱逐的专家集合、cpu至gpu链路带宽和目标验证前剩余时间窗口的联合约束下,仅将预测专家需求集合中优先级超过预设阈值且能够在目标验证前完成传输的专家加入预加载专家集合。
42、进一步,步骤s5中基于预加载后的gpu专家缓存、无填充目标验证输入、因果掩码及请求边界信息执行目标混合专家模型验证时,已完成传输的专家直接命中gpu专家缓存,未被预加载或尚未完成传输的残余缺失专家仍由专家卸载后端按需加载,预加载专家集合同时满足式(9)的传输时间约束和式(10)的缓存容量约束:
43、(9);
44、(10);
45、其中:表示预加载专家集合由cpu内存传输至gpu专家缓存的预计完成时间,表示专家标识,表示专家在当前部署格式下需要传输的权重字节数,表示cpu内存至gpu专家缓存的有效传输带宽,表示目标验证开始前可用于预加载的剩余时间窗口,表示gpu专家缓存的当前可用容量;表示允许驱逐现有专家后可释放的缓存容量。
46、优化的,步骤s5形成的本轮验证结果包括各待验证请求的已提交输出词元、实际接受词元数量、实际激活专家集合及预加载命中信息。
47、一种基于混合专家模型的缓存感知推测解码系统,用于执行如上述任意一项所述的一种基于混合专家模型的缓存感知推测解码方法,其包括请求状态集合获取模块、就绪请求获取模块、专家路由签名与路由对齐验证请求批构建模块、验证请求批的专家需求预测与异步预加载模块、目标混合专家模型验证模块及验证反馈更新模块;
48、所述请求状态集合获取模块用于获取以提示词元序列形式接入的待推理请求的请求状态,并通过预处理得到当前上下文词元前缀、请求标识及对应键值缓存,形成请求状态集合;
49、所述就绪请求获取模块基于请求状态集合中的历史草稿词元接受反馈更新各待推理请求的请求级草稿词元数推荐值,基于草稿词元数推荐值控制草稿模型从各待推理请求的当前上下文词元前缀及对应键值缓存生成草稿词元序列,将请求标识、实际草稿词元数和草稿词元序列关联保存,形成就绪请求;
50、所述专家路由签名与路由对齐验证请求批构建模块基于就绪请求及请求状态集合中的历史专家路由信息构建专家路由签名,选取路由相近的就绪请求组成路由对齐验证请求批,按照路由对齐验证请求批内请求标识与请求长度拼接形成无填充目标验证输入、因果掩码及请求边界信息;
51、所述验证请求批的专家需求预测与异步预加载模块基于路由对齐验证请求批及当前gpu专家缓存状态预测路由对齐验证请求批在本轮目标验证中所需的预测专家需求集合,从预测专家需求集合中选择预加载专家集合,并将预加载专家集合中的缺失专家权重由cpu内存异步传输至gpu专家缓存,更新预加载后的gpu专家缓存;
52、所述目标混合专家模型验证模块基于预加载后的gpu专家缓存、无填充目标验证输入、因果掩码及请求边界信息执行目标混合专家模型验证,对残余缺失专家及预测专家需求集合之外由实际路由命中的其他缺失专家按需加载,并根据请求边界信息还原各请求的验证结果,按照标准推测解码规则确定和提交输出词元,形成本轮验证结果;
53、所述验证反馈更新模块基于本轮验证结果及预加载后的gpu专家缓存更新各请求状态,直至迭代达到停止条件后释放待推理请求的状态资源。
54、发明的有益效果:
55、本发明提供的一种基于混合专家模型的缓存感知推测解码方法及系统,具有如下优点:
56、第一,通过在目标验证执行前使用运行时专家路由签名构建路由对齐验证请求批,减小了批次级专家并集,降低了gpu专家缓存压力、cpu至gpu专家权重传输以及由缺失专家造成的gpu停顿,从而提升了系统整体的吞吐表现。
57、第二,通过基于草稿词元接受反馈自适应控制草稿词元数,避免固定草稿词元数量对不同请求和不同生成阶段适应性不足。
58、第三,通过路由对齐验证请求批使预测专家需求集合规模受控,再结合缓存状态选择专家预加载集合,减少了加载时延对目标模型推测解码主流程的阻塞。
59、第四,通过按有效长度连续拼接草稿词元并结合因果掩码,消除了不同请求草稿词元数量不一致造成的填充开销,同时保持请求相互隔离及标准推测解码的无损验证语义。
60、第五,草稿词元数量、验证请求批和专家预加载三个决策由实际接受结果和实际专家路由持续反馈更新,能够适应请求内容、生成阶段、缓存容量及在线负载的变化,并可作为调度层部署于现有专家卸载后端之上。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com