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

简介: 华盛顿大学计算机系博士生陈天奇、以及上海交通大学和复旦大学的研究团队提出一个基于学习的框架,以优化用于深度学习工作负载的张量程序。该研究使用基于机器学习的方法来自动优化张量运算核心并编译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”。

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

相关文章
|
3月前
|
机器学习/深度学习 自然语言处理 数据挖掘
【论文精读】TNNLS 2022 - 基于深度学习的事件抽取研究综述
【论文精读】TNNLS 2022 - 基于深度学习的事件抽取研究综述
|
10天前
|
机器学习/深度学习 算法 计算机视觉
深度学习在图像识别中的应用及优化策略
【4月更文挑战第8天】 在计算机视觉领域,深度学习技术已成为推动图像识别进步的关键力量。本文章旨在探讨深度学习模型在图像识别任务中的应用,并分析其性能提升的优化方法。通过对比传统机器学习方法,本文阐述了深度神经网络如何通过多层次特征提取有效识别复杂图像,并讨论了数据增强、网络结构调整、正则化技巧等优化策略。此外,文中还涉及了迁移学习与多任务学习在图像识别中的实际应用案例,以及未来发展趋势。
|
3月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
202 1
|
26天前
|
机器学习/深度学习 数据采集 自动驾驶
利用深度学习优化图像识别在自动驾驶系统中的应用
在自动驾驶技术迅猛发展的当下,图像识别作为其核心技术之一,对于提升车辆的环境感知能力至关重要。本文聚焦于探讨如何通过深度学习算法优化图像识别过程,以增强自动驾驶系统的准确性和实时反应能力。文中介绍了卷积神经网络(CNN)在图像处理中的关键作用,分析了数据预处理、模型训练策略以及模型压缩等技术对性能的影响。此外,还探讨了迁移学习在缺乏标注数据时的应用,以及对抗性网络在提高模型鲁棒性方面的潜力。通过实验评估,本文展示了这些技术在真实世界数据集上的应用效果,并对未来自动驾驶系统中图像识别技术的发展趋势进行了展望。
22 1
|
30天前
|
机器学习/深度学习 分布式计算
ICLR 2024:首个零阶优化深度学习框架
【2月更文挑战第28天】ICLR 2024:首个零阶优化深度学习框架
15 1
ICLR 2024:首个零阶优化深度学习框架
|
1月前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用研究
【2月更文挑战第24天】 随着人工智能技术的飞速发展,深度学习已成为推动技术创新的核心力量之一。特别是在图像识别领域,深度学习技术凭借其卓越的特征提取和模式识别能力,已广泛应用于自动驾驶系统中,成为实现车辆环境感知的关键技术。本文旨在探讨基于深度学习的图像识别技术如何优化自动驾驶系统的性能。通过分析卷积神经网络(CNN)在道路标识检测、行人识别和障碍物分类等任务中的应用实例,评估其在提高自动驾驶安全性和可靠性方面的作用。同时,文章还将讨论当前面临的挑战及未来的发展趋势,为自动驾驶领域的进一步研究提供参考。
|
1月前
|
机器学习/深度学习 算法 网络架构
基于深度学习的图像识别优化策略
【2月更文挑战第21天】 随着人工智能技术的飞速发展,深度学习在图像识别领域取得了突破性进展。然而,在实际应用中,模型的识别效率和准确性常常受限于数据量、计算资源和算法设计。本文旨在探讨针对现有深度学习模型的图像识别优化策略,通过改进训练过程、网络结构与后处理技术,提高模型性能并减少计算资源的消耗。
|
1月前
|
机器学习/深度学习 数据处理 计算机视觉
深度学习在图像识别中的应用及优化策略
【2月更文挑战第18天】 随着计算机视觉技术的迅猛发展,深度学习已成为推动图像识别领域进步的核心力量。本文将探讨深度学习在图像识别任务中的关键应用,并重点分析数据增强、网络结构优化以及迁移学习等提升模型性能的策略。通过深入剖析这些技术,我们旨在为读者提供一套实用的方法论,以应对不断变化的图像识别挑战。
15 3
|
2月前
|
机器学习/深度学习 自然语言处理 大数据
深度学习中的卷积神经网络优化技术探析
【2月更文挑战第4天】在深度学习领域,卷积神经网络(CNN)一直扮演着重要角色,但其训练和推理过程中存在许多挑战。本文将从优化角度出发,探讨卷积神经网络中的权重初始化、损失函数设计、学习率调整等优化技术,旨在为深度学习爱好者提供一些实用的技术感悟和分享。
22 3
|
3月前
|
机器学习/深度学习 人工智能 PyTorch
【Hello AI】安装和使用AIACC-AGSpeed(优化PyTorch深度学习模型)
AIACC-AGSpeed(简称AGSpeed)专注于优化PyTorch深度学习模型在阿里云GPU异构计算实例上的计算性能,相比原始的神龙AI加速引擎AIACC,可以实现无感的计算优化性能。本文为您介绍安装和使用AGSpeed的方法。