阅读收获
- 掌握AI/ML数据管道各阶段(摄取、训练、推理)的I/O特性,为存储选型提供决策依据。
- 理解Flash存储、分布式对象存储、DAS等不同存储介质和架构在AI场景下的适用性。
- 认识到AI工作负载的异构性,避免盲目堆砌昂贵GPU,转而关注CPU、内存带宽和存储I/O的优化。
- 了解大模型训练中的并行化策略和检查点优化,以及存储在推理阶段作为“内存扩展层”的关键作用。
全文概览
在人工智能浪潮席卷各行各业的今天,AI/ML应用正以前所未有的速度发展。然而,你是否曾困惑于为何投入巨资构建的AI基础设施,却难以满足多样化的工作负载需求?从海量数据摄取到高性能模型训练,再到低延迟在线推理,每一步都对底层存储系统提出了截然不同的挑战。传统的“一刀切”存储方案已捉襟见肘,如何才能为千变万化的AI工作负载找到最佳存储方案,真正释放AI算力潜力?本文将深入剖析AI模型与工作负载的I/O特性,揭示“用例驱动”的存储设计哲学,助你构建高效、经济且可扩展的AI存储架构。
👉 划线高亮 观点批注
AI/ML(人工智能/机器学习)数据管道与存储架构
AI/ML(人工智能/机器学习)数据管道与存储架构
核心观点是为AI/ML流水线的不同阶段匹配最优的存储和计算架构,
- 工作负载特性的转变: AI数据处理流程是一个从 “高吞吐量敏感”(前端数据清洗、摄入)向 “低延迟敏感” (后端模型推理、预测)转变的过程。
- Flash存储的必要性: 为了满足AI/ML对高并发和快速响应的需求,全流程明确提出需要 Flash(闪存) 作为基础存储介质,而非传统的机械硬盘。
- 分阶段的存储策略:
- 海量数据准备与推理期: 推荐使用扩展性强的分布式对象存储。
- 高性能训练期: 为了喂饱高性能GPU,推荐使用DAS(直连存储) 架构(通常指高性能NVMe SSD直连),以减少网络开销,提供极致的IO性能。
- 计算资源的异构性: 清晰界定了CPU用于数据预处理,GPU用于核心训练,而推理阶段则根据场景(数据中心或边缘)灵活组合CPU/GPU。
深度学习的视频流处理应用管道
典型的端到端计算机视觉推理流水线,其核心逻辑和技术要点如下:
- 标准化的AI视频分析流程: 清晰定义了“解码 预处理 推理 结果持久化”的行业标准路径。
- 开源软件栈的集成: 强调了在该领域的主流技术组合:GStreamer 负责流媒体底层IO,TensorFlow 负责核心计算,OpenCV 负责视觉呈现。
- 数据生命周期与存储交互点:
- 读密集型 (Read-Intensive): 在Ingestion阶段,需要从存储介质中高带宽读取AVI视频文件。
- 写密集型 (Write-Intensive): 在Post Processing阶段,强调了“数据持久化”到 VDMS。这意味着经过AI结构化分析后的数据(可能是海量的元数据或特征索引)需要被高效写入数据库,这对存储系统的随机写入性能和数据库优化提出了要求。
图片展示了一个级联式(Cascaded)AI应用架构,其核心技术特征如下:
- “检测+识别”双模型架构: 流程采用了先检测(使用轻量级SSD Mobilenet)后识别(使用重量级ResNet 50)的串行模式。这种架构比单模型更复杂,对系统的流水线调度能力要求更高。
- NUMA架构的重要性: 底部出现的 NUMA 标志是存储和系统架构师需要重点关注的。这意味着在高性能服务器中,必须小心处理数据在不同CPU内存节点间的移动。对于存储而言,如果不进行NUMA绑定(NUMA awareness),数据读取可能会因为跨Socket传输而导致显著的延迟。
- 数据流特征:
- 前端: 持续的大带宽视频流读取。
- 中间: 高频的内存操作(Resizing, Tensor计算)。
- 后端: 结构化的小数据写入(特征值、ID)。
基于结构化数据的机器学习流程
图片展示了一个 “IO密集型摄入 + CPU密集型计算” 的结构化数据分析架构,
- 从GPU转向CPU/内存依赖: 与前几张依赖GPU进行视频推理的图片不同,这个工作负载(Census Pipeline)主要依赖强劲的CPU性能(用于Modin的多核并行计算)和大容量、高带宽的内存(用于存放庞大的DataFrame)。
- Modin的引入揭示了数据规模: 使用 Modin 库是一个强烈的信号,表明数据量已经大到标准Pandas无法流畅处理的程度(通常是GB级别甚至更大)。这对底层基础设施意味着需要更多的核心数(Cores)和更大的RAM。
- 存储I/O特征:
- 大文件顺序读取: 流程始于加载巨大的CSV文件。这需要存储系统提供高吞吐量的**顺序读取(Sequential Read)**性能。
- 解析瓶颈: CSV是一种低效的存储格式,解析CSV本身会消耗大量的CPU时间。
不同AI工作负载在计算时间分配上的巨大差异
- AI工作负载不是单一形态: 所谓的“AI应用”在底层资源消耗上呈现两极分化。
- 视觉类(Vision): 侧重于 AI Compute(算力)。
- 数据类(Tabular/Recommendation): 侧重于 Data Movement(数据搬运与清洗)。
- “二八定律”的倒置:
- 在 Census 这样的场景中,95%的时间花在非AI计算上。这有力地证明了为什么我们需要 Modin 这样的加速库,以及为什么底层的存储系统(高吞吐加载CSV/Parquet)和内存带宽比GPU更重要。
- 在 Video Streamer 场景中,95%的时间花在AI计算上。这说明底层的存储需求主要是流式读取,而瓶颈在于计算单元的并行处理能力。
- 基础设施设计的启示: 不能用一套通用的架构去套用所有的AI业务。
- 如果主要是做传统机器学习(如金融风控、报表预测),高IOPS存储和高内存带宽服务器是更适合的基础设施,而不是堆砌昂贵的GPU。
- 如果是安防监控(视频分析),计算加速卡(GPU/FPGA)和流媒体存储优化才是重点。
选型要看用例
PPT的核心观点是:在设计AI/ML的存储系统时,不存在“一刀切”的最佳方案,一切都必须以具体的“用例(Use Case)”为出发点。
- 用例决定一切: AI/ML的特定应用场景是决定其存储需求、数据管道和整体技术架构的根本因素。
- 架构的差异性: 不同的用例会在软件栈、数据集、AI模型以及训练并行策略等多个维度上存在差异,从而导致需要不同的、与之相适应的存储架构和整体系统设计。
- 告别通用方案: 试图用单一通用存储方案来满足所有AI/ML需求的做法是不可行的。企业在进行AI/ML基础架构规划时,必须首先深入分析和定义其核心业务用例。
数据摄取/采集阶段
AI/ML工作流中的数据摄取阶段具有高度的可变性,其具体实现方式完全由用例(Use Case)的性质所决定。
- 数据源的多样性: 不存在单一的数据源。根据用例的不同,数据可能来自不同类型的存储系统(文件、块、对象),具有不同的格式(Parquet, CSV, 图像等)。
- 两种主要的数据模式:
- 静态/批量模式: 适用于大规模、非实时性的训练任务(如LLM)。这类数据通常存储在低成本、慢速的存储层,并通过离线批处理的方式进行摄取。
- 实时/流式模式: 适用于需要即时响应的应用(如实时识别)。这类数据源是持续产生数据的设备,要求摄取架构具备低延迟和高吞吐量的能力。
- 架构设计的启示: 设计数据摄取方案时,必须首先明确用例对数据源类型、数据格式以及数据时效性(批量还是实时)的具体要求,从而选择或构建合适的工具和架构。
训练阶段
为了有效训练大规模AI模型,必须采用多种并行化策略来协同利用多个计算设备(如GPU)的算力和内存。
- 并行化是训练大模型的关键: 单一GPU的资源(尤其是显存)已无法满足SOTA(State-of-the-art)模型的训练需求,分布式并行训练成为必然选择。
- 四大并行策略各有侧重:
- 数据并行 解决“数据多”的问题,通过复制模型来加速数据处理。
- 张量并行 和 流水线并行 属于 模型并行,主要解决“模型大、单卡放不下”的问题。张量并行在“层内”拆分,流水线并行在“层间”拆分。
- 上下文/序列并行 解决“输入序列长”导致的内存瓶颈问题。
- 组合使用是趋势: 在实践中,训练一个巨型模型(如GPT-3)通常不会只用一种并行策略,而是将数据并行、张量并行和流水线并行等技术组合使用(即所谓的3D并行),以最大限度地提升训练效率和可扩展性。
模型训练检查点(Checkpoint)是一个复杂的构成,其大小、存储格式和保存频率是进行大规模分布式训练时必须仔细规划的关键技术因素。
- 检查点的完整构成: 一个可用于恢复训练的检查点,其大小远不止模型权重本身,关键还包括优化器状态。对于Adam等优化器,完整的检查点大小约是模型参数大小的三倍。
- 大小与精度的关系: 采用FP16混合精度训练,不仅能减少训练时的显存占用,也能显著缩小检查点文件的体积。
- 存储与并行策略挂钩: 检查点的文件结构(单文件 vs. 多文件)直接反映了其所采用的分布式训练并行策略。
- 频率与规模成正比: 训练集群的规模越大(GPU数量越多),硬件故障风险越高,因此需要设置更频繁的检查点保存策略,以确保训练的容错性和鲁棒性。
为什么存储在推理中至关重要
在AI推理领域,存储的角色正在从传统的“数据仓库”向“主动内存扩展层”演进,成为解决GPU显存瓶颈、提升大模型能力的关键技术。
- 存储角色的双重性:
- 主流角色 (容量层): 通过高性价比的网络存储,满足数据摄取、归档和RAG知识库扩展等大容量需求,关注点是吞吐量和成本。
- 新兴角色 (性能/扩展内存层): 通过超低延迟的直接附加存储(NVMe SSD),作为GPU显存的延伸,用于卸载KV缓存和模型权重,关注点是IOPS和延迟。
- 存储是解锁大模型潜力的关键: 通过智能地利用高速存储,可以在不无限增加昂贵GPU显存的情况下,实现三大突破:
- 运行更大的模型 (通过权重卸载)。
- 支持更长的对话上下文 (通过KV缓存卸载)。
- 提供更准确、更丰富的回答 (通过可扩展的RAG数据库)。
为AI/ML系统选择和设计存储架构,必须遵循“用例驱动”的原则,因为不存在能够满足所有场景的通用解决方案。
- 拒绝通用方案: AI/ML存储设计的首要原则是认识到其需求的高度异构性和复杂性,不存在“放之四海而皆准”的完美存储系统。
- 深入分析负载: 必须从技术细节入手,全面分析影响I/O行为的多个变量——从上层的AI模型、软件框架,到数据本身的特性,再到分布式训练的并行方式。
- 用例决定选型: 最终的决策必须回归到业务本身。无论是进行模型训练还是在线推理,是处理图像数据还是文本数据,是追求极致的低延迟还是海量的吞吐量,具体的“用例场景”是决定采用何种存储技术、架构和配置的唯一标准。
这说明,随着AI应用的推广,机制高效的大模型推理,在不同场景对存储需求各异,如何优化好特定场景下的存储性价比,将成为精打细算的细活。
延伸思考
这次分享的内容就到这里了,或许以下几个问题,能够启发你更多的思考,欢迎留言,说说你的想法~
- 随着AI模型规模持续增长,以及CXL等新兴互连技术的普及,你认为未来AI存储架构将如何演进,以更好地平衡性能、容量与成本?
- 在实际部署AI应用时,除了技术因素,你认为在AI存储选型中,成本、运维复杂性和数据安全合规性应如何进行权衡?
- 针对边缘AI场景,如何在有限的本地存储资源下,高效管理数据摄取、模型推理和结果持久化,并与云端存储实现有效协同?
原文标题:IO Characteristics of AI models and Workloads[1]
Notice:Human's prompt, Datasets by Gemini-2.5-Pro
#FMS25 #AI推理的IO特征
---【本文完】---
👇阅读原文,搜索🔍更多历史文章。
- https://files.futurememorystorage.com/proceedings/2025/20250807_SSDT-302-1_Bhat_-2025-08-07-15.33.17.pdf ↩