阿里云推出机器学习平台PAI 2.0,降低人工智能门槛与开发成本

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 2017 年 3 月 29 日,阿里云首席科学家周靖人博士在 2017 云栖大会•深圳峰会上重磅推出升级版的机器学习平台 PAI 2.0,可以大幅度降低人工智能门槛以及开发成本。

微信图片_20211128140947.jpg

近年来,人工智能迎来新浪潮,逐渐扩展至城市治理、交通调度、工业制造、健康医疗、司法等应用场景。在大会上,周靖人博士表示:「在过去一年的时间里,我们协助客户落实了多项重大的人工智能应用,人工智能已经成为触手可及的普惠技术,变成真正帮助人类解决实际问题的得力助手,PAI 正是为此而来。」


2015 年,阿里云对外发布国内首个机器学习平台 PAI (Platform of Artificial Intelligence),不仅可以实现高性能云端计算从而降低存储和计算成本,还具备相应的工具和算法库进而降低技术门槛。此次版本的重大升级建立在阿里云机器学习平台 1.0 之上,标志着阿里云在构建 AI 核心技术能力上又进一步。


阿里云机器学习平台 PAI 2.0 的主要特性包括以下方面:

全面兼容深度学习框架


自 2012 年深度学习的代表模型 AlexNet 在 ImageNet 大赛中力压亚军,以超过 10 个百分点的绝对优势夺得头筹之后,依托于建模技术的进步、硬件计算能力的提升、优化技术的进步以及海量数据的累积,深度学习在语音、图像以及文本等多个领域不断推进,相较于传统作法取得了显著的效果提升。工业界和学术界也先后推出了用于深度学习建模用途的开源工具和框架,包括 Caffe、Theano、Torch、MXNet、TensorFlow、Chainer、CNTK 等等。TensorFlow、Caffe 和 MXNet 是目前全球主流的深度学习开源框架;TensorFlow 开源算法和模型最丰富;Caffe 是经典的图形领域框架,使用简单;MXNet 分布式性能优异。


深度学习通过设计复杂模型,依托于海量数据的表征能力,从而获取相较于经典浅层模型更优的模型表现,这样的建模策略促使对底层训练工具提出了更高的要求。现有的开源工具,往往会在性能上、显存支持上、生态系统的完善性上存在不同层面的不足,在使用效率上对于普通的算法建模用户并不够友好。


PAI 2.0 编程接口完全兼容深度学习框架:TensorFlow、Caffe 以及 MXNet,用户只需要将自己本地编写的代码文件上传至云端就可以执行。


微信图片_20211128140943.jpg

对于底层计算资源,PAI 2.0 提供了强大的云端异构计算资源,包含 CPU、GPU、FPGA。在 GPU 方面,PAI 2.0 可以灵活实现多卡调度。

 

微信图片_20211128140940.jpg


借助这些框架以及强大的计算资源,用户非常方便地就可以将计算任务下发到对应的分布式计算机群上,实现深度学习模型训练与预测。


算法库的丰富与创新

 

PAI 2.0 提供 100 余种算法组件,涵盖了分类、回归、聚类等常用场景,还针对主流的算法应用场景,提供了偏向业务的算法,包含文本分析、关系分析、推荐三种类别。


「算法全部脱胎于阿里巴巴集团内部的业务实践,所有算法都经历过 PB 级数据和复杂业务场景的锤炼,具备成熟稳定的特点」,阿里云首席科学家周靖人说。


支持更大规模的数据训练


PAI 2.0 新增了参数服务器(Parameter Server)架构的算法。不仅能进行数据并行,同时还可将模型分片,把大的模型分为多个子集,每个参数服务器只存一个子集,全部的参数服务器聚合在一起拼凑成一个完整的模型。


其创新点还在于失败重试的功能。在分布式系统上,成百上千个节点协同工作时,经常会出现一个或几个节点挂掉的情况,如果没有失败重试机制,任务就会有一定的几率失败,需要重新提交任务到集群调度。PS 算法支持千亿特征、万亿模型和万亿样本直至 PB 级的数据训练,适合于电商、广告等数据规模巨大的推荐场景。

 

微信图片_20211128140937.jpg

人性化的操作界面


从操作界面来看,PAI 没有繁琐的公式和复杂的代码逻辑,用户看到的是各种分门别类被封装好的算法组件。每一个实验步骤都提供可视化的监控页面,在深度学习黑箱透明化方面,PAI 也同时集成了各种可视化工具。


周靖人博士在现场展示了在搭架实验的过程中,只需要设置数据源、输出,就可以让系统实现人工智能训练,拖拽组件即可快速拼接成一个工作流,大幅提升了建立的调试模型的效率。可视化方式则有助于使用户清楚地了解问题本身以及深度学习的效果。

 

微信图片_20211128140933.jpg


事实上就目前而言,大规模深度学习优化还是一个方兴未艾的技术方向,作为一个交叉领域,涉及到分布式计算、操作系统、计算机体系结构、数值优化、机器学习建模、编译器技术等多个领域。按照优化的侧重点,可以将优化策略划分为计算优化、显存优化、通信优化、性能预估模型以及软硬件协同优化。PAI 平台目前主要集中在以下四个优化方向。


显存优化


内存优化主要关心的是 GPU 显存优化的议题,在深度学习训练场景,其计算任务的特点决定了通常会选择 GPU 来作为计算设备,而 GPU 作为典型的高通量异构计算设备,其硬件设计约束决定了其显存资源往往是比较稀缺的,目前在 PAI 平台上提供的中档 M40 显卡的显存只有 12GB,而复杂度较高的模型则很容易达到 M40 显存的临界值,比如 151 层的 ResNet。


微信图片_20211128140930.jpg

36 层的 ResNet 模型示例


PAI 在显存优化上做了一系列工作,期望能够解放建模工作中的的负担,使用户在模型尺寸上获得更广阔的建模探索空间。在内存优化方面,通过引入 task-specific 的显存分配器以及自动化模型分片框架支持,在很大程度上缓解了建模任务在显存消耗方面的约束。其中自动化模型分片框架会根据具体的模型网络特点,预估出其显存消耗量,然后对模型进行自动化切片,实现模型并行的支持。在完成自动化模型分片的同时,框架还会考虑到模型分片带来的通信开销,通过启发式的方法在大模型的承载能力和计算效率之间获得较优的 trade-off。

通信优化


大规模深度学习,或者说大规模机器学习领域里一个永恒的话题就是如何通过多机分布式对训练任务进行加速。而机器学习训练任务的多遍迭代式通信的特点,使得经典的 map-reduce 式的并行数据处理方式并不适合这个场景。对于以单步小批量样本作为训练单位步的深度学习训练任务,这个问题就更突出了。


依据 Amdahl's law,一个计算任务性能改善的程度取决于可以被改进的部分在整个任务执行时间中所占比例的大小。而深度学习训练任务的多机分布式往往会引入额外的通信开销,使得系统内可被提速的比例缩小,相应地束缚了分布式所能带来的性能加速的收益。


PAI 平台通过 pipeline communication、late-multiply、hybrid-parallelism 以及 heuristic-based model average 等多种优化策略对分布式训练过程中的通信开销进行了不同程度的优化,并在公开及 in-house 模型上取得了比较显著的收敛加速比提升。


在 Pipeline communication 中,将待通信数据(模型及梯度)切分成一个个小的数据块从而在多个计算结点之间充分流动起来,可以突破单机网卡的通信带宽极限,将一定尺度内将通信开销控制在常量时间复杂度。

 

微信图片_20211128140925.jpg

Pipeline communication


在 Late-multiply 中,针对全连接层计算量小,模型尺寸大的特点,对于多机之间的梯度汇总逻辑进行了优化,将「多个 worker 计算本地梯度,在所有结点之间完成信息交互」的分布式逻辑调整为「多个 worker 将全连接层的上下两层 layer 的后向传播梯度及激活值在所有计算结点之间完成信息交互」,当全连接层所包含的隐层神经元很多时,会带来比较显著的性能提升。

 

微信图片_20211128140921.jpg

Without late-multiply

 微信图片_20211128140919.png

With late-multiply


在 Hybrid-parallelism 中,针对不同模型网络的特点,引入数据并行与模型并行的混合策略,针对计算占比高的部分应用数据并行,针对模型通信量大的部分应用模型并行,在多机计算加速与减少通信开销之间获得了较好的平衡点。下图看出将这个优化策略应用在 TensorFlow 里 AlexNet 模型的具体体现。

 

微信图片_20211128140912.jpg

AlexNet with hybrid-parallelism


微信图片_20211128140909.jpg

AlexNet 模型示例


性能预估模型


对于建模人员来说,他们关心的往往是以最具性价比的方式完成他们的建模训练任务,而不是用多少张卡,以什么样的分布式执行策略来完成他们的训练任务。而目前深度学习训练工具以及训练任务的复杂性,使得建模人员往往不得不透过 leaky abstraction 的管道,去关心为了完成他们的一个建模实验,应该使用多少张 GPU 卡,多少个 CPU 核、什么样的通信介质以及选择哪种分布式执行策略,才能有效地完成自己的训练任务。


基于性能预估模型,是期望能够将建模人员从具体的训练任务执行细节中解放出来。具体来说,给定建模用户的一个模型结构,以及所期望花费的费用和时间,PAI 平台会采用模型+启发式的策略预估出需要多少硬件资源,使用什么样的分布式执行策略可以尽可能逼近用户的期望。

软硬件协同优化


上面提到的三个优化策略主要集中在任务的离线训练环节,而深度学习在具体业务场景的成功应用,除了离线训练以外,也离不开在线布署环节。作为典型的复杂模型,无论是功耗、计算性能还是模型动态更新的开销,深度学习模型为在线部署提出了更高的要求和挑战。在 PAI 平台里,关于在线部署,除了实现软件层面的优化,也探索了软硬件协同优化的技术路线。目前在 PAI 平台里,阿里云技术团队正在基于 FPGA 实现在线 inference 的软硬件协同优化。在 PAI 里实现软硬件协同优化的策略与业界其他同行的作法会有所不同,我们将这个问题抽象成一个 domain-specific 的定制硬件编译优化的问题,通过这种抽象,我们可以采取更为通用的方式来解决一大批问题,从而更为有效地满足模型多样性、场景多样性的需求。


在 PAI 2.0 介绍的最后环节,周靖人博士展示了它的相关使用案例以及已经广泛的应用前景。

 

微信图片_20211128140900.jpg



相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
1月前
|
机器学习/深度学习 人工智能 物联网
通义灵码在人工智能与机器学习领域的应用
通义灵码不仅在物联网领域表现出色,还在人工智能、机器学习、金融、医疗和教育等领域展现出广泛应用前景。本文探讨了其在这些领域的具体应用,如模型训练、风险评估、医疗影像诊断等,并总结了其提高开发效率、降低门槛、促进合作和推动创新的优势。
通义灵码在人工智能与机器学习领域的应用
|
6天前
|
机器学习/深度学习 传感器 人工智能
人工智能与机器学习:改变未来的力量####
【10月更文挑战第21天】 在本文中,我们将深入探讨人工智能(AI)和机器学习(ML)的基本概念、发展历程及其在未来可能带来的革命性变化。通过分析当前最前沿的技术和应用案例,揭示AI和ML如何正在重塑各行各业,并展望它们在未来十年的潜在影响。 ####
61 27
|
4天前
|
开发者 Python
阿里云PAI DSW快速部署服务
在使用阿里云DSW实例进行开发的时候,可能需要快速部署服务测试应用效果。DSW实例目前已经支持通过自定义服务访问配置功能,对外提供服务访问能力,您在应用开发过程中无需分享整个DSW实例,即可将服务分享给协作开发者进行测试和验证。
46 23
|
26天前
|
机器学习/深度学习 人工智能 算法
国内首家! 阿里云人工智能平台 PAI 通过 ITU 国际标准测评
阿里云人工智能平台 PAI 顺利通过中国信通院组织的 ITU-T AICP-GA国际标准和《智算工程平台能力要求》国内标准一致性测评,成为国内首家通过该标准的企业。阿里云人工智能平台 PAI 参与完成了智算安全、AI 能力中心、数据工程、模型开发训练、模型推理部署等全部八个能力域,共计220余个用例的测试,并100%通过测试要求,获得了 ITU 国际标准和国内可信云标准评估通过双证书。
国内首家! 阿里云人工智能平台 PAI 通过 ITU 国际标准测评
|
1月前
|
机器学习/深度学习 PyTorch API
优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本
Transformer架构自2017年被Vaswani等人提出以来,凭借其核心的注意力机制,已成为AI领域的重大突破。该机制允许模型根据任务需求灵活聚焦于输入的不同部分,极大地增强了对复杂语言和结构的理解能力。起初主要应用于自然语言处理,Transformer迅速扩展至语音识别、计算机视觉等多领域,展现出强大的跨学科应用潜力。然而,随着模型规模的增长,注意力层的高计算复杂度成为发展瓶颈。为此,本文探讨了在PyTorch生态系统中优化注意力层的各种技术,
57 6
优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本
|
19天前
|
机器学习/深度学习 人工智能 算法
人工智能浪潮下的编程实践:构建你的第一个机器学习模型
在人工智能的巨浪中,每个人都有机会成为弄潮儿。本文将带你一探究竟,从零基础开始,用最易懂的语言和步骤,教你如何构建属于自己的第一个机器学习模型。不需要复杂的数学公式,也不必担心编程难题,只需跟随我们的步伐,一起探索这个充满魔力的AI世界。
36 12
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
【NeurIPS'24】阿里云 PAI 团队论文被收录为 Spotlight,并完成主题演讲分享
12月10日,NeurIPS 2024在温哥华开幕,阿里云PAI团队论文《PertEval: Unveiling Real Knowledge Capacity of LLMs with Knowledge-Invariant Perturbations》入选Spotlight,PAI团队还进行了“可信AI的技术解读与最佳实践”主题演讲,展示AI工程化平台产品能力。
|
22天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
39 1
|
1月前
|
机器学习/深度学习 人工智能 算法
人工智能与机器学习的融合之旅
【10月更文挑战第37天】本文将探讨AI和机器学习如何相互交织,共同推动技术发展的边界。我们将深入分析这两个概念,了解它们是如何互相影响,以及这种融合如何塑造我们的未来。文章不仅会揭示AI和机器学习之间的联系,还会通过实际案例展示它们如何协同工作,以解决现实世界的问题。
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
85 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型