面向异构边缘设备的带宽感知模型层迁移方法及系统
本发明涉及一种面向异构边缘设备的带宽感知模型层迁移方法及系统,属于流水线并行推理、模型部署、负载均衡及计算机网络协同优化的交叉。
背景技术:
1、随着视觉语言模型、大语言模型等深度神经网络模型的参数规模不断增加,单个资源受限的边缘设备通常难以独立完成模型加载和推理计算。为满足边缘场景下的模型推理需求,可将待推理模型按照模型层的执行顺序划分为多个连续的模型层集合,并分别部署于多个边缘设备上,从而形成流水线并行推理系统。
2、在流水线并行推理过程中,每个边缘设备执行其所分配模型层的前向计算,并将生成的中间激活数据传输至下游边缘设备。各边缘设备所对应的流水线阶段时延通常包括模型层计算时延和中间激活数据通信时延。流水线整体推理效率受到最慢流水线阶段的限制,当不同流水线阶段之间的时延差异较大时,较快的边缘设备需要等待较慢的边缘设备完成处理,进而产生流水线空泡,降低设备资源利用率并增加模型推理时延。
3、异构边缘设备在计算能力、存储容量和内存带宽等方面通常存在差异,设备之间的通信链路还可能受到网络拥塞、无线信号变化、共享带宽竞争及外部干扰等因素影响而发生动态变化。即使模型在初始部署时已经按照设备计算能力和链路状态完成负载划分,运行过程中出现的链路带宽波动仍可能使中间激活数据的传输时延发生变化,导致原有模型层划分失去平衡。
4、现有模型划分方法通常在模型部署前根据静态设备性能和静态网络条件确定模型层分配方案,在推理过程中不再调整模型层执行归属,因而难以适应动态链路状态。部分动态负载调整方法能够在运行时重新分配模型层,但主要依据设备计算时延进行迁移决策,未充分考虑中间激活数据通信时延及动态带宽变化对流水线阶段时延的影响,容易出现迁移后通信瓶颈仍未消除或者瓶颈由一个流水线阶段转移至另一流水线阶段的问题。
5、此外,模型层通常包含数量较多的模型参数。在模型推理过程中将模型层的模型参数从一个边缘设备传输至另一边缘设备,会产生较大的通信开销,并可能中断正在执行的推理任务。对于参数规模较大的视觉语言模型或大语言模型,在线传输模型权重所耗费的时间可能显著降低动态迁移所带来的性能收益。
6、在动态链路环境中,直接依据单次带宽测量结果或者单个推理批次的阶段时延触发模型层迁移,还容易受到瞬时网络抖动、设备调度及缓存状态变化的影响,从而发生误触发。模型层迁移完成后,历史监测窗口中仍可能保留迁移前的时延数据,若立即再次执行迁移判断,容易导致模型层在相邻设备之间反复切换,造成系统振荡。
7、综上,现有技术至少存在以下不足:第一,静态模型层划分难以适应运行时链路带宽变化;第二,现有动态迁移决策对计算时延和通信时延缺乏联合考虑,难以实现全局流水线负载均衡;第三,在线迁移模型权重会产生较大的通信开销;第四,缺少能够区分瞬时网络抖动与持续性阶段失衡的稳定触发机制。因此,亟需一种能够感知动态链路状态、可靠识别流水线阶段失衡并在无需在线传输模型权重的情况下调整模型层执行边界的方法及系统。
技术实现思路
1、发明目的:本发明提出一种面向异构边缘设备的带宽感知模型层迁移方法及系统,旨在克服现有流水线并行推理技术中存在的静态模型层划分难以适应链路带宽变化、瞬时网络抖动容易引起迁移误触发、局部迁移容易造成瓶颈转移以及在线模型权重传输开销较大等问题。
2、本发明通过在模型部署阶段根据相邻边缘设备的可用存储空间预先划分候选边界层,并将候选边界层的模型参数冗余存储于相邻边缘设备,为运行过程中的模型计算边界调整提供预置条件。在模型推理过程中,以包括计算时延和通信时延的流水线阶段时延作为链路状态变化对推理性能影响的感知信号,通过自适应滑动窗口对阶段时延进行平滑处理,并结合动态迁移阈值和迁移冷却条件识别持续性流水线负载失衡。当满足模型层迁移条件时,同时考虑模型层计算负载、边缘设备处理能力、当前通信状态以及模型计算边界处的中间激活数据量,联合确定多个流水线边界的目标模型层分配方案,并通过调整候选边界层的执行状态和中间激活数据传输路径完成模型层迁移。
3、通过上述机制,本发明能够在不在线传输候选边界层模型参数的情况下动态调整相邻流水线阶段之间的模型计算边界,适应异构边缘设备间的链路带宽变化,降低流水线阶段时延差异和模型推理时延。
4、技术方案:一种面向异构边缘设备的带宽感知模型层迁移方法,应用于包括协调节点和个推理节点的流水线并行推理系统,,所述协调节点和各推理节点均为边缘设备。待推理模型包括按照模型执行顺序连接的多个模型层,并按照模型层的执行顺序划分为个流水线阶段,各推理节点分别承担一个流水线阶段的模型推理计算,并将当前流水线阶段输出的中间激活数据传输至下游推理节点。
5、所述协调节点用于汇总各推理节点的运行信息,判断流水线负载失衡状态,确定目标分配方案并控制模型层迁移执行;所述协调节点由独立的边缘设备实现;为便于表述,下文中,表示推理节点及其对应流水线阶段的编号,。
6、所述方法包括如下内容:
7、(1)候选边界层集合的预划分与冗余存储
8、根据各推理节点所在边缘设备的计算能力、存储容量以及待推理模型中各模型层的资源占用量,对待推理模型进行初始划分,使各推理节点获得一个按照模型执行顺序连续排列的初始模型层集合。
9、在每两个相邻推理节点的模型计算边界处确定候选边界层集合,并将所述候选边界层集合对应的模型参数分别预存于模型计算边界两侧的推理节点,使所述候选边界层能够根据模型层分配方案由模型计算边界任一侧的推理节点执行。
10、所述(1)候选边界层集合的预划分与冗余存储,具体包括如下步骤:
11、(1.1)可用存储容量确定:获取第个推理节点的总存储容量、初始存储占用量及存储安全余量,并根据第i个推理节点的总存储容量、初始存储占用量及存储安全余量,确定第i个推理节点用于存储候选边界层的可用存储容量。所述第个推理节点的可用存储容量按照下式确定:
12、
13、其中,;表示第个推理节点的可用存储容量;表示第个推理节点的总存储容量;表示第个推理节点的初始存储占用量;表示第i个推理节点预留的存储安全余量。所述初始存储占用量包括初始分配模型层的模型参数占用量、推理缓存占用量及中间激活数据缓存占用量。进一步地,设置存储分配比例,且,使第个推理节点的初始存储占用量满足:
14、
15、(1.2)候选边界层集合确定:对于第个推理节点与第个推理节点之间的模型计算边界,根据所述两个推理节点各自的可用存储容量以及所述两个推理节点各自初始分配的各模型层的模型参数占用量,从所述模型计算边界两侧分别沿远离所述模型计算边界的方向连续选取模型层,并对需要在对侧推理节点冗余存储的模型层分别进行容量约束,从而确定所述模型计算边界对应的候选边界层集合。
16、首先,根据各模型层的模型参数占用量确定存储占用量差异程度。所述存储占用量差异程度按照下式确定:
17、
18、其中,表示所述两个推理节点各自初始分配的模型层中的最大模型参数占用,表示所述两个推理节点各自初始分配的模型层中的最小模型参数占用量,表示所述两个推理节点各自初始分配的模型层的平均存储占用量。
19、当所述存储占用量差异程度不超过预设存储占用量差异阈值,且从模型计算边界两侧选取相同数量的模型层时,采用单个模型层的平均存储占用量确定从所述模型计算边界每一侧选取的候选边界层数量,具体按照下式确定:
20、
21、其中,表示第i个推理节点与第个推理节点之间的模型计算边界每一侧分别选取的候选边界层数量;表示单个模型层的平均存储占用量;表示取较小值;表示向下取整。上述公式适用于从模型计算边界两侧等量选取候选边界层的情形,候选边界层集合的总层数为两侧选取层数之和。
22、当所述存储占用量差异程度超过所述预设存储占用量差异阈值,或者从模型计算边界两侧选取的模型层数量不同时,分别沿远离所述模型计算边界的方向,按照各模型层实际的模型参数占用量依次累计各候选模型层的模型参数占用量。其中,来自第i个推理节点初始模型层集合一侧的候选模型层需要在第i+1个推理节点冗余存储,其累计模型参数占用量不超过第i+1个推理节点的可用存储容量;来自第i+1个推理节点初始模型层集合一侧的候选模型层需要在第i个推理节点冗余存储,其累计模型参数占用量不超过第i个推理节点的可用存储容量。将满足上述对侧存储容量约束的连续模型层合并形成对应模型计算边界的候选边界层集合。
23、进一步地,对于同时参与上游模型计算边界和下游模型计算边界的中间推理节点,对该推理节点针对两个模型计算边界承担的冗余存储占用量进行统一约束,使其针对上游模型计算边界和下游模型计算边界额外冗余存储的全部候选边界层的模型参数占用量之和,不超过该推理节点的可用存储容量。在确定多个模型计算边界对应的候选边界层集合时,可以对各模型计算边界对应的候选边界层集合进行联合确定,或者按照模型计算边界的预设顺序依次确定,并根据已经占用的冗余存储容量更新对应推理节点的剩余可用存储容量。
24、(1.3)候选边界层冗余存储:将第i个推理节点与第i+1个推理节点之间的模型计算边界对应的候选边界层集合中各候选边界层的模型参数,同时存储于第i个推理节点与第i+1个推理节点,使各候选边界层能够在两个推理节点之间切换执行归属,且切换过程中无需重新传输模型参数。
25、(1.4)基础模型层确定:将第个推理节点的初始模型层集合中被划入候选边界层集合的模型层剔除,获得第个推理节点的基础模型层集合。所述基础模型层集合按照下式确定:
26、
27、其中,表示第个推理节点的基础模型层集合;表示第个推理节点的初始模型层集合;表示第个推理节点与第个推理节点之间的候选边界层集合;表示第个推理节点与第个推理节点之间的候选边界层集合。
28、第个推理节点持续存储其基础模型层集合、与上游推理节点共享的候选边界层集合以及与下游推理节点共享的候选边界层集合,其存储的模型层集合表示为:
29、
30、对于位于流水线首端的推理节点,其与上游推理节点共享的候选边界层集合为空集;对于位于流水线末端的推理节点,其与下游推理节点共享的候选边界层集合为空集。
31、(2)流水线阶段时延的监测与平滑
32、在模型推理过程中,每个推理节点采集该推理节点对应流水线阶段的阶段时延。第i个推理节点对应流水线阶段在第t个推理批次的阶段时延包括计算时延和通信时延,其表示为:
33、
34、其中,表示第个推理节点对应流水线阶段在第个推理批次的阶段时延;表示第个推理节点执行当前启用模型层集合所需的计算时延;表示第个推理节点向下游推理节点传输中间激活数据所需的通信时延。
35、对于位于流水线末端的推理节点,其通信时延能够设置为模型推理结果的输出传输时延或者零。由于设备间链路带宽变化会引起中间激活数据通信时延变化,并进一步反映于流水线阶段时延,本发明以包含通信时延的流水线阶段时延作为链路状态变化对模型推理性能影响的感知信号。
36、所述(2)流水线阶段时延的监测与平滑,具体包括如下步骤:
37、(2.1)历史时延基准计算:第i个推理节点维护对应流水线阶段的历史时延序列,所述历史时延序列按照推理批次顺序记录已经完成的各推理批次的阶段时延。
38、在模型推理启动时,将第i个推理节点对应流水线阶段的滑动窗口长度初始化为预设最小窗口长度。
39、对于首个推理批次,由于尚不存在当前推理批次之前的历史阶段时延,因此不计算历史阶段时延均值和时延波动程度,将首个推理批次的当前滑动窗口长度确定为预设最小窗口长度,并在获得首个推理批次的阶段时延后,将该阶段时延加入历史时延序列。
40、对于首个推理批次之后的第t个推理批次,在获得当前阶段时延且将其加入历史时延序列之前,根据上一推理批次确定的滑动窗口长度以及当前推理批次之前历史时延序列中已有的有效历史阶段时延数量,确定用于计算历史阶段时延均值的有效历史样本数量。
41、所述有效历史样本数量按照下式确定:
42、
43、其中,表示第i个推理节点对应流水线阶段在第t个推理批次用于计算历史阶段时延均值的有效历史样本数量;表示第i个推理节点对应流水线阶段在上一推理批次确定的滑动窗口长度;表示在第t个推理批次之前所述历史时延序列中已有的有效历史阶段时延数量。
44、从所述历史时延序列中选取距离当前推理批次最近的个历史阶段时延,并按照下式计算历史阶段时延均值:
45、
46、其中,表示当前推理批次编号,表示第i个推理节点对应流水线阶段在第t个推理批次之前的历史阶段时延均值;表示相对于当前第个推理批次向前回溯的历史推理批次序号;表示第个推理节点对应流水线阶段在第个推理批次的阶段时延。
47、由此,当已有的历史阶段时延数量不少于上一推理批次确定的滑动窗口长度时,按照所述滑动窗口长度选取对应数量的最近历史阶段时延;当已有的历史阶段时延数量少于所述滑动窗口长度时,采用当前已有的全部历史阶段时延计算历史阶段时延均值,从而使系统在模型推理启动后的历史样本积累阶段逐步建立时延基准。
48、(2.2)时延波动程度计算:对于首个推理批次之后且具有有效历史阶段时延均值的当前推理批次,根据当前阶段时延与历史时延基准之间的归一化偏差计算时延波动程度。为避免历史阶段时延均值为零或者异常接近零时导致归一化结果失真,引入预设正数时延下限,并将历史阶段时延均值与所述预设正数时延下限中的较大值作为归一化基准。所述时延波动程度按照下式确定:
49、
50、其中,表示第i个推理节点对应流水线阶段在第t个推理批次的时延波动程度;表示当前阶段时延;表示当前推理批次之前的历史阶段时延均值;表示预设正数时延下限,且。在正常运行状态下,流水线阶段时延包含模型层计算时延,其历史阶段时延均值通常大于零;所述预设正数时延下限用于对异常零值或者接近零值的情况进行保护。所述时延波动程度越大,表示当前阶段时延相对于历史运行状态的变化越明显。
51、(2.3)滑动窗口长度调整:对于首个推理批次,由于尚未形成历史阶段时延基准,不执行基于时延波动程度的滑动窗口调整,将当前滑动窗口长度保持为预设最小窗口长度;对于形成有效历史阶段时延均值后的后续推理批次,将所述时延波动程度与预设波动阈值进行比较,根据比较结果自适应确定当前滑动窗口长度。当所述时延波动程度不大于预设波动阈值时,将当前滑动窗口长度确定为预设最小窗口长度;当所述时延波动程度大于预设波动阈值时,随所述时延波动程度的增大而增大当前滑动窗口长度,并将所述当前滑动窗口长度限制在预设最大窗口长度以内。所述当前滑动窗口长度按照下式确定:
52、
53、其中,表示第i个推理节点对应流水线阶段在第t个推理批次的滑动窗口长度;表示预设最小窗口长度;表示预设最大窗口长度;表示预设波动阈值;表示窗口缩放系数;表示向上取整。
54、当阶段时延波动处于预设范围内时,采用较短的滑动窗口,以提高系统对近期链路状态变化的响应速度;当阶段时延波动超过预设波动阈值时,增大滑动窗口,以引入更多历史阶段时延样本并降低瞬时网络抖动造成的误判。
55、(2.4)平滑阶段时延计算:将当前阶段时延加入历史时延序列。根据当前滑动窗口长度以及截至当前推理批次已经获得的有效阶段时延数量,确定实际平滑样本数量,所述实际平滑样本数量为与中的较小值。当已经获得的有效阶段时延数量少于当前滑动窗口长度时,以当前已经获得的全部有效阶段时延进行平滑处理;当有效阶段时延数量达到或者超过当前滑动窗口长度时,选取当前推理批次及其之前与当前滑动窗口长度对应数量的最近阶段时延进行平滑处理。根据所述实际平滑样本数量,按照下式获得第i个推理节点对应流水线阶段的平滑阶段时延:
56、
57、其中,表示第i个推理节点对应流水线阶段在第t个推理批次的平滑阶段时延;表示实际平滑样本数量;表示截至第t个推理批次已经获得的有效阶段时延数量。对于首个推理批次,实际平滑样本数量为1,平滑阶段时延等于当前阶段时延。
58、进一步地,对通信时延采用相同的窗口不足处理方式,并根据所述实际平滑样本数量获得第i个推理节点对应流水线阶段的平滑通信时延:
59、
60、其中,表示第i个推理节点对应流水线阶段在第t个推理批次的平滑通信时延。
61、(2.5)运行信息上报:各推理节点按照预设周期或者在完成推理批次后,将对应流水线阶段的平滑阶段时延和平滑通信时延发送至协调节点。在需要确定候选分配方案时,各推理节点还能够将当前启用模型层集合以及当前模型计算边界处的中间激活数据量发送至协调节点,或者由协调节点根据已保存的模型层分配信息和模型结构元数据获得所述当前启用模型层集合以及当前模型计算边界处的中间激活数据量。协调节点汇总各流水线阶段的运行信息,形成反映流水线全局运行状态的监测数据集合。
62、在模型推理启动后的首个推理批次,各推理节点用于建立初始历史时延序列,并基于当前已有样本计算平滑阶段时延和平滑通信时延,但不计算时延波动程度,不执行基于时延波动程度的滑动窗口调整,也不执行模型层迁移触发判断。当各流水线阶段均已经获得至少一个有效历史阶段时延并能够形成历史阶段时延均值后,自后续推理批次起执行时延波动程度计算、滑动窗口调整和模型层迁移触发判断,并继续执行平滑阶段时延和平滑通信时延计算。
63、(3)模型层迁移的触发判断:协调节点根据各流水线阶段的平滑阶段时延判断流水线是否存在持续性负载失衡,并结合动态迁移阈值和迁移冷却条件判断是否触发模型层迁移。
64、所述(3)模型层迁移的触发判断,具体包括如下步骤:
65、(3.1)流水线负载失衡程度计算:协调节点获取各流水线阶段的平滑阶段时延,并将n个流水线阶段中的最大平滑阶段时延与最小平滑阶段时延之差确定为流水线负载失衡程度。
66、所述流水线负载失衡程度按照下式确定:
67、
68、其中,表示第t个推理批次对应的流水线负载失衡程度。所述流水线负载失衡程度越大,表示最慢流水线阶段与最快流水线阶段之间的时延差异越大,产生流水线空泡的程度越严重。
69、(3.2)动态迁移阈值确定:计算全部流水线阶段的平滑阶段时延平均值,并根据所述平滑阶段时延平均值和预设稳态容忍系数确定动态迁移阈值。所述平滑阶段时延平均值按照下式确定:
70、
71、所述动态迁移阈值按照下式确定:
72、
73、其中,表示第t个推理批次对应的全局平滑阶段时延平均值;表示第t个推理批次对应的动态迁移阈值;表示预设稳态容忍系数,且。
74、通过采用与全局平滑阶段时延平均值相关的动态迁移阈值,使迁移触发标准能够随待推理模型规模、推理批次规模、设备组合及系统整体运行速度变化而动态调整。
75、(3.3)迁移间隔确定:推理批次自1开始编号。在模型推理启动时,将用于记录最近一次模型层迁移对应推理批次的迁移批次变量初始化为0。对于当前推理批次t,将当前推理批次与所述迁移批次变量之差确定为迁移间隔。每次完成模型层迁移后,将更新为本次模型层迁移对应的推理批次编号。
76、设置迁移冷却周期,所述迁移冷却周期不小于各推理节点当前滑动窗口长度中的最大值:
77、
78、以使模型层迁移前的历史阶段时延样本能够在再次执行迁移判断前退出对应滑动窗口,降低迁移前历史数据造成重复迁移或者反向迁移的可能性。
79、(3.4)模型层迁移触发:当流水线负载失衡程度大于动态迁移阈值,且当前推理批次与最近一次模型层迁移对应的推理批次之间的间隔大于迁移冷却周期时,触发模型层迁移。
80、所述模型层迁移触发条件按照下式确定:
81、
82、其中,表示第t个推理批次对应的迁移触发标识。当时,各推理节点继续按照当前模型层执行归属进行流水线并行推理;当时,协调节点启动目标分配方案确定及模型层迁移执行过程。
83、(4)目标分配方案的确定与迁移执行
84、当触发模型层迁移时,协调节点基于各相邻推理节点之间的候选边界层集合构建多个候选分配方案,并预测各候选分配方案下各流水线阶段的计算时延和通信时延,以确定目标分配方案。
85、为避免仅调整单个模型计算边界导致流水线负载瓶颈转移至其他流水线阶段,对全部个模型计算边界的候选边界层执行归属进行联合确定。
86、所述(4)目标分配方案的确定与迁移执行,具体包括如下步骤:
87、(4.1)候选分配方案构建:对于第j个推理节点与第个推理节点之间的候选边界层集合,设置分配变量,所述分配变量表示候选边界层集合中由第j个推理节点执行的候选边界层数量。所述分配变量满足:
88、
89、其中,表示候选边界层集合所包含的模型层数量;候选边界层集合中其余个模型层由第个推理节点执行。
90、将全部个模型计算边界对应的分配变量组合为候选分配方案:
91、
92、根据候选分配方案k、各推理节点的基础模型层集合以及各候选边界层集合的执行归属,重构第i个推理节点在候选分配方案k下的模型层执行集合。
93、(4.2)预测计算时延确定:根据候选分配方案k下第i个推理节点的模型层执行集合、各模型层的计算工作量以及第i个推理节点的模型层处理性能参数,确定第i个推理节点对应流水线阶段的预测计算时延。
94、所述预测计算时延按照下式确定:
95、
96、其中,表示候选分配方案k下第i个推理节点对应流水线阶段的预测计算时延;表示第
l个模型层的计算工作量;表示第i个推理节点执行单位模型层计算工作量所需的处理时间。
97、各模型层的计算工作量和各推理节点的模型层处理性能参数能够通过模型部署前的离线性能测试获得,或者根据模型推理过程中的历史计算时延进行更新。
98、(4.3)预测通信时延确定:根据当前平滑通信时延、当前模型计算边界处的中间激活数据量以及候选分配方案k对应的新模型计算边界处的中间激活数据量,确定第i个推理节点对应流水线阶段的预测通信时延。
99、在一种实施方式中,利用当前平滑通信时延表征近期链路的通信状态,并根据候选分配方案导致的模型计算边界变化以及中间激活数据量变化,对候选分配方案下的通信时延进行预测。所述预测通信时延按照下式确定:
100、
101、在迁移决策所对应的较短时间尺度内,当链路状态变化相对较小时,当前平滑通信时延能够较好地表征候选分配方案执行期间的近期链路通信状态。其中,表示候选分配方案k下第i个推理节点对应流水线阶段的预测通信时延;表示第i个推理节点对应流水线阶段当前的平滑通信时延;表示当前模型计算边界处需要向下游传输的中间激活数据量;表示候选分配方案k对应的新模型计算边界处需要向下游传输的中间激活数据量。
102、(4.4)预测阶段时延确定:将第i个推理节点对应流水线阶段的预测计算时延与预测通信时延相加,获得候选分配方案k下第i个推理节点对应流水线阶段的预测阶段时延:
103、
104、其中,表示候选分配方案k下第i个推理节点对应流水线阶段的预测阶段时延。
105、(4.5)目标分配方案选择:对于任一候选分配方案,将该候选分配方案下各流水线阶段中的最大预测阶段时延确定为所述候选分配方案对应的预测流水线周期:
106、
107、其中,表示流水线阶段数量,表示候选分配方案对应的预测流水线周期,表示候选分配方案下第个流水线阶段的预测阶段时延;从全部候选分配方案中确定最小预测流水线周期:
108、
109、将预测流水线周期等于所述最小预测流水线周期的候选分配方案确定为优选候选分配方案;当所述优选候选分配方案为一个时,将该优选候选分配方案确定为目标分配方案;当所述优选候选分配方案为多个时,分别确定各优选候选分配方案对应的最大预测阶段时延与最小预测阶段时延之差,并将所述差值最小的优选候选分配方案确定为目标分配方案:
110、
111、其中,表示目标分配方案;
112、(4.6)模型层迁移执行:协调节点根据目标分配方案确定各候选边界层迁移后的目标执行设备,并向对应推理节点发送迁移控制指令。所述迁移控制指令包括候选边界层标识、目标执行设备标识、执行状态调整信息及数据路由调整信息。
113、对应推理节点根据迁移控制指令,在原推理节点上停用或者冻结需要迁移的候选边界层,并在目标推理节点上启用或者激活所述候选边界层,使同一候选边界层在同一推理批次中由一个推理节点执行。
114、所述停用或者冻结是指原推理节点在模型推理过程中跳过所述候选边界层的计算操作,同时保留所述候选边界层的模型参数;所述启用或者激活是指将预先存储于目标推理节点中的候选边界层加入目标推理节点的当前模型层执行集合。
115、根据迁移后的模型计算边界,更新相邻推理节点之间的模型算子调用关系和中间激活数据传输路径,使上游推理节点将其当前执行的最后一个模型层产生的中间激活数据发送至执行后续模型层的推理节点。
116、由于候选边界层的模型参数已在模型部署阶段冗余存储于相邻推理节点,迁移执行过程中无需在原推理节点与目标推理节点之间传输所述候选边界层的模型参数,仅传输迁移控制指令以及模型推理过程中正常传输的中间激活数据。
117、模型层迁移完成后,更新各推理节点的当前模型层执行集合、模型计算边界、数据路由信息以及最近一次模型层迁移对应的推理批次,并进入迁移冷却周期。
118、各推理节点继续采集迁移后的阶段时延,从而形成“阶段时延监测—流水线负载失衡判断—目标分配方案确定—模型层迁移执行—阶段时延再监测”的闭环控制过程。
119、进一步地,在一种与前述限定相对应的实施方式中,所述待推理模型为视觉语言模型或大语言模型,所述模型层包括按照执行顺序连接的多个transformer层;各推理节点分别执行连续的transformer层,相邻流水线阶段对应的推理节点之间传输上游流水线阶段输出的中间激活数据;所述候选边界层集合由位于相邻流水线阶段的模型计算边界附近的至少一个连续transformer层构成。对于其他能够按照模型层执行顺序进行流水线划分的神经网络模型,能够将对应的连续可执行层单元作为模型层。
120、本发明还提供一种面向异构边缘设备的带宽感知模型层迁移系统,包括协调节点、多个推理节点以及候选边界层预划分与冗余存储模块、阶段时延监测模块、迁移触发模块、迁移决策模块和迁移执行模块,所述协调节点和推理节点均为边缘设备。
121、候选边界层预划分与冗余存储模块:用于在待推理模型完成面向多个推理节点的初始流水线划分后,根据承担相邻流水线阶段的两个推理节点用于冗余存储模型层的可用存储容量,在所述两个推理节点之间的模型计算边界附近确定候选边界层集合,并将所述候选边界层集合的模型参数同时预存于所述两个推理节点;
122、阶段时延监测模块:用于在模型推理过程中采集各流水线阶段的计算时延和通信时延,并据此确定各流水线阶段的阶段时延;根据当前阶段时延相对于历史阶段时延基准的波动程度确定滑动窗口长度,基于所述滑动窗口对各流水线阶段的阶段时延进行平滑处理,获得平滑阶段时延,并基于所述滑动窗口对通信时延进行平滑处理,获得平滑通信时延;
123、迁移触发模块:由所述协调节点执行,用于根据各流水线阶段的平滑阶段时延确定流水线负载失衡程度和动态迁移阈值,并在所述流水线负载失衡程度超过所述动态迁移阈值且满足与所述滑动窗口长度相关的迁移冷却条件时触发模型层迁移;
124、迁移决策模块:由所述协调节点执行,用于对各模型计算边界对应的候选边界层集合中的候选边界层执行归属进行联合组合,形成多个候选分配方案;针对各候选分配方案确定各流水线阶段的预测计算时延和预测通信时延,根据对应的预测计算时延和预测通信时延确定各流水线阶段的预测阶段时延,并选择各流水线阶段中的最大预测阶段时延最小的候选分配方案作为目标分配方案;
125、迁移执行模块:用于根据所述目标分配方案,将相应候选边界层的执行归属切换至预存有所述候选边界层的目标推理节点,并更新中间激活数据的传输路径。
126、所述候选边界层预划分与冗余存储模块能够设置于模型部署节点中;所述阶段时延监测模块能够分别设置于各推理节点中;所述迁移触发模块和迁移决策模块能够设置于协调节点中;所述迁移执行模块由协调节点和各推理节点协同实现。
127、所述系统的具体实现过程与所述面向异构边缘设备的带宽感知模型层迁移方法相同,不再赘述。
128、本发明还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的面向异构边缘设备的带宽感知模型层迁移方法的步骤。
129、本发明还提供一种计算机可读存储介质,其上存储有计算机程序/指令,所述计算机程序/指令被一个或多个处理器执行时,实现上述面向异构边缘设备的带宽感知模型层迁移方法的步骤。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com