陈天奇团队新研究:自动优化深度学习工作负载

简介: 华盛顿大学计算机系博士生陈天奇、以及上海交通大学和复旦大学的研究团队提出一个基于学习的框架,以优化用于深度学习工作负载的张量程序。该研究使用基于机器学习的方法来自动优化张量运算核心并编译AI工作负载,从而可以将最优的性能部署到所有硬件。

深度学习在我们的日常生活中已经无处不在。深度学习模型现在可以识别图像,理解自然语言,玩游戏,以及自动化系统决策(例如设备放置和索引)。张量算符(tensor operators),如矩阵乘法和高维卷积,是深度学习模型的基本组成部分。


可扩展的学习系统依赖于手动优化的高性能张量操作库,如cuDNN。这些库针对较窄范围的硬件进行了优化。为了优化张量算符,程序员需要从逻辑上等价的许多实现中进行选择,但由于线程,内存重用, pipelining和其他硬件因素的不同,性能上的差别很大。


支持多种硬件后端需要巨大的工程努力。即使在当前支持的硬件上,深度学习框架和模型的开发也从根本上受到库中优化操作符设置的限制,阻止了诸如操作符熔合(operator fusion)之类的优化,从而产生不受支持的操作符。


针对这个问题,华盛顿大学计算机系博士生陈天奇、以及上海交通大学和复旦大学的研究团队提出一个基于学习的框架,以优化用于深度学习工作负载的张量程序( tensor programs)。

2f11d6f299d8435a94a94b3e918b97c91632a8b6

我们提出一个基于学习的框架,以优化用于深度学习工作负载的张量程序( tensor programs)。矩阵乘法和高维卷积等张量算符( tensor operators)的高效实现是有效的深度学习系统的关键。然而,现有的系统依赖于手工优化的库,如cuDNN,这些库只有很少的服务器级GPU能很好地支持。对硬件有要求的操作库的依赖限制了高级图形优化的适用性,并且在部署到新的硬件目标时会产生巨大的工程成本。我们利用学习来消除这种工程负担。我们学习了领域特定的统计成本模型,以指导在数十亿可能的程序变体上搜索张量算符的实现。我们通过跨工作负载的有效模型迁移来进一步加快搜索速度。

实验结果表明,我们的框架能够为低功耗CPU,移动GPU和服务器级GPU提供与最先进手工调优库相媲美的性能

学习优化张量程序问题的形式化方法

我们提出以下问题:我们是否可以通过学习来减轻这种工程负担,并自动优化给定硬件平台的张量算符程序?本论文为这个问题提供了肯定的答案。我们建立了统计成本模型来预测给定的低级程序的程序运行时间。这些成本模型指导了对可能程序空间的探索。我们的成本模型使用可迁移的表示形式,可以在不同的工作负载之间进行泛化,以加速搜索。这一工作的贡献如下:

d47e62d2b349aca45e42305ed6714efbe5ed61d9 我们提供了 学习优化张量程序 问题的一种形式化方法,并总结了其关键特征。
d47e62d2b349aca45e42305ed6714efbe5ed61d9 我们提出了一个 基于机器学习的框架 来解决这个新问题。
d47e62d2b349aca45e42305ed6714efbe5ed61d9 我们使用迁移学习将优化速度进一步 提高2倍至10倍

d47e62d2b349aca45e42305ed6714efbe5ed61d9我们在这个框架中提供了详细的组件设计选择和实证分析。

5c0b8a04c49956ce4425c26acd596aa93a253bda

在实际的深度学习工作负载的实验结果表明,我们的框架提供的端到端性能改进比现有框架好1.2倍至3.8倍

79b6d9d77e86d3c430e90e0e96087fd7feb67ab9

讨论和结论

我们提出了一种基于机器学习的框架来自动优化深度学习系统中张量算符的实现。我们的统计成本模型允许在工作负载之间进行有效的模型共享,并通过模型迁移加速优化过程。这个新方法的优秀实验结果显示了对深度学习部署的好处。

在我们的解决方案框架之外,这个新问题的具体特征使它成为相关领域创新的一个理想测试平台,如神经程序建模、贝叶斯优化、迁移学习和强化学习。

在系统方面,学习优化张量程序可以使更多的融合操作符、数据布局和数据类型跨不同的硬件后端。这些改进对于改进深度学习系统至关重要。我们将开放我们的实验框架,以鼓励在这些方向进行更多的研究。


原文发布时间为:2018-05-23

本文作者:肖琴

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。

原文链接:陈天奇团队新研究:自动优化深度学习工作负载

相关文章
|
21天前
|
机器学习/深度学习 数据采集 传感器
基于深度学习的图像识别技术在自动驾驶中的应用研究####
本文旨在探讨深度学习技术,特别是卷积神经网络(CNN)在自动驾驶车辆图像识别领域的应用与进展。通过分析当前自动驾驶技术面临的挑战,详细介绍了深度学习模型如何提升环境感知能力,重点阐述了数据预处理、网络架构设计、训练策略及优化方法,并展望了未来发展趋势。 ####
73 6
|
28天前
|
机器学习/深度学习 数据采集 运维
使用 Python 实现深度学习模型:智能食品生产线优化
使用 Python 实现深度学习模型:智能食品生产线优化
52 13
|
25天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
48 8
|
25天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品供应链优化的深度学习模型
使用Python实现智能食品供应链优化的深度学习模型
39 8
|
29天前
|
机器学习/深度学习 数据采集 算法
深度学习中的模型优化策略
在深度学习的海洋中,模型优化是提升航船速度的关键。本文将探讨如何通过调整学习率、应用正则化技术以及利用先进的优化算法来提高深度学习模型的性能。我们将从简单的线性回归模型入手,逐步深入到复杂的卷积神经网络,展示如何在实践中应用这些优化策略,以期达到更好的泛化能力和计算效率。
|
23天前
|
机器学习/深度学习 监控 自动驾驶
基于深度学习的图像识别技术研究进展###
本文旨在探讨深度学习在图像识别领域的最新研究进展,重点分析卷积神经网络(CNN)的技术创新、优化策略及其在实际应用中的成效。通过综述当前主流算法结构、损失函数设计及数据集增强技巧,本文揭示了提升模型性能的关键因素,并展望了未来发展趋势。尽管未直接涉及传统摘要中的研究背景、方法、结果与结论等要素,但通过对关键技术点的深度剖析,为读者提供了对领域现状与前沿动态的全面理解。 ###
|
24天前
|
机器学习/深度学习 数据采集 人工智能
探索人工智能中的深度学习模型优化策略
探索人工智能中的深度学习模型优化策略
|
26天前
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
75 0
|
1月前
|
机器学习/深度学习 数据采集 算法
利用深度学习优化图像识别系统的性能
利用深度学习优化图像识别系统的性能
40 0
|
1月前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品广告投放优化的深度学习模型
使用Python实现智能食品广告投放优化的深度学习模型
64 0
下一篇
DataWorks