
开头“算力决定下限存力决定上限。”这句话我琢磨了很久越做AI基础设施越觉得它是句大实话。前两年大家都在抢GPU觉得只要把算力堆上去大模型训练就能跑起来。可真到了训练集群落地的时候才发现GPU在那儿空转数据压根供不上存储成了比算力更让人头疼的瓶颈。算力决定了你能不能在合理时间内把模型训出来这是下限而存力决定了你能存多少数据、跑多大规模的数据工程、做到多细的数据治理这直接封死了模型效果的上升空间。Gartner的魔力象限向来是IT采购圈的风向标这几年AI存储被单拎出来做评估恰恰说明这个领域已经从“附赠品”变成了“战略品”。这篇文章就围绕AI存储这条线聊聊算力与存力的关系、Gartner魔力象限背后的行业信号以及我们在实际落地存储方案时踩过的坑和验证过的方法。适合正在做AI训练推理平台、数据基础设施选型或者准备给大模型项目补存储架构的人参考。1. 算力焦虑背后藏着一个被低估的存力问题1.1 算力只是入场券门槛其实在数据侧现在做大模型或者AI应用大家第一反应都是“我有多少张卡”。A100、H100、H800、昇腾还是寒武纪算力榜单翻来覆去的研究。但真正把集群跑起来的人会告诉你显卡只是入场券。你拿着顶级算力数据读取速度跟不上GPU就只能等着有钱也发挥不出来。我在实际项目中见过一个挺典型的场景。训练集群的机器配置不差双卡甚至八卡互联网络也上了InfiniBand但数据读的还是原来那套通用NAS单文件带宽还行并发一上来就严重掉速。结果怎么着训练任务里GPU利用率从头到尾只有30%上下监控一看大量时间都在等数据。后来我们把存储侧换成支持高并发随机读的并行文件系统同样一批任务GPU利用率直接拉到85%以上。算力没变效果天差地别这就是存力在起作用。所以“算力决定下限”这句话怎么理解算力决定了你能不能跟上Scaling Law的节奏模型参数变大、数据量变大之后没有足够的浮点算力训练时间会指数级拉长这是硬下限。但“存力决定上限”是说你存的训练数据质量、体量以及数据流转的速度决定了最终模型的能力能到哪一层。数据喂多少、喂多快、清洗得多干净全是存储和数据管线的事儿。1.2 为什么现在才把“存力”单独拿出来讲以前存储就是个“装上就能用”的配件数据库、虚拟化、文件共享容量够、可靠性还行就行。但大模型时代的存储需求变了而且是突变。传统存储解决的是“放得下、丢不了”AI存储要解决的是“读得快、写得多、转得动”。具体看几个硬指标变化。训练样本通常几千万甚至几亿个文件小文件随机读的吞吐量与元数据性能传统NAS根本扛不住。Checkpoint模型检查点一次写入几十GB到几百GB需要超高带宽的顺序写。数据预处理环节要做清洗、去重、增强、格式转换同一份数据会在多个阶段来回读存储要能承受成倍放大后的IO压力。这些需求加在一起传统存储架构明显招架不住行业才专门划出了AI存储这个品类。Gartner的魔力象限之所以能成为风向标是因为它有一套相对客观的评估框架。它对供应商的分析不仅仅看产品功能列表还看客户反馈、市场份额、技术演进方向。一个领域值得单独出一张魔力象限本身就说明它的市场规模、客户需求和独立采购意愿已经达到了一定体量。AI存储能够被单拎出来意味着大量企业开始认真评估一类专门为AI场景设计的存储产品而不是继续用通用存储凑合。2. Gartner魔力象限读懂AI存储玩家的排位逻辑2.1 魔力象限到底在看什么Gartner魔力象限是一个二维评估模型。横轴叫“愿景完整性”Completeness of Vision看你产品方向对不对、能不能踩中未来需求纵轴叫“执行力”Ability to Execute看你产品落地能力、交付能力、客户满意度怎么样。两个维度一交叉分出四个区域领导者Leaders、挑战者Challengers、远见者Visionaries、利基者Niche Players。读这张图最忌讳的就是只看“谁在领导者象限”。魔力象限的价值其实是动态的。比如某个厂商在愿景这个维度给得很高说明它对AI存储未来演进方向押对了牌但是落地验证还不够放在远见者象限适合那些愿意陪跑并且技术能力强的团队。反过来执行力很强但愿景维度平平的挑战者产品稳定、服务到位适合那些追求稳妥、不太需要前沿特性的企业。所以看魔力象限先想清楚自己的位置。你是要一个成熟度高、售后省心的方案还是要一个跟AI技术演进走得最近、哪怕不稳定也愿意折腾的方案没有标准答案只有匹配不匹配。2.2 AI存储玩家们的路数差异虽然不适合在这儿点名评价具体厂商但可以把几个方向上的产品共性梳理一下。领导者象限的玩家基本都具备完整的产品矩阵。文件、对象、块存储全覆盖同时软硬一体和纯软件两种交付模式都有。这类厂商卖的不是单一产品而是一套从数据接入、存储、管理到训练平台集成的数据底座适合大型企业或者平台型公司。挑战者和利基者里有不少产品是在某一垂直场景做到极致的。比如在超高清视频训练数据存储上很强或者特别擅长支撑某个特定框架的分布式训练又或者在数据缓存上有独门绝技。如果几个不看重的特性你也用不上这类方案往往性价比很高。远见者的产品通常有一个非常鲜明的技术主线比如全闪存架构、新的数据编排概念、面向数据编织理念的产品。这类方案代表着技术演进的方向但生态成熟度和第三方兼容性可能还需要时间验证。给个建议魔力象限图只用来缩小候选范围真正落地之前必须做POC概念验证。哪怕厂商在领导者象限也不代表它在你这个具体场景里表现就好。2.3 为什么AI存储值得单独一张象限前几年没有所谓的“AI存储魔力象限”存储产品要么被归到通用文件存储要么被归到对象存储标准里。AI大模型火了之后Gartner专门把它独立出来这个信号背后的含义是AI存储已经不是一个“用现有产品凑合改改”的需求而是一个独立的采购门类。它意味着企业采购存储的决策逻辑正在发生变化。以前选存储主要看容量单价、可用性、容灾能力。现在选AI存储优先看的是高性能数据访问、GPU协同、数据管线集成、大规模小文件并发处理能力。这些指标和传统存储的评估维度完全不是一回事。Gartner单独立项反过来又促进了更多厂商往这个方向投入把AI存储的产品体验快速拉高了一个档次。对于一线从业者来说这张象限更像一份“行业地图”。它会告诉你AI存储赛道已经分化成了几个清晰的流派每个流派有自己的适用场景、产品特性和代价权衡。你不需要追求象限里的位置需要的是找到自己所在的细分场景然后挑一个匹配的流派。3. AI存储需求拆解训练和推理的读写逻辑完全不同3.1 训练阶段高吞吐、低时延、检查点写入是生死线训练场景是AI存储最硬核的考验。先说读侧训练样本集通常由海量小文件组成。图像数据集一张图几百KB文本数据集一个样本几KB几亿个文件堆在那里。GPU在训练的时候每个step都要读一批样本这是极高并发的随机读。传统文件系统瓶颈通常不在带宽而在元数据性能——要频繁查文件位置、打开文件、读取内容任何一个环节卡住整个数据管线就堵住了。再说写侧重磅选手是Checkpoint。大模型训练每训练一定步数就要把模型权重、优化器状态完整存一份防止训练中断后一切归零。这些数据量很大一个70B参数模型混合精度训练下单次Checkpoint可能是100GB到几百GB。如果训练集群有几十个节点同时写Checkpoint瞬间打满存储后端的写入IO。极端情况下写入慢会导致训练任务整体卡等待每存一次检查点业务就停摆几分钟时间一长是巨大的浪费。这里有一个工程细节并不是每个Checkpoint都要全量写。很多框架支持异步Checkpoint先把数据写到本地NVMe再后台刷到共享存储。也有的支持分布式Checkpoint把一个大模型检查点碎片化让不同节点各写各的。存储选型时要考虑系统是否支持这些框架的写入模式。这个决策影响很长远后面会详细说。3.2 推理阶段小文件、热点缓存、KV Cache更关键训练结束之后要部署推理服务。很多人以为推理对存储要求不高其实未必。在线推理服务的吞吐量一大存储侧压力一点也不小。大模型推理有一个特性每个请求都要加载模型权重、读取上下文、维护KV Cache多个请求并发时重复读取的片段非常多。这些数据适合做缓存。如果缓存未命中就要从存储里实时拉取网络和磁盘时延直接反映到用户的响应速度上。所以推理场景看存储最核心的指标是低时延、高命中率而不是单纯的带宽。当你有多个模型版本、多个微调版本要同时上线时模型文件本身的管理也成了存储问题。比如A/B测试时要快速把某个版本加载到多张GPU上冷启动速度就决定了上线部署有多快。3.3 数据预处理与数据闭环存储是数据工程的车轮大模型训练还有一个常被忽略的阶段——数据处理。原始数据采集回来之后要经历清洗、去重、质量过滤、格式转换、tokenization、shuffle等步骤。每一步都涉及完整读写一次数据。如果原始的1PB原始数据经过三四个处理阶段存储侧实际吞吐的数据量可能是3TB到5TB的倍数放大。这个阶段对存储的要求是支持大数据量顺序读写、支持多进程并发处理、能承受数据格式转换产生的大量临时文件。很多团队训练时存储扛住了结果卡在数据预处理环节数据一直产不出来GPU只能在那等数据。这种情况建设数据缓冲层非常关键想办法让原始数据先落到高吞吐存储预处理任务并行跑再往训练侧的数据缓存里灌整体效率会高很多。存储不只是存数据的仓库更是数据流动的管道。这也解释了为什么AI存储方案里非常强调端到端的吞吐能力而不是单点性能。4. 选型实操像规划算力一样规划存储附粗算方法4.1 先从需求倒推容量一个50B参数模型的存储画像选存储第一步不是看产品而是算清楚自己的真实需求。我用一个具体例子演示一下怎么算。假设我们要训练一个50B参数的大语言模型训练数据是2万亿个token。参数量、数据类型、数据体积分开来算。第一项模型权重与训练中间状态。50B参数混合精度训练用BF16每个参数2字节模型本身约100GB。但训练过程中还需要保存梯度、优化器状态比如AdamW要保存一阶动量和二阶动量优化器状态通常是参数量的8到12倍。50B参数大约需要400GB到600GB内存或显存但这是临时状态。实际需要写入持久存储的主要是Checkpoint一次完整Checkpoint约100GB到300GB取决于是否包含优化器状态。如果每隔1000步存一次保留最近5份这个体量是GB一下级别的开销。第二项训练数据。2万亿token平均每个token约3到4字节原始文本原始数据约6TB到8TB。但做数据清洗、去重、tokenize之后可能产生多个中间版本实际占用可能是这个数字的3到5倍也就是20TB到40TB。第三项推理缓存和多版本模型。在线推理需要缓存模型权重和KV Cache假设有10个微调版本每个版本100GB就是1TB。KV Cache通常是内存或显存的活儿但大吞吐时也会溢写到存储。合计下来一个50B模型的完整存储需求大约在50TB到100TB这个量级。注意这是最低估算实际项目里数据版本、归档策略、多人开发环境都会把容量不断顶上去。4.2 带宽与IOPS的粗算别让存储变成“数据漏斗”容量好算性能难算。我给你一个参考公式。训练集群的存储读带宽需求大约是“GPU总数 × 单GPU模型加载速度期望 × 数据放大系数”。举个例子如果8张H100同时训练每张卡期望每秒从存储读取200MB数据做训练样本数据预处理和缓存未命中带来2倍放大那么存储需要的读带宽大约是 8 × 200MB × 2 3.2GB/s。如果扩展到64张卡就是25.6GB/s。考虑峰值波动选型时最好预留1.5到2倍余量。IOPS怎么算如果你的训练框架每个step会读取几百个样本文件用8卡训练每卡每秒3个step那么每秒访问的小文件数量就是 8 × 3 × 300 ≈ 7200。看起来不高但文件系统内部为了查找这些文件可能要多次访问元数据实际压力要乘以3到5倍。当你把规模放大到几十上百个节点IOPS需求就过百万了。这时候普通NAS基本崩溃只有并行文件系统或者对象存储配合缓存层才能扛住。4.3 三个关键选型维度形态、介质、协议存储系统的选型归根到底是三个维度。第一是存储形态。文件存储适合训练框架读样本、写Checkpoint对象存储适合海量数据长期保存、归档、跨区域数据共享块存储适合裸设备性能要求极高的场景。实际落地多是混合架构热数据进文件存储或分布式缓存温冷数据进对象存储通过生命周期策略自动流转。第二是存储介质。全闪存性能好、单价贵适合热数据层和训练数据缓存层混闪性价比高适合温数据机械盘容量大适合冷备和归档。AI训练对时延敏感建议训练数据尽量全闪归档再去机械盘。第三是数据访问协议。传统NFS/CIFS生态好部署简单但并发性能有限并行文件系统如Lustre、GPFS、Weights Biases管不到但工程上用得多性能强悍但运维复杂度高对象存储S3协议是数据湖标配Atlas、Milvus这些AI基础软件也普遍支持。还有一类是GPUDirect StorageGDS允许GPU直接访问NVMe存储绕过CPU和页缓存能显著降低数据拷贝开销。如果你的训练框架支持GDS且存储厂商也支持这会是性能上限最高的路线。选型时给一个非常实用的建议去做一次“数据路径模拟”。拿真实的样本数据按预处理的流程跑一遍记录读写总量、耗时、并发情况、文件大小分布。这些数据拿出来比任何厂商宣传材料都管用。5. 训练平台存储落地的常见问题与避坑实录5.1 买了高性能存储GPU利用率还是没有提升问题出在哪这条我踩过很深。存储硬件到位了带宽、IOPS都够但训练任务依旧经常卡在数据读取上。排查下来发现瓶颈根本不在存储后端而在训练框架的数据加载器配置。DataLoader的prefetch数量设置太小数据读进来但来不及同步到GPU侧的计算队列训练还是干等。解决办法也很直接把数据加载环节做成“多级流水线”。第一级从远端存储预加载到一个本地高速缓存第二级从本地缓存进GPU第三级GPU内做预处理增强。这样远端存储的压力可以被平滑掉峰值冲击被本地缓存吸收GPU利用率自然就上去了。调优的时候记得加监控把数据加载耗时、GPU空闲时间、存储IO三个指标放一起看才能定位真正瓶颈。5.2 海量小文件场景文件系统元数据性能不够我遇到过一个CV训练项目数据是几千万张图片全放在共享目录下。一开始用传统NAS结果扫描一次数据目录都要几十分钟。原因就是元数据操作文件越多性能下降越明显。后来把数据做了一次“归并改写”把小文件打包成大文件比如几千张图打包成一个二进制文件同时保留一份索引元数据。训练框架直接读大文件再通过索引定位到具体样本。效果立竿见影同样的存储硬件训练数据读取时间降了一个量级。如果你不想自己造轮子有很多开源数据格式可以做这件事比如WebDataset、TFRecord、HuggingFace Datasets的流式加载模式。5.3 Checkpoint写入太慢训练出现周期性卡顿另一个很磨人的问题是周期性的Checkpoint卡顿。训练本身正常但每隔一段时间训练就停摆几十秒而且非常有规律。排查下来不是网络就是写盘性能到了上限。解决思路是分两条线走。第一条是减少单次写入量改用分布式Checkpoint让每个节点只写自己负责的那部分模型状态避免所有节点同时打一个存储目标。第二条是叠加异步Checkpoint先写本地临时目录由后台任务慢慢同步到共享存储前端训练完全不等待Checkpoint落盘。这两种方式配合能把Checkpoint带来的训练中断时间几乎压缩到零。5.4 缓存策略不当模型冷启动和推理响应都很慢推理侧最常见的问题是冷启动。模型文件很大每新起一个推理副本都要从存储层完整拉一遍冷启动要花几分钟算力被白占。解法就是给推理部署加一层模型缓存用GPU节点本地NVMe或者分布式内存缓存提前把常用模型预热进去新副本创建的时候直接拷贝耗时能降到原来的十分之一。另外一个容易忽略的是KV Cache的存储策略。并发请求多的时候KV Cache占用大内存和显存放不下就要溢写到存储。如果这个存储的时延不够低推理响应时间就直接变长。建议给KV Cache配置专门的低时延存储池别和训练数据混在一起写。5.5 规划时千万别把“扩容”和“数据迁移”想简单了最后说一个很多项目都没做好的地方就是容量和性能的扩展性。AI项目的数据增长几乎是不可预测的今天训练集1TB下个月可能就10TB。如果存储集群扩展能力受限就要频繁做数据迁移迁移过程中训练和推理都要暂停代价极大。选型的时候一定要问清楚集群在线扩容是否平滑、能不能按节点独立扩展容量与性能、新扩容的节点能否自动参与数据均衡。理想状态是扩容的同时性能也线性增长不需要人工重新分布数据。很多存储产品号称支持扩展实际扩容时会锁集群做数据重平衡如果不提前搞清楚后期会非常痛苦。6. “算力决定下限存力决定上限”的落地体会回到标题那句话。我们在一个中等规模训练平台上做过一次存储架构改造核心动作就是把训练数据和共享数据存储分开训练数据放高性能分布式存储归档数据用对象存储缓存层用本地NVMe。改造完成后同样一组训练任务端到端耗时缩短了40%以上大部分收益来自数据加载环节不再拖后腿。这件事让我想明白了一个道理算力投资是显性的采购部门能看见存力投资是隐性的但它实实在在限制着整个AI项目的天花板。买再多GPU数据进不来、中转不动、存不下这些算力就打折扣。Gartner把AI存储单独立项本质上也是行业开始公认存储不再是算力的配角而是决定项目能走多远的另一个引擎。最后分享一个实操判断标准当你在规划下一个AI项目时如果存储预算没有被单独讨论那这个规划大概率是不完整的。算力、网络、数据、存储四驾马车缺一不可存储这块最容易糊弄也最容易被后来加倍找补。与其到时候被训练效率暴击不如现在就把存力当回事。