本文探讨了大模型的发展历程、架构演变及其对 AI 系统的深远影响。文章详细区分了 AI System 与 AI Infra 的概念边界,分析了从萌芽期到爆发期的技术特征。重点阐述了在千亿参数规模下,分布式并行、算子优化及硬件协同成为制约模型发展的关键因素。同时指出未来算法设计需兼顾工程效率,AI 系统已成为决定大模型成败的核心力量。
随着 GPT 使用 Transformer 结构去规模化大模型后,随着集群规模的扩展,对于 AI 系统的要求越来越高。很多人没办法很好地区分 AI 系统与 AI Infra 之间的关系,因此本文除了重点介绍大模型遇到 AI 系统所带来的挑战,看 AI 系统遇到大模型后的改变,还会去分析 AI 系统与 AI Infra 之间的区别。
AI 系统对于新算法研究的重要性日益凸显,如今已不仅仅是算法研究的辅助工具,而是成为了其不可或缺的一部分。随着 AI 系统的不断发展和进步,其在大模型研究中的影响力也愈发显著。可以说,AI 系统已经成为了大模型研究中不可或缺的重要力量。因此,对于 AI 系统的深入研究和应用,对于推动大模型研究的进步和发展具有十分重要的意义。
AISystem 与 AIInfra
在某种意义上,很多算法研究者或者系统研究者,没有很好地区分 AI System 和 AI Infra 之间的关系。本节将会重点介绍 AI System 和 AI Infra 之间的区别,并给出其不同的定义:
AI Infra(AI 基础设施)是连接 AI 训练推理全流程的软件应用,及 AI 中间件基础设施。主要包含大模型从设计、生产到应用等全流程所配套的横向软硬件设施。
AI System(AI 系统)是 AI 时代连接硬件和上层应用的中间层基础设施。主要包含底层系统架构、编译器、AI 框架等纵向的基础软硬件设施。
AI Infra(AI 基础设施)
大模型时代对 AI 基础设施的需求,与传统机器学习时代的工具栈侧重点有所不同。AI Infra 主要是从 AI 训练模型、构建 AI 赋能应用的工作流视角出发,更加关注 AI 在大模型开发、训练和推理部署的相关环节,即从 AI 训练和推理的环节过程作为代表,历经从数据准备、模型训练、模型部署、产品整合等不同环节。因此更强调的是从大模型数据准备到训练、推理、应用横向的软硬件基础设施。
但实际上,数据准备无论在小模型时代,还是大模型都是耗时较久、较为重要的一环。无监督学习虽然在一定程度上,降低对标注数据的需求,但 RLHF、SFT 等大模型的训练和微调机制体现了,大模型使用无监督学习机制降低了对标注数据的需求,但 RLHF(Reinforcement Learning from Human Feedback)等新的微调环节,体现了高质量标注数据对模型效果的重要性和意义。
对高质量标注数据的重要性,未来超大规模参数量的模型对海量训练数据的需求将会持续增加。部分研究者则认为,当互联网上可用的开源数据和其他数据耗尽的时候,会由更多的合成数据来满足大模型的训练需求。模型参数量规模大幅提升,带来日益增长的训练数据需求,长期看可能无法仅通过互联网和真实世界所提供的数据来满足,生成数据提供一种 AIGC 反哺 AI 数据训练的解法。
除了高质量的数据,数据标注也尤为重要。数据标注位于模型开发的最上游,对图像、视频、文本、音频等非结构化原始数据添加标签,为 AI 提供人类先验知识的输入。
目前,越来越多负责预训练、强化学习等的 AI 科学家也参与到数据准备中;开源论文 LLAMA2 也有一段强调高质量数据对模型训练结果影响的表述,Meta 与第三方供应商合作收集了近 3 万个高质量标注,又向市场证明了高质量数据标注工作的重要性。
模型训练
模型训练的过程中对模型库的需求量非常大,随着 AI 框架持续迭代,AI 软件工具协助实验管理也变得越来越重要。基于大模型微调的模型越来越多,因此需要能够高效便捷地获取和存储预训练模型的模型库。同时也催生更适应于大模型的大规模预训练所需的加速库,其中最为核心的则是底层的分布式并行加速库。
首先,预训练的大模型具有一定通用性(即 LO 通用预训练大模型),开发者们可以'站在巨人的肩膀上',在预训练模型的基础上通过少量、增量数据训练出 L1 模型,解决垂类场景的需求。此时,要想高效便捷地获取模型,则需要一个集成托管各类模型的模型库,从而把握从数据到模型的工作流入口。
其中,模型库顾名思义是一个托管、共享了大量开源模型的平台社区,供开发者下载各类预训练大模型,除模型外,主流的 Model Hub 平台上还同时提供各类共享的数据集、应用程序等。目前国外较为代表性意义的社区有 Hugginface 社区,国内有 ModelScope(阿里达摩院推出的 AI 开源模型社区)等。
其次,催生出更适应大规模训练需求的分布式加速库。过去传统 CPU 的分布式计算,大数据已带动了以 MapReduce、Spark 为代表的分布式计算引擎的发展。如今,大模型的预训练阶段需要大规模的 AI 集群,分布式加速库可以为大模型提供多维分布式并行能力,让大模型能够在 AI 集群上快速训练/推理,还能提升模型和算力利用率,提升 AI 集群的线性度。业界流行分布式加速库有 AscendSpeed、Megatron-LM、DeepSpeed、ColossalAI、BMTrain 等等,大部分是基于 PyTorch 等 AI 框架之上针对大模型分布式训练,设计的分布式加速库进行特殊优化。
此外,模型训练过程涉及多次往复的修改迭代,无论是 ML 还是 LLM 都需要借助实验管理工具进行版本控制和协作管理。实验管理过程主要是记录实验元数据,辅助版本控制,保障结果可复现。
因在模型预训练是一种实验科学,需要反复修改与迭代,同时由于无法提前预知实验结果往往还涉及版本回溯、多次往复,因此模型的版本控制和管理就较为必要,实验管理软件可以辅助技术人员和团队追踪模型版本、检验模型性能。Weights and Biases(W&B)和 Neptune 等上层应用能跟踪机器学习实验,记录实验元数据,包括训练使用数据集、框架、进度、结果等,支持以可视化的形式展现结果、多实验结果对比、团队协作共享等。
模型部署
模型部署层面更关注的是模型从实验和理论走向真实业务,并在真实业务环境和场景中部署并提供监控等内容。
大模型在端侧将会突破释放出大规模应用落地的潜能,更多的大模型从实验环境走向生产环境。借助模型部署工具,能够解决大模型在不同 AI 框架的兼容性差的问题,并提升大模型运行速度。从实验走向生产的重要环节。模型部署指把训练好的模型在特定环境中运行,需要尽量最大化资源利用效率,保证用户使用端的高性能。
模型监控通过对模型输出结果和性能指标的追踪,保障模型上线后的可用性。过去由于 ML 模型的非标和课程制,大规模、持续性的模型部署和监控需求未被完全激发出来,大模型的端侧突破,同时也会整体拉动大模型部署和监控的需求。
此时针对打模型的可观测性、保障性、可靠可用可纬测性就变得尤为重要。可观测性在传统 IT 系统运维中就是重要的数智化手段之一,通过监控各类机器、系统的运行数据对故障和异常值提前告警。大模型监控同理,监测模型上线后的数据流质量以及表现性能,关注大模型可解释性,对故障进行根因分析,预防数据漂移、模型幻觉等问题。
集成开发环境,如交互式的 Notebook 逐渐流行。在上述 AI 建模流程中,开发者需要处理大量代码编写、分析、编译、调试等工作,可以直接在对应环节或平台型产品的内置环境中进行,也可以使用专门的集成开发环境并调取所需功能。其中,Notebook 是一种交互式的开发环境,和传统的非交互式开发环境相比,Notebook 可以逐单元格(Cell)编写和运行程序,出现错误时,仅需调整并运行出现错误的单元格,大大提升开发效率,因此近年逐渐流行、深受数据科学家和算法工程师的喜爱,被广泛应用于 AI 算法开发训练领域。
AI System(AI 系统)
大模型时代对系统以及基础设施的需求,与传统机器学习时代的侧重点有所不同。AI System(AI 系统)更多的是从 AI 的底层软硬件基础设施的角度触发,分为底层硬件系统架构层,软硬件结合的中间件编译层、支撑 AI 训练和推理流程的 AI 框架和 AI 推理引擎,部分还会囊括集群管理和调度平台,对上提供编程语言和集成环境。因此更强调的是从底层硬件到上层应用的纵向软硬件基础设施。
AI 系统关注重点
训练领域
训练效率
不管是基于 Transformer 结构的多模态大模型,抑或是语言大模型,在模型结构不改变的情况下软件上能够有极大程度的性能突破似乎变得极其困难。算子优化(XFormers、FlashAttention)加上并行优化策略,已经基本上把在现有跨卡/跨节点的 Rank 间互联带宽下,把 NPU 的算力利用率 MFU 发挥到极致了。此时,在 AI 系统层面需要新 AI 专用硬件的出现,可能会带来新的破局点;另外对于 MOE、Mamba 等创新的网络模型结构的出现,有望挑战 Transformer 统一所有模态的局面。
大模型技术的演进不仅是算法层面的突破,更是系统工程能力的体现。从数据准备到模型训练,再到推理部署,每一个环节都对系统架构提出了极高的要求。AI System 与 AI Infra 的界限虽然模糊,但各自承担着不同的职责。AI System 侧重于底层硬件与上层应用之间的纵向打通,关注算子优化、编译器设计及集群调度;而 AI Infra 则侧重于横向的工具链整合,涵盖数据管理、实验追踪及应用编排。
未来,随着模型规模的进一步扩大,稀疏化、MoE 架构以及软硬协同优化将成为主流趋势。算法研究人员必须深入理解 AI 系统原理,才能在设计之初兼顾工程可行性;系统工程师也需要紧跟算法前沿,以应对不断变化的计算需求。只有两者深度融合,才能在大模型时代实现真正的技术突破与商业价值。