【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

  • 2020-06-22
  • 本文字数:4213 字

    阅读完需:约 14 分钟

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

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


何为大规模机器学习

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


对众多深度学习开发者而言,只要拥有一张 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,并且在阿里巴巴内部业务和外部业务均取得了不错的效果。



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


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


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



机器学习 PAI Studio


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



机器学习 PAI DSW



机器学习 PAI DLC


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


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

实践建议

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


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


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


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


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

结束语

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


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


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


嘉宾介绍:


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


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-06-22 06:004459
用户头像
赵钰莹 InfoQ 主编

发布了 874 篇内容, 共 605.1 次阅读, 收获喜欢 2671 次。

关注

评论

发布
暂无评论
发现更多内容

nebula-br local-store 模式,快速搭建主备集群实践

NebulaGraph

容灾备份

接上回,如何用 LlamaIndex 搭建聊天机器人?

Zilliz

Milvus 向量数据库 ChatGPT LLM

第24期 | GPTSecurity周报

云起无垠

你不知道的ER图秘诀,都在这篇在线教程里了!

Geek_09ea8e

ER图 实体-关系图

带你认识一下多模态对比语言图像预训练CLIP

华为云开发者联盟

人工智能 华为云 科技 华为云开发者联盟 多模态对比

聊点技术|秒级根因定位可能吗?博睿数据将不可能变为可能

博睿数据

运维 监控 可观测性

软件测试/测试开发丨UbuntuServer环境准备

测试人

软件测试

Cookie 7.1.4 浏览器缓存Cookie清理

影影绰绰一往直前

Cookie下载 Cookie mac

亚洲专业美发行业领军企业汉高中国签约赛博威,以TPM营销费用管理推进企业业务数字化改革

赛博威科技

低代码开发,或许是节约成本更好的选择

树上有只程序猿

软件开发 低代码

外贸业务员必学的外贸推广方式

九凌网络

专业ER图工具大盘点,哪款是你的菜?

Geek_09ea8e

ER图 设计数据库模型

LeetCode题解:993. 二叉树的堂兄弟节点,BFS,JavaScript,详细注释

Lee Chen

LeetCode

如何使用 NFTScan NFT API 在 BNB Chain 网络上开发 Web3 应用

NFT Research

NFT\ NFTScan API 接口

CADintosh X for Mac(CAD绘图软件)直装激活版

影影绰绰一往直前

CADintosh下载 CAD绘图软件 CADintosh X

闭包解密:从小白到高手,掌握Python中的闭包技巧

高端章鱼哥

Python

今年秋招VS去年秋招!我滴娘啊

王磊

Java

初识inBuilder内存计算模块--业务数据同步

inBuilder低代码平台

数据库

文心一言 VS 讯飞星火 VS chatgpt (126)-- 算法导论11.1 1题

福大大架构师每日一题

福大大架构师每日一题

跨国传输的常见问题与对应解决方案

镭速

跨国数据传输 跨国传输 跨国传输软件

什么样的网站才是利于google等搜索引擎优化的营销型网站

九凌网络

外贸建站优化外贸网站推广的四个技巧

九凌网络

Databend + lakeFS:将数据版本控制嵌入你的分析工作流

Databend

ApeCoin DAO猿岛质押游戏系统DAPP开发

薇電13242772558

NFT

测试工作的价值体现

BY林子

软件测试 软件质量 测试的价值 绩效考核

我应该删除低质量页面以提高Google排名吗?

九凌网络

可视化流程编排(Bpmn.js)介绍及实践

ZA技术社区

众安科技 众安保险 ZA技术社区 无界山

TDengine 3.2.0.0 重磅发布!S3 存储 + IP 白名单正式上线

TDengine

tdengine 时序数据库

After Effects 2024 for Mac(AE2024视频特效工具)v24.0.1完整激活版

mac

苹果mac Windows软件 视频特效软件 After Effects 2024 AE2024

语音识别技术在智能门禁系统中的应用与设计

来自四九城儿

语音识别技术在教育领域的应用与挑战

来自四九城儿

15年老兵谈阿里云大规模机器学习实践_AI&大模型_赵钰莹_InfoQ精选文章