大规模生成模型时代的计算:从云原生到AI原生
时间线
2016年及以前:共享一切架构推动多租户模式,提升资源利用效率和服务交付。 2016年:TensorFlow发布,标志大规模机器学习工具的新时代。 2017年:PyTorch发布,动态计算图革新深度学习;云原生技术(如Kubernetes、微服务和无服务器计算)推动系统模块化与资源优化;DBaaS兴起,Snowflake等优化数据服务。 2018年:JAX发布,通过函数变换提升深度学习优化与跨架构支持。 2019年:大型语言模型广泛应用,微服务架构在云原生平台中增强系统敏捷性与扩展性。 2020年:Orca发布,支持分布式生成模型;RAG技术扩展NLP任务能力。 2021年:LoRA微调技术降低训练成本;HuggingFace推动LMaaS生态,简化AI模型开发与部署。 2022年:JellyBean和Punica优化机器学习推理性能;混合专家模型提升特定任务效率。 2023年:大型生成模型引领AI革命;AI原生计算兴起,结合云原生与先进ML优化技术。
常见问题解答
1.什么是AI原生计算?
AI原生计算是一种新兴的计算范式,它将大型生成式AI模型与云原生技术深度融合。其目标是优化成本效益和资源可访问性,例如通过多租户和无服务器计算等云原生技术,以及通过批处理LoRA推理等先进机器学习运行时。
2.AI原生计算与云原生计算有何关系?
AI原生计算继承了云原生计算的许多设计理念,例如容器化、编排、微服务和多租户。然而,AI原生计算更进一步,它将机器学习运行时与云原生系统深度集成甚至协同设计,而不是仅仅将机器学习操作视为黑盒。
3.AI原生计算旨在解决哪些挑战?
AI原生计算主要旨在解决大型生成式AI模型所面临的成本和资源可访问性挑战。这些模型的训练和推理成本高昂,且需要大量高端GPU资源,这对于许多研究机构和小型企业来说是难以承受的。
4.AI原生计算有哪些潜在优势?
AI原生计算可以通过以下方式带来诸多优势:降低成本:通过多租户和无服务器计算等技术,AI原生计算可以更有效地利用资源,从而降低成本。提高资源可访问性:AI原生计算可以利用去中心化的GPU提供商,为更多用户提供对高端GPU资源的访问。提高效率:AI原生计算可以通过深度集成和协同设计,提高机器学习运行时和云原生系统的效率。支持更广泛的AI应用:AI原生计算可以为RAG、AI代理等新兴AI应用提供更好的支持。
5.RAGaaS与BIaaS有何相似之处?
RAGaaS(检索增强生成即服务)和BIaaS(商业智能即服务)都具有类似的云原生架构。它们都涉及数据处理阶段,例如提取、分割、嵌入和加载数据。此外,它们都利用云原生技术,例如容器化、编排和微服务。
6.AI原生计算面临哪些研究挑战?
AI原生计算仍处于发展的早期阶段,面临着许多研究挑战,例如:高效的机器学习运行时:需要开发更高效的机器学习运行时,以充分利用GPU资源,并支持MoE模型、推测解码等新技术。持续学习和服务系统:需要开发能够持续学习和服务大型模型的系统,以应对实时数据流和不断变化的用户需求。服务可用性:需要开发能够确保大型模型服务高可用性的技术,例如容错训练、复制和恢复机制。资源可访问性和临时性:需要开发能够有效利用临时性云资源的技术,例如竞价实例和零碳云。多样化的微服务:需要开发更广泛的AI原生微服务,例如数据管理、向量数据库和AIops。
7.AI原生计算有哪些应用场景?
AI原生计算可以应用于各种场景,例如:RAGaaS:提供基于检索增强生成的云服务。AI代理:构建和部署多轮交互式AI代理。实时数据分析:对实时数据流进行分析和预测。内容生成:生成文本、图像、音频和视频等各种内容。
8.AI原生计算的未来发展趋势如何?
随着大型生成式AI模型的普及,AI原生计算将会得到快速发展。预计未来将会出现更多针对特定应用场景的AI原生系统和优化技术。此外,云原生技术和机器学习技术将会更加深度融合,形成一个更加完善的AI原生计算生态系统。
摘要
本文探讨了大规模生成式AI模型与云原生计算架构的融合。尽管像ChatGPT这样的新一代大模型在性能上实现了突破,但它们也面临着成本攀升和高端GPU资源紧缺等挑战。通过对比大模型即服务(Large-model-as-a-service, LMaaS)和数据库即服务(Database-as-a-service, DBaaS),我们提出了一种AI原生计算范式,该范式将云原生技术(如多租户和无服务器计算)与先进的机器学习运行时(如批处理LoRA推理)相结合,以优化销售成本(Cost of Goods Sold, COGS)并提升资源可用性。这一融合领域正处于起步阶段,期待能推动该方向的进一步研究与发展。
1 引言
近年来,生成式AI取得了重大突破,特别是在稳定扩散模型(如SDXL)和大语言模型(LLM,如ChatGPT)领域。这些模型在理解人类语言和生成真实内容方面展现出了革命性能力。随着模型的演进及其规模和复杂度的提升,其应用已扩展到智能对话、虚拟助手、数据分析、预测以及创意工作(如写作、艺术和音乐创作)等多个领域。
然而,这些模型及其应用的广泛普及为底层系统和基础设施带来了独特挑战。这些挑战既体现在纵向维度(单个模型和任务复杂度的提升),也体现在横向维度(用户数量和应用场景的爆发式增长)。在诸多现实问题中,成本(COGS)成为制约这些模型在AI应用中进一步发展的主要瓶颈之一。以OpenAI的GPT-4模型为例,其推理成本达到每千个tokens 0.12美元,远超搜索引擎等传统网络应用的预期收益。这使得大模型的商业可行性备受质疑。此外,这些规模达到数十亿至上千亿参数的模型在训练过程中需要海量数据和计算资源,导致巨额成本支出。模型的迭代优化过程也会随时间累积大量开销。
除了成本问题,GPU资源的获取也成为训练和部署大模型的瓶颈。对大模型日益增长的需求加剧了高端GPU的竞争,导致许多研究机构和中小企业难以获得足够的专用计算硬件资源。
相比之下,像Meta的Llama-2这类参数量在数十亿级别的较小模型具有明显的经济优势。这些模型的训练、使用和维护成本相对较低。与通用大模型不同,这些模型通常针对特定任务进行微调(Fine-tuning)。这种专门化确保了性能优化,避免了不必要的能力冗余。然而,大量专用模型的出现也增加了底层系统的复杂性。
目前的AI软件技术栈采用模块化架构。模型运行时框架(如TensorFlow和PyTorch)为上层系统(如Huggingface Transformers、Megatron-LM和DeepSpeed)提供了关键支持,大幅提升了分布式环境中的模型训练和部署效率。但目前的研究重点主要集中在单模型系统的垂直扩展性和效率优化上,对于资源可用性和大规模横向扩展场景中的COGS优化尚未得到充分重视。
回顾:云原生技术
大规模生成模型在功能层面与数据库有相似之处:它们都存储知识,并在接收查询或提示时组织并返回相关响应。为了改善大规模生成模型的COGS和资源可用性,有必要借鉴云计算和数据库即服务(DBaaS)的发展经验。实际上,当前面临的许多挑战并非全新问题,它们大多属于云原生计算范畴,这一范式转变重新定义了我们对云生态系统的认知。
具体而言,云原生计算通过容器化技术和编排工具(如Kubernetes)实现了可扩展性、弹性和模块化。微服务架构将系统分解为独立模块,提高了系统灵活性并简化了维护工作。多租户技术允许多个系统和任务共享基础设施,在确保隔离性的同时优化了资源利用和成本。通过自动扩缩容和无服务器计算(Serverless Computing),云原生架构显著降低了负载波动时的COGS。本文旨在探讨如何将大规模生成模型系统无缝融入云原生计算架构。
AI原生:新挑战与机遇
在继承云原生系统优势的基础上,上述技术可以有效应用于机器学习运行时的容器化和模型推理任务的动态扩展。然而,需要注意的是,在这些场景中,机器学习操作往往被视为黑盒。通过更深层次的整合,并在机器学习运行时与云原生系统间进行协同设计,我们正在为AI原生计算范式的发展奠定基础。
AI原生范式的核心是优化大模型的训练、微调和部署过程,主要目标仍是改善COGS和资源可用性。例如,在AI原生计算的典型应用场景中,由于大多数终端用户无力承担基础模型的训练成本,他们选择使用特定数据集对开源模型进行微调。当前,同时服务数百个基于相同基础模型微调的模型效率较低。这本质上是一个多租户问题。已有研究(如Punica)开发了批处理LoRA推理机制的机器学习运行时,将输出吞吐量提升了14倍,这是AI原生计算范式的典型实践。
为缓解资源短缺问题,可以转向无服务器计算和新兴分布式GPU提供商(如Vast.ai和Akash Networks)提供的高性价比GPU容器。但在这些异构且地理分布的基础设施上部署多样化的大模型任务,以及构建、运营和优化系统,都带来了前所未有的挑战。
然而,COGS和资源可用性仅是AI原生范式的一小部分。其他同等重要的议题包括服务更广泛的AI应用等;更多讨论将在第4节展开。这些挑战不仅凸显了云原生方法与大规模生成模型深度融合的复杂性,也揭示了未来研究与开发的诸多机遇。
当前的AI软件技术栈主要关注单模型系统的垂直扩展性和效率优化,而大规模横向扩展场景尚未得到充分重视。 大模型即服务(LMaaS)与数据库即服务(DBaaS)具有相似特征。许多云原生设计理念可直接应用于提升系统效率。然而,在机器学习与云系统之间仍需进行深入的调整和协同设计,以形成新的AI原生计算范式。本文列举了多个值得研究的课题。 仍有许多问题有待解决。本文展望了相关研究和实践中的挑战与机遇。
2 背景
云原生计算通过容器化和微服务等理念重新定义了软件开发模式,使其具备更强的可扩展性与适应性。传统软件(如早期客户关系管理系统CRM和数据库系统)往往受限于专有基础设施。而云原生计算转型的核心要素之一是容器化技术(Containerization),它使开发者能够将应用程序封装在容器中,确保应用在异构环境中的一致性表现。Kubernetes和其他容器编排工具进一步增强了这一能力。例如,当电商平台在促销期间遇到流量激增时,编排工具可以动态调整资源配置,保证网站的响应性能。
微服务架构(Microservices Architecture)将应用程序解耦为独立的功能性服务。YouTube就是云原生平台的典型代表。与传统的单体架构不同,它通过微服务运作,每个微服务负责特定任务,如用户认证、数据存储、视频编码和流媒体播放等。这种架构方式具有多重优势:首先,提升了系统韧性,单个服务的故障不会影响整体运行;其次,简化了维护工作,可以独立更新或调试单个服务而不影响整个生态系统;最后,增强了开发敏捷性,团队可以并行开展创新并快速部署新功能。
值得注意的是,多租户技术在云原生计算中发挥着关键作用。这一源自20世纪80年代的共享一切(Shared-everything)架构理念使软件平台能够通过共享基础设施为多个用户提供服务,而无需为每个用户部署独立实例。这种技术显著提高了资源利用效率并降低了用户成本。在众多成功的云原生系统中,数据库即服务(DBaaS)在基础设施、数据集、查询处理和关系运算等多个层面应用了多租户技术。Snowflake和Amazon Redshift等行业领导者正是基于提供更优质服务同时保持价格竞争力的需求而发展壮大的。
大模型即服务(Large-model-as-a-service, LMaaS)作为一种基于云的服务模式,通过高效、可扩展且易用的部署方式,实现了先进AI技术到实际应用的转化。对于缺乏大规模计算资源的组织而言,LMaaS让它们无需承担模型训练、维护和部署的开销,就能使用最先进的模型。通过在系统和基础设施层面抽象复杂性,LMaaS为终端用户提供了简洁的接口:
模型训练:W𝑚 ← train(𝑚, D, C),表示在数据集D和超参数C上训练模型𝑚,输出为模型参数(即权重)W𝑚。 模型微调:W𝑚′ ← finetune(𝑚, W𝑚, D′, C′),这是模型训练的特化版本,用于低成本获取领域专业知识。输入包括预训练模型权重W𝑚,以及新的超参数C′和通常规模较小的数据集D′。一般情况下,C′的主要区别在于较少的训练轮次(epochs),其他超参数保持不变。 模型推理:𝑟 ← inference(𝑚, W𝑚, 𝑞),表示使用训练好的模型对输入查询𝑞生成响应内容𝑟。
近期,低秩适配(Low Rank Adaptation, LoRA)技术作为一种更高效的微调策略,受到学术界和产业界的广泛关注。这种方法对用户接口做了微小调整:在模型微调方面,接口变为Δ𝑚, WΔ𝑚 ← finetune(𝑚, W𝑚, D′, C′′)。其核心思想是保持基础模型权重W𝑚不变,同时训练一个参数量较小的LoRA适配器WΔ𝑚。这种方式使微调速度提升了数个量级。
相应地,新的模型推理接口变为𝑟 ← inference([𝑚, Δ𝑚], [W𝑚, WΔ𝑚], 𝑞)。输入查询𝑞需要通过基础模型和适配器模型的协同处理。由于适配器模型较小,对推理延迟的影响可以忽略。除了提供简洁的LMaaS接口外,LoRA还引入了一种灵活且经济的服务形式。基础模型可以视为面向多用户和多应用场景的共享资源,而适配器则作为定制化的专用组件。在本文后续内容中,我们将阐述这种新型服务模式在云原生和AI原生计算中的重要应用。
HuggingFace等模型市场进一步推动了LMaaS的发展,为社区提供了先进的预训练模型、微调适配器、数据集以及用于训练和部署定制模型的平台。数以千计的知名机构在这些平台上分享模型及相关资源,这极大促进了LMaaS生态系统的繁荣发展。
3 云原生技术与大模型
大模型即服务(Large-model-as-a-service, LMaaS)与云原生计算的融合不仅是两个技术领域的交汇,更可能重塑现代云计算和人工智能的发展格局。其协同效应主要体现在以下几个方面:
容器化(Containerization)
近期虚拟化技术的进步实现了对底层操作系统的透明直通(Transparent Pass-through)。在AI和深度学习框架层面,PyTorch和TensorFlow等主流框架已经集成了面向异构计算架构(包括CPU、GPU和FPGA)的运行时支持。这些技术进展,加上跨容器实例间的协作协议设计,使大模型软件栈在动态部署场景下的交付变得更加高效便捷。
编排(Orchestration)
在确保系统弹性、可扩展性和韧性方面,编排技术发挥着核心作用。这些特性是LMaaS实现强健且经济的按需服务(Pay-as-you-use)的基础。考虑到用户工作负载的波动性和底层基础设施的动态变化,必须借鉴并优化当前云原生解决方案中的最佳实践。例如,当查询模式从可预测或零星的请求转变为高强度的流量峰值时,无服务器(Serverless)技术能够快速动态地伸缩资源,并支持负责模型服务的容器迁移。这种适应性能够最大限度减少资源冗余,从而降低单位成本(COGS)。此外,还需关注云环境中不同区域的资源可用性差异和异构性。在这种多样化环境中实现高效编排,需要在资源分配、队列管理和实时调整等方面采用精细的策略,特别是在处理大规模分布式机器学习工作负载时。
微服务(Microservices)
除了基础服务外,大模型正在与增强功能和补充数据深度融合。随着机器学习生命周期的成熟,它与更复杂的算法和方法论的结合愈发紧密。例如,大型语言模型(LLM)近期采用了多阶段训练策略,尤其引入了人类反馈强化学习(Reinforcement Learning with Human Feedback, RLHF)。同时,搜索引擎、语音合成、商业数据分析和图像生成等多样化AI应用的兴起,对多模态数据处理能力提出了更高要求。面对这些复杂性,云服务提供商需要精心设计和优化微服务架构,同时增强基于分布式大规模数据存储的模型,以适应数据量和多样性的快速增长以及机器学习算法的持续演进。
多租户(Multi-tenancy)
多租户作为核心设计原则,在上述各项技术中都有体现。从模型角度看,系统需要支持多个基础模型和针对不同企业需求的多个LoRA适配器模型。同时还需要处理来自不同用户的并发查询。从任务角度看,可能同时涉及训练、微调、推理、数据准备、管理和运维等工作负载。在这些场景下,整合计算资源和节省GPU内存尤为重要。这些大模型应用场景还为底层多租户系统和基础设施提供了进一步优化成本和效率的机会,例如在分布式训练和数据集准备任务中实现网络通信聚合和共享数据基础设施。
借助这些能力,我们可以构建专门面向大型生成模型的云原生基础设施。下面将介绍我们在上述研究方向的初步探索。
示例:RAG即服务与BI即服务
检索增强生成(Retrieval Augmented Generation, RAG)已成为自然语言处理领域的重要研究方向。RAG通过结合信息检索系统扩展了大型语言模型的能力,适用于文档分析、摘要生成、个性化对话和代码理解等多种应用场景。图1右侧展示了RAG即服务(RAGaaS)的工作流程和架构,左侧则是典型的云原生商业智能即服务(Business Intelligence as a Service, BIaaS)架构。
在RAGaaS架构中,处理流程始于从客户端获取文本文档或代码,随后将输入数据分割为较小的单元。这些单元被转换为向量表示,并存储在专用的向量数据库中。当用户提交查询时,系统从向量存储中检索最相关的数据片段。用户的查询与检索到的数据被整合后传入大模型推理模块,用于生成最终答案。
相比之下,现代云原生数据库系统中的BIaaS也遵循类似的工作流程。其数据处理阶段包括提取、分割、向量化和加载表格数据。SQL查询用于触发数据检索和执行相应的数据库操作,这一过程与RAG中的数据检索和模型推理过程有着相似之处。
采用云原生技术
在将数据库概念与大模型应用相结合时,许多云原生技术可以直接应用于RAGaaS。例如,大模型推理端点可以通过容器化简化部署流程;向量数据库的搜索功能可以作为独立的微服务提供。云编排系统通过分离存储和动态伸缩容器及GPU资源来提升系统效率。为了增强多租户RAG工作负载的处理能力,实践证明查询优化和批处理技术的实施效果显著,可以实现批量并发查询处理,并根据用户服务级别协议(Service Level Agreement, SLA)将不同查询路由到相应的大模型。
虽然云原生技术能够提供直接的优势,并将大模型任务和系统组件作为黑盒处理,但在针对大模型的专项优化方面仍存在广阔的探索空间。
4 初步探索:AI原生计算
本节探讨大模型与云原生技术深度融合的发展前景,为构建全新的AI原生计算范式奠定基础。我们将回顾部分相关研究工作,并介绍一些初步实验成果。本文并非对该领域进行全面综述,而是着重展示未来研究的潜在价值。
案例研究1:弹性扩展(Elasticity)
我们首先探索了云原生计算中的经典概念——弹性资源调度,将其应用于NVIDIA 4090 GPU集群上的Llama-2 7B模型服务。针对查询模式的动态变化,这种方法在提升资源利用率方面具有重要的实践意义。我们的云编排系统通过收集运行时遥测数据(Runtime Telemetry),并采用基于启发式的反馈机制来动态调整推理实例数量。
在初步实验中,我们模拟了包含全天查询模式的真实应用场景,实验结果如图2a所示。出乎意料的是,即使采用简单的扩展启发式算法,系统也表现出了快速扩展能力。在高速网络和PCI-E 5.0总线的支持下,模型加载时间可控制在秒级。这表明在新型AI原生计算范式中,弹性扩展不仅可行,而且能有效提升资源使用效率。
案例研究2:多租户(Multi-tenancy)
这里我们深入探讨前文提到的一个示例。当多个LoRA(Low Rank Adaptation)微调模型共享同一基础模型时,新型机器学习运行时系统Punica支持对多用户查询进行批量推理处理。这是典型的云系统多租户场景,即多个用户共享相同的软件基础设施。
与传统场景的区别在于,这里的模型推理过程涉及单一副本的基础模型和多个LoRA适配器。Punica实现了基于定制CUDA内核的LoRA批处理机制,实现了基础模型与适配器之间的高效通信。图2b对比了Punica与当前最先进的大模型服务系统的性能,其中横轴表示批量大小b。基准系统包括Huggingface Transformers、DeepSpeed和vLLM,这些系统仅支持批量大小为1的LoRA推理。
实验结果显示,在使用Llama-2 7B作为基础模型时,在单张80GB显存的A100 GPU上,当批量大小为32时,Punica的吞吐量比vLLM提高了14倍。
案例研究3:混合云部署与优化(Hybrid Cloud Deployment and Optimization)
随着云计算范式的扩展,特别是智能设备和物联网(Internet of Things, IoT)的普及,基础设施呈现出日益多样化的特点。早期研究项目JellyBean提出了一种系统,用于在异构基础设施(如IoT设备和云数据中心)上部署和优化机器学习推理工作负载。
JellyBean的云原生和AI原生设计包括:(1)容器化运行时,支持在异构基础设施上部署机器学习推理任务;(2)混合云编排器,运用查询优化技术,根据特定的服务级别目标(如吞吐量或准确率)选择最具成本效益的模型,并在云的不同区域分配任务。
实验表明,相比现有混合云机器学习部署方案,JellyBean在视觉问答任务中可将总服务成本降低58%,在NVIDIA AI City Challenge的车辆追踪任务中降低36%,显示出显著优势。
总结
通过以上三个案例研究,云原生与AI原生设计在提升大模型效率和降低成本方面的优势明显可见。尽管我们的研究仍处于起步阶段,仅涉及部分具体问题,但随着生成式大模型在研究和生产中的重要性不断提升,未来必将出现更加全面和深入的研究成果。
5 面向未来的展望
尽管前文展示了AI原生计算范式的一些有价值方向,但仍存在诸多值得关注的挑战与机遇。本节将对其中部分问题展开讨论。
大规模生成模型的运行时优化
本文虽然主要讨论了大规模生成模型的横向扩展(horizontal scalability)问题,但纵向扩展(vertical scalability)和机器学习运行时效率同样重要。大模型需要的内存量往往超出GPU容量,而Transformer模型中的键值缓存(key-value cache)更加剧了内存需求。在高带宽内存(HBM)和静态随机存取存储器(SRAM)之间传输数据会消耗大量内存带宽,导致稀疏计算成为推理过程中的带宽瓶颈,使GPU计算能力无法充分发挥[70]。因此,构建能充分利用现有内存和计算资源的高效推理引擎仍是重要挑战。
近年来,机器学习领域提出了专家混合模型(Mixture of Experts, MoE)[27, 68]和推测解码(speculative decoding)[19, 44]等方法来提升模型效率和质量。这些创新方法的核心思想是利用多个针对特定任务定制的小型模型,避免对完整模型进行高耗计算。例如,Llama-2已提供多种规模的版本,通过策略性使用可实现更高的成本效益。然而,评估创建和维护多个模型的初始开销是否能被潜在的节约和效率提升所抵消并非易事。我们可以借鉴数据库管理系统中的物化视图(materialized views)等技术[30],用于高效处理重复查询,避免反复调用大模型。
随着局部创新快速推进,我们预期系统和机器学习领域都将出现重大突破。例如,FlashAttention[23, 24]和PagedAttention[43]机制融合了这两个领域的思想,将推动现有解决方案向前发展。
持续学习和服务系统
在许多应用场景中,数据是实时产生的。为向用户提供有用且最新的洞察,服务系统需要能够从数据流中持续学习。传统的定期重新训练或更新大模型方法成本高昂且耗时[46]。持续学习系统为保持模型时效性提供了解决方案。
经典流处理系统,如Naiad[52]、Spark Streaming[77, 87]、Apache Flink[17]和RisingWave,能够适配近实时的连续数据流处理。机器学习与数据管理技术,如LoRA微调(LoRA fine-tuning)[38]和索引(indexing)技术能够高效处理新数据并更新现有模型。在未来研究中,机器学习遗忘(machine unlearning)[15]是一个值得关注的挑战,它可以移除不必要的数据,确保模型符合数据使用要求。
在大模型的实时服务中,面临着并行到达但未同步的查询等诸多挑战[33, 64, 69]。如Orca[85]等研究提供了初步解决方案。在多租户系统中,多个基础模型、用户、应用和任务竞争相同资源的复杂性进一步增加。我们预计未来研究将系统化推进该领域的解决方案。
服务可用性
随着大规模生成模型成为关键基础设施服务,确保其对故障的弹性变得至关重要。与数据库服务可通过日志记录、检查点和云原生架构中的复制来实现恢复和高可用性不同,大模型训练在分布式GPU服务器上既资源密集又耗时[88]。因此,应对部分资源故障对维持模型性能具有重要意义[80]。
基于检查点的解决方案成本高昂,且会导致GPU资源利用不足。而基于异步方法的细粒度日志记录为容错训练提供了更具前景的方向,它允许在不中断GPU执行的情况下持久化训练进度。在在线推理中,由于任务较短且可重新执行,可用性优先于可恢复性。通过在多个故障域中复制推理部署可消除停机时间,但会增加成本。云原生方案建议通过多租户优化成本,在提高吞吐量的同时实现优雅的故障恢复。
由于异构硬件、脆弱的机器学习软件以及用户和应用需求不断变化,LMaaS(Large Model as a Service)中的高可用性面临挑战。未来研究机遇包括设计保证可用性的复制与恢复算法、加快崩溃恢复的硬件-软件协同设计,以及利用云存储架构和专用缓存等方法。
资源可访问性与短暂性
训练和部署大规模生成模型通常需要大量GPU资源,特别是在基础模型的预训练阶段。高带宽网络对节点间通信和梯度同步至关重要。然而,这导致了资源可访问性问题,使获取此类基础设施变得困难。
此前研究已探讨了利用地理分布式基础设施训练大模型[86],并对这一领域未来发展寄予厚望。同时,云服务商也在向资源解耦化方向发展。诸如Vasi.ai和Akash Networks等全球GPU市场提供了具有高度异构性的分布式计算节点租赁服务。然而,在这种超解耦化基础设施上构建云服务虽面临通信、容错和资源管理等重大挑战,但潜在收益同样显著。
短暂性云资源(如竞价实例[7])的普及进一步增加了部署LM任务的复杂性。这些资源价格低廉,但随时间波动较大。对于长时间运行的LM训练,必须建立高效的模型检查点与重加载机制,以在资源暂时不可用或价格过高时暂停训练,并在条件更优时重新启动,同时尽量减少开销。对于通常对延迟敏感的推理任务,需要合理决策哪些任务优先获得可用资源。
多样化微服务
除了基础的大模型训练、微调与推理服务,近年来生产系统开始探索更广泛的微服务,例如机器学习生命周期中涉及的数据管理服务,包括数据筛选、清洗、转换和标注等。主要云厂商与数据库即服务(DBaaS)提供商如Databricks[25]和Snowflake[22]已有相关服务和集成。
在LMaaS场景下,使用向量数据库如Milvus[79]和Pinecone[1]缓存中间结果、频繁查询或嵌入向量[3, 51]是一个值得注意的微服务。基于RAG的应用同样是重要用例。向量数据库需要选择合适的向量索引(如基于图的HNSW[50])以在内存消耗、查询性能与准确性之间权衡。构建强健、可扩展且高效的向量数据库作为云系统中的微服务具有研究与生产双重价值。
AI运维(AIops)已成为管理复杂云基础设施的关键技术,可自动化执行监控、故障排查、性能调优和资源优化等任务。在基于云的大模型系统中,AIops将成为保障系统可靠性和效率的重要工具。例如,预测工作负载完成时间与未来负载模式对提升系统性能和减少服务中断具有重要意义[63, 78]。基于特定负载优化模型训练与推理配置(如批量大小和优化器参数)对性能和资源消耗的影响也至关重要。
数据库管理系统的洞见再次可以应用于智能化自动化LMaaS的运维。例如,查询预测方法[48]可帮助检测工作负载模式与完成时间,基于学习的参数调优技术[6, 76]也能优化训练与推理配置。然而,数据库和大模型负载之间的差异性需要对现有技术进行更深入的研究和适配。
新兴应用与负载
除了前文提到的基于RAG的应用,大规模生成模型的应用场景不断涌现。这些场景不仅包括模型推理,还涉及复杂的工作流,有时甚至需要与第三方软件(如编译器和搜索引擎)交互或反馈。
一个显著的新兴应用类型是AI代理(AI agents)[47, 60],它需要在代理与人类之间,或多个代理之间进行多轮交互,应用于在线购物、机器人、游戏等场景。构建AI代理的方法通常从大模型推理端点出发,通过不同的角色定义提示实现[37, 73, 83]。
在这些场景中,尽管许多云原生技术仍适用,但优化这些新型工作流也面临挑战和机遇。例如,从同一基础模型微调出的多个技能不同的AI代理可被视为多租户的另一种用例。计算图与查询优化技术可用于提升执行效率。我们预计,针对特定应用的系统和优化将在不久的将来迅速增长。
6 相关工作
大规模模型的系统
PyTorch[61]、TensorFlow[57]和JAX[16]是当前主流的深度学习框架。PyTorch采用动态计算图,也称为定义即运行(define-by-run)范式;TensorFlow以静态的定义后运行(define-and-run)方法著称,但现已支持两种模式。JAX则提供了Python函数的可组合变换,支持高级优化以及面向异构架构的即时编译。在更高层系统中,面向分布式环境部署复杂大模型的框架备受关注[39, 53, 54],如Megatron-LM[56, 71]、DeepSpeed[66, 72]和Huggingface Transformers[82],它们为分布式训练和部署提供了便捷支持。为实现持续服务并发用户和查询的大模型服务,Orca[85]、TGI[74]和DeepSpeed-MII[26]构建了基于gRPC用户端点的模型服务层。这些系统是AI原生计算范式中不可或缺的组成部分。
生产中的云原生技术
主流云服务商提供了多种云原生服务以满足广泛的应用需求。例如,Amazon RDS[10]和Azure SQL Databases[11]等数据库即服务(Database-as-a-Service, DBaaS)解决方案;AWS Lambda[12]、Azure Functions[13]和Google Cloud Functions[31]等函数即服务(Function-as-a-Service, FaaS)平台支持无服务器代码执行;Amazon EKS[9]、Google Kubernetes Engine(GKE)[32]以及Azure Kubernetes Service(AKS)[14]等托管Kubernetes服务用于容器编排。此外还包括AI/ML服务、大数据与分析平台以及物联网(IoT)平台等,这些服务展现了云原生技术的多样性与适用性。
7 结论
本文探讨了大模型即服务(Large-Model-as-a-Service, LMaaS)与数据库即服务(Database-as-a-Service, DBaaS)的相似性,揭示了二者的共同特性,并指出可利用云原生技术提升生成式AI系统。然而,通过融合这些特性创建AI原生计算范式需要深入的洞察和创新。本文提出了三个用例并提供初步研究结果,同时强调了未来研究的挑战和机遇。
参考资料:He, Yongjun. "Computing in the Era of Large Generative Models: From Cloud-Native to AI-Native." arXiv preprint arXiv:2401.12230, 17 Jan 2024.
--【本文完】---
近期受欢迎的文章:
更多交流,可加本人微信
(请附中文姓名/公司/关注领域)