走近 AI Infra 架构师:在高速飞驰的大模型 “赛车” 上 “换轮子” 的人
如果把大模型训练比作 F1 比赛,长凡所在的团队就是造车的人,也是在比赛现场给赛车换轮子的人。1% 的训练提速,或者几秒之差的故障恢复时间,累积起来,都能影响到几百万的成本。长凡说:“大模型起来的时候,我们非常兴奋,因为 DLRover 天生就是为大模型训练的场景设计的。”
目前业界普遍认为数据、算力、算法是大模型训练的三大核心要素,AI 工程的价值似乎还没有得到足够的重视,我们和蚂蚁 DLRover 开源负责人长凡深入聊了聊,聊到了他为何在大模型出现前就选择了 AI Infra 的赛道,他参与开源的经历,也聊了 DLRover 诞生背后的故事。
在 GitHub 关注 DLRover:https://github.com/intelligent-machine-learning/dlrover
AI Infra+开源, 一个通信毕业生的非主流选择
毕业于盛产程序员的北京邮电大学,虽然本科和研究生专业都是通信相关的,但长凡还是机缘巧合迈入了 AI 的大门,如果你也走在职业发展的路口,或许长凡的故事也能给你带来启发。
Q:首先请介绍下自己,为什么会选择在蚂蚁做 AI Infra 方面的工作?
长凡: 我本科在北交大的理科实验班,研究生在北邮做 5G 移动通信的研究。大四的时候,我去了中国移动研究院实习,做机器学习在医疗领域的应用探索,算是入门了大数据和机器学习。我自己对概率统计和编程也比较感兴趣,发现自己所学的知识可以解决真实问题了。后来在研究生期间,课余时间会打打 Kaggle 比赛,边实践边学习。
毕业之前我来蚂蚁做暑期实习,做 ML Infra 相关的项目。相比打 Kaggle 用算法解决具体业务问题,Infra 的工作能帮助更多的同学来用 ML 解决更多的问题。再加上蚂蚁在大力发展 AI,我所在的蚂蚁人工智能部有很多 AI 方向的资深技术大拿,所以我毕业后选择了留在蚂蚁。
ChatGPT 出来后,大模型一下子火了,大模型相比之前的 AI 训练对 Infra 的需求要高得多,对我们做 Infra 的是一个非常大的机遇。大模型训练和推理的成本非常高,Infra 在提升效率和降低成本上大有可为。
Q:是什么契机让你开始参与开源的?参与开源对你的职业道路产生了哪些影响?
长凡: 在蚂蚁工作一年后,我加入到 ElasticDL 团队,跟着王益老师(原百度 PaddlePaddle 技术负责人)一起做开源项目。在开发 ElasticDL 过程中,王益老师教会了我很多开源思想、开源工作方式和开发习惯。比如新功能需要先写设计文档,然后拆解成 issue,最后是开发测试;PR 要尽量小,小 PR 可以降低 Review 成本;代码质量需要有工具来保障等等。
这段经历对我现在做 DLRover 帮助很大。在 DLRover 项目刚启动时,我就在代码仓库了设置了很多代码质量相关的检测,比如 DLRover 的代码 CI 覆盖率约 80%。后来,张科老师接手带领 ElasticDL,一直给我们强调开放合作。这也使得我在主导 DLRover 的开源过程中对架构设计更加开放。这里说的开放不仅仅指使开源的开放代码,更多的是指我们的架构和接口设计的开放,以便让更多的人能进来扩展相关功能满足各自的业务需求。比如,我们的故障机检测功能当前支持 NVIDIA GPU 和 Ascend NPU,如果用户在其他的芯片上训练,可以自定义检测脚本。
Q:随着大模型的兴起,许多技术人也感受到了前所未有的挑战。作为 AI Infra 领域的架构师 ,你如何评估大型模型或 AI 对传统技术架构师的影响?针对当前的技术趋势,你对于这些架构师有哪些建议?
长凡: 大模型或者 AI 将会改变我们的产品形态和业务模式,而且很多创新可能都是当前看不到或者很难预料的。作为技术架构师,我们的目标其实很简单,利用技术帮助业务发展。我觉得最好的方式就是从业务中来,到业务中去。比如我们做 AI Infra 的,经常和训练算法同学一起盯着训练作业,review 训练代码并分析训练性能,这样从中发现很多训练对 Infra 的实际需求。然后将这些需求抽象出来,利用自己的技术经验来设计项目解决业务问题。
随着大模型技术的发展,不管是对计算、存储等硬件领域,还是对训练框架、分布式系统等软件领域,对于 AI Infra 的架构师都有非常大的需求。如果想从事 AI Infra 领域,可以结合自前的经验深入到 AI 应用中去,一定能做出成果。
DLRover:发展靠机遇,持续发展靠技术判断力
时间拉回到 2022 年 9 月,DLRover 刚刚开源,那时深度学习的训练基本都是在单机多卡上完成的,作为一个分布式训练的智能调度系统,DLRover 的功能似乎有些过于强大,就好像开了一辆百米加速的超跑来上下班。
DLRover 的容错和弹性扩缩容在单机多卡的训练上几乎没有用武之地,团队也很迷茫是否要针对 GPU 训练做优化,所以当 2022 年底,ChatGPT 在全球引起广泛关注的的时候,大规模分布式训练是大模型训练的刚需,长凡一下子就兴奋了。
Q:DLRover是如何诞生的?发展历程中有哪些关键的转折点或者故事?
长凡: DLRover 脱胎于蚂蚁内部的一个项目,主要利用容错和弹性扩缩容来提升搜推广训练的速度和资源利用率。2022 年 7 月,该功能上线后,集群资源利用率提升了快一倍,训练时间也缩短了约 20%。基于自动扩缩容,我们就想让用户只写模型代码,系统能自动地将模型在集群上高效、稳定地和经济地训练出来,从而大幅降低分布式训练的门槛和运维成本。基于这个愿景,我们在 2023 年 3 月开源了项目,并取名 DLRover,Rover 代表火星车,我们把 DL 训练作为火星车的乘客,DLRover 这个火星车的目的就是快速、稳定、节能地将 DL 训练这位乘客送到目的地,即训练出模型。
DLRover 刚开源的时候,发布了 CPU 集群上 TensorFlow 异步分布式训练的自动资源配置与自动扩缩容,该功能可以将算法工程师从作业资源调优上解脱出来。但是发布后社区反响一般,主要原因是搜推广的训练已经比较成熟了,业界也主要在关注 GPU 训练。为此,我们内部也在讨论要不要在 GPU 训练上做点东西。但那时 GPU 训练主要还是 CV 和 NLP 领域,以单机多卡为主,DLRover 的容错和弹性扩缩容好像在单机多卡 GPU 训练上没有用武之地。
正在我们迷茫时,2023 年初大模型火了。因为 GPU 本身的故障率较高,大规模训练经常因为故障而中断,严重影响了大模型训练的进度和集群的利用率。所以 DLRover 在 2023 年的重点方向就是降低故障对训练的影响。后来,DLRover 针对大规模分布式训练的场景,发布了故障自愈功能,该功能吸引了很多大模型训练的同学,也吸引了很多国产 AI 芯片的公司的关注。
Q:DLRover 为什么选择开源?
长凡: DLRover 面向的用户主要使用的是开源技术,比如 TensorFlow 和 PyTorch 等训练框架,Kubernetes 和 Ray 等分布式集群调度系统。开源可以让我们接触到领域里更多的同行,扩宽我们的视野。当前很多公司都在做 AI 训练,大家面临的场景和问题可能都不一样。通过开源交流,我们可以对 AI 训练所面临的问题与挑战有更全面的了解,社区提出来的问题,未来我们也可能会遇到。我们希望 DLRover 不仅能满足蚂蚁内部大模型训练的需求,也能满足整个社区的普遍需求。
Q:如果内部需求和社区需求不一致怎么办?
长凡: 这其实是开源项目经常会遇到的问题,我觉得首先要有技术判断力,判断这个需求是不是一个普遍需求,公司未来是不是也可能用得到。比如,以前我们认为跑大模型训练大多都用英伟达的 GPU 卡,但现在社区开始提出希望我们适配国产芯片的需求,很多国产芯片的公司也来找我们交流,也就是很多人已经开始在国产芯片上去跑训练了,这就是对我认知的一个刷新。如果我们未来买不到 GPU 了,或者国产芯片能达到更好的效果了,我们已经提前做了国产芯片的支持,那这个需求就可以直接上了。
现在很多流行的开源项目,以前 Star 数可能是线性增长,在大模型出来之后是指数增长。就是因为他们两年前就觉得这个事情是一个正确的方向,坚持在做,然后机遇一来,他们就起来了。
Q:开源社区在 DLRover 的发展过程中扮演着怎样的角色?有没有一些特别令你印象深刻的社区贡献者或者故事?
长凡: 开源社区给 DLRover 贡献了很多非常好的思路和有价值的需求。比如 DLRover 的 Flash Checkpoint 功能发布后,社区同学的试用帮我们发现了一些没有测试的 corner case,这帮助我们提高了 DLRover 的产品质量。还有,我们最近吸引了很多国产 AI 芯片公司的关注,社区也提出将我们的训练故障自愈扩展到国产芯片的意愿,这些都是来自一线从业同学的真实声音,是我们发展 DLRover 的宝贵源泉和动力。
未来展望:帮助用户高效、稳定地训练模型
提到对项目未来的规划时,长凡说:“我们希望 DLRover 能帮助用户解决问题,高效、稳定地训练模型。”也希望有更多对 AI 工程感兴趣的开发者能加入到 DLRover 项目,一起推进 AI Infra 领域的发展。
Q:目前还有哪些项目也在做类似的事情吗?和 DLRover 相比有什么不同?
长凡: 分布式训练的弹性容错一直是开源社区在探索的,比如 TorchElastic 和 Elastic Horovod 解决了训练框架的弹性与容错。大模型出来之前,大家训练 NLP 或者 CV 模型主要还是单机或者小规模的集群。小规模训练因为使用的节点少,故障率较低,对弹性容错需求不大。大模型训练一下将训练规模扩大到几百上千卡,故障率就高了很多。同时实际训练中,训练容错和故障自愈需要集群调度、节点管理和训练框架一起协作。所以 DLRover 是将现有的弹性训练框架与节点管理、集群调度相结合来实现快速的训练故障自愈。
训练自愈这块其实很多云厂商也在做,但是都是和自己的云平台耦合的。最近几个月也有好几篇定会文章介绍相关工作。DLRover 是和云平台解耦的,用户只要是在 kubernetes 集群上做分布式训练,就可以使用 DLRover 的训练故障自愈功能。除此之外,由于我们之前在这块有过探索和积累,所以训练稳定性这块的功能开源得比较快。
Q:在 AI Infra 领域,海外有哪些做得比较好的开源项目,对于我们有哪些借鉴意义?
长凡: Flash Attention 和 vllm,这两个框架大幅提升了大模型训练和推理的性能,更重要的是,用户只需要安装 Python 包即可使用。他们的特点就是利用创新解决了一个很难且很有价值的问题,但是又非常简单易用,这对我们有很大启发。比如,我们在设计 DLRover 训练自愈的 Flash Checkpoint 的 API 时,也是尽量让 API 简单易用,用户尽量少改代码就能使用 DLRover。
Q:对于 DLRover 未来的规划,你有什么愿景或目标?
长凡: 我们希望 DLRover 在大模型时代能让更多的用户高效地训练大模型,降低 AI 训练门槛。当前 AI 训练有2个趋势,一方面大家根据 Scaling law 来使用更大规模的集群,来训练越来越大的模型;另一方面很多工作在探索如何在小规模或者单机上微调模型。
不管是大规模预训练还是微调,高效、稳定地训练模型都有困难,需要根据经验反复调试。我们希望 DLRover 能帮助用户解决这方面的问题,也希望能支持到国内的 AI 发展。DLRover 未来在功能和接口设计上会做得更加开放,让用户能在国产芯片上使用 DLRover 高效、稳定地训练模型。当然,我们也非常欢迎更多的同学加入到 DLRover 社区,一起推进 AI Infra 的前进。
Q:最后,给我们预告下你在 GDC 上会分享哪些内容吧
长凡: GDC 上我将分享 DLRover 如何通过训练故障自愈,来降低大规模 AI 训练的成本,帮训练省钱的。以及大家如何来使用 DLRover 来提升训练的效率。
看完长凡的经历和 DLRover 的故事,你是不是对 AI Infra 有了更多兴趣呢?3 月 23 日下午,长凡将在 2024 全球开发者先锋大会(GDC)分享《DLRover 训练故障自愈:大幅提升大规模 AI 训练的算力效率》,欢迎到现场和讲师近距离交流。
关于 DLRover
DLRover(Distributed Deep Learning System)是蚂蚁集团 AI Infra 团队维护的开源社区,是基于云原生技术打造的智能分布式深度学习系统。DLRover 使得开发人员能够专注于模型架构的设计,而无需处理任何工程方面的细节,例如硬件加速和分布式运行等;开发深度学习训练的相关算法,让训练更高效、智能,例如优化器。目前,DLRover 支持使用 K8s、Ray 进行自动化操作和维护深度学习训练任务。更多 AI Infra 技术请关注 DLRover 项目。
加入 DLRover 钉钉技术交流群:31525020959
DLRover Star 一下:https://github.com/intelligent-machine-learning/dlrover

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
国赛来袭!中国研究生操作系统开源创新大赛报名开启,十万奖金等你来~
01赛事简介 中国研究生操作系统开源创新大赛(以下简称“大赛”)暨第十三届麒麟杯全国开源应用软件开发大赛(以下简称“赛事”)是中国研究生创新实践系列大赛主题赛事之一。大赛由教育部学位管理与研究生司指导、中国学位与研究生教育学会和中国科协青少年科技中心主办。赛事由openKylin社区、麒麟软件有限公司、信创海河实验室主办,国防科技大学协办。 本次大赛是面向研究生和高年级本科生的全国性、公益性开源创新赛,大赛坚持以国家战略需求为导向,以夯实基础软件生态和人才培养为目标,围绕操作系统关键技术和生态建设,激发研究生创新意识,提高研究生创新和实践能力,着力培养创新型、复合型、应用型高端人才,为操作系统生态健康发展提供人才支撑。 02赛道设置 本大赛围绕操作系统设置系统创新、应用创新和研究创新三个赛道,每个赛道下由多个操作系统社区独立命题。各赛题会发布明确的任务,参赛队伍需按要求完成相关任务并提交相应作品。 01 系统创新赛道 本赛道主要聚焦赛事操作系统项目本身的系统研发,包括操作系统功能开发、缺陷修复、第三方库开发等。 赛题1:基于openKylin的hid input设备共享协议 赛题2:...
- 下一篇
三星宣布“AI for All”企业发展愿景
2024三星家电新品发布会3月17日举行,发布了全新的MICRO LED、Neo QLED 8K/4K系列、OLED系列、Lifestyle艺术电视及BESPOKE缤色铂格系列等全系生态产品。 此外,三星宣布“AI for All”的企业发展愿景,三星电子大中华区总裁崔胜植表示,“三星正在将AI融入到我们的互联技术,从移动设备上的Galaxy AI,到颠覆性的显示技术,再到通过智能家电改善的智能家居,致力于为用户带来切实利益。” 多年来,三星一直在AI领域进行战略投资,NQ8 AI Gen3芯片就是成果之一,其神经处理单元(NPU)的速度是其前代产品的两倍,神经网络的数量也由64个增至512个。在该款AI芯片的加持下,三星Neo QLED 8K系列开启了三星AI电视新纪元。 该公司预计 2024 年的销量将恢复到 2022 年的水平,在未来2-3年内重新夺回全球芯片领先的位置,将在所有设备中采用人工智能,并积极开拓新业务。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7设置SWAP分区,小内存服务器的救世主