15 年老兵谈阿里云大规模机器学习实践

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介:   近年来,机器学习技术的发展归因于我们有极其庞大的数据用来训练算法。当企业需要落地大规模机器学习时,往往会面临很多难题,如何解决这些问题?如何系统了解大规模机器学习落地的技巧?其适用场景是什么?InfoQ 希望通过该选题解决这些问题,并推动企业在大规模机器学习方面的实践。本文,InfoQ 有幸采访了阿里云机器学习研究员林伟,听他分享自己的经验和见解。

  近年来,机器学习技术的发展归因于我们有极其庞大的数据用来训练算法。当企业需要落地大规模机器学习时,往往会面临很多难题,如何解决这些问题?如何系统了解大规模机器学习落地的技巧?其适用场景是什么?InfoQ 希望通过该选题解决这些问题,并推动企业在大规模机器学习方面的实践。本文,InfoQ 有幸采访了阿里云机器学习研究员林伟,听他分享自己的经验和见解。

  15 年老兵谈阿里云大规模机器学习实践

  毫无疑问,我们已经迈入人工智能时代,机器学习几乎渗透了我们日常生活和工作的方方面面,创建深度学习模型越来越容易,但大规模工业部署却依然没有那么容易,第一现在模型变得越来越大,越来越深,需要强大算力和海量的数据才能够支撑训练出更好的模型;第二模型训练出来需要在推理的时候高效的执行才能真正让模型落地,这个里面就需要非常多系统工程优化,以及模型和工程一起的协同优化。当然并不是模型越大,训练效果就会一定好,模型本身的提高以及训练方式都决定了最终模型实际效果,这就需要我们也在算法,训练手段层面的突破。

  对众多深度学习开发者而言,只要拥有一张 GPU 卡,很多流行的 AI 模型都可以得以训练。但对公司而言,随着业务需求的提高、精度要求的提高,就会面临更大模型、更多数据训练的需求,此时就需要更强大分布式训练平台以适应大规模的训练的需求,同时因为数据量增加,我们需要让 AI 训练和大数据平台结合起来,从而满足算法研究者各种数据组合加工,尝试不同训练方式,从而能够快速迭代模型,提高模型的精度。

  那么,何为大规模机器学习有明确的界定吗?

  采访中,林伟表示,我们所说的“大规模”可以解释为需要几千台机器、几千个工作者一起协同训练,也可以理解为多硬件资源,比如 GPU。

  在阿里巴巴内部,林伟所在团队训练过非常大规模的稀疏网络,这类模型很容易大,而且更多偏向于推荐、搜索等信息流类型,往往需要几千个工作者的协同训练。同时对于稠密网络,比如感知类的 AI 网络,比如视觉、语音、自然语言处理现在也在变得越来越大,也需要要几十张到几百张卡一起训练。

  根据林伟介绍,一个大规模的机器学习平台首先要具备优秀的调度能力,并非所有任务每天都需要大量资源,但要保证极限情况下的承受能力足够强,而所需资源不多时又可及时释放。所以,大部分本科机器学习平台都是从小规模逐渐做起来的,这个过程会积累一些能力,比如沉淀一些框架和平台,或者帮助开发者做分布式训练等。

  阿里最近推出了机器学习平台 PAI 的 DSW,其托管在云平台之上,非常方便,开发者可随时打开 IDE,该平台可自动保存工作内容,然后可以快速开发。如果开发者觉得模型基本完成,希望无感知提交到更大的集群中时就涉及关于模型的开发。

  模型离不开数据,在数据处理中,开发人员需要有配套的大数据处理能力,需要对数据进行清洗和提纯,这就要求平台需要具备大数据能力,这也是为什么计算平台会把 AI 和大数据作为两大引擎,因为彼此之间需要交互。同时,平台上训练出的模型需要在业务中达到一定效果,比如让服务做到低延时、高吞吐,保证服务发布、更新、迭代、切换以及报警、监控等。

  AI 需要大量的数据,而这些数据还得有标签,这意味着数据标注平台同样重要,可以帮助用户快速处理数据。其实,现在 AI 整个训练流程非常灵活,如果要在更大的范围内做一些训练,比如发布一个模型,可能会有一些 bad case 或者识别不好的负样本,我们要把这些 case 积累在一起,并帮助用户重新调整模型以提高最终效果。

  事实上,AI 属于计算密集型任务,需要大量数据交互,所以分配资源的时候要根据任务大小来考虑如何对应到底层硬件的拓扑结构上,使之能够充分利用异构特性完成整个过程,我们能够充分利用系统对训练任务的理解,有效调度不同部分到不同的资源上面,充分地利用多种硬件资源,发挥系统的最高效率。

  此外,要考虑容错,因为过大的集群经常容易发生错误,机器并不是永动机,随时可能出现问题,软件也不能保证没有 bug,容错需要和调度系统配合在一起。

  在这个流程中,为了提高效率,还需要配备各种性能优化和加速工具,包括推理、量化、压缩、蒸馏等,这些工具彼此之间的连接也是平台需要做的事情。

  总之,AI 工程非常复杂,牵涉很多环节。

  回顾阿里的机器学习研发之路,林伟表示,与所有事物的发展过程一样。起初都是希望通过各种技术手段提升商业效果,当时阿里内部各个部门都有自己的算法团队,从集团的横向层面来看,这种烟囱式结构是比较低效的,因此希望沉淀出一些通用能力,这就是 PAI 的前身。

  那时,深度学习还没有火起来,更多的是传统机器学习、传统的训练模型或者统计算法,阿里希望能够复用这些算法,进而提高整个集团的研发效率,于是就推出了?PAI-Studio,其实就是把算法沉淀为组件,在数据处理和算法之间做串联,使之能够图形化管理,这是 PAI-Studio1.0 时代,这个时代就是更好的把工作流程串成可视化的图。

  随着深度学习的出现,业界开始出现形形色色的算法。此时,阿里希望可以把深度学习的能力做起来,因为阿里内部有大量数据,特别是核心电商领域,由于数据量过于庞大, 开源引擎的问题开始暴露出来,会遇到各种各样规模性问题,这促使阿里在这方面走得很快。

  随着优化的逐渐深入,大家已经开始应用深度学习做感知类应用。在这种情况下,阿里自研的机器学习引擎在外面也是有市场的。阿里开始对外输出,服务更多的企业客户。

  一直以来,林伟认为做系统的人可以分为三类:第一类是做出来的系统可以解决业务问题;第二类是做出来的系统可以在未来 5 年持续不断地在原来的设计上叠加新功能,并且具备一定可扩展性,这样的系统具备一定生命力;第三类是通过一些部分的重构和变革,可以让系统随着业务规模的增长持续发展,这一类是最强的也是最难的,基于这些想法,林伟整个团队不断迭代机器学习平台 PAI,并且在阿里巴巴内部业务和外部业务均取得了不错的效果。

  15 年老兵谈阿里云大规模机器学习实践

  机器学习 PAI 平台的目的是希望算法开发同学能够更加高效地开发应用算法,帮开发者做到更好的性能,更大规模和更低成本的训练。

  在阿里巴巴内部,业务场景数量很多,数据规模也很大,这让我们能够训练出一些有效模型。但这些训练模型往往需要很多异构机器协同,我们会搭建一个很大的共享平台,让形形色色的任务都在平台上跑,最大的任务可能要处理 TB 级别的数据。如何让训练任务跑得起来,在需要共享的集群里面做好调度和系统配合,使得我们充分利用这些资源提高集群效率,是我们整个平台的愿景。

  最开始,PAI 在 Studio 方面做得比较多,林伟整个团队将阿里巴巴的 AI 能力以 Studio 的模式开放出去。其中包括智能数据标注、可视化建模、在线预测部署等全托管的 AI 工程服务

  15 年老兵谈阿里云大规模机器学习实践

  机器学习 PAI Studio

  最近这一年,PAI 更加注重云原生,与 K8s 等进行了紧密结合,使服务能够对云上的客户体系更加规则。包括云原生交互式开发平台 PAI-DSW,以及云原生分布式深度学习训练平台 PAI-DLC

  15 年老兵谈阿里云大规模机器学习实践

  机器学习 PAI DSW

  15 年老兵谈阿里云大规模机器学习实践

  机器学习 PAI DLC

  另外,林伟带领团队在使用体验上不断投入,包括产品的易用性和敏捷性,以及 Open API ,希望可以帮助更多个人和小型企业慢慢成长。

  PAI 同样是一个开放的平台,在深度学习框架这层一直是拥抱开源、兼容生态,比如会在开源的 TF 框架下面做优化,同时将更改及时提交到开源社区,也与 Facebook 形成战略合作,推动有关 Pytorch 的一系列优化想法。在开源开放层面,开源的 ALink 与 Flink 形成数据和算法的有效结合。如今,阿里在集群管理层面也开始参与到 K8s 社区,希望有更多贡献。

  如果企业希望内部实践大规模机器学习平台,林伟建议,在人才层面,想要构建大规模机器学习平台需要对业务有所理解,算法团队需要具备一些基本功,虽然现在的机器学习没有传统的机器学习对算法要求那么高,但迭代模型还是需要建立在对算法、数据、模型原理的理解上,并且需要具备一定数学基础。

  在工程上面,林伟表示,工程是模型落地、产业化很重要的一环,企业需要深入考虑各种引擎的优劣,挑选适合自己需求的,可能是研发为主,也可能是效率或者模型很大的情况下需要分布式的训练、服务和推理平台等。

  同时,AI 工程比较复杂,不仅局限于训练和推理,还需要关注数据的处理,现在业界也有很多做深度学习的企业,如果具备有算法团队,再加上开源框架,单机或许就可以训练模型,这种方式遇到大规模训练的时候,其实是有很多挑战的,最开始碰到的可能是数据问题,数据该怎么管,怎么样存、再往后可能就是训练的问题,所以是否可以有效管理并探索出适合自己的方向,可能是比较重要的事情。

  “我不是打广告,我觉得选择云平台最终可以帮助企业提高效率、节省成本,并且开发人员应该把自己的关注点放在业务相关的算法层面,这一层其实有大量发展空间。同时,因为阿里云兼容各类生态和标准,因此也不存在绑定问题,不满意随时可以搬下去,但上云确实是业界的趋势。”

  初始上云时,企业可能在考虑与使用物理机相比到底有没有竞争力,但从长远来看,云平台提供的弹性和灵活等特性会大大节省成本。而且,对于有技术梦想的公司来说,云平台其实有很多想象和实验的空间,企业可以根据自己的需求选择不同层次的 API,接入不同的能力,然后提高自己公司的生产效率,更好地应对业务发展。

  在过往 15 年分布式系统的从业生涯中,林伟同样见证了开发者生产力被一步步解放的过程,自从云计算、人工智能等新兴技术出现,市面上不时就可以听到开发者对这些技术将取代人工的担忧。

  对此,林伟表示,其实你从另一个层面来看就会发现技术的世界一直在更新换代,以操作系统为例,当 Linux 和 Windows 占据上风之后,其他操作系统都慢慢消失了,那曾经的这群开发者去哪里了呢?要么积极加入到 Linux 和 Windows 的开发中,要么拥抱新的技术变化,去看看下一个技术热点是什么。事实上,每一个业务场景发生变化的时候,都可能是新的机会,可以尝试做下一波要爆发的技术,从中获得的满足感将会很大。

  对于做平台的研发人员而言,只要场景清晰了,就会开始沉淀,但肯定也会有一些混沌的、未知的领域,这些地方就会有大量新的思路和想法出现,身处其中的每个人都在发挥自己的长处,然后慢慢沉淀。

  嘉宾介绍:

  林伟,阿里云机器学习研究员,对大规模并发系统有 10 年以上的系统架构设计及研发经验,并在国际一流 ODSI、NSDI、SIGMOD 会议上多次发表论文。原微软大数据平台组的核心成员,曾在微软亚洲搜索技术中心和微软美国工作 10 年,一直从事分布式系统开发和大数据平台的相关工作。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
1月前
|
机器学习/深度学习 测试技术
阿里云入选Gartner数据科学和机器学习平台挑战者象限
Gartner® 正式发布了《数据科学与机器学习平台魔力象限》报告(Magic Quadrant™ for Data Science and Machine Learning Platforms),阿里云成为唯一一家入选该报告的中国厂商,被评为“挑战者”(Challengers)。
|
1月前
|
机器学习/深度学习 数据采集 人工智能
AI与机器学习:从理论到实践
【10月更文挑战第2天】本文将深入探讨AI和机器学习的基本概念,以及它们如何从理论转化为实际的应用。我们将通过Python代码示例,展示如何使用机器学习库scikit-learn进行数据预处理、模型训练和预测。无论你是AI领域的初学者,还是有一定基础的开发者,这篇文章都将为你提供有价值的信息和知识。
|
8天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
18 2
|
9天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到实践
【10月更文挑战第35天】在这篇文章中,我们将深入探讨机器学习的世界。我们将从基础理论开始,然后逐步过渡到实际应用,最后通过代码示例来展示如何实现一个简单的机器学习模型。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和见解。
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】阿里云人工智能平台 PAI 多篇论文入选 EMNLP2024
阿里云人工智能平台 PAI 的多篇论文在 EMNLP2024 上入选。论文成果是阿里云与华南理工大学金连文教授团队、复旦大学王鹏教授团队共同研发。EMNLP 是人工智能自然语言处理领域的顶级国际会议,聚焦于自然语言处理技术在各个应用场景的学术研究,尤其重视自然语言处理的实证研究。该会议曾推动了预训练语言模型、文本挖掘、对话系统、机器翻译等自然语言处理领域的核心创新,在学术和工业界都有巨大的影响力。此次入选标志着阿里云人工智能平台 PAI 在自然语言处理和多模态算法能力方面研究获得了学术界认可。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
机器学习中空间和时间自相关的分析:从理论基础到实践应用
空间和时间自相关是数据分析中的重要概念,揭示了现象在空间和时间维度上的相互依赖关系。本文探讨了这些概念的理论基础,并通过野火风险预测的实际案例,展示了如何利用随机森林模型捕捉时空依赖性,提高预测准确性。
47 0
机器学习中空间和时间自相关的分析:从理论基础到实践应用
|
1月前
|
机器学习/深度学习 算法 Python
探索机器学习中的决策树算法:从理论到实践
【10月更文挑战第5天】本文旨在通过浅显易懂的语言,带领读者了解并实现一个基础的决策树模型。我们将从决策树的基本概念出发,逐步深入其构建过程,包括特征选择、树的生成与剪枝等关键技术点,并以一个简单的例子演示如何用Python代码实现一个决策树分类器。文章不仅注重理论阐述,更侧重于实际操作,以期帮助初学者快速入门并在真实数据上应用这一算法。
|
1月前
|
机器学习/深度学习 算法 PyTorch
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
56 1
|
1月前
|
机器学习/深度学习 算法 自动驾驶
探索机器学习:从理论到实践
本文将带你进入机器学习的世界,从基本概念出发,深入探讨其背后的数学原理,再通过Python代码示例,展示如何实际应用这些理论。无论你是初学者还是有经验的开发者,都能从中获益。

热门文章

最新文章