首次在智能手机上训练BERT和ResNet,能耗降35%(3)
扫一扫
分享文章到微信
扫一扫
关注99科技网微信公众号
假设 L5 和 L6 层是计算密集型运算,例如卷积、密集矩阵乘法等。对于此类运算,重新实现将导致运行时间和能量的增加,并且这种方式是次优的。对于这些层,最好将激活张量分页到辅助存储({T6,L5},{T7,L6}),并在需要时分页到({T10,L6},{T11,L5 })。
分页的一个主要优点是,根据内存总线的占用情况,可以进行 pipelin 处理,以隐藏延迟。这是因为现代系统具有 DMA(直接内存访问)特性,它可以在计算引擎并行运行时将激活张量从辅助存储移动到主内存。例如,在时间步 T7,可以同时将 L6 调出并计算 L7。但是,重新实现是计算密集型的,不能并行化,这导致运行时间增加。例如,我们必须将时间步 T14 用于重新计算 L3,从而延迟其余反向传播执行。
POET
该研究提出了 POET,这是一种用于深度神经网络的图形级编译器,它重写了大型模型的训练 DAG,以适应边缘设备的内存限制,同时保持高能效。
POET 是硬件感知的,它首先跟踪前向和后向传播的执行以及相关的内存分配请求、运行时间以及每次操作的内存和能源消耗。对于给定的硬件,每个工作负载的这种细粒度分析只发生一次,具有自动化、便宜等特性,并且为 POET 提供了最准确的成本模型。POET 然后生成可以有效求解的混合整数线性规划 (MILP)。
POET 优化器搜索有效的重新实现和分页调度,以最大限度地减少受内存限制的端到端能源消耗。然后使用得到的调度生成一个新的 DAG,在边缘设备上执行。
虽然 MILP 是在商用硬件上解决的,但发送到边缘设备的调度表只有几百字节,因此内存效率很高。
对于计算成本低但内存密集型的操作,重新实现是最有效的。然而,分页最适合于计算密集型操作,在这种操作中,重新实现将导致大量的能量开销。POET 在一个集成搜索空间中共同考虑重新实现和分页。
本文方法可扩展到复杂、现实的架构中,POET 优化器算法如下。
该研究在优化问题中引入了一个新的目标函数,以最小化计算、page-in 和 page-out 的综合能耗,分页和重新实现能耗结合的新目标函数为:
99科技网:http://www.99it.com.cn
