“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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 年,一直从事分布式系统开发和大数据平台的相关工作。


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2020-06-22 06:004439
用户头像
赵钰莹 InfoQ 主编

发布了 870 篇内容, 共 598.3 次阅读, 收获喜欢 2669 次。

关注

评论

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

如何使用火焰图对 Rust 程序进行性能和内存占用分析

Databend

4年“落子”8大城市,骥翀氢能产业布局背后精心下好“商业模式”先手棋

硬科技星球

跨平台应用开发进阶(三十七)uni-app前端监控方案 Sentry 探究

No Silver Bullet

uni-app sentry 12月月更 前端监控方案

华为云桌面,企业云上办公为何都偏好它?

i生活i科技

低代码多分支协同开发的建设与实践

阿里巴巴终端技术

前端 低代码

计算机科学通识-01-电子计算机发展史

邱比特讲编程

计算机基础 计算机 计算机教育

MySql索引下推知识分享

京东科技开发者

数据库 后端 索引 MySQL 数据库 索引原理

网络ping不通,试试这8招

华为云开发者联盟

开发 网络 服务器 华为云 12 月 PK 榜

weidl x DeepRec:热门微博推荐框架性能提升实战

阿里云大数据AI技术

性能优化 AI技术 推荐引擎 12 月 PK 榜

TypeScript 前端工程最佳实践

京东科技开发者

typescript 前端 前端开发 编程语言】

论文复现丨基于ModelArts进行图像风格化绘画

华为云开发者联盟

人工智能 华为云 12 月 PK 榜

这个团队敢闯、会创,北京交通大学团队结合昇思MindSpore技术助力打造“智慧安全交通”

Geek_2d6073

从咖啡馆到世界,共赴下一个十年|写在EMQX开源十周年

EMQ映云科技

GitHub 开源 IoT emqx 12 月 PK 榜

跨平台应用开发进阶(三十六) :uniapp使用uni.request请求报错{“errMsg“:“request:fail abort statusCode:-1“}的解决办法

No Silver Bullet

uni-app 12月月更 跨平台应用开发 statusCode:-1“ request:fail abort

校招面试真题 | 你的期望薪资是多少?为什么?

测试人

MyBatis是如何初始化的

华为云开发者联盟

Java 开发 华为云 12 月 PK 榜

如何通过Java提取PDF中的图片

Geek_249eec

Java PDF 图片

华为云会议,助力企业移动办公效率提升

i生活i科技

2022中国产业数字化发展成熟度行业指数分析—— 重视差异,结合自身要素禀赋,推进产业精细化治理

易观分析

产业 产业数字化

学生管理系统架构文档

闲人Eric

架构实战营

搞定 Redis 数据存储原理,别只会 set、get 了

小小怪下士

Java redis

软件测试 | 测试开发 | 你的期待薪资是多少?为什么?

测吧(北京)科技有限公司

测试

如何在云原生环境中实现安全左移?

SEAL安全

云原生 安全 DevSecOps 12 月 PK 榜

车载LED显示屏的4大性能指标

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

这一篇让你搞懂电商平台中的商品 SPU 和 SKU

产品海豚湾

产品经理 产品设计 商品管理 电商平台 需求分析

跨平台应用开发进阶(三十四) :uni-app 应用 Universal Link 实现 iOS 微信分享

No Silver Bullet

uni-app universal link 跨平台应用 12月月更 iOS 微信分享

华为云会议助力大家保险提升沟通协作效能

i生活i科技

数字化办公,就选流畅、清晰的华为云桌面

i生活i科技

IntelliJ IDEA中我最爱的10个快捷操作

JAVA旭阳

Java IDEA

更加灵活、经济、高效的训练 — 新一代搜推广稀疏大模型训练范式GBA

阿里技术

大模型 搜索推荐

教你用Python实现BMI计算器

小院里的霍大侠

Python 实战案例 初学者 入门实战

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