着 AI 技术的快速发展,推理服务的需求在市场中不断增长,已成为各行各业广泛关注的关键应用。随着思维链、慢思考等技术的出现,模型的推理能力也在不断的增强。推理能力的实际应用覆盖了更多行业和场景,成为企业部署 AI 基础设施时不可忽视的关键因素。更多企业关注如何高效、可靠、经济地将 AI 落地并解决实际应用中的问题。将更多的计算资源投入推理计算已成为更具性价比的性能提升方式。

 

与此同时,推理服务对存储系统提出了更高的要求。不仅需要高性能、低延迟的数据访问能力,还必须支持弹性扩展、资源隔离以及多云部署等特性。如何选择合适的存储方案,已成为企业在构建 AI 基础设施过程中必须面对的重要课题。JuiceFS 已在多个推理服务场景中得到广泛应用,服务对象涵盖基础大模型平台、多模态应用和企业级 AI 服务等不同类型客户。在对这些实践案例深入分析的基础上,我们总结出一系列具有代表性的存储需求与挑战。

 

本文将分为两个部分展开探讨。第一部分聚焦推理服务中的存储访问特征,结合 JuiceFS 的应用实践,梳理推理场景下的关键需求与常见问题;第二部分将系统性比较几种主流存储方案的优势与限制,帮助用户在构建推理系统时做出更合理的选型决策。

 

01 推理服务的存储需求:多模态复杂 I/O、跨云与多租户支持

下图列举了 JuiceFS 当前已服务的部分客户,其中包括多个 AI 基础平台以及 AI 应用客户。这些平台的主要业务以推理服务为核心,同时涵盖部分微调训练等任务。

 

18692d7494805989203b0e2c3c6c4578

 

在与客户合作的过程中,我们观察到推理业务对存储提出了以下典型需求:

 

多模态 I/O 模式更复杂:推理正快速向多模态方向发展,涉及大量小文件管理、mmap 式随机读取等访问模式。这些场景对 I/O 吞吐与延迟极为敏感,直接影响模型响应速度与用户体验。

云原生部署需求:推理流量具有明显的波峰波谷特征,要求底层存储能够快速响应突发请求,并与云原生调度系统协同,实现分钟级扩缩容。

多云多区域架构趋势明显:为提升业务的可用性与容灾能力,越来越多客户选择在多云或多区域部署推理服务。存储系统需要具备良好的跨区域一致性与成本控制能力。

资源共享与隔离并重:推理任务更强调资源复用,特别是在多租户或多业务线共用集群时,如何在确保高资源利用率的同时实现有效隔离与数据安全,成为系统稳定运行的基础。

实践 1:模型加载性能挑战

我们可以从推理服务的各个阶段来分析文件访问的需求。推理服务的主要阶段包括:

 

image

 

如上所述,每个阶段的文件访问需求不同。其中, I/O 瓶颈主要集中在冷启动阶段的模型加载和运行时模型切换上,尤其是如何能够高效地读取模型文件。

 

方案1:将模型文件打包进容器镜像。在小规模推理场景中,许多用户会将模型文件、代码依赖和扩展包打包进容器镜像,并通过 Kubernetes 启动。这种方式曾经较为简单,但随着推理规模的扩大,暴露出了一些问题:

 

镜像文件过大:随着模型文件的增大,容器镜像也变得庞大,导致拉取镜像时容易超时。

解压慢:容器镜像采用分层存储,每一镜像层的解压过程是串行操作且由于模型过大,解压时速度较慢,效率低下。

资源浪费:如果多个推理服务需要使用相同的模型,难以实现共享模型,导致频繁的下载和解压操作,浪费了大量资源。

频繁切换模型:需要频繁切换模型的场景中,效率更低。

方案2:将模型文件存储在对象存储中。每次推理实例启动时,从对象存储拉取模型文件。这种方式虽然避免了镜像拉取超时的问题,但仍然面临以下挑战:

 

带宽竞争:在大规模集群中,多个推理实例同时拉取模型时,可能发生带宽竞争,导致启动时间延长,影响用户体验。

效率低下:许多模型文件格式(如 Safetensors 格式)使用 mmap 进行懒加载,但对象存储不支持 mmap,因此必须先下载文件到本地再进行读取,既浪费了存储空间,又降低了读取效率。

方案3:使用 JuiceFS 等高性能文件系统。相较于对象存储和容器镜像,将模型文件存储在高性能文件系统中是一个更有效的方案。JuiceFS 作为这一方案的实现,具有以下优势:

 

按需配置:与传统的高性能文件系统不同,JuiceFS 在性能和容量上可以根据需求进行灵活配置,避免了性能和容量强耦合的问题。

多云数据分发能力:传统的云文件系统通常不支持多云环境的数据分发,而 JuiceFS 则具备跨云分发的能力,能够在多个云环境中高效分发数据,提升了灵活性,下文将详细介绍 JuiceFS 如何在多云架构中使用。

下图展示了在引入 JuiceFS 后,模型文件加载流程的改进。在构建容器镜像时,我们将模型文件从镜像中分离出来,存储在 JuiceFS 中,而容器镜像仅包含业务代码和运行所需的基础环境。

 

image

 

这种做法带来了显著的好处。首先,模型文件与镜像的冷启动过程得以分离,避免了在本地解压庞大模型镜像层的操作。

 

其次,与对象存储方案相比,在使用 JuiceFS 时,冷启动阶段不需要将完整的模型文件下载到算力节点本地,也无需加载完整的模型文件(如 safetensors 模型文件),推理实例可以快速完成冷启动。这种按需加载模式,在弹性扩展场景下尤为关键,它能确保新实例快速启动并迅速投入服务。尽管首次推理会因按需加载模型而略有延迟,但后续请求的推理速度会得到显著提升。

 

除了这些优化,JuiceFS 还通过其强大的缓存能力进一步提升推理服务的性能。除了社区版提供的本地缓存功能,JuiceFS 企业版 进一步提供了 分布式缓存功能。这使得我们能够构建大规模的缓存空间,将常用的模型文件集中存储在缓存中,从而显著提升读取性能。

 

特别是在 大规模实例启动或扩容的场景中,例如在 stable diffusion 等需要频繁切换模型的应用中,通过分布式缓存集群,可以大幅度减少模型加载时间,显著提高用户的前端体验。下图展示了 JuiceFS 分布式缓存架构。在推理服务部署后,我们将 JuiceFS 挂载到推理节点上,节点读取模型文件时,节点会先尝试从缓存集群中获取数据,由于缓存集群都是有由高速介质组成,且通讯都在内网高速网络,所以获取数据的性能是非常好的。缓存未命中时,相应的缓存节点踩会从对象存储拉取数据返回给节点,并填充缓存。我们还可以通过 warmup 的方式来预先填充缓存,将需要加载的模型文件在节点启动前填充到缓存层。当推理实例启动时,所有实例会直接从缓存集群命中模型文件,这样就无需每个推理实例单独从对象存储拉取文件,从而避免了高并发拉取文件时对对象存储带宽的竞争问题。

 

image

 

实践 2:多区域模型文件同步与一致性管理

越来越多的企业选择多云架构来部署推理服务,并在不同云厂商之间灵活调度资源以优化成本结构。如下图所示,在一个典型的推理服务部署案例中,客户构建了跨多个云服务商和数据中心的基础设施,用以支持高并发、低延迟的推理请求。多云架构不仅能有效规避单点故障带来的业务中断风险,还支持根据区域网络条件、资源价格、计算能力等因素,动态选择最合适的计算节点,从而在保障性能的同时,实现更优的成本控制。

 

为确保推理模型和配置文件在不同区域间的一致性,客户通常会在某一主站点使用对象存储作为统一的模型仓库,通过中心化管理模型版本与配置。在推理任务调度过程中,系统可根据资源情况选择合适的算力资源,而模型文件则需要尽可能部署在靠近计算资源或高吞吐网络环境中,以提升冷启动效率和服务响应速度。

 

image

 

在传统实践中,模型文件常需人工迁移至调度的计算集群,随着模型迭代频繁,易导致操作繁琐和数据不一致问题。同时,推理集群规模通常较大,在冷启动过程中,节点并发拉取模型会引发带宽竞争,形成性能瓶颈,尤其在多云架构下,模型分发和加载成为一项挑战。

 

JuiceFS 提供的解决方案是通过镜像文件系统来实现从主站点到各个镜像站点的元数据实时同步。每个站点本地的客户端都能看到统一的文件系统视图。对于数据文件是否需要做全量同步,或者按需缓存和加载,提供了两种方案。

 

第一种方案是通过异步复制方式,将对象存储的数据完整复制到多个站点。每个站点优先读取本地的对象存储。第二种方案是只在镜像站点部署分布式缓存层,而不进行数据持久化。所需的数据会按需预热到缓存中,从而提高本地读取性能。

 

image

 

在大规模的推理服务中,从成本效益角度考虑,用户通常选择第二种方案,将分布式缓存部署在站点本地。在节点启动和扩容前增加流水线任务,将需要使用的模型文件一次性预热到分配计算资源的本站点缓存集群中,这个阶段相当于只从对象存储高并发拉取了一次模型文件。这样做的好处在于,当大批推理服务同时冷启动时,只需要并发从本站点域缓存集群中读取模型文件,而不再需要走对象存储专线,多次从对象存储拉取,解决了高并发重复拉取占用带宽导致专线带宽瓶颈的问题。

 

image

 

此外,模型版本的迭代也可以通过预热脚本完成,将新的版本预热到缓存中,同时淘汰过期的版本。整个数据分发和缓存预热过程完全由 JuiceFS 镜像文件系统功能实现,对用户来说是透明的,避免了大量人工数据拷贝工作。

 

总结来说,JuiceFS 镜像文件系统 带来的收益包括:

 

降本:每个镜像站点只需要部署适量的缓存集群,无需配置过大的容量。

增效:分布式缓存使用本地高速介质,提供良好的吞吐性能,且网络为本区域内网,性能更优。

易用性:不需要人工参与数据拷贝,统一的数据视图自动帮助用户完成数据分发,即使缓存未命中,数据也会自动从对象存储拉取。

可扩展性与稳定性:解决了多节点并发拉取模型文件时的带宽竞争问题,提升了系统性能和用户体验。

实践 3:云原生支持与集群管理

推理服务通常具有突发性和间歇性的负载特点,因此对资源弹性有很高的需求。随着推理服务规模的扩大,计算集群的数量和节点规模也在不断增加,往往需要跨集群、跨区域的调度,这要求存储系统能够轻松支持多集群环境的部署。

 

此外,在弹性环境中,文件系统需要保证在资源扩展、升级或故障恢复时对业务透明,不影响应用的正常运行。这意味着文件系统必须具备自动故障恢复、资源隔离和无缝升级等能力,以确保业务的持续稳定

 

JuiceFS 提供了一系列能力来支持云原生环境中的推理服务。

 

首先,JuiceFS 提供了标准的 Kubernetes CSI 驱动。用户可以在 Kubernetes 环境中方便地使用 PVC 来访问 JuiceFS 文件系统,并支持静态和动态配置方式。

 

其优势之一是多环境兼容性:为了匹配推理服务对资源弹性的需求,JuiceFS 提供了多种运行模式,适用于标准和 Serverless 的 Kubernetes 环境,无论推理服务采用哪种弹性负载,JuiceFS 的部署都非常简便。

 

image

更多推荐