行业报告 AI展会 数据标注 标注供求
数据标注数据集
主页 > 机器学习 > 正文

简述机器学习加速器的五种类型

过去十年是深度学习的时代。我们为从AlphaGo到DELL-E 2的一系列重大事件而激动不已。日常生活中出现了不计其数的由人工智能(AI)驱动的产品或服务,包括Alexa设备、广告推荐、仓库机器人和自动驾驶汽车等。


近年来,深度学习模型的规模呈指数级增长。这不是什么新闻了:Wu Dao 2.0模型含有1.75万亿参数,在SageMaker训练平台的240个ml.p4d.24xlarge实例上训练GPT-3大约只需25天。
但随着深度学习训练和部署的发展,它变得越来越具有挑战性。由于深度学习模型的发展,可扩展性和效率是训练和部署面临的两大挑战。
本文将总结机器学习(ML)加速器的五大类型。

了解AI工程中的ML生命周期

在全面介绍ML加速器之前,不妨先看看ML生命周期。
ML生命周期是数据和模型的生命周期。数据可谓是ML的根源,决定着模型的质量。生命周期中的每个方面都有机会加速。
MLOps可以使ML模型部署的过程实现自动化。但由于操作性质,它局限于AI工作流的横向过程,无法从根本上改善训练和部署。
AI工程远超MLOps的范畴,它可以整体(横向和纵向)设计机器学习工作流的过程以及训练和部署的架构。此外,它可以通过整个ML生命周期的有效编排来加速部署和训练。
基于整体式ML生命周期和AI工程,有五种主要类型的ML加速器(或加速方面):硬件加速器、AI计算平台、AI框架、ML编译器和云服务。先看下面的关系图。

图1. 训练与部署加速器的关系

我们可以看到,硬件加速器和AI框架是加速的主流。但最近,ML编译器、AI计算平台和ML云服务已变得越来越重要。
下面逐一介绍。

1. AI框架

在谈到加速ML训练和部署时,选择合适的AI框架无法回避。遗憾的是,不存在一应俱全的完美或最佳AI框架。广泛用于研究和生产的三种AI框架是TensorFlow、PyTorch和JAX。它们在不同的方面各有千秋,比如易用性、产品成熟度和可扩展性。
TensorFlow:TensorFlow是旗舰AI框架。TensorFlow一开始就主导深度学习开源社区。TensorFlow Serving是一个定义完备的成熟平台。对于互联网和物联网来说,TensorFlow.js和TensorFlow Lite也已成熟。
但由于深度学习早期探索的局限性,TensorFlow 1.x旨在以一种非Python的方式构建静态图。这成为使用“eager”模式进行即时评估的障碍,这种模式让PyTorch可以在研究领域迅速提升。TensorFlow 2.x试图迎头赶上,但遗憾的是,从TensorFlow 1.x升级到2.x很麻烦。
TensorFlow还引入了Keras,以便总体上更易使用,另引入了优化编译器的XLA(加速线性代数),以加快底层速度。
PyTorch:凭借其eager模式和类似Python的方法,PyTorch是如今深度学习界的主力军,用于从研究到生产的各个领域。除了TorchServe外,PyTorch还与跟框架无关的平台(比如Kubeflow)集成。此外,PyTorch的人气与Hugging Face的Transformers库大获成功密不可分。
JAX:谷歌推出了JAX,基于设备加速的NumPy和JIT。正如PyTorch几年前所做的那样,它是一种更原生的深度学习框架,在研究领域迅速受到追捧。但它还不是谷歌声称的“官方”谷歌产品。

2. 硬件加速器

毫无疑问,英伟达的GPU 可以加速深度学习训练,不过它最初是为视频卡设计的。
通用GPU出现后,用于神经网络训练的图形卡人气爆棚。这些通用GPU可以执行任意代码,不仅仅是渲染子例程。英伟达的CUDA编程语言提供了一种用类似C的语言编写任意代码的方法。通用GPU有相对方便的编程模型、大规模并行机制和高内存带宽,现在为神经网络编程提供了一种理想的平台。
如今,英伟达支持从桌面到移动、工作站、移动工作站、游戏机和数据中心的一系列GPU。
随着英伟达GPU大获成功,一路走来不乏后继者,比如AMD的GPU和谷歌的TPU ASIC等。

3. AI计算平台

如前所述,ML训练和部署的速度很大程度上依赖硬件(比如GPU和TPU)。这些驱动平台(即AI计算平台)对性能至关重要。有两个众所周知的AI计算平台:CUDA和OpenCL。
CUDA:CUDA(计算统一设备架构)是英伟达于2007年发布的并行编程范式。它是为图形处理器和GPU的众多通用应用设计的。CUDA是专有API,仅支持英伟达的Tesla架构GPU。CUDA支持的显卡包括GeForce 8系列、Tesla和Quadro。
OpenCL:OpenCL(开放计算语言)最初由苹果公司开发,现由Khronos团队维护,用于异构计算,包括CPU、GPU、DSP及其他类型的处理器。这种可移植语言的适应性足够强,可以让每个硬件平台实现高性能,包括英伟达的GPU。
英伟达现在符合OpenCL 3.0,可用于R465及更高版本的驱动程序。使用OpenCL API,人们可以在GPU上启动使用C编程语言的有限子集编写的计算内核。

4. ML编译器

ML编译器在加速训练和部署方面起着至关重要的作用。ML编译器可显著提高大规模模型部署的效率。有很多流行的编译器,比如Apache TVM、LLVM、谷歌MLIR、TensorFlow XLA、Meta Glow、PyTorch nvFuser和Intel PlaidML。

5. ML云服务

ML云平台和服务在云端管理ML平台。它们可以通过几种方式来优化,以提高效率。
以Amazon SageMaker为例。这是一种领先的ML云平台服务。SageMaker为ML生命周期提供了广泛的功能特性:从准备、构建、训练/调优到部署/管理,不一而足。
它优化了许多方面以提高训练和部署效率,比如GPU上的多模型端点、使用异构集群的经济高效的训练,以及适合基于CPU的ML推理的专有Graviton处理器。

结语

随着深度学习训练和部署规模不断扩大,挑战性也越来越大。提高深度学习训练和部署的效率很复杂。基于ML生命周期,有五个方面可以加速ML训练和部署:AI框架、硬件加速器、计算平台、ML编译器和云服务。AI工程可以将所有这些协调起来,利用工程原理全面提高效率。
微信公众号

声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

相关文章:

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
SEM推广服务

Copyright©2005-2026 Sykv.com 可思数据 版权所有    京ICP备14056871号

关于我们   免责声明   广告合作   版权声明   联系我们   原创投稿   网站地图  

可思数据 数据标注行业联盟

扫码入群
扫码关注

微信公众号

返回顶部