走近 AI Infra 架构师:在高速飞驰的大模型“赛车”上“换轮子”的人

如果把大模型训练比作 F1 比赛,长凡所在的团队就是造车的人,也是在比赛现场给赛车换轮子的人。1% 的训练提速,或者几秒之差的故障恢复时间,累积起来,都能影响到几百万的成本。长凡说:“大模型起来的时候,我们非常兴奋,因为 DLRover 天生就是为大模型训练的场景设计的。”

目前业界普遍认为数据、算力、算法是大模型训练的三大核心要素,AI 工程的价值似乎还没有得到足够的重视,我们和蚂蚁 DLRover 开源负责人长凡深入聊了聊,聊到了他为何在大模型出现前就选择了 AI Infra 的赛道,他参与开源的经历,也聊了 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

在 GitHub 关注 DLRover:https://github.com/intelligent-machine-learning/dlrover

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法详解——选择排序和冒泡排序

一、选择排序 选择排序算法的执行过程是这样的:首先,算法遍历整个列表以确定最小的元素,接着,这个最小的元素被置换到列表的开头,确保它被放置在其应有的有序位置上。接下来,从列表的第二个元素开始&#x…

事件高级、

文章目录 1.注册事件(绑定事件)addEventListener 事件监听方式attachEvent 事件监听方式、兼容性解决方案 * 2.删除事件(解绑事件)删除事件的方式删除事件兼容性解决方案 * 3.DOM事件流4.事件对象使用语法兼容性方案*常见属性和方…

边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 -- 边缘设备图像识别及部署(二)

专栏目录 边缘计算WEB端应用融合:AI行为识别智能监控系统搭建指南 – 整体介绍(一) 边缘计算WEB端应用融合:AI行为识别智能监控系统搭建指南 -- 边缘图像识别及部署(二) 前言边缘图像识别与推流整体思路原始…

海康威视添加新摄像头到原建的网络监控平台中

一、适用场景 1、企业已经存在一套海康威视的监控网络系统; 2、根据业务的需求,要新增加一些摄像头; 3、原施工方忙碌,为新增加的摄像头施工成本较高; 4、新增加海康威视的摄像头视频监控,保存在原建的监控…

构建强大的API:Django中的REST框架探究与实践【第146篇—Django】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 构建强大的API:Django中的REST框架探究与实践 在当今的Web开发中,构…

Apache SeaTunnel MongoDB CDC 使用指南

随着数据驱动决策的重要性日益凸显,实时数据处理成为企业竞争力的关键。SeaTunnel MongoDB CDC(Change Data Capture) 源连接器的推出,为开发者提供了一个高效、灵活的工具,以实现对 MongoDB 数据库变更的实时捕获和处理。 本文将深入探讨该连…

Jackson 2.x 系列【1】概述

有道无术,术尚可求,有术无道,止于术。 本系列Jackson 版本 2.17.0 源码地址:https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 前言2. 什么是 JSON3. 常用 Java JSON 库4. Jackson4.1 简介4.2 套件4.3 模块4.…

prompt开发生命周期

1.定义任务场景和成功标准 任务场景可分为简单任务:实体抽取、qa等 复杂任务:代码生成、创意写作等 在定义任务后,就要定义模型实现该任务的成功标准: 模型表现和准确率;延迟;价格。 2.开发测试用例 多…

Vue2(七):超详细vue开发环境搭建(win7),nodejs下载与安装,安装淘宝镜像(报错已解决),配置脚手架

一、安装node.js 本来想粗略写一下的,但是搭建脚手架的时候,遇到了很多问题,浪费快两天时间,记录一下自己的解决办法希望对你们有帮助! 1.下载nodejs 安装包下载链接【CNPM Binaries Mirror】 下载我划线的这个&am…

代码随想录算法训练营第25天| 216.组合总和III、17.电话号码的字母组合

216.组合总和III 题目链接:组合总和III 题目描述:找出所有相加之和为 n **的 k ****个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c…

2024热门外贸独立站wordpress模板

工艺品wordpress外贸主题 简约大气的wordpress外贸主题,适合做工艺品进出品外贸的公司官网使用。 https://www.jianzhanpress.com/?p5377 日用百货wordpress外贸主题 蓝色大气的wordpress外贸主题,适合做日用百货的外贸公司搭建跨境电商网站使用。 …

Qt教程 — 3.3 深入了解Qt 控件:Input Widgets部件(2)

目录 1 Input Widgets简介 2 如何使用Input Widgets部件 2.1 QSpinBox组件-窗口背景不透明调节器 2.2 DoubleSpinBox 组件-来调节程序窗口的整体大小 2.3 QTimeEdit、QDateEdit、QDateTimeEdit组件-编辑日期和时间的小部件 Input Widgets部件部件较多,将分为三…

centos上安装Docker

0.安装Docker Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道…

PlantUML Integration 编写短信服务类图

PlantUML Integration 写一个类图,主要功能为 1、编写一个serviceSms短信服务类; 2、需要用到短信的地方统一调用基建层的服务即可; 3、可以随意切换、增加短信厂商,不需要更改场景代码,只需要更改application.yml 里面…

13个外贸业务员常用邮件模板-订单沟通

除了报价后跟进客户,我们在实际工作过程当中也会遇到很多非常规性的情况,需要和客户及时沟通处理。 以下是13个外贸业务员常用邮件模板-订单沟通:你可以根据自己的行业、公司、产品情况以及自身的经验判断进行调整和完善,做出一套…

水下蓝牙耳机哪个牌子好?业界公认四大高口碑游泳耳机

在这个活力四溢的时代,人们对于健康生活方式的追求愈发热切,游泳作为一项兼顾休闲与健身的运动,深受大众喜爱。在水下世界,音乐的陪伴能增添游泳的乐趣,一款好的水下蓝牙耳机成为游泳爱好者们的新宠。 近年来&#xff…

DZY-212中间继电器 DC 220V 板后接线 面板安装 JOSEF约瑟

系列型号: DZY-200系列中间继电器;DZY-201中间继电器; DZY-202中间继电器;DZY-203中间继电器; DZY-204中间继电器;DZY-205中间继电器; DZY-206中间继电器;DZY-207中间继电器; DZY-20…

openEuler 22.03(华为欧拉)一键安装 Oracle 19C(19.22) 数据库

前言 Oracle 一键安装脚本,演示 openEuler 22.03 一键安装 Oracle 19C 单机版过程(全程无需人工干预):(脚本包括 ORALCE PSU/OJVM 等补丁自动安装) ⭐️ 脚本下载地址:Shell脚本安装Oracle数据…

ssh免密登陆更换目标主机后无法连接

在进行hadoop分布式环境搭建时(三台机,master,slave1,slave2),后期slave2系统出现问题,更换新机后,master与slave2文件传输失败: 以为是秘钥过期的问题,更换…

走出大模型部署新手村!小明这样用魔搭+函数计算

作者:拓山 前文介绍了魔搭 ModelScope 社区模型服务 SwingDeploy 服务。开发者可以将模型从魔搭社区的模型库一键部署至阿里云函数计算,当选择模型并部署时,系统会选择对应的机器配置。按需使用可以在根据工作负载动态的减少资源&#xff0c…