数据Infra:当计算开始指挥存储:AI存算架构的三重范式跃迁
存算架构的系统范式转变问题,本质是存储与计算关系的重新定位与动态重构
一、计算“指挥”存储
第一步:存储等计算 —— 存储主导型架构
1.1 核心特征:
- 存储是系统的“中心”,或者说“瓶颈”,计算依赖于存储的调用
- 计算资源围绕存储结构展开部署(例如传统服务器中,CPU等待数据从内存或磁盘读取)
- 系统行为由存储状态驱动
1.2 模型抽象:
这是一个 被动响应型系统模型,其基本形式可以表示为:
S(t+1) = f(S(t), C(t)) // 存储状态在时间 t+1 的变化,取决于当前存储状态和计算动作
C(t) = g(S(t)) // 计算仅对当前存储状态作出反应
- 存储状态决定了整个系统的下一步走向
- 计算只是对存储内容的响应机制,缺乏主动性和预测能力
1.3 本质:
这是“存储驱动”的世界,信息流动是线性单向的,效率受限于存储访问速度
第二步:存储感知计算 —— 耦合增强型架构
2.1 核心特征:
- 计算开始感知存储状态,并根据存储特性优化自身的执行策略。
- 引入缓存、预加载、数据亲和性调度等机制。
- 开始出现存储敏感计算,即计算路径会依据数据位置进行调整。
2.2 模型抽象:
我们进入一个双向反馈机制的阶段:
S(t+1) = f(S(t), C(t))
C(t) = g(S(t), H) // 计算不仅依赖存储状态,还依赖历史模式(H)
H
是历史数据使用模式或上下文信息- 计算不再是单纯的反应器,而是具有一定程度“决策”能力的参与者
2.2 本质:
这是一种“智能响应”阶段。系统开始具备一定的自适应性,但尚未真正实现计算驱动存储行为
第三步:计算驱动存储行为 —— 动态引导型架构
3.1 核心特征:
- 计算成为系统的核心驱动力,能够主动引导存储行为
- 存储不再是静态的仓库,而是一个动态配置、按需激活的资源集合
- 出现新型存储结构(如非易失性内存、分布式缓存)、就近计算
- 实现了“存储即服务”的概念
3.2 模型抽象:
进入了一个计算主控 + 存储协同的体系:
S(t+1) = f(C(t), H, P) // 存储状态的变化主要由计算需求决定
C(t) = g(P, S(t)) // 计算基于性能目标(P)和存储状态选择最优路径
P
是性能目标函数(如延迟、吞吐量、能效)- 存储不再是被动容器,而是作为可编程资源池存在
3.3 本质:
这标志着“计算优先、存储后置”的新范式的确立。存储被“程序化”并服务于计算意图,形成一种新的“存储即计算指令”的思想
四、总结模型三阶段图谱
阶段 | 数据流向 | 控制权 |
---|---|---|
1. 存储等计算 | 存 → 计 | 存储 |
2. 存储感知计算 | 存 ↔ 计 | 共同协作 |
3. 计算驱动存储 | 计 → 存 | 计算 |
范式转变过程:从“以数据为中心”的静态架构,到“以任务/目标为导向”的动态资源管理系统
二、“AI 训练”和“AI 推理”视角的存算范式
2.1 本质区别:训练是优化过程 vs 推理是映射过程
维度 | AI 训练(Training) | AI 推理(Inference) |
---|---|---|
目标 | 构建模型参数空间,优化损失函数 | 使用已有模型做出预测 |
数据类型 | 标签化 + 高维 | 非标签化 / 低维度特征 |
状态 | 动态变化中(模型更新) | 静态使用(模型固定) |
2.2 AI 训练的系统行为模型
我们可以通过两个系统的控制流图来理解其差异:
2.2.1 AI 训练系统模型
控制流:
[数据输入] → [前向计算] → [误差计算] → [反向传播] → [参数更新]
↑ ↓
存储 参数存储
特点:
- 大量内存/缓存交互(梯度、激活值)
- 写入密集型(频繁写参数)
- 依赖高带宽存储与高速计算耦合(如 GPU 内存)
存储特性:
- 存储需支持高频读写、大容量、低延迟
- 缓存结构必须支持梯度回传(中间结果保留)
资源分配原则:
- 优先保障计算吞吐 > 存储响应时间
- 存储是服务者,不是决策者(典型“存储等计算”)
2.2.2 AI 推理系统模型
控制流:
[输入] → [模型加载] → [前向计算] → [输出结果]
↑ ↓
存储 中间状态(可丢弃)
特点:
- 只进行前向传播(无反向传播)
- 对内存访问模式更规则
- 更强调能效比和实时性
存储特性:
- 强调数据亲和性和访问局部性
- 支持压缩存储、量化、稀疏表示
- 缓存可以高度优化(如指令缓存、片上缓存)
资源分配原则:
- 优先保障延迟 < 带宽
- 存储可成为主动调度参与者(“感知计算”甚至“被计算引导”)
2.3 从“存储等计算”到“计算驱动存储”的演进路线
我们将这一转变分别对应于训练和推理场景中所呈现的不同阶段
2.3.1 在 AI 训练中:
阶段 | 表现 | 特征 | 存储角色 |
---|---|---|---|
1. 存储等计算 | GPU 内存不足,需要等待数据加载 | 执行依赖存储就绪 | 存储瓶颈 |
2. 存储感知计算 | 使用缓存预取、梯度压缩 | 存储优化为加速计算 | 协同伙伴 |
3. 计算驱动存储 | 分布式训练、动态切分、异构存储调度 | 存储按计算任务配置 | 动态资源池 |
示例:如使用 NVLink 连接多芯片存储池,在训练中实现“计算决定存储访问路径”
2.3.2 在 AI 推理中:
阶段 | 表现 | 特征 | 存储角色 |
---|---|---|---|
1. 存储等计算 | 静态模型加载后执行 | 存储提供静态模型 | 被动容器 |
2. 存储感知计算 | 按需加载部分模型(on-demand loading) | 存储配合计算逻辑 | 协作组件 |
3. 计算驱动存储 | 模型蒸馏 + 动态剪枝 + 存内计算(in-memory computing) | 存储作为可编程资源 | 主动执行单元 |
示例:在嵌入式设备中部署边缘推理时,使用 FPGAs 或神经拟态芯片实现“计算引导存储布局”
2.4 性能对比视角
维度 | AI 训练 | AI 推理 |
---|---|---|
数据吞吐 | 高频双向 | 单向输入 |
存储压力 | 高(写为主) | 中(读为主) |
计算复杂度 | 高(非线性变换 + 反向传播) | 低(前向仅一次) |
实时性要求 | 不严格 | 通常要求低延迟 |
并行性 | 高(批处理 + 分布式) | 有时串行或批量处理 |
2.5 简化 AI 训练和 AI 推理的关系
+-----------------------------+
| AI Training System |
| |
| [Data In] → [Compute] |
| ↖ ↗ |
| [Storage ↔ Compute] |
| |
+--------|--------------------+
↓
+-----------------------------+
| AI Inference System |
| |
| [Input] → [Model Load] |
| ↓ |
| [Compute] |
| ↓ |
| [Output] |
| |
+-----------------------------+
在这个模型中,训练系统偏向存储敏感型架构,而推理系统则更容易进入计算驱动存储的新范式