本文整理自 AICon 深圳直播《AI Infra 拼什么》,通过AI音视频转录总结工具 Ai好记 视频转文字整理,以下为精炼整理后的会议笔记内容。

在这里插入图片描述

当大家把注意力都放在模型效果上时,真正支撑AI跑起来的推理基础设施,反而成了最容易被忽略的瓶颈。

这场直播请来了vLLM committer、华为软件工程师莫梓峰,以及第四范式、深耕调度与集群管理的工程师杨守仁。

围绕AI Infra的核心挑战展开,从模型架构的复杂化、全模态演进、异构算力管理,一路聊到Kubernetes的异构调度、RL与Agent带来的新压力,以及开源生态的马太效应。

AI Infra的核心挑战

1、模型架构的复杂化与多样化

莫梓峰指出,当前AI Infra面临的首要挑战是模型架构的日益复杂和多样化。

语言模型架构在持续演进:最初做LLaMA无非是一个d_model加上LLM就搞定了,后来模型一代比一代复杂,到了新版本光是适配就做了大半年,光是committer就写了好几个月。

多模态也在向全模态演进。两年前刚开始做多模态时只有图片输入,后来变成音频、视频、图片三种都能接收,现在甚至变成接收所有模态、也能输出所有模态,连机器人机械臂的action都能输出。

全模态模型已经不只是一个AR模型,而是AR加IT,甚至接进各种辅助模型。整个模型的流水线都开始复杂化了,而不只是架构复杂。

2、异构算力管理的挑战

杨守仁从调度与集群管理的角度,阐述了另一层面的挑战。大陆国产算力的规模和行业发展非常快,核心痛点就是异构算力的管理层。

除了英伟达的卡,客户可能还有寒武纪、昆仑芯、天数智芯、沐曦等各式各样的卡,每家的特性都不一样。

异构上遇到的最大挑战是一致性。算法这边的架构和实现是一方面,可能在某个标准库里有标准的kernel,但在国产的卡上,kernel能不能保证大部分情况一致,是个很大的问题。

他举了个具体案例,有家国产厂商在某个shader下输出就是错的,只能靠offload到CPU的方式绕过。

随着集群规模变大,客户往往至少有两家不同厂商的卡,算力管理更复杂,业务类型也更多样。

多模态推理的技术实践与架构演进

1、全模态模型的工程实现

以适配工作为例,莫梓峰详细解析了全模态模型的技术挑战。

它本身有三个部分:AR部分、把AR文字输入转成code再转token、最后把这个token转换输出为音频。

三个部分资源需求完全不同,AR需要KV Cache,其他部分需求完全不一样,每个部分要单独调优,但每个参数可能有不同的最优方案。

设计框架时,假设每一部分都要充分分离,不能完全装成单一的流水线,既能在注册的同时异步调度。

当时的结论是还有20%的优化空间没打满,Profile的时候还有一些Gap,传输时会有Bubble要通信,有些通讯部分还没优化好。

2、框架架构的选择:统一还是分离

关于多模态框架应该整合到主框架还是独立维护,莫梓峰分享了vLLM的实践经验。分离设计做起来挺顺,接入某些模型时很舒服。

但如果每个部分都单独一个仓库,面对全模态模型就要四处开战,适配问题拉得很长。

不过分离也有维护成本。选择把某些部分剥离出来、只保留核心做AR之后,每次后端更新版本,接口都要跟着更新,接口一直在变,一次可能要动几千行代码来刷新。

3、AI Agent对开源社区的挑战

莫梓峰还分享了AI Agent给开源社区治理带来的经验。总体判断是利大于弊,毕竟框架起草时也用了AI一小时完成,单靠人写迭代速度会非常慢。

最大的问题是代码质量。很多人提PR,Agent写完以后自己不看,description也是Agent写的,一打开就是几十行几百行的描述,代码也没写干净,改完剩下的东西就留在那里。

筛选中,社区会通过留通信邮箱来识别活人,用工作邮箱或学校邮箱发邮件的先看活人的。

自己也会先提几个初始评论,有人秒回、有人隔几分钟才回,一眼是机器人的基本就pass,或者有道理且没什么问题就顺手帮忙修了。还有个极端案例,有机器人直接刷了40多条,十来分钟刷那么多,直接扣死。

4、原生多模态架构的未来影响

关于vLLM架构对多模态推理的影响,莫梓峰认为这种模型对调度其实比较友好,因为少了一块要调底层代码的部分,直接一个线性层投过去就行,没什么overhead。

KV Cache管理的关键在attention实现,普通的Transformer架构差别不大,但如果对图片部分做双向注意力,KV就会变得非常麻烦。

Kubernetes异构调度与哈密项目

1、K8s异构资源管理的演进

杨守仁回顾了K8s异构调度的历史。

最早在OpenStack做通用异构资源管理,后来引入K8s,当时非常想做带外(out-of-band)的方法,类似RDMA方案,带外的好处是对异构硬件或加速器的管理更自由,很多地方不特别依赖in-tree的trait支持。后来是NVIDIA收购Mellanox后推动RDMA。

关于DI,2.0确实比之前简化了很多,之前的API太复杂,表达能力虽强但开发简单可用的东西成本太高。

2、哈密项目的定位与发展

杨守仁介绍了哈密项目的设计思路。一开始的定位是从GPU虚拟化(显存或算力共享)切入,原来只能把单块卡分配,哈密通过调度上的扩展机制,用多个resource name完成对一个资源的描述,更符合用户的实际体验。

后来发展成实现了一套跟通信相关的单独协议,要求所有组件遵循消息才能正常工作,国产厂商也有主动接入的。

与DI的关系上,他们并没有脱离DI体系,还是在DI体系下先把产品发展出来,在DI到GA阶段之前就已经开始做DI driver。

3、DI的表达能力与局限性

杨守仁分析了当前DI方案的特点。表达能力确实有限,高阶特性只能通过key-value描述。

更高阶的一些动态的东西,表现没那么好。比如有工程师想做到某个设备通过某种方式分发到虚拟机时不共享、否则就共享,这种灵活能力在另一种实现里已经很好实现,因为可以自定义设备的排他性状态,但用DI还比较难做,因为调度器不知道底层分配时的策略机制是否排他。

还有一个恶性循环:现在推的新特性很多,但很多还在Alpha阶段,大家不敢在生产上用,反馈就少,反馈少特性进入Beta、GA就慢,越慢越没人敢用。

异构计算的新趋势与RL、Agent的影响

1、后训练与RL带来的异构需求

莫梓峰从多模态角度分析了RL场景的异构特性。多模态LLM比纯文本的更麻烦,要传多模态的evidence、传一堆token,通讯量比传统LLM大很多。

所以异步通信的需求非常大,优化瓶颈的放大效应更严重,而且大模型本身是multi-stage的,还叠加异步。

甚至出现GPU瓶颈,在进程中间传东西被卡住,GPU反而跑不满。所以有需求把Tensor处理好的图片直接塞进去、跳过某一步,不然GPU进程引入的开销太严重。

2、Agent对基础设施的新挑战

杨守仁分享了Agent场景的实际观察。存储压力激增,Agent产生的数据量特别大,共享存储的读写压力一下就上去了。

一台服务器能起的Agent数量有限,每个Agent要占不少内存和运行时开销,沙箱安全叠加上运行开销,能不能支撑大规模使用是很大问题,用量一上来就容易OOM。

未来展望与开源生态

1、2030年AI Infra的演进方向

莫梓峰判断,软件进一步简化的概率更高。杨守仁则大胆设想,Infra这块可能会被AI接管。

Infra的课题没那么复杂,只是细节多,模型学会后可能做得比人更好,而且有很多其实是过度设计的点。

人会从实现走向规划和设计,去理解当前业务点。但监控还是要人自己定义,有实践表明,有同学交流过用AI接管某套系统,一个晚上直接提升10倍。

所以一个很大的点是监控自己搞,但Infra的操作和实现,可能模型能给出比人更好的方案。人需要定义的,是更高阶的基础设施工程指标,剩下的交给AI。

2、开源与闭源的博弈及生态价值

莫梓峰认为开源比闭源更有优势,很多企业以前闭源,但迭代速度太快,自己闭门造车不如开源出去,说不定还有人帮忙维护,所以倒逼闭源的开源出来。

杨守仁从商业模式角度分析,开源的优势是中立,厂商没有后顾之忧,用户不担心被某一家厂商绑架,贡献也不会因为另一家话语权更大而被剔除。这种商业模式能跑起来,用的多就成了事实标准。

开源项目的核心挑战,是保证所有case都覆盖好、软件质量可信、长期愿景达成共识。

拔高一点说,就是怎么让大家有共识:相信这个社区开放且运作良好,deliver的软件质量让人信任,长期愿景是大家认可的共识。

3、开源工具的马太效应

杨守仁提出一个很深刻的观点。开源项目还有个好处是模型训练能拿到这些数据,像某些社区,很多PR的流程都在训练流程里,模型很清楚review的风格,对开源模型的亲和性非常好。

未来工具会收敛。用的人更多的工具,在后训练阶段一定会被强化,小众工具慢慢就没人用,模型对小众工具的调用越来越难,特别是API不符合直觉、泛化不出能力的时候。

直觉是一种泛化的感觉。越好的项目越容易集中,模型把项目作为重要参考强化它,就成了脚手架。

今天在某个框架上做简单适配,模型很快能发现去哪改,改出来更符合原作者的品位,更容易回馈社区。迭代是明显的正向循环和自我强化,说得直接些,就是马太效应。

技术问答与最佳实践

1、AI Infra的定义

莫梓峰认为,要支持整个AI智能体能跑起来的所有部分都能归入AI Infra,广义上缺一不可,就像建房子打地基,到K8s、集群调度、各种算力、算子都算一环。

杨守仁则认为,是承载workload所需要用到的以下所有组件,加上所用硬件合在一起。

2、硬件算子不支持的应对策略

杨守仁分享了应对经验。

第一优先找厂商问,新版本有没有做这事。真的不支持的话,如果是在输出层(比较靠后的层),可以直接offload到CPU跑;如果在中间层要频繁来回切,那就没办法。

开源项目可以自己手写算子,现在模型能力很强其实挺好写,可以让模型不停在loop里试,只要愿意烧Token总能优化到不错的效果。

最难的点在于改完之后验证效果,先不说性能,先说一致性即正确性,这个非常费劲。

有时发现问题也是偶发的、在某个特定后端场景下出错,非常难复现。莫梓峰补充,很多开源项目有硬件厂商驻扎,像华为里有committer和工程师。

3、Corner Case测试的最佳实践

莫梓峰分享了测试覆盖的经验。出问题只能加超时去补,想抓corner case很难复现,除非发现精度丢失。

可以让整个AI跑几十次去扫,用不同的concurrency组合扫一遍,看什么情况下出问题。就像之前做GPU相关的demo,concurrency开到16以后才开始报OOM或非法内存访问,只能用那种方法慢慢扫。

常见问题FAQ

Q:AI Infra当前最大的挑战是什么?
模型架构日益复杂多样、全模态演进、异构算力一致性、KV Cache管理与attention实现,以及Agent带来的存储和运行时开销压力。

Q:异构算力的核心痛点是什么?
一致性。国产各家卡的kernel不一定能保证大部分情况一致,有时特定场景下输出就是错的,只能靠offload到CPU等方式绕过。

Q:多模态全模态模型为什么难做?
通常分多个阶段(如AR、文本转token、token转输出),各阶段资源需求不同、要单独调优、异步调度,通信Bubble还有约20%优化空间没打满。

Q:K8s异构调度怎么演进?
从OpenStack时代的通用资源管理,到K8s的带外(RDMA)方案,再到哈密项目的GPU虚拟化切入,通过调度扩展机制和多resource name描述资源。

Q:为什么开源工具会形成马太效应?
用的人多的工具会在模型后训练阶段被强化,模型更擅长调用它,迭代更快、更符合作者品位、更容易回馈社区,形成自我强化的正向循环。

以上内容由 Ai好记 转录整理。
Ai好记是一款支持音视频转图文笔记的AI知识库工具,支持B站、小红书、抖音、小宇宙等平台链接及本地音视频文件解析,视频转文字后自动生成精华速览、思维导图和结构化图文笔记,帮助你把几小时的视频内容变成可搜索、可复习的图文笔记。

在这里插入图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐