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

news2025/2/26 1:33:56

如果把大模型训练比作 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.coloradmin.cn/o/1528791.html

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

相关文章

日本科技巨头富士通遭遇网络攻击,客户数据被窃

日本科技巨头富士通3月15日发布通告,宣称公司经历了一起网络攻击事件,客户个人数据已被黑客窃取。 富士通在一份通知中写道:“我们已经确认有几台商用计算机上存在恶意软件,并且经过我们的内部调查,发现包含个人信息和…

Linux权限维持后门及应急响应

本次应急响应实验用kali和centos7来充当攻击机和靶机 kali:192.168.10.130 centos7:192.168.10.155 前提: 用kali连接到centos7上面ssh root192.168.10.155 一、SSH软链接 任意密码登录即可发现程度:|||||| ln -sf /usr/sbi…

卓越巨人wzy

解法&#xff1a; 向下取整同理&#xff0c;f(n)20230416-n 当n20230416时&#xff0c;f&#xff08;n&#xff09;0&#xff0c;之后由于向上取整&#xff0c;结果恒为0. #include<iostream> #include<algorithm> #include<vector> using namespace std; …

网站如何搭建 网站搭建的详细步骤

网站如何搭建 网站搭建的详细步骤 一.领取一个免费域名和SSL证书&#xff0c;和CDN 1.打开网站链接&#xff1a;https://www.rainyun.com/z22_ 2.在网站主页上&#xff0c;您会看到一个"登陆/注册"的选项。 3.点击"登陆/注册"&#xff0c;然后选择"…

下拉树级带搜索功能

可以直接复制粘贴到自己的项目里,方法处把接口替换一下 <template><div><el-popoverplacement"bottom"width"200"trigger"click"><el-inputslot"reference"class"mrInput":placeholder"placehol…

巨细!Python爬虫详解

爬虫&#xff08;又称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在 FOAF 社区中间&#xff0c;更经常的称为网页追逐者&#xff09;&#xff1b;它是一种按照一定的规则&#xff0c;自动地抓取网络信息的程序或者脚本。 如果我们把互联网比作一张大的蜘蛛网&#xff0c;那…

二、yocto 集成ros2(基于raspberrypi 4B)

yocto 集成ros2 yocto 集成ros21. 下载ros layer2. 编译集成ros3. 功能验证 yocto 集成ros2 本篇文章为基于raspberrypi 4B单板的yocto实战系列的第二篇文章。 一、yocto 编译raspberrypi 4B并启动 本节我们将ros2机器人操作系统移植到我们的yocto系统里面。 1. 下载ros laye…

Ansible基本介绍与模块使用

目录 引言 一、Ansible简介 &#xff08;一&#xff09;基本概述 &#xff08;二&#xff09;主要特点 二、Ansible安装及基本组件 &#xff08;一&#xff09;yum安装 &#xff08;二&#xff09;编译安装 &#xff08;三&#xff09;基本配置信息 1.主配置文件 2.主…

v-bind 绑定 class 与 style 基础用法

使用 v-bind 指令绑定 class 和 style 时语法相对复杂一些&#xff0c;这两者是可以互相替代的&#xff0c;均用于响应更新HTML元素的属性&#xff0c; v-bind 绑定 class 属性可以改写成绑定 style 属性&#xff0c;只是 css 属性位置变了而已。 1. 绑定 class 属性 1.1 数组…

GPT-4与Claude3、Gemini、Sora:AI领域的技术创新与突破

【最新增加Claude3、Gemini、Sora、GPTs讲解及AI领域中的集中大模型的最新技术】 2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚…

考研失败, 学点Java打小工_Day3_卫语句_循环

1 编码规范——卫语句 表达异常分支时&#xff0c;少用if-else方式。   比如成绩判断中对于非法输入的处理&#xff1a; /*>90 <100 优秀>80 <90 良好>70 <80 一般>60 <70 及格<60 不及格*/Testpu…

行业领袖齐聚香港,共襄区块链盛宴——Symbiosis 联合创始人Nick Avramov确认出席Hack.Summit() 2024区块链开发者大会

随着区块链技术的飞速进步和广泛应用&#xff0c;一场区块链行业的重量级盛会即将在香港数码港隆重举行。由Hack VC主办、AltLayer和Berachain协办&#xff0c;并得到Solana、The Graph、Blockchain Academy、ScalingX、0G、SNZ和数码港等机构的合作支持&#xff0c;由Techub N…

【全开源】JAVA姓氏头像情侣头像家庭头像赚钱签名头像谐音顽埂头像设计小程序头像大全系统源码支持微信小程序+微信公众号+H5|博纳软云

一、功能介绍 用户端&#xff1a;查看近期生成的头像&#xff0c;我的团队&#xff0c;分享好友&#xff0c; 姓氏头像&#xff0c;情侣头像&#xff0c;亲子头像&#xff0c;家庭头像 选择模板&#xff0c;个人资料&#xff0c;修改资料&#xff0c;注销账号。 我们技术使用…

你真的会做抖音小店吗?你做抖店的方法是正确的吗?教学分享

大家好&#xff0c;我是电商花花。 新的一年&#xff0c;不少做抖店的商家都会产生一个疑问&#xff0c;2024年抖音小店无货源还能继续做吗&#xff1f; 做无货源模式还会被处罚吗&#xff1f; 先说答案&#xff0c;2024年抖音小店无货源能做&#xff0c;不仅能做且仍然是抖音…

简明 FastAPI 并发请求指南

在当今的数字化世界中&#xff0c;网络用户对于高速响应和持续连接的诉求日益显著。这促使了基于 Python 构建的 FastAPI 框架受到广泛关注&#xff0c;它不仅现代化且效率极高&#xff0c;而且简化了并行请求的处理。本篇文章旨在探讨 FastAPI 如何处理这类请求&#xff0c;并…

Java项目:64 ssm营业厅宽带系统+jsp

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 角色&#xff1a;管理员、用户 管理员的功能有&#xff1a;查看已发布的用户信息&#xff0c;修改用户信息或更换用户内容&#xff0c;用户信息作废&…

计算机二级Python题目12

目录 1. 基础题 1.1 基础题1 1.2 基础题2 1.3 基础题3 2. turtle画图题 3. 大题 3.1 大题1 3.2 大题2 1. 基础题 1.1 基础题1 sinput("请输入一个小数&#xff1a;") ss[::-1] cs0 for c in s:if c.:breakcseval(c) print({:*>10}.format(cs)) 1.2 基础…

SpringCloud Alibaba 入门简介

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅&#xff0c;从传统的模块之间调用&#xff0c;一步步的升级为 SpringCloud 模块之间的调用&#xff0c;此篇文章为第十一篇&#xff0c;即介绍 SpringCloud Alibaba 的入门信息。 二、出现的原因 Spring Cloud Netflix…

外包干了28天,技术退步明显......

说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入深圳某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&a…

哈希技术解析:从哈希函数到哈希桶迭代器的全面指南

文章目录 引言一、哈希表与哈希函数1、哈希表的基本原理2、哈希函数的作用与特点3、哈希冲突的处理方法 二、哈希桶及其迭代器1、 哈希桶a.定义哈希桶结构b.哈希函数c.哈希桶的插入、查找、删除 2、 哈希桶的迭代器a.类型定义与成员变量b.构造函数c.解引用与比较操作d.递增操作…