返回 登录
1

面向机器学习和深度学习的英特尔优化工具和框架

本文介绍了面向机器学习和深度学习的英特尔优化工具和框架,还展示了集成至上述优化工具和框架的英特尔库(有助于充分利用优化工具和框架,在英特尔® 架构上实现最佳性能)。这些信息对初次使用的用户、数据科学家和机器学习工作人员非常实用,能够帮助他们快速了解英特尔优化工具和框架。
简介
机器学习 (ML) 属于一般意义上的人工智能 (AI),基于一系列用于数据分析的算法。深度学习 (DL) 是一项专门的机器学习技术,基于一系列算法,这些算法利用包含多个处理层的图,模拟高级别的数据抽象(https://en.wikipedia.org/wiki/Deep_learning)。

如今,机器学习,尤其是深度学习,在应用和行业中得到了越来越广泛的应用,如图像和视频识别/分类、面部检测、自然语言处理和财务预测。

英特尔机器学习和深度学习优化框架是利用深度学习的最简单的方法。使用英特尔优化工具和框架训练、部署深度学习,将确保这些工具以最高效的方式利用英特尔® 架构。以下链接显示了面向英特尔架构优化框架的实例,还提供了优化框架速度提升(相比于未经优化的框架)的表格,https://software.intel.com/zh-cn/ai/deep-learning

(请访问http://itpeernetwork.intel.com/myth-busted-general-purpose-cpus-cant-tackle-deep-neural-network-training/

http://itpeernetwork.intel.com/myth-busted-general-purpose-cpus-cant-tackle-deep-neural-network-training-part-2/ 获取实例)。

从图中我们可以发现,英特尔机器学习和深度学习解决方案堆栈跨越不同的层。在硬件上开发的高度优化数学库支持以最高效的方式利用若干英特尔® 处理器产品家族。这些优化的数学库为更高级别的工具和框架提供了基础,帮助解决不同领域的机器学习和深度学习问题。
图片描述

我们将在下一部分简要总结用于优化框架的英特尔库和工具。尽管这些工具和库用于优化面向英特尔框架的机器学习和深度学习框架,也可以将其应用于其他需要高度优化数值例程的应用或软件包,便于它们利用英特尔® 硬件的矢量化、多线程和分布式计算功能。

面向机器学习和深度学习的英特尔® 软件工具

英特尔正积极与开源社区合作,面向英特尔架构优化现有的和全新的框架,还借助库的强大功能,优化机器学习和深度学习工具,这些库通过构建模块加速任务。

英特尔开发了 3 个在英特尔上架构上运行的高度优化的库。
英特尔® 数学核心函数库(英特尔® MKL)(https://software.intel.com/zh-cn/intel-mkl) 提供一系列面向深度学习的高度优化性能基元 (https://software.intel.com/zh-cn/node/684759)。这个库还包括高度优化(矢量化和线程化)的功能,使每个英特尔® 处理器产品家族达到最高性能。这些功能针对单核矢量化和高速缓存内存利用率而优化,实现多核与众核处理器的自动并行性。

英特尔 MKL 为常见的数学库(如 BLAS、LAPACK 和 FFTW)提供标准 C 和 Fortran API,无需更改代码。重新连接应用后,英特尔 MKL 将使每个英特尔处理器产品家族的性能达到最高。以最小的付出实现深度学习应用的强大性能。

英特尔 MKL 面向最新版英特尔处理器而优化,包括英特尔® 至强处理器和英特尔® 至强融核™ 处理器。尤其是面向英特尔® 高级矢量扩展指令集 2 和英特尔® 高级矢量扩展指令集 512 ISA 进行了优化。

英特尔® MKL 库可以通过 Community Libraries 项目免费下载(https://software.intel.com/sites/campaigns/nest/)。

面向深度神经网络的英特尔® 数学核心函数库(英特尔® MKL-DNN)(https://01.org/mkl-dnn)是一款面向深度学习应用的开源性能库,用于实现英特尔架构的最高性能。

它提供了经过优化的深度神经网络基元,能够快速地集成深度学习框架。鼓励社区开发人员开发新的功能,并在推出英特尔 MKL 版本前,快速应用该功能。因此,深度学习科学家和软件开发人员都能够为这个开源库贡献出自己的力量,并从中受益。

英特尔® 数据分析加速库是一款性能库,由高度优化的算法构建模块构成,适用于所有的数据分析阶段(预处理、转换、分析、建模、验证和决策制定)。专门用于常见的数据平台,包括 Hadoop*、Spark*、R* 等,能够提高数据访问的效率。通过英特尔® 性能库社区许可,可以免费获取该库 (https://software.intel.com/sites/campaigns/nest/)。

深度学习框架

英特尔机器学习和深度学习优化框架利用上述库的功能,支持利用英特尔处理器高效地执行训练和推断。

英特尔正积极将数学库集成至各种框架,使这些框架的用户可以在英特尔处理器上高效地运行深度学习训练和推断任务。例如,英特尔® Caffe* 分发包和英特尔® Theano* 优化包集成了最新版英特尔 MKL。英特尔正将多模功能集成至这些框架,以在多个节点间分配训练工作负载,减少总体训练时间。

以下结构图显示了上述不同的库和框架之间的交互,以及如何在若干优化库中将英特尔 MKL 和英特尔 MKL-DNN 库用作构建模块。

图片描述

深度学习技术的使用包含两个主要步骤:…查看全文
了解更多相关内容,请关注CSDN英特尔开发专区
Intel技术双周刊已全面开启:订阅请点击这里

评论