铜川网站建设报价,jsp页面如何做网站pv统计,wordpress找回密码页面,软件开发文档源 | 机器之心研究者表示#xff0c;他们将边缘训练看作一个优化问题#xff0c;从而发现了在给定内存预算下实现最小能耗的最优调度。目前#xff0c;智能手机和嵌入式平台等边缘设备上已经广泛部署深度学习模型来进行推理。其中#xff0c;训练仍然主要是在具有 GPU 等高… 源 | 机器之心研究者表示他们将边缘训练看作一个优化问题从而发现了在给定内存预算下实现最小能耗的最优调度。目前智能手机和嵌入式平台等边缘设备上已经广泛部署深度学习模型来进行推理。其中训练仍然主要是在具有 GPU 等高通量加速器的大型云服务器上完成。集中式云训练模型需要将照片和按键等敏感数据从边缘设备传输到云端从而牺牲了用户隐私并导致了额外的数据移动成本。▲图注推特 Shishir Patil因此为了使用户在不牺牲隐私的情况下个性化他们的模型联邦学习等基于设备的训练方法不需要将数据整合到云端也能执行本地训练更新。这些方法已被部署在谷歌 Gboard 键盘上以个性化键盘建议也被 iPhones 手机用来提升自动语音识别。同时当前基于设备的训练方法不支持训练现代架构和大模型。在边缘设备上训练更大的模型不可行主要是有限的设备内存无法存储反向传播激活。ResNet-50 的单次训练迭代所需的内存是推理的 200 多倍。以往工作提出的策略包括分页到辅助内存和重新实现以减少云端训练的内存占用。但是这些方法会显著增加整体能耗。与分页方法相关的数据传输通常需要比重计算数据更多的能量。随着内存预算的缩减重新实现会以 O(n^2 ) 的速度增加能耗。在 UC 伯克利最近的一篇论文中几位研究者表明分页和重新实现是高度互补的。通过对简单操作重新实现同时将复杂操作的结果分页到闪存或 SD 卡等辅助存储器上他们能够以最小的能耗扩展有效的内存容量。并且通过这两种方法的结合研究者还证明了在移动级边缘设备上训练 BERT 等模型是可能的。通过将边缘训练看作一个优化问题他们发现了在给定内存预算下实现最小能耗的最优调度。论文地址https://arxiv.org/pdf/2207.07697.pdf项目主页https://poet.cs.berkeley.edu/ GitHub地址https://github.com/shishirpatil/poet研究者提出了 POETPrivate Optimal Energy Training这是一种在内存受限边缘设备上对现代神经网络进行能量最优训练的算法其架构如下图 1 所示。鉴于为反向传播缓存所有激活张量的成本极高POET 对激活进行优化分页和重新实现因而可以将内存消耗最高减少两倍。他们将边缘训练问题重新表述为整数线性程规划ILP发现可以通过求解器在 10 分钟内将其求解到最优。▲图注POET 在边缘设备上对 SOTA 机器学习模型的训练进行优化。对于部署在真实世界边缘设备上的模型当边缘设备出现空闲并可以计算周期时就会进行训练例如谷歌 Gboard 会在手机充电时安排模型更新。因此POET 也包含了严格的训练限制。给定内存限制和训练 epoch 的数量POET 生成的解决方案也能满足给定的训练截止期限。此外研究者还利用 POET 开发了一个全面的成本模型并证明它在数学上是保值的即不做近似适用于现有的开箱即用架构。论文一作 Shishir Patil 在演示视频中表示POET 算法可以在智能手机等商用边缘设备上训练任何需要极大内存的 SOTA 模型。他们也成为了首个展示在智能手机和 ARM Cortex-M 设备上训练 BERT 和 ResNet 等 SOTA 机器学习模型的研究团队。集成分页和重新实现重新实现和分页是降低大型 SOTA ML 模型内存消耗的两种技术。在重新实现中一旦不再需要激活张量就会被删除最常见的是在前向传播期间。从而释放了宝贵的内存可用于存储后续层的激活。当再次需要删除的张量时该方法会根据谱系的规定从其他相关的激活中重新计算。而分页也称为 offloading是一种减少内存的补充技术。在分页中不是立即需要的激活张量从主存储器调出到二级存储器例如闪存或 SD 卡。当再次需要张量时将其分页。图 2 显示了一个八层神经网络的执行时间表。沿着 X 轴每个单元对应神经网络的每一层共 8 层 L8。Y 轴表示一个 epoch 内的逻辑时间步长。图中占用的单元用颜色填充表示在相应的时间步执行的操作前向 / 后向传播计算、重新实现或分页。例如我们可以看到 L1 的激活是在第一个时间步 (T1) 计算的。在 T2 和 T3 时刻分别计算 L2 和 L3 的激活量。假设层 L2 和 L3 恰好是内存密集型但计算成本较低的运算例如非线性 (tanH、ReLU 等)那么重新实现就成为了最佳选择。我们可以删除激活({T3, L2} {T4, L3}) 来释放内存当后向传播过程中需要这些激活时可以再重新实现它们({T14, L3} {T16, L2})。假设 L5 和 L6 层是计算密集型运算例如卷积、密集矩阵乘法等。对于此类运算重新实现将导致运行时间和能量的增加并且这种方式是次优的。对于这些层最好将激活张量分页到辅助存储{T6L5}{T7L6}并在需要时分页到{T10L6}{T11L5 }。分页的一个主要优点是根据内存总线的占用情况可以进行 pipelin 处理以隐藏延迟。这是因为现代系统具有 DMA直接内存访问特性它可以在计算引擎并行运行时将激活张量从辅助存储移动到主内存。例如在时间步 T7可以同时将 L6 调出并计算 L7。但是重新实现是计算密集型的不能并行化这导致运行时间增加。例如我们必须将时间步 T14 用于重新计算 L3从而延迟其余反向传播执行。POET该研究提出了 POET这是一种用于深度神经网络的图形级编译器它重写了大型模型的训练 DAG以适应边缘设备的内存限制同时保持高能效。POET 是硬件感知的它首先跟踪前向和后向传播的执行以及相关的内存分配请求、运行时间以及每次操作的内存和能源消耗。对于给定的硬件每个工作负载的这种细粒度分析只发生一次具有自动化、便宜等特性并且为 POET 提供了最准确的成本模型。POET 然后生成可以有效求解的混合整数线性规划 (MILP)。POET 优化器搜索有效的重新实现和分页调度以最大限度地减少受内存限制的端到端能源消耗。然后使用得到的调度生成一个新的 DAG在边缘设备上执行。虽然 MILP 是在商用硬件上解决的但发送到边缘设备的调度表只有几百字节因此内存效率很高。对于计算成本低但内存密集型的操作重新实现是最有效的。然而分页最适合于计算密集型操作在这种操作中重新实现将导致大量的能量开销。POET 在一个集成搜索空间中共同考虑重新实现和分页。本文方法可扩展到复杂、现实的架构中POET 优化器算法如下。该研究在优化问题中引入了一个新的目标函数以最小化计算、page-in 和 page-out 的综合能耗分页和重新实现能耗结合的新目标函数为其中Φ_compute、Φ_pagein 和Φ_pageout 分别表示每个节点在计算、page-in 和 page-out 时所消耗的能量。POET 根据图的哪些节点 (k) 进行了重新实现以及在每个时间步长 (t) 将哪些节点 page-in 图片或 page-out 图片来输出 DAG 调度。实验结果在对 POET 的评估中研究者试图回答三个关键问题。首先POET 在不同的模型和平台上能够减少多少能耗其次POET 如何从混合分页和重新实现策略中获益最后POET 如何适应不同的运行时预算研究者在下表 2 中列出四种不同的硬件设备分别为 ARM Cortex M0 MKR1000、ARM Cortex M4F nrf52840、A72 Raspberry Pi 4B 和 Nvidia Jetson TX2。POET 是完全硬件感知的依赖于细粒度的分析。下图 3 显示了单次训练 epoch 的能耗每列分别对应不同的硬件平台。研究者发现POET 在所有平台上生成节能耗最优的调度Y 轴同时减少峰值内存消耗X 轴并符合时间预算。在下图 5 中研究者在 A72 上训练 ResNet-18 时对 POET 和 Capuchin 进行了基准测试。随着 RAM 预算的减少Capuchin 比具有完整内存的基线多了 73% 到 141% 的能耗。相比之下POET 产生的能耗不到 1%。这种趋势适用于测试的所有架构和平台。表 3 中该研究在 Nvidia 的 Jetson TX2 上训练 ResNet-18 时对 POET 和 POFO 进行了基准测试。研究发现 POET 找到了一个集成的重新实现和分页调度可将峰值内存消耗降低 8.3%并将吞吐量提高 13%。这展示了 POET 的 MILP 求解器的优势它能够在更大的搜索空间上进行优化。虽然 POFO 仅支持线性模型但 POET 可以推广到非线性模型如图 3 所示。图 4 强调了 POET 在不同时间约束下采用集成策略的好处。对于每个运行时下图绘制了总能耗图。后台回复关键词【入群】加入卖萌屋NLP、CV、搜推广与求职讨论群