云原生场景下,AIGC 模型服务的工程挑战和应对

💡 原文中文,约7400字,阅读约需18分钟。
📝

内容提要

本文介绍了大模型推理在企业基础设施中的挑战,以及Fluid项目在云原生AIGC模型推理场景中的优化方案。Fluid提供了数据缓存、自动化、加速和数据编排等核心能力,通过分布式缓存、弹性伸缩、数据感知调度和数据流编排来提升性能和降低成本。Fluid的Python SDK可以进一步提升GPU实例的带宽能力。

🔎

延伸解读

推理成本为何成为基础设施团队的首要任务

文章指出,大模型训练与推理的使用比重未来可能达到三七开甚至二八开,推理将成为主要战场。由于GPU资源稀缺且价格昂贵,而最终用户只为价值买单,不会为推理成本买单,因此降低单位推理成本是基础设施团队的首要任务。同时,性能是ToC领域增加用户粘性的关键,效率则决定模型迭代速度,三者共同构成大模型商业化的工程基础。

计算存储分离下的冷启动瓶颈与成本浪费

在Kubernetes上运行AIGC推理时,计算存储分离架构导致数据访问高延迟和带宽受限。以Bloom-175B模型为例,从对象存储加载约340GiB模型耗时约71分钟,占整体扩容时间的85%,期间GPU处于空转状态。按AWS A100按量付费每小时40美元计算,这种空转本身就是成本浪费,同时拖慢模型启动性能和更新频率。

Fluid如何通过缓存编排平衡性能与成本

Fluid将分布式缓存系统转换为Kubernetes原生缓存服务,提供数据感知调度、弹性缓存和数据流编排能力。针对不同场景,大语言模型可采用先扩容、推理就绪后缩容到0的策略;文生图模型市场则对热点模型保持缓存副本。结合可观测性与HPA、CronHPA等扩缩容机制,用户可根据业务I/O模式在性能和成本间灵活取舍。

客户端优化与实测效果:从101秒到22秒

文章通过实测对比展示了Fluid的加速效果:直接访问OSS拉取12.55G模型启动TGI推理服务耗时101秒;使用Fluid后,部署耗时降至22秒,第二个实例因数据已缓存仅需10秒就绪,启动速度提升约10倍。此外,Fluid提供的Python SDK通过多线程读和预读,可进一步将冷启动耗时缩短一半,实现1分钟内拉起接近100G的大模型。

❓

Q&A

大模型推理在云原生环境下面临哪些主要挑战?

大模型推理面临成本、性能和效率三大挑战。成本方面,模型规模增大导致GPU资源消耗高,推理成本不断上升;性能是核心竞争力,尤其对ToC应用,更快的推理速度能增加用户粘性;效率关乎模型更新迭代速度,工程效率高的团队能更快推出有价值模型。

为什么Kubernetes成为AI应用的首选运行环境?

Kubernetes能帮助用户标准化异构资源和运行时环境、简化运维流程,同时AI这种重度依赖GPU的场景可以利用K8s的弹性优势节省资源成本。因此,在AIGC/大模型浪潮下,以Kubernetes运行AI应用将变成事实标准。

AIGC模型推理在计算存储分离架构下存在哪些痛点?

计算存储分离架构导致数据访问高延迟、带宽受限,与大模型规模不断增长的矛盾突出。例如,加载340GiB的Bloom-175B模型耗时约71分钟,占用整体启动时间的85%,I/O吞吐仅几百MB每秒,造成GPU空转和成本浪费,同时影响模型启动性能和更新频率。

Fluid项目是什么?它提供哪些核心能力?

Fluid是一个在Kubernetes中编排数据和使用数据的计算任务的项目,支持空间和时间上的编排。它提供5个核心能力:数据使用和缓存编排的标准化、自动化(通过CRD提供数据操作等)、加速(通过分布式缓存和亲和性调度)、随处运行(支持多种Kubernetes环境)、数据和任务编排(定义自动化操作流程)。

Fluid如何优化AIGC模型推理的启动性能?

Fluid通过分布式缓存、弹性伸缩、数据感知调度和数据流编排来优化。例如,使用弹性分布式缓存将底层存储带宽转变为集群内可弹性伸缩的带宽,结合Python SDK的多线程读和预读加速模型加载,可将冷启动耗时缩短一半,实现1分钟内拉起近100G的大模型。测试中,12.55G模型启动时间从101秒降至22秒,提升约10倍。

Fluid如何帮助降低AIGC模型推理的成本?

Fluid通过弹性缓存和自动化数据流编排降低成本。弹性缓存可以根据业务需求扩缩容,避免资源浪费;数据流编排自动化模型发布流程,减少人工干预。同时,Fluid在性能和成本间取得平衡,例如对大语言模型采用先扩容后缩容的策略,对文生图热点模型保持缓存副本,从而最大化资源利用率。

🏷️

标签

➡️

继续阅读