探索操作系统的未来:万卡集群与AI应用的融合

发表时间: 2024-04-19 15:14

机器之心报道

作者:杜伟

从此,操作系统被赋予了新的内核,也让应用开发体验迎来前所未有的新变化。

大模型发展至今,还能带给开发者哪些惊喜呢?

在 4 月 16 日举办的 2024 百度 Create AI 开发者大会上,百度智能云扔下一颗「重磅炸弹」,重新定义了计算机的核心系统软件 —— 操作系统。

会上,百度集团执行副总裁、百度智能云事业群总裁沈抖宣布正式发布新一代智能计算操作系统 —— 万源。在大模型技术不断推动云服务向 AI 靠拢的当下,这成为了百度跳出传统云计算、革新 AI 原生应用开发体验的一大举措。

沈抖在百度 Create AI 开发者大会上。

对比操作系统的核心组件,比如底层硬件设备、管理软硬件资源的内核层、与用户交互的 Shell 层和集成各类工具程序的应用层,万源的整体框架是这样的:

Kernel(内核)层包含百度百舸・AI 异构计算平台和百度文心大模型,满足模型训练算力需求和多样化大模型使用需求。

内核层之上的 Shell(外壳)层为千帆 ModelBuilder 平台,让开发者按需和细分场景来定制、精调模型。

最上面为 Toolkit(工具)层,千帆 AppBuilder 和 AgentBuilder 支持了各类应用和 Agent 的快速开发。

智能计算操作系统万源的「三层」组成。

自下往上,万源要在底层屏蔽掉云原生系统与异构算力的复杂性、并强化大模型这一能力引擎,在中层对大模型进行部署精调,在上层为 AI 原生应用和 Agent 的快速开发提供支撑和保障。

也就是说,借助操作系统这个完整载体,百度智能云将高效的异构算力、智能的系统内核和敏捷的应用开发「打包」,为业界加速 AI 原生应用布局提供一个新选择。

或许有人会问,从传统操作系统发展到如今新一代的智能计算操作系统,需要什么契机呢?我们有必要从计算机操作方式进化、计算平台迭代、大模型技术变革等几个方面展开说说。

大模型崛起

新一代操作系统成为必选项

当然,我们熟悉的计算机操作系统通常是 Linux、Windows 等。但说起来,操作系统不是与计算机同步出现,它管理的对象也随时代需求、技术趋势而变。

1946 年 2 月,世界上第一台电子计算机 ENIAC 诞生,彼时操作全部要人工完成。汇编语言、汇编器的出现逐渐用程序代替人工、用软件管理硬件,这是操作系统的雏形。高级编程语言和编译器让计算平台进一步进化,并带来更复杂的软件和更强大的硬件,要求操作系统快速迭代。

此后,不断增加的软件规模和复杂度让单台机器力不从心,集群出现。操作系统管理的对象从单台机器及其上运行的「进程」扩展为整个集群及运行的各类「微服务」,云计算来了。

直到这时,操作系统的框架和组成没有大的变化。在本质上,操作系统负责连通硬件和软件,向下屏蔽底层的复杂性,向上抽象成简单的交互界面。

近年来,大模型、AI 原生应用、Agent 及相伴而生的理解、生成、逻辑和记忆能力推动技术变革,让自然语言主导的人机交互崭露头角,没有编程基础的人也可以成为开发者,编程需求的满足比以往容易得多。

开发范式的种种新变化进一步催生软件市场的爆发,硬件也随之进步,传统操作系统改变的契机到了,尤其体现在一些层的组成内容上。

比如在操作系统内核中,底层硬件从以 CPU 算力为主变成以 GPU 算力为主,并首次增加软硬件之外的第三种资源 —— 大模型压缩的世界知识。相应地,操作系统管理的对象不再只是进程和微服务,现在还多了基于大模型衍生的智能。

这意味着,一个超越传统软件范畴的全新操作系统成为必选项,对基于 AI 的智能计算更好地抽象和封装,重新定义人机交互,成为大模型能力全方位加持的强大载体,为开发者提供更智能、更流畅、更个性化的开发体验。

这一切在万源这里得到了满足,内核层有能够实现万卡规模集群模型训练的算力和大语言模型、CV 大模型能力,外壳层可以对内核层的大模型定制精调,工具层则实现了简单便捷的 AI 原生应用和 Agent 开发。

我们应看到,实现万源各层功能离不开百度智能云在算力、模型、工具和应用等各个层面的产品积累。这也是我们接下来要讲的内容。

三层一体

万源操作系统的「新」落在哪里?

可以看到,大模型出现以来提出的全新人机交互需求、人们对开发体验的更多样性诉求以及传统云计算向智能计算的转变,让万源的出现有了必要性和合理性。

那么,万源各层组成有哪些新的、独特之处呢?先从 Kernel(内核)层看起,算力和大模型是两大组成部分。

作为 AI 三要素之一,算力重要性无需多言。在万源中,百度百舸・AI 异构计算平台是将现有算力资源发挥到极致的基座。该平台针对大模型训练、推理任务,分别在智算集群设计、调度和容错等环节优化。目前,百舸在万卡集群上的模型有效训练时长占比超过了 98.8%,线性加速比和带宽有效性均达到了 95%,实现业界领先算力效能,为内核层提供高效的算力保障。

此外还有一个问题,国内芯片供应存在不确定性,这必然会导致多芯片并存的格局(即国内和国内品牌芯片共存),这为智算集群中模型推理和单一任务训练提出了挑战。百舸不仅兼容了昆仑芯、昇腾、海光 DCU、英伟达、英特尔等国内外主流 AI 芯片,更实现百卡和千卡规模、单一训练任务下,不同厂商芯片的混合训练,其中百卡规模性能损失不超过 3%,千卡规模性能损失不超过 5%,实现业界领先。

正如沈抖会上所言,「百舸为大家屏蔽掉了芯片之间的差异,提供了自由选择不同芯片组合的权利。」

内核层的另一主角是 77 个精选大模型,包括百度 ERNIE 4.0、ERNIE 3.5 大语言模型、近期发布的 ERNIE Speed/Lite/Tiny 系列轻量模型、文心视觉大模型和各种第三方大模型。它们压缩并封装了庞大的世界知识,是更上层运行简单接口和 AI 原生应用的能力源泉。

来到外壳层,主角是千帆 ModelBuilder,负责大模型管理、调度和二次开发。有了它,开发者不用从头开始训练大模型,付出很少数据、资源即可在基础大模型上快速精调出适合自身业务和场景的模型。

再往上为 ToolKit(工具)层,集成了产业级 AI 原生应用开发平台 AppBuilder基于文心大模型的智能体构建平台 AgentBuilder。有了内核层和外壳层的算力和模型铺垫,万源要在此层让开发者切身体验到不一样的 AI 原生应用开发。

其中,AppBuilder 支持工作流编排。开发者选择使用预置模板和组件或者集成、扩建特色组件,轻松定制自己的业务流程。经过 ModelBuilder 精调的模型也可以直接调用,怎么方便怎么来。开发完的应用支持一键发布到百度搜索等其他平台,并通过 API 或 SDK 在用户系统中直接集成。

AgentBuilder 则致力于零门槛,让不会编程的用户通过 prompt 输入和操作调优,快速创建专属于自己的智能体,在使用场景中自动提供服务。

此外,万源还提供了完善的模型 & 数据管理以及模型安全服务,为 AI 原生应用的繁荣保驾护航。

至此,从内核层、外壳层到工具层,百度在我们面前展现出了新一代智能计算操作系统的全貌。

背后的技术优势

能解决好问题才行

我们观察到,万源一举解决了业界同行们都在面临的三个关键问题,分别是算力、模型训练和部署、以及应用开发,并在过程中形成了自己的核心技术优势。

尤其是在算力部分,百舸・AI 异构计算平台实现了单一任务下不同厂商芯片的大模型混合训练, 百卡规模性能损失不超过 3%,千卡规模性能损失不超过 5%。这些是如何做到的呢?

首先,百舸的线性加速比达到了 95%,这要归功于百度智能云面向 AI 计算推出的 AI 加速套件「AIAK」,它的核心是网络通信加速。我们知道,AI 跑在芯片上靠的是各种各样的算子,但每家芯片厂商的算子实现并不一样。

百度则选择在整个框架层面拆分底层的通信和上层算子的优化和实现,这样各家芯片有了针对这些算子的优化实现。最终不同厂商的芯片都能跑在百度的加速库上,即百度集合通信库 BCCL,它是百舸的重要组件。但是,这一步并没有直接解决一云多异构芯片的问题。

还需要第二步。以前一种芯片算力是相同的,所以我们的并行策略大多是均匀切分的。但现在算力、通信、存储都不一样了,为了充分发挥出各芯片算力性能那就需要实现不均匀的切分方式,比如在模型张量切分中,不同芯片可能需要切分成不同的大小,在流水线切分中则需要在不同芯片上放不同的层数。这就需要对框架做相应的改造和优化,我们的训推加速软件就实现了这些不均匀的,混合的切分策略,让每个芯片算力能充分发挥出来。

而接下来,集群中各种芯片的比例可能是不一样的,在各种情况下都能找到最优的任务切分方法。在前面这么多复杂策略的情况下通过测试显然是不行的。通过一套自动化并行策略框架,根据各种策略所需要的计算量,存储量,通信量,以及不同芯片的计算和 IO 效率,从而快速计算出最优的任务切分策略,保证在各种配比下芯片算力都能充分发挥出来。这是实现一云多芯的基础原理。

至于百卡和千卡规模性能损失为何如此低,这还要得益于百舸在存储方面支持了高性能分布式存储 PFS、以及万卡级别的 RDMA 网络,前者显著提升训练和推理过程中的 I/O 吞吐能力,后者有效降低网络延迟。

同样地,万源让大模型的训练和部署不再困难。尤其是对个人开发者而言,他们没有训练大模型所需的算力、数据和精力,这一切都让万源代为完成。

有了 ModelBuilder,开发者没有了从头开始训练模型的烦恼,随时随调随用。部署起来同样方便快捷。

最后,应用开发问题依靠 AppBuilder 得到更好解决,它的两个优势帮了大忙。

一是依托文心 4.0 强大的理解和遵循能力,效果好且不用长时间调优,成本和门槛降了下来。同时丰富的 AI 能力组件、大模型能力组件和百度独家开放的业务组件让 AI 原生应用开发更加高效。二是创建一点都不繁琐,只需三步:命名、描述具体要求、运行,一气呵成。

而随着算力、模型训练和部署、以及应用开发这些节点的关键问题一一被有效地克服,万源为 AI 原生应用提供了更强的动力和更大的舞台,让 AI 在应用层的机会更多。

写在最后

不难发现,大模型出现以来,AI 圈呈现一个非常明显的特点,即大家追逐的热点变化很快。短短几年时间,我们已经看到了从最开始的基础和行业垂直模型,慢慢发展到之后基于大模型的各类 AI 原生应用和 Agent。

很显然,对于业界玩家们来说,尽可能不错过每一个节点,才更有可能不被同行落下,反过来就有可能跑赢对手。我们看到,在大模型发展至今的整体规划和布局中,百度步步为营,并以广泛、真实的客户实践和产业落地需求为导向。

从业界首发行业大模型到全球首个企业级大模型生产平台千帆 ModelBuilder,百度走在了大模型落地的前列。目前,千帆大模型平台已经服务了 8.5 万家企业客户,并累计精调超过 1.4 万个模型。

随着从卷大模型进入到卷应用的阶段,百度加快了基于大模型的 AI 原生应用开发及生态建设。去年 10 月 17 日,百度创始人、董事长兼首席执行官李彦宏在百度世界 2023 上预言,「我们即将进入一个 AI 原生的时代」。此后, AI 原生应用开发平台千帆 AppBuilder 全面开放服务,让人人都能自己开发。目前已经有 8100 家伙伴通过该平台开发 AI 原生应用。

此次,百度又为这个新时代的到来抛出全新的思考 —— 万源。百度从完整的 AI 原生操作系统出发,将过去多年在算力、大模型和应用层面积累的工作「化零为整」,以更强的姿态迎接 AI 原生时代面临的挑战。

未来,百度一方面将继续把万源的基础设施、内核服务做得更智能、高效,另一方面致力于在上层提供更便捷的开发工具,做到双管齐下。同时进一步开放生态合作,携手应用开发者、企业、芯片厂商将万源打造地更加完备。