如何在云端、网络和边缘部署高效的人工智能深度学习推断

作者: Daniel Eaton - 赛灵思战略市场开发高级经理

深度学习 AI 应用是解锁生产力新时代的关键,人类的创造力能够通过机器得到提高与增强。我们致力于将大量培训数据和海量数学运算用于全面训练每个神经网络。训练可使用大规模批处理功能离线进行,历时数天。经过训练的网络要投入部署,那就面临严格得多的时限要求。

为了纳入 AI 处理功能,数据中心将需要部署更新的服务器,但空间的局限和功耗的的问题都成为阻碍Ai 部署的关键都大的问题。与此同时,客户期望获得即时响应,这就需要确保极低时延。

在汽车驾驶辅助系统或自动驾驶汽车等用例中,必须确保生命安全,这不仅要求最大限度地降低时延,确保可靠的实时响应也至关重要。与此同时,数据中心的规模和功耗要求甚至更严,重量和散热问题也是他们必须要考虑的问题。特斯拉近期举办自动驾驶日活动,介绍他们为什么选择自建芯片,相对于 GPU 而言能够实现低功耗(小于 100 瓦)和低时延(一个批处理大小)的结合优势。

随着 AI 不断在越来越多的领域得到推广,并有助于更快地解决挑战性问题,已部署的神经网络也面临着更高的性能要求。

历久弥新的高效推断

无论我们讨论的是云端 AI 还是 AI 在汽车等领域的嵌入式应用,满足新型应用需求的推断引擎都必须确保低时延、低功耗和小尺寸。

将经过训练的神经网络成功用于执行现实环境的推断,不仅需要适当的调整优化,还需要认真考虑处理平台,从而在功耗、尺寸和散热等常见限制性条件下确保所需的性能(通常指响应时间或时延)。随着 AI 商业部署的推广以及最终用户需求的提升,处理器芯片厂商都在加强高端器件架构的开发以满足相关要求。

一些最新型芯片面向自动驾驶等应用领域,采用结合 CPU 和应用处理器核的混合架构,并搭配大量 GPU 进行数学运算。尽管片上资源可用,但架构是固定的,因此开发者受制于不灵活的存储器接口宽度和数据解析度。8 位整数数学通常是最小宽度,但深度学习算法能以更低的解析度有效操作数据,有时甚至低至 2 位或 1 位。不灵活的 CPU 或 GPU 计算架构越来越难以满足神经网络性能要求,我们需要更灵活的架构调整解析度及核数量,从而实现最佳计算性能与功耗。

调整优化受训练的神经网络并在目标处理器中高效实施已经非常困难,新型更高效神经网络的开发源源不断,更是超越了芯片的发展速度。项目一开始基于最先进的技术,但很可能在部署时技术就已经过时了。不过,部署时最尖端的神经网络技术几乎肯定无法在现有处理器架构中表现良好。

可配置的 AI 加速

为应对性能、功耗和未来灵活应变能力的挑战,开发团队目前正在利用 FPGA 提供的灵活性优势来构建 AI 加速器。

FPGA 能配置成百上千乃至成千上万个高度并行化的计算单元,最低支持单位解析度,并且为了消除瓶颈还可定制存储器接口。此外,FPGA 可方便地再编程,这就能让开发者在芯片迭代之间更灵活地升级神经网络结构,并跟上技术发展的步伐。

2017 年,赛灵思收购了 AI 专业公司深鉴科技 (DeePhi Tech),此后加大了高级调整优化工具和 IP 的开发力度,从而更好地在 FPGA 中部署神经网络。通过删除不具备影响力的近零训练权重,调整优化可精简神经网络,并发现可最大限度减少计算操作数量、降低功耗的网络组织方式。DeePhi Tech 的神经网络优化技术经过优化后运行在 FPGA 上,能减少多达九成权重,同时实现可接受的图形识别精度。性能提速高达 10 倍,能效也得到大幅提升。

从云端到边缘

自动驾驶技术是一个很好的例子,说明了人们对低时延、小尺寸、小重量和低功耗的迫切需求。雷达或摄像头检测到的对象(如车辆、骑行者、行人等)需要在瞬间加以识别。众所周知,人类在四分之一秒的时间之内就能对视觉输入做出反应,因此,自动驾驶系统所需的视觉识别功能至少也应达到相同的速度,甚至应当更快。要达到人类驾驶员的水平,就整个检测—识别—响应过程而言,系统应当能在 1.5 秒之内做出紧急制动决定。

赛灵思近期宣布同奔驰开展研发合作,实施基于高性能 FPGA 的深度学习处理器,用来分析来自摄像头、雷达和激光雷达的数据,实现驾驶员监控、车辆导引和防撞等功能。两家公司的专家都在高度自适应汽车平台上实施 AI 算法,并将为奔驰的神经网络优化深度学习处理器技术。该技术最大限度降低时延,同时还能实现较高的功率效率,确保系统在汽车有限的散热条件下实现可靠工作。

此外,在数据中心领域,FPGA 也能支持深度学习加速器,其单位功耗性能水平大大超越典型的 GPU 处理器。SK Telecom 成功提升了其语音助理 NUGU 的性能,这要归功于将 Kintex® UltraScale™ FPGA 作为数据中心的 AI 加速器。这是韩国电信产业首次部署 AI,相对于传统的 GPU 处理器而言,SK Telecom 的自动语音识别 (ASR) 应用速度提升高达 500%。单位功耗性能提升 16 倍。此外,现有的仅使用 CPU 的服务器在采用加速器后,处理多个语音通道时能显著降低 SKT 的总体拥有成本 (TCO)。

另一个例子就是最新型 AI 家庭安全功能。作为与新兴市场领域中领先企业之一 Tend Insights 联合开发的云端平台的一部分,由 FPGA 加速的低时延推断能够支持更加智能的监控功能和创新服务,如居家护理等。安装在家里各个位置的摄像头具备识别有关事件的基本功能,并能够将画面上传到在云端运行的基于 FPGA 的 AI 加速器中。这些加速器可通过一系列 API 访问(本例中是作为赛灵思机器学习套件 (ML Suite) 硬件编译器的一部分),区分哪些人是家庭成员、哪些是陌生人,哪些是家庭宠物,哪些是其他动物,从而判断是否存在威胁并发出警报。内部摄像头的画面帧在业主同意下进行分析,能够判断家庭成员是否面临困难,比如老人是否摔倒了需要帮助。随后,该系统能够发出呼救,包括拨打指定家庭成员的电话或寻求专业护理机构的帮助。

AI 也在众多其他场合下发挥作用,用来进行复杂的模式匹配和图像识别,并快速获得结果。这包括基因组分析,加速医疗诊断和治疗。使用 FPGA 加速 AI 推断已将病人基因组测序和异常识别所需时间从 24 小时缩短至大约 30 分钟,进一步加速的进程也在推进之中。然后就是原子研究,核聚变实验画面捕获涉及极高清图形,每帧动不动就达到 1 亿像素的水平,而且需要在 25ms 之内处理。这种挑战需要引入低时延神经网络探测器,传统 CPU 推断根本无法应对。事实上,传统方法相差甚远。FPGA 已经在帮助科学家获得他们所需的答案了。

结论

AI 最近才成为一个切实可行的解决方案,但在人们的日常工作生活中已经开始发挥重要作用。降低运营成本、缩短客户等待时间、打造新的增值服务机遇,这些潜力让商业机构深感激动,同时也加大了性能提升的压力,需要降低时延、功耗和成本。

创建 AI 有两大要素,一是训练某种类型的神经网络,让其尽可能符合现有任务要求;二是对经过训练的网络进行调整优化,作为推断引擎在适当的处理器上实施。

FPGA 架构的灵活性和高性能结合高性能实施优化工具(如 ML 成套硬件编译器和 Deephi 优化器),再加上实施最新神经网络架构带来的可再配置性而无需等待芯片重制,这都构成在云端、网络或网络边缘实现加速 AI 推断的关键因素。

欢迎交流。

推荐阅读