趋势:机器学习模型训练从中央云服务器逐步转移到边缘服务器
好处:
挑战:
研究了在异构、资源受限的分布式边缘基础设施上在线优化机器学习服务的整体推理精度问题,同时适应不可预测的推理工作量。
将问题建模为一个带有长期约束的时变非线性整数规划:
整数规划{问题目标:最大化整体推理精度问题约束{队列状态转换机器学习模型选择和交付推理工作负载分布整数规划\begin{cases}问题目标:最大化整体推理精度 \\问题约束\begin{cases}队列状态转换\\机器学习模型选择和交付\\推理工作负载分布\end{cases}\end{cases} 整数规划⎩⎨⎧问题目标:最大化整体推理精度问题约束⎩⎨⎧队列状态转换机器学习模型选择和交付推理工作负载分布
决策存在滞后性:只有决策了,才知道是否满足约束。
方案:选择设计在线算法,优化目标和上限累积,长期约束违反随时间的推移。
我们设计了多项式时间在线算法
该算法由一个在线学习组件和一个随机舍入组件组成,该组件在每个时隙中进行分数阶决策,而不观察当前输入,并将分数阶决策转换为整数,而不改变期望中的约束违反。
性能:只会对最优性损失产生次线性动态遗憾,而对长期约束违反则会产生次线性动态拟合【两个指标】
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sgHL920J-1678173510342)(%E9%80%9A%E8%BF%87%E5%9C%A8%E7%BA%BF%E5%AD%A6%E4%B9%A0%E6%8F%90%E4%BE%9B%E8%BE%B9%E7%BC%98%E6%8E%A8%E7%90%86%E6%9C%8D%E5%8A%A1.assets/image-20230305131629138.png)]
边缘计算设备:一系列分布式异构边缘N={1,2,...,N}\mathcal{N}=\{1,2,...,N\}N={1,2,...,N},使用cnc_ncn表示边缘的容量。
机器学习模型:M个机器学期模型M={1,2,...,M}\mathcal{M}=\{1,2,...,M\}M={1,2,...,M},预训练并存储在云中。
推断工作负荷处理:
控制变量:
问题目标:最小化整体的精度损失
∑t=1T∑n∑mam,txn,m,t\sum_{t=1}^T\sum_n\sum_m a_{m,t}x_{n,m,t} t=1∑Tn∑m∑am,txn,m,t
问题约束:
队列状态转换,保证队列长度非负
∀t,n:qn,t+1=[qn,t+∑n′yn′,n,t−∑mpmxn,m,t]+qn,1≥0,qn,T+1=0\forall t,n:q_{n,t+1}=[q_{n,t}+\sum_{n'}y_{n',n,t}-\sum_mp_mx_{n,m,t}]^+\\ q_{n,1}\geq 0,q_{n,T+1}=0 ∀t,n:qn,t+1=[qn,t+n′∑yn′,n,t−m∑pmxn,m,t]+qn,1≥0,qn,T+1=0
推理工作负载分布
∀t,n:∑n′yn,n′,t=rn,t\forall t,n:\sum_{n'}y_{n,n',t}=r_{n,t} ∀t,n:n′∑yn,n′,t=rn,t
迁移代价
∀t,n:∑msm[zn,m,t−zn,m,t−1]++τ∑n′,n′≠n(yn,n′,t+yn′,n,t)≤bn,t\forall t,n:\sum_ms_m[z_{n,m,t}-z_{n,m,t-1}]^++\tau\sum_{n',n'\neq n}(y_{n,n',t}+y_{n',n,t})\leq b_{n,t} ∀t,n:m∑sm[zn,m,t−zn,m,t−1]++τn′,n′=n∑(yn,n′,t+yn′,n,t)≤bn,t
下载模型+创建新的模型实例
确保只有当模型决定驻留在边缘时,边缘才能有模型的实例
∀t,n,m:dmxn,m,t≤zn,m,tcn\forall t,n,m:d_mx_{n,m,t}\leq z_{n,m,t}c_n ∀t,n,m:dmxn,m,t≤zn,m,tcn
确保用于处理推理查询的资源处于边缘容量之内
∀t,n:∑mdmxn,m,t≤cn\forall t,n:\sum_md_mx_{n,m,t}\leq c_n ∀t,n:m∑dmxn,m,t≤cn
变量为整数
∀t,n,n′,m:xn,m,t,yn,n′,t∈N,zn,m,t∈{0,1}\forall t,n,n',m:x_{n,m,t},y_{n,n',t}\in \N,z_{n,m,t}\in\{0,1\} ∀t,n,n′,m:xn,m,t,yn,n′,t∈N,zn,m,t∈{0,1}
问题公式化:
问题:没有用户推理查询的先验知识,否则在知道这样的工作量之前,可在每个时间段动态地做出决策,同时仍然满足每个时间段的约束;
解决方式:选择只在长期内强制约束,并设计在线算法使目标最小化,并约束累积约束违反随时间的变化。
min∑t=1T{∑n∑mam,txn,m,t}s.t. ∀n:∑t=1Tgt0,n≤0,∀n:∑t=1Tgt1,n:=∑t=1T{∑n′yn,n′,t−rn,t}≤0,∀n:∑t=1Tgt2,n:=∑t=1T{rn,t−∑n′yn,n′,t}≤0,∀n:∑t=1Tgt3,n≤0,∀n,m:∑t=1Tgt4,n,m≤0,∀t,n:htn:=∑mdmxn,m,t−cn≤0,var. ∀t,n,m:xn,m,t,yn,n′,t∈N,zn,m,tload∈{0,1},\begin{aligned} \min & \sum_{t=1}^T\left\{\sum_n \sum_m a_{m, t} x_{n, m, t}\right\} \\ \text { s.t. } & \forall n: \sum_{t=1}^T g_t^{0, n} \leq 0, \\ & \forall n: \sum_{t=1}^T g_t^{1, n}:=\sum_{t=1}^T\left\{\sum_{n^{\prime}} y_{n, n^{\prime}, t}-r_{n, t}\right\} \leq 0, \\ & \forall n: \sum_{t=1}^T g_t^{2, n}:=\sum_{t=1}^T\left\{r_{n, t}-\sum_{n^{\prime}} y_{n, n^{\prime}, t}\right\} \leq 0, \\ & \forall n: \sum_{t=1}^T g_t^{3, n} \leq 0, \\ & \forall n, m: \sum_{t=1}^T g_t^{4, n, m} \leq 0, \\ & \forall t, n: h_t^n:=\sum_m d_m x_{n, m, t}-c_n \leq 0, \\ \text { var. } & \forall t, n, m: x_{n, m, t}, y_{n, n^{\prime}, t} \in \mathbb{N}, z_{n, m, t}^{l o a d} \in\{0,1\}, \end{aligned} min s.t. var. t=1∑T{n∑m∑am,txn,m,t}∀n:t=1∑Tgt0,n≤0,∀n:t=1∑Tgt1,n:=t=1∑T{n′∑yn,n′,t−rn,t}≤0,∀n:t=1∑Tgt2,n:=t=1∑T{rn,t−n′∑yn,n′,t}≤0,∀n:t=1∑Tgt3,n≤0,∀n,m:t=1∑Tgt4,n,m≤0,∀t,n:htn:=m∑dmxn,m,t−cn≤0,∀t,n,m:xn,m,t,yn,n′,t∈N,zn,m,tload∈{0,1},
约束转换为长期版本,并予以简化处理:
ItI_tIt是x,y,z组成的矩阵。
在线学习:每一个时隙的决策应该从刚刚过去的决策中学习。
设计了一种新型的边缘推理多项式时间在线算法(OAEI),它有两个组成部分:
设计了一种交替的原对偶方法。注意到,求解的凸问题:
等价于求解:
那么Lagrange函数为:
因此,我们可以在通过修改的下降步骤使Lt(I,λt+1)\mathcal{L_t}(I,λ_{t+1})Lt(I,λt+1)相对于原始变量I最小化和通过双上升步骤使Lt(It,λ)\mathcal{L}_t(It,λ)Lt(It,λ)相对于拉格朗日乘子λλλ最大化之间进行交替。具体来说,在时刻t+1t+ 1t+1,解决了以下问题:
为了将分数决策It,tI_t,tIt,t转换为整数,提出了一个随机舍入组件作为算法2。
该方式是基于primal dual的,是不是可以理解成等价为内点法创建的另一种创新的、适用于本问题的一种解法
随机舍入组件这里只关注01整型变量zn,m,tz_{n,m,t}zn,m,t如何处理的。
Step1:分别处理每个小数值,并将其舍入为整数,其期望是舍入后的小数值本身,如第1行到第5行所示。
其实对于0~1之间的数而言,上述的操作及相当于根据数据接近1的程度对其取1或0
更具体地说,分数值可以分为两部分:小数部分⌊At⌋\lfloor A_t\rfloor⌊At⌋和实部分AtA_tAt。小数作四舍五入的概率。
下一篇:ChatGPT在工业领域的用法