即使在移动AI时代,软件仍将主导业界( 二 )
- 上市时间:特殊硬件通常需要数年才能上市 。 为新开发的硬件加速器创建关联的编译器和系统软件会进一步延长该过程 。 使用此类硬件的应用程序经常需要使用特殊的 API 并满足许多特殊的约束(例如 , 将计算限制到特定大小) , 这会延长 AI 产品的上市时间 。
- 成本:开发专用的 ASIC 处理器非常昂贵 , 将它们添加到现有系统中会产生额外的费用 。
- 技术成熟度:与通用处理器不同 , 专用硬件的生产量要小得多;因此 , 其生产可用的技术通常比通用处理器落后几代 。 例如 , 大多数 AI 加速器都基于 28 至 65nm CMOS 技术 , 其晶体管密度比最新的移动 CPU 或 GPU 低 10 倍以上 。
- 速度:由于采用了旧技术 , 专用处理器的运行速度比通用处理器要慢得多 。
- 生态系统:通用处理器具有完善的生态系统(调试工具 , 优化工具 , 安全措施) , 这使得高质量应用程序的开发比使用特殊处理器要容易得多 。
- 使用:由于上述所有原因 , 使用特殊处理器通常仅限于创建该处理器的公司及其很少的密切客户 。 结果 , 为特殊处理器开发的 AI 应用程序仅可以被有限数量的设备所采用 。
在本节中 , 我们介绍了压缩编译协同设计软件算法方案的细节 , 我们相信这将完全改变 AI 边缘计算的格局 。 压缩和编译是在硬件上拟合深度学习模型以实现有效执行的两个关键步骤 。 模型压缩是减少深度学习模型的大小并提高其速度的常用技术 。 压缩技术分为两类 , 剪枝(pruning)和量化(quantization) 。 剪枝会删除层或层中的输出(filter)或输入(channel)通道 , 而量化会降低参数的精度(例如 , 浮点数到短整数) 。 编译是指从给定的深度学习模型生成可执行代码的过程 。 本质上 , 编译是将深度学习中的高级操作映射到基础硬件支持的低级指令的过程 。 编译过程在优化代码以有效执行中起着关键作用 。
压缩编译协同设计的原理是同时完成压缩与编译两个组件的设计 , 并且此协同作用体现在三个层次上 。
- 需求 / 偏好级别:在此级别上 , 协同作用是在设计另一个组件时考虑一个组件的偏好或需求 。 一个例子是 , 主流处理器通常更喜欢具有某些计算模式(pattern)的代码 。 如果模型压缩步骤可以考虑该首选项 , 则可以创建一个更可修改的方案 , 以使得编译步骤有效地工作 。
- 视角 / 内涵级别:在此级别上 , 协同作用是在处理其中一个组件的问题时采取另一个组件对该问题的视角或内涵 。 一个例子就是可组合性或模块化原则 , 这个原则在保持编程系统和编译高效且可扩展方面一直发挥着至关重要的作用 。
- 方法论级别:在此级别上 , 协同作用是将两个组件的方法论紧密集成在一起 。 例如 , 通过自动生成代码以启用新的深度学习剪枝方案的编译器框架 , 我们可以产生高达 180 倍的加速 。
本文插图
模式化(pattern)的训练阶段可以执行有效的卷积核模式剪枝(kernel pattern pruning)和连通性剪枝(connectivity pruning) , 以便在不损失准确性的情况下实现最高的剪枝(加速)倍率 。 首先 , 我们设计了一套卷积核模式(kernel pattern)来为每个内核选择 。 然后 , 我们使用扩展的基于 ADMM(交替方向乘子算法)的算法 , 根据设计的卷积核模式集和连通性剪枝方案执行模式化剪枝 。
细粒度的 DNN 分层表示(LR)提供了高级别的表示方法 , 使我们能够从各种资源对 DNN 模型进行常规优化 。 特别地 , LR 包括模式(pattern)和调谐(tuning)相关信息 。 编译器的优化依赖于 LR 的一系列改进 , 以生成紧凑模型和优化过的执行代码 。
推荐阅读
- 互联网的一些事|QuestMobile:2020 移动互联网人均使用时长同比增长 12.9%
- 圳优信息|“副业刚需”的时代,怎样发展副业才靠谱?
- 测评玩转花式种草,西五街,能把美妆测试安利给Z时代吗?
- 三易生活|即使在新款手机中,我们可能也避不开这些烦恼
- 生活海风说|三星Sero开售,专为匹配智能手机等移动设备而设计的电视
- 河边有只象|无惧后浪的上下翻腾左右摇摆,惠普P5001T移动固态硬盘上手记
- 太平洋电脑网PConline|微软助力T3/4零售商,携手共赢社交电商时代
- 文汇|申城“三千兆”时代已经全面到来 触发信息消费新动能
- 数评时代|安兔兔5月中档手机性能榜:骁龙765G仅两款,5G主力市场沦陷
- 一点财经|商业载人航天时代开启 移民火星不是梦 谁将成为中国版SpaceX?
