首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >狂潮分布式训练系统|六层原子化权责架构・模块边界与权限规约(公开完整版)

狂潮分布式训练系统|六层原子化权责架构・模块边界与权限规约(公开完整版)

原创
作者头像
狂潮
发布于 2026-09-23 04:42:51
发布于 2026-09-23 04:42:51
650
举报

分享一套完整的大模型分布式训练系统顶层架构设计,免费公开。

本文完整定义 L1~L5 全层级模块职责、权限流向、事件驱动规则、边界红线、旧架构问题整改思路。

定位说明:这是顶层范式与模块边界规约,聚焦权责隔离与消除隐性耦合,不附带可直接运行代码。工程落地、性能优化、硬件适配属于后续工程工作。

设计核心范式:

上层决策、下层执行、单向指令、禁止窥探、权责原子隔离、无主动轮询、无跨层耦合。

本内容为顶层架构规范设计,聚焦系统解耦、防腐、稳定性架构。

不含可运行代码,工程落地、性能调优、硬件适配属于落地层工作,不在本次顶层设计范畴。

免费公开,供行业架构参考学习。

全局权限总纲 + 全模块速查清单

一、全局权限总纲(系统底层铁律,不可突破)

核心权限范式

单线流转:上层下发指令,下层执行;下层只反馈结果与状态;上层不可直接修改下层内部状态;下层严禁主动拉取 / 窥探上层任何私有状态。

1. 决策权收敛:所有顶层决策(启停、恢复、终止、资源分配)唯一收口于 L1【任务编排器】。其余任何模块,只允许执行与上报,无权自主决策。

2. 链路刚性隔离:管理层内部多通道分离,每条通道只承载固定类型消息。禁止模块私下直连、消息跨通道混用、跨层跳转通信。所有消息逐级传递,禁止越级。

3. 职责原子化:一个模块只做一类事,不兼决策、不兼多业务。执行模块剥离判断能力;判断模块剥离操作能力。

4. 事件驱动:废除全部主动轮询机制。状态传递统一使用事件推送;下层超时未上报,上层判定故障。

5. 只读反馈原则:下层向上上报的事件、指标、状态,原始内容不可被接收方篡改。反馈消息只读。

层级总览

L1 调度管理层:决策、资源、故障判定、恢复执行(只发指令,不做训练计算)

L2 训练控制引擎层:训练循环主控、并行、优化器、混合精度(调度训练流程,不做底层张量计算)

L3 模型 & 计算层:模型加载、算子、前向 / 反向、梯度归约(张量计算主体,无权干预训练时序)

L4 数据管道层:数据集版本、预加载、混洗、过滤、批次打包(样本处理流水线,不参与模型计算)

L5 持久化与指标观测层:Checkpoint 快照、指标日志统计(持久化存储与观测,零决策能力)

二、全模块速查清单(层级|模块名称|核心职责|禁止行为摘要)

L1 调度管理层(4 模块,决策中枢)

1. L1-1 任务编排器:系统唯一决策源,下发顶层指令,汇总事件,掌握任务启停 / 暂停 / 恢复 / 终止最终决策权。禁止直接操作 GPU、文件、张量,禁止参与计算。

2. L1-2 资源分配器:资源申请释放、并行拓扑管理、NCCL 进程组构建。禁止自主启停训练,禁止修改训练超参。

3. L1-3 故障检测器:收集全链路上报健康事件,故障分级判定,只上报,不决策不下发指令。禁止直接干预下层训练流程。

4. L1-4 恢复控制器:收到编排器指令后执行快照加载、通信域重建;无自主故障触发权。禁止自主监听故障,无权修改任务规约。

L2 训练控制引擎层(4 模块,训练流程主控)

1. L2-1 训练循环控制器:承接 L1 配置,驱动 step 迭代,调度 L2 子模块、L3/L4/L5,向上汇总训练事件。禁止资源申请释放,无权决策任务终止。

2. L2-2 并行策略控制器:解析并行拓扑,维护 TP/DP/PP 分片规则,初始化 / 销毁 NCCL 通信域。禁止张量计算,无权改动 L1 下发拓扑。

3. L2-3 优化器封装:接收梯度,执行权重更新计算,产出权重增量。禁止自主调整学习率,禁止直接修改显存权重。

4. L2-4 混合精度管理器:张量精度转换、loss 缩放、梯度溢出检测。禁止修改梯度本体,无权跳过本轮参数更新。

L3 模型 & 计算层(5 模块,张量计算层)

1. L3-1 模型分片加载器:权重分片载入显存,校验分片完整性。禁止前向反向计算,禁止自主修改分片规则。

2. L3-2 算子库适配层:统一封装 CUDA/Fused 算子,硬件指令翻译,算子调度。禁止业务计算逻辑,无权自主切换算子策略。

3. L3-3 前向计算单元:执行模型前向运算,输出 logits 张量。禁止反向求导、梯度归约、loss 计算。

4. L3-4 反向计算单元:基于 logits 与标签求 loss,生成每层梯度张量。禁止梯度归约、权重更新。

5. L3-5 梯度归约单元:跨 rank 梯度 All-Reduce 聚合。禁止梯度生成,无权自主重建 NCCL 通信域。

L4 数据管道子系统(5 模块,样本流水线)

1. L4-1 数据集版本管理器:数据集版本、路径、哈希校验,挂载 / 切换 / 卸载数据集。禁止样本加工、批次打包。

2. L4-2 多线程预加载器:磁盘 IO,原始样本读取,内存缓存填充。禁止样本修改、混洗、过滤。

3. L4-3 数据混洗器:样本顺序随机打乱,仅变更顺序。禁止修改样本内容、筛选样本。

4. L4-4 样本过滤模块:依据规则剔除脏数据、异常样本。禁止修补样本,无权自主调整过滤阈值。

5. L4-5 批次打包器:样本组 batch、padding、转换为 GPU 张量 micro-batch。禁止样本筛选混洗。

L5 持久化与指标观测层(2 模块,存储与观测)

1. L5-1 Checkpoint 管理器:快照序列化保存、读取、版本链维护。禁止自主触发保存,禁止修改权重与训练配置。

2. L5-2 指标日志统计器:接收、汇总、落地训练指标与日志。禁止判断收敛,无权干预训练流程,不可篡改原始指标。

三、通用红线(所有模块强制遵守)

1. 下层一律禁止主动读取、轮询、窥探上层任何私有状态(step、epoch、loss、学习率、并行拓扑、显存等)。配置仅在初始化阶段一次性推送固化。

2. 任何下层模块禁止自主决策,触发动作必须等待上层指令。

3. 模块只能修改自身私有状态,严禁修改其他模块内部状态。

4. 禁止跨层越级通信,所有消息逐级转发。

5. 所有上报事件、原始数据、指标保持只读,接收方不可篡改。

狂潮分布式训练系统|六层原子化权责架构(正文)

模块边界职责规约|L1-1:任务编排器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L1 最高决策中枢,全系统唯一决策源。负责全生命周期任务调度、启停、暂停、终止、全局时序管控;只做决策调度,不参与任何计算、IO、显存操作。

1. 模块唯一核心职责

下发训练顶层指令;统筹全链路层级调度;接收所有上层模块事件汇总;判定任务全局状态;输出启停 / 恢复 / 终止最高级决策。

2. 模块私有状态(外部全部禁止读、禁止改)

全局任务状态枚举:待机 / 预热中 / 训练运行中 / 暂停 / 故障冻结 / 终止

全局任务配置副本(顶层超参、训练总步数、epoch 上限)

全链路模块健康状态台账

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

任务初始化就绪事件

任务正式启动事件

任务暂停事件

任务恢复事件

任务终止 / 结束事件

全局故障冻结事件

4. 允许接收的输入事件 / 指令清单

上层:无(顶层模块)

下层(L1 内部三子模块 + L2 训练引擎)

资源分配就绪 / 异常事件

故障检测上报事件

恢复执行完成事件

训练循环运行反馈事件

5. 允许对外发出的输出事件 / 消息清单

向上:无

向下(全系统所有下层层级)

全局初始化指令

启动训练指令

暂停训练指令

恢复训练指令

强制终止指令

全局冻结保护指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止直接操作 GPU 显存、模型权重、张量计算

❌ 禁止执行数据读取、样本处理、磁盘 IO

❌ 禁止修改 loss、梯度、权重、学习率等训练参数

❌ 禁止自主探测下层状态、轮询下层进度;只接收上报事件

❌ 禁止参与任何算子调用、前向反向计算逻辑

旧架构问题 & 整改方案

旧问题:旧版调度器存在 “被动响应故障”“局部模块自主启停”,导致全局时序撕裂、多模块状态不一致。

整改:

1. 剥夺所有下层模块自主启停权限,所有全局动作唯一收口本模块;

2. 废除被动调度,全部采用顶层指令驱动;

3. 所有全局状态统一由本模块固化,杜绝局部状态覆盖全局状态。

---

模块边界职责规约|L1-2:资源分配器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L1 资源顶层管控模块;负责算力、进程、通信域、显存配额的初始化与生命周期管理;只分配资源、不调度训练流程、不参与计算。

1. 模块唯一核心职责

接收顶层编排指令;初始化硬件资源、进程组、NCCL 通信域;分配各 rank 算力与显存配额;监控全局资源占用;向上反馈资源就绪 / 耗尽 / 异常状态。

2. 模块私有状态(外部全部禁止读、禁止改)

全局 rank 拓扑表、进程映射关系

单卡 / 全局显存配额参数

资源状态枚举:未初始化 / 资源就绪 / 资源紧张 / 资源泄漏 / 资源崩溃

NCCL 通信域句柄、进程组 ID

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

资源初始化完成事件

全局通信域构建就绪事件

显存资源紧张告警事件

资源泄漏检测事件

资源异常崩溃事件

4. 允许接收的输入事件 / 指令清单

上层(L1-1 任务编排器)

全局资源初始化指令

重建通信域指令

释放全局资源指令

下层(L2 并行控制器、硬件底层)

硬件资源就绪反馈

通信域异常反馈

显存溢出上报事件

5. 允许对外发出的输出事件 / 消息清单

向上推送(L1-1 任务编排器)

资源就绪可训练事件

资源不足告警事件

通信域故障事件

向下推送(下层所有模块)

分配 rank 拓扑与通信权限指令

锁定资源配额指令

释放局部资源指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止干预训练 step、epoch、训练时序

❌ 禁止参与模型计算、梯度、权重更新、loss 逻辑

❌ 禁止修改并行策略分片规则,只做资源承载

❌ 禁止自主启停训练、自主修复故障

❌ 禁止读取训练指标、loss、精度状态

旧架构问题 & 整改方案

旧问题:资源模块主动适配训练节奏、动态修改显存配额,下层干预上层时序。

整改:

1. 资源配额初始化一次性固化,训练中禁止自主改动;

2. 通信域故障只上报、不自救、不自建;

3. 只做资源管控,零训练流程干预权。

---

模块边界职责规约|L1-3:故障检测器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L1 全局故障感知模块;只收集、分级、上报,不决策、不修复、不干预。

1. 模块唯一核心职责

全链路监听各模块异常事件;做故障分级(轻微 / 中级 / 严重 / 致命);汇总故障台账;向上推送故障报告;无任何执行与决策权限。

2. 模块私有状态(外部全部禁止读、禁止改)

故障分级规则台账

本轮 / 累计故障统计记录表

监听状态枚举:待机 / 全域监听中 / 故障堆积 / 监听异常

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

轻微故障上报事件

中级异常告警事件

严重故障预警事件

致命崩溃上报事件

4. 允许接收的输入事件 / 指令清单

上层(L1-1 任务编排器)

开启全域故障监听指令

重置故障台账指令

下层所有模块

各模块异常报错事件

硬件故障事件

数据异常事件

计算异常事件

5. 允许对外发出的输出事件 / 消息清单

向上推送(L1-1 任务编排器)

分级故障报告事件

批量故障堆积告警事件

向下:无(纯上行监听模块)

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止自主判定是否停机、是否恢复

❌ 禁止自主修复故障、重试任务

❌ 禁止修改任何模块状态、参数、数据

❌ 禁止干预训练流程、暂停 / 启停任务

❌ 禁止读取私有训练参数,只接收公开异常事件

旧架构问题 & 整改方案

旧问题:旧检测器会自主判断故障严重性、自主触发重试,越权决策。

整改:

1. 彻底剥夺决策修复权,纯监听、纯汇总、纯上报;

2. 所有故障处理全权交由任务编排器与恢复控制器。

---

模块边界职责规约|L1-4:恢复控制器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L1 故障执行层;只执行恢复动作,不判定故障、不决策时机。

1. 模块唯一核心职责

接收顶层恢复指令;执行快照回载、通信域重建、状态复位;完成故障后环境修复;向上反馈恢复成功 / 失败。

2. 模块私有状态(外部全部禁止读、禁止改)

恢复流程步骤台账

恢复状态枚举:待机 / 恢复执行中 / 恢复成功 / 恢复失败

本次恢复使用快照版本记录

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

恢复流程启动事件

环境恢复就绪事件

恢复失败重试告警事件

4. 允许接收的输入事件 / 指令清单

上层(L1-1 任务编排器)

启动故障恢复指令

指定快照回载恢复指令

强制环境重置指令

下层(L5 快照管理器、L2 并行控制器)

快照加载就绪反馈

通信域重建完成反馈

5. 允许对外发出的输出事件 / 消息清单

向上推送(L1-1 任务编排器)

全局环境恢复完成事件

恢复流程失败事件

向下推送

加载指定快照指令

重建通信域指令

重置模块状态指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止自主监听故障、自主触发恢复

❌ 禁止选择快照版本、自主决策恢复策略

❌ 禁止修改训练配置、超参、并行规则

❌ 禁止参与训练计算、数据处理

旧架构问题 & 整改方案

旧问题:旧恢复模块会预判轻微故障自主修复,越权执行。

整改:

1. 所有恢复动作必须顶层指令触发;

2. 无自主修复逻辑,纯执行工具模块。

---

模块边界职责规约|L2-1:训练循环控制器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L2 训练引擎总控,单 step 时序核心;负责驱动每一步训练闭环、调度前向 / 反向 / 精度 / 优化 / 数据流水线;只调度时序,不做资源决策、不做顶层启停决策。

1. 模块唯一核心职责

接收 L1 启动指令;迭代驱动每一个训练 step;按固定时序调度数据、前向、反向、精度、归约、优化、快照流程;汇总每一步训练状态向上上报。

2. 模块私有状态(外部全部禁止读、禁止改)

当前全局 step 计数、epoch 计数

单 step 执行时序台账

循环状态枚举:待机 /step 迭代中 / 等待数据 / 等待计算 / 异常阻塞

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

训练循环启动事件

单 step 执行完成事件

循环阻塞等待事件

循环异常中断事件

4. 允许接收的输入事件 / 指令清单

上层(L1 任务编排器)

启动 / 暂停 / 恢复 / 终止训练指令

下层(L2 子模块、L3 计算层、L4 数据层)

数据就绪事件

前向完成事件

反向完成事件

梯度归约完成事件

优化更新完成事件

精度溢出事件

5. 允许对外发出的输出事件 / 消息清单

向上推送(L1)

训练运行时序状态

单 step 完成汇总事件

训练阻塞 / 异常事件

向下推送

单 step 全链路调度时序指令

启动前向 / 反向 / 优化 / 精度校验指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止自主申请 / 释放硬件资源

❌ 禁止自主判定全局故障、自主停机

❌ 禁止修改顶层训练配置

❌ 禁止直接参与张量计算、权重修改

旧架构问题 & 整改方案

旧问题:旧循环控制器自主决定是否跳过异常 step,局部越权干预全局时序。

整改:异常仅上报,是否跳过、是否冻结全部交由 L1 决策。

---

模块边界职责规约|L2-2:并行策略控制器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L2 并行拓扑管控核心;维护 TP/PP/DP 并行规则、rank 分片映射、通信域策略;只维护规则,不做计算、不做通信执行。

1. 模块唯一核心职责

解析顶层并行配置;固化模型分片、数据分片、流水线分片规则;下发并行拓扑给计算层;维护跨卡通信策略;向上反馈并行初始化与异常状态。

2. 模块私有状态(外部全部禁止读、禁止改)

TP/PP/DP 维度分片规则表

rank 与模型层映射拓扑

并行状态枚举:未初始化 / 拓扑就绪 / 通信异常 / 分片不匹配

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

并行拓扑初始化就绪事件

分片规则下发完成事件

跨卡通信异常事件

分片不匹配报错事件

4. 允许接收的输入事件 / 指令清单

上层(L1 资源分配器、L2 循环控制器)

并行拓扑配置下发指令

重建并行通信域指令

下层(L3 梯度归约、模型加载器)

分片加载完成反馈

通信执行异常反馈

5. 允许对外发出的输出事件 / 消息清单

向上推送

并行环境就绪事件

并行拓扑异常事件

向下推送

固化分片规则指令

通信域同步策略指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止自主修改并行策略、动态调分片

❌ 禁止执行张量通信、归约计算

❌ 禁止干预训练 step 时序

旧架构问题 & 整改方案

旧问题:旧并行模块根据显存自主微调分片策略,下层自适应越权。

整改:拓扑初始化一次性固化,训练全程不可自主修改。

---

模块边界职责规约|L2-3:优化器封装层

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L2 权重更新唯一模块;执行参数梯度更新、学习率调度、动量迭代;只更新权重,不生成梯度、不归约梯度。

1. 模块唯一核心职责

接收全局聚合梯度;依据学习率与优化器算法执行权重迭代更新;维护优化器自身动量、梯度累积状态;向上反馈更新完成 / 异常。

2. 模块私有状态(外部全部禁止读、禁止改)

本轮学习率值

优化器动量缓存、累积梯度缓存

更新状态枚举:空闲 / 更新执行中 / 更新完成 / 梯度异常

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

权重更新开始事件

权重更新完成事件

梯度非法更新失败事件

4. 允许接收的输入事件 / 指令清单

上层(L2 训练循环控制器)

执行权重更新指令

学习率配置更新指令

下层(L3 梯度归约单元)

全局聚合梯度就绪事件

5. 允许对外发出的输出事件 / 消息清单

向上推送

参数更新完成事件

更新异常事件

向下推送

权重写入更新指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止自主调整学习率、自主改优化策略

❌ 禁止生成、修改、裁剪梯度张量

❌ 禁止参与前向反向计算

旧架构问题 & 整改方案

旧问题:旧优化器会自主检测梯度爆炸,跳过更新,越权干预训练流程。

整改:仅执行更新,异常只上报,是否跳过由上层决策。

---

模块边界职责规约|L2-4:混合精度管理器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L2 训练控制引擎层,训练循环控制器直属次级模块;负责张量精度管理、损失缩放、梯度溢出检测;只做精度相关转换与校验,不参与前向反向主体计算,不改动优化器更新逻辑。

1. 模块唯一核心职责

接收训练循环控制器下发的精度配置;执行 FP16/BF16 张量缩放、loss 缩放、梯度溢出判断;向上上报溢出事件,向下下发张量精度转换指令。

2. 模块私有状态(外部全部禁止读、禁止改)

缩放系数(loss scale)

溢出检测状态枚举:空闲 / 缩放计算中 / 梯度溢出 / 无溢出

精度策略副本:启用混合精度 / 关闭,初始缩放值、缩放调整规则

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

混合精度初始化就绪事件

梯度溢出事件(附带当前缩放值)

无溢出事件

缩放系数调整完成事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L2-1 训练循环控制器)

混合精度初始化指令(携带精度策略配置)

执行 loss 缩放指令

执行梯度反缩放与溢出检测指令

下层(来自 L3 模型 & 计算层)

张量精度转换完成事件

梯度张量读取就绪事件

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L2-1 训练循环控制器)

初始化就绪事件

梯度溢出告警事件

无溢出事件

缩放系数调整完成事件

向下推送(直属下级:L3 模型 & 计算层)

张量精度转换指令(FP32 ↔ FP16/BF16)

读取梯度张量指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止修改梯度本身数值,仅做缩放转换;梯度修改权归属优化器

❌ 禁止自主调整学习率、step 计数,训练时序由训练循环控制器管控

❌ 禁止参与模型前向推理、loss 计算;loss 计算归属模型计算层

❌ 禁止操作 NCCL 通信域、并行分片规则,并行逻辑归属并行策略控制器

❌ 禁止主动轮询 GPU 张量、显存状态,只接收下层上报事件

❌ 禁止触发参数更新、评估、快照保存等训练动作,触发权归训练循环控制器

当前模块旧架构权限问题 & 整改方案

旧问题:原版混合精度管理器会主动读取模型层梯度张量,属于下层主动拉取;溢出发生时,会直接跳过本轮优化更新,越权干预训练循环。

整改:

1. 取消主动读取梯度,由训练循环控制器调度,下发指令读取梯度,下层返回事件;

2. 溢出检测结果仅作为事件上报给训练循环控制器;是否跳过本轮参数更新,由训练循环控制器决策,本模块只负责检测与上报,无权终止本轮更新。

---

模块边界职责规约|L3-1:模型分片加载器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L3 模型 & 计算层主入口模块;全权负责权重分片加载、初始化、显存入驻;只负责权重分片加载、初始化、显存入驻,不做计算、不做通信、不做参数更新,纯静态资源装载模块。

1. 模块唯一核心职责

接收上层并行分片规则与权重加载指令;根据 TP/PP 拓扑完成模型权重分片切割、单卡权重载入显存;校验分片完整性;向上反馈加载成功 / 失败状态。

2. 模块私有状态(外部全部禁止读、禁止改)

当前本机 rank 对应的权重分片缓存信息

分片加载状态枚举:未加载 / 加载中 / 加载完成 / 分片损坏 / 不匹配

本地模型层映射表:本机负责的网络层区间

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

分片加载开始事件

分片加载成功事件

分片不匹配 / 损坏告警事件

模型权重显存入驻完成事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L2-2 并行策略控制器)

并行分片规则配置推送(一次性初始化)

重新加载权重分片指令(故障恢复 / 重启训练)

上层(来自 L2-1 训练循环控制器)

初始化模型权重加载指令

加载指定 checkpoint 快照权重指令

下层(本层内部算子 / 计算单元)

网络层资源就绪反馈事件

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L2 训练引擎)

权重分片加载完成事件

分片异常事件

模型显存就绪事件

向下推送(L3 下层算子 & 计算单元)

启用对应模型层资源指令

冻结 / 锁定权重资源指令(训练中保护)

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动读取、拉取上层并行拓扑、step 状态、学习率等任何上层私有参数

❌ 禁止执行前向传播、反向传播、梯度计算

❌ 禁止参与权重更新、优化器迭代逻辑

❌ 禁止发起 NCCL 通信、张量分片交换

❌ 禁止修改分片规则、并行策略,只能被动接收上层推送规则

❌ 禁止主动读写磁盘文件,只接收上层加载指令

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 原版模型分片加载器主动读取上层并行拓扑配置(典型下层窥探上层,权限违规);

2. 加载失败时,会自行调整分片策略补救,越权修改上层规则。

整改:

1. 所有分片规则初始化一次性推送,永久固化,本模块无权读取、无权修改;

2. 加载异常只上报、不自救、不修改规则;补救决策全部上交 L2 训练引擎;

3. 彻底纯职能化:只装载、只校验、只反馈,零决策、零运算、零修改。

---

模块边界职责规约|L3-2:算子库适配层

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L3 模型 & 计算层底层硬件适配中枢。承接上层计算指令,统一调度 CUDA/Flash/Fused 算子;做指令翻译、硬件适配、算子切换;只做适配调度,不写业务计算逻辑、不做参数更新。

1. 模块唯一核心职责

接收上层下发的前向 / 反向计算指令;根据硬件环境自动匹配最优加速算子;统一封装底层硬件调用接口;屏蔽不同 GPU、不同算子版本差异;向上反馈算子执行成功 / 异常状态。

2. 模块私有状态(外部全部禁止读、禁止改)

当前硬件能力快照:算力规格、支持算子列表、显存阈值

算子映射注册表:模型计算逻辑 → 底层硬件算子映射关系

算子运行状态枚举:空闲 / 算子调度中 / 算子执行异常 / 硬件繁忙

算子缓存句柄池

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

算子库初始化就绪事件

算子调度成功事件

算子执行报错事件

硬件资源超限告警事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L3 前向 / 反向计算单元)

执行前向算子调用指令

执行反向算子调用指令

切换加速模式指令

下层(硬件底层)

CUDA 算子执行完成反馈

硬件报错反馈

显存资源占用反馈

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L3 前向 / 反向计算单元)

算子执行成功事件

算子执行失败事件

硬件资源不足事件

向下推送(底层硬件)

启动指定硬件算子指令

释放算子缓存资源指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动读取上层训练 step、loss、学习率、并行拓扑等私有状态

❌ 禁止参与权重更新、梯度修改、优化器迭代

❌ 禁止执行 loss 判定、模型预测、业务逻辑计算

❌ 禁止发起 NCCL 通信、张量归约、跨卡同步

❌ 禁止自主切换算子策略;策略变更必须等待上层指令

❌ 禁止主动探测上层计算节奏、主动预加载算子;只被动响应调用指令

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 原版算子适配层会主动检测上层计算类型,自主切换算子,属于下层自主决策,越权;

2. 会主动读取 GPU 空闲资源,预判调度,存在反向窥探硬件状态耦合。

整改:

1. 算子切换、调度策略全部由上层计算单元下发指令,本模块只执行、不决策;

2. 取消所有主动探测、主动预判逻辑,严格被动响应;

3. 硬件状态只上报,不上层不轮询、不读取。

---

模块边界职责规约|L3-3:前向计算单元

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L3 模型 & 计算层,算子库适配层的直属上游模块;接收输入 token 张量与模型分片权重,调用算子库完成模型前向推理计算,输出 logits;不做反向梯度计算,不参与权重更新。

1. 模块唯一核心职责

接收上层下发的输入张量与前向计算指令;调用算子库适配层执行模型前向运算;产出 logits 张量;向上反馈前向计算完成或异常事件。

2. 模块私有状态(外部全部禁止读、禁止改)

前向计算上下文缓存:各层中间激活张量(用于反向计算复用)

运行状态枚举:空闲 / 前向计算执行中 / 计算异常

当前批次张量元信息:张量形状、数据类型

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

前向计算开始事件

前向计算完成事件(携带 logits 张量句柄)

前向计算报错事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L2-1 训练循环控制器)

执行前向计算指令(附带 micro-batch 输入张量)

下层(来自 L3-2 算子库适配层)

算子执行完成事件

算子执行失败事件

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L2-1 训练循环控制器)

前向计算完成事件

前向计算异常事件

向下推送(直属下级:L3-2 算子库适配层)

执行模型层算子前向调用指令

释放中间激活缓存指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动读取上层 step、loss、并行拓扑、学习率等私有状态

❌ 禁止执行反向传播、梯度计算、梯度归约

❌ 禁止修改模型权重张量,权重只读

❌ 禁止发起 NCCL 跨 rank 张量通信,通信交给梯度归约单元与并行策略控制器

❌ 禁止自主调整算子选择,算子选择由上层指令下发

❌ 禁止计算 loss 损失值,loss 不属于前向单元职责

当前模块旧架构权限问题 & 整改方案

旧问题:原版前向单元会主动保留 loss 计算逻辑,越界承担额外计算;同时主动读取权重分片信息,直接访问模型分片加载器内部状态。

整改:

1. 剥离 loss 计算,loss 交由反向链路处理;前向单元只输出 logits;

2. 权重由模型分片加载器初始化阶段一次性推送,本模块不再主动拉取权重分片信息;

3. 所有状态使用事件推送,删除主动轮询逻辑。

---

模块边界职责规约|L3-4:反向计算单元

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L3 模型 & 计算层核心运算模块;负责根据前向输出 logits、真实标签,完成 loss 求解、反向梯度求导、张量梯度生成;只生产梯度,不归约、不更新权重。

1. 模块唯一核心职责

接收上层下发的反向计算指令、logits 张量、标签数据;依托算子库完成全局反向求导,生成每层参数梯度张量;保留梯度输出结果;向上反馈反向计算完成 / 异常状态。

2. 模块私有状态(外部全部禁止读、禁止改)

当前 step 所有梯度张量缓存(待归约)

反向计算依赖的前向激活上下文快照

反向运行状态枚举:空闲 / 反向计算中 / 梯度生成完成 / 计算报错

当前批次 loss 原始标量值

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

反向计算启动事件

梯度生成完成事件

反向计算报错事件

本批次 loss 数值推送事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L2-1 训练循环控制器)

启动反向计算指令(携带 logits、label、精度缩放参数)

下层(来自 L3-2 算子库适配层)

反向算子执行完成事件

反向算子异常报错事件

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L2-1 训练循环控制器)

反向计算完成、梯度就绪事件

反向计算失败事件

向下推送(直属下级:L3-2 算子库适配层)

执行逐层反向算子计算指令

释放无用前向激活缓存指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动读取上层 step、学习率、并行拓扑、混合精度状态

❌ 禁止执行跨卡梯度归约、NCCL 通信同步(归约专属梯度归约单元)

❌ 禁止修改、裁剪、微调梯度数值(缩放除外,由精度模块统一管控)

❌ 禁止参与权重更新、参数迭代优化(专属优化器)

❌ 禁止主动触发精度溢出判定、自主缩放梯度

❌ 禁止主动探测前向计算进度,必须等待上层统一调度指令

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 原版反向单元会自主读取混合精度状态,自行做梯度缩放,跨模块越权;

2. 计算完成后主动触发局部梯度归约,绕过上层调度私自调用通信逻辑;

3. 主动读取前向单元缓存状态,属于下层跨模块窥探。

整改:

1. 所有精度缩放参数、溢出判定结果,全部由 L2 混合精度管理器事件推送,本模块不主动读取;

2. 梯度生成完毕仅上报就绪,归约动作全权交给梯度归约单元、上层调度;

3. 前向上下文缓存统一由算子层调度管理,本模块只接收指令执行,不主动访问。

---

模块边界职责规约|L3-5:梯度归约单元

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L3 模型 & 计算层最后一个计算模块;接收上层指令与各 rank 本地梯度张量,依托 NCCL 执行跨 rank 梯度归约(求和 / 平均);输出全局统一梯度;只负责张量通信归约,不做梯度生成,不做权重更新。

1. 模块唯一核心职责

接收训练循环控制器下发的归约执行指令与本地梯度张量;依照并行策略控制器推送的 rank 分组规则执行梯度 All-Reduce;完成跨卡梯度聚合;向上反馈归约完成或通信异常事件。

2. 模块私有状态(外部全部禁止读、禁止改)

当前归约任务上下文:梯度张量句柄、归约运算类型

归约运行状态枚举:空闲 / 归约通信中 / 归约完成 / 通信失败

NCCL 归约操作临时缓冲区

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

梯度归约开始事件

梯度归约完成事件(携带聚合后的全局梯度句柄)

归约通信失败事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L2-1 训练循环控制器)

执行梯度归约指令(附带本地梯度张量)

上层(来自 L2-2 并行策略控制器)

rank 分组与通信域配置(初始化一次性推送)

下层(来自 L3-2 算子库适配层)

底层 NCCL 通信执行完成事件

底层通信报错事件

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L2-1 训练循环控制器)

梯度归约就绪事件

梯度归约通信失败告警事件

向下推送(直属下级:L3-2 算子库适配层)

发起 NCCL All-Reduce 通信指令

终止当前通信操作指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动拉取并行拓扑、step 计数、loss、学习率等上层私有状态;分组配置仅初始化一次性推送

❌ 禁止生成梯度、修改梯度数值;梯度由反向计算单元产出

❌ 禁止执行权重更新、优化器参数迭代

❌ 禁止自主发起重建 NCCL 通信域;通信域的创建 / 销毁由并行策略控制器管控

❌ 禁止参与前向、反向模型计算,只处理梯度聚合通信

❌ 禁止主动轮询其他 rank 的梯度状态,等待上层指令触发归约

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 原版梯度归约单元会主动读取并行策略控制器内部 rank 分组拓扑,下层窥探上层状态;

2. 通信报错时尝试自行重建通信域,越权决策。

整改:

1. 并行分组信息在初始化阶段一次性推送,后续禁止本模块主动拉取拓扑;

2. 通信异常仅向上报告失败,重建通信域的决策交给上层并行策略控制器;

3. 仅被动响应归约指令,不主动触发任何通信操作。

---

模块边界职责规约|L4-1:数据集版本管理器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L4 数据管道子系统顶层管控模块;全权负责数据集版本、路径、校验、生命周期管理;只做数据资源管控,不做数据运算、不做样本分拣、不做张量打包。

1. 模块唯一核心职责

接收上层下发的数据集版本指令;绑定对应数据源路径;校验数据集完整性与版本合法性;管理多版本数据集切换;向上反馈数据集就绪 / 异常状态,为整个数据管道提供合规数据源。

2. 模块私有状态(外部全部禁止读、禁止改)

已注册数据集版本清单、数据源路径映射表

数据集校验哈希值、文件数量、样本总量

数据集状态枚举:未挂载 / 挂载就绪 / 校验异常 / 版本不匹配 / 已卸载

当前激活使用的数据集版本标记

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

数据集版本挂载就绪事件

数据集缺失 / 损坏校验失败事件

数据集版本切换完成事件

数据集卸载完成事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L2-1 训练循环控制器)

挂载指定数据集版本指令

切换数据集版本指令

卸载数据集指令

下层(来自 L4 多线程预加载器)

数据读取就绪反馈

数据源读取失败反馈

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L2-1 训练循环控制器)

数据集就绪可训练事件

数据集异常不可用事件

版本切换完成事件

向下推送(L4 数据管道下属所有模块)

激活当前数据集数据源指令

冻结旧版本数据集指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动读取上层训练 step、并行拓扑、超参、显存状态

❌ 禁止参与样本过滤、shuffle、批次打包等数据加工逻辑

❌ 禁止生成、修改、编辑任何样本数据内容

❌ 禁止干预数据预加载节奏、预加载数量

❌ 禁止自主切换数据集版本;版本切换必须等待上层指令

❌ 禁止参与模型计算、loss、梯度、权重任何训练核心逻辑

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 原版版本管理器会主动适配训练 step 动态切换数据集,下层自主决策上层训练节奏,严重越权;

2. 主动探测下层数据加载进度,轮询下层状态,形成反向依赖。

整改:

1. 数据集挂载、切换、卸载全部由上层下发指令触发,本模块无自主决策权;

2. 取消所有轮询探测,只接收下层上报事件、向上推送状态;

3. 彻底剥离数据加工能力,只保留版本、路径、校验、生命周期管控。

---

模块边界职责规约|L4-2:多线程预加载器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L4 数据管道子系统数据读取执行模块;负责磁盘 IO、多线程预读、内存缓存填充;只负责原始数据搬运,不修改数据、不筛选数据、不规整数据。

1. 模块唯一核心职责

接收上层数据源激活指令与预加载规格;多线程从指定数据集路径读取原始样本;加载至内存缓冲区;维持训练所需数据缓存水位;向上反馈数据就绪、数据枯竭、读取异常事件。

2. 模块私有状态(外部全部禁止读、禁止改)

内存缓冲区:原始样本缓存队列

线程池状态:工作线程数、空闲线程、忙碌线程

读取指针位置、当前缓存水位阈值

加载状态枚举:待机 / 预加载中 / 缓存充足 / 缓存枯竭 / IO 异常

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

预加载启动事件

缓存充足就绪事件

缓存枯竭告警事件

磁盘 IO 读取失败事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L4-1 数据集版本管理器)

激活数据源读取指令

冻结数据源、清空缓存指令

上层(来自 L2-1 训练循环控制器)

设置预加载水位、缓存规格指令

下层(磁盘 IO 系统)

文件读取成功反馈

文件读取报错反馈

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L4-1 数据集版本管理器 & L2 训练循环控制器)

缓存就绪事件

数据枯竭事件

IO 异常事件

向下推送(磁盘 IO)

批量读取原始数据指令

终止无效读取指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动探测 GPU 空闲、训练 step 节奏、计算层状态(历史最大越界问题)

❌ 禁止对样本做过滤、清洗、打乱、截断、补齐

❌ 禁止修改原始数据内容、标签内容

❌ 禁止自主调整预加载水位、线程数量;参数全部上层下发

❌ 禁止干预 shuffle、批次打包逻辑

❌ 禁止参与模型计算、梯度、权重、精度转换任何训练逻辑

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 原版预加载器会主动感知 GPU 空闲状态,动态调速预加载,下层窥探上层硬件状态,形成跨层反向耦合;

2. 会根据 step 进度自主增减缓存量,下层干预上层训练节奏。

整改:

1. 彻底切断对 GPU、训练状态的所有探测链路;只被动响应上层指令;

2. 缓存水位、线程规模全部由上层固定配置下发,本模块无权自适应调整;

3. 只做纯粹数据搬运,数据质量、数据规则全权交给下游模块。

---

模块边界职责规约|L4-3:数据混洗器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L4 数据管道子系统数据规整模块;只负责内存样本随机打乱、顺序重置;只改顺序、不改内容、不改规格、不做筛选。

1. 模块唯一核心职责

接收上层待混洗原始样本缓存;按照上层下发的随机种子与混洗规则,全局打乱样本顺序;输出无序干净样本队列;向上反馈混洗完成、混洗异常状态。

2. 模块私有状态(外部全部禁止读、禁止改)

当前本轮混洗索引序列

本轮生效随机种子(上层下发后本地固化)

混洗运行状态枚举:待机 / 混洗执行中 / 混洗完成 / 异常中断

待混洗样本缓冲区快照

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

混洗开始事件

全局样本混洗完成事件

混洗中断、数据异常事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L4-2 多线程预加载器)

原始样本缓存就绪事件

上层(来自 L2-1 训练循环控制器)

本轮混洗启动指令

本轮随机种子、混洗范围规则下发

下层(发给 L4-4 样本过滤模块)

混洗完成样本队列推送

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L2-1 训练循环控制器)

本轮数据混洗就绪事件

混洗失败 / 数据缺失告警事件

向下推送(直属下级:L4-4 样本过滤模块)

混洗完成的标准化样本队列数据流

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动读取训练 step、epoch、学习率、GPU 状态、并行拓扑等上层私有信息

❌ 禁止筛选、剔除、修改、增补样本内容

❌ 禁止截断、补全、padding 样本,样本规格不动

❌ 禁止自主生成随机种子、自主变更混洗策略;规则全权上层定义

❌ 禁止干预 IO 读取速度、缓存水位、预加载线程调度

❌ 禁止参与模型计算、梯度、loss、权重更新等训练核心逻辑

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 原版混洗器会主动读取当前 epoch 进度,自主决定是否重混洗,下层干预上层训练时序;

2. 会根据显存占用大小自动调整混洗粒度,窥探硬件状态,跨层耦合严重。

整改:

1. 所有混洗时机、种子、粒度全部上层指令下发,本模块零自主决策;

2. 彻底切断对训练时序、硬件状态的探测链路;

3. 职责极致收敛:只打乱顺序,其余一概不碰。

模块边界职责规约|L4-4:样本过滤模块

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L4 数据管道子系统样本清洗模块;依据上层下发的过滤规则剔除脏数据、异常样本;只做样本剔除,不修补、不修改样本内容,不新增样本。

1. 模块唯一核心职责

接收上层推送的混洗完成样本队列;加载预先下发的过滤规则(长度阈值、非法字符、异常格式等);识别并丢弃不符合规则的样本;输出过滤后的干净样本流;向上反馈过滤完成、脏样本统计事件。

2. 模块私有状态(外部全部禁止读、禁止改)

当前生效的过滤规则副本(上层一次性下发固化)

本轮脏样本计数、过滤统计台账

过滤状态枚举:待机 / 过滤执行中 / 过滤完成 / 样本流中断

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

样本过滤启动事件

样本过滤完成事件(附带脏样本统计)

样本流中断 / 格式异常事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L4-3 数据混洗器)

混洗后的样本队列推送事件

上层(来自 L2-1 训练循环控制器)

下发过滤规则指令

启动样本过滤指令

下层(发给 L4-5 批次打包器)

过滤完成样本流推送事件

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L2-1 训练循环控制器)

本轮样本过滤就绪事件

脏样本数量上报事件

样本流异常中断告警事件

向下推送(直属下级:L4-5 批次打包器)

干净样本流推送

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动读取上层 step、epoch、显存、并行拓扑等私有状态

❌ 禁止修改、修补、改写样本文本 / 张量内容,仅允许丢弃样本

❌ 禁止自主新增、生成样本数据

❌ 禁止自主调整过滤阈值,规则变更必须等待上层指令

❌ 禁止干预混洗顺序、预加载缓存水位

❌ 禁止参与模型计算、梯度、权重更新等训练逻辑

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 原版过滤模块会根据训练 loss 动态调整过滤严格程度,下层窥探训练指标,越权自适应修改规则;

2. 自动补全截断样本,修改原始样本内容,破坏数据真实性。

整改:

1. 过滤规则初始化固化,训练过程不能自主变更;

2. 仅可丢弃样本,任何样本修改、修补行为全部禁止;

3. 脏样本统计只向上上报,是否调整规则交由上层决策。

---

模块边界职责规约|L4-5:批次打包器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L4 数据管道子系统末端模块;接收过滤后的样本流,按上层指定 batch size 做样本组批、padding、类型转换,组装为 micro-batch GPU 张量;只做组批与张量格式转换,不筛选、不打乱样本。

1. 模块唯一核心职责

接收过滤完成样本流;按照上层下发的 batch 尺寸、padding 规则、张量类型要求,组装 micro-batch;完成 padding 补齐,转换为 GPU 可直接送入模型的张量;向上反馈批次就绪事件,向下输出批次张量给 L3 计算层。

2. 模块私有状态(外部全部禁止读、禁止改)

当前 batch 组装缓冲区

组批规则副本:batch 大小、padding ID、最大序列长度(上层下发固化)

打包状态枚举:待机 / 组批进行中 / 批次就绪 / 样本不足

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

批次打包启动事件

micro-batch 张量就绪事件

样本不足无法组批事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L4-4 样本过滤模块)

干净样本流推送事件

上层(来自 L2-1 训练循环控制器)

下发组批参数指令

启动批次组装指令

下层(发给 L3 前向计算单元)

推送组装完成 micro-batch 张量

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L2-1 训练循环控制器)

micro-batch 就绪事件

样本耗尽、无法组批告警事件

向下推送(直属下级:L3 前向计算单元)

组装完成的批次张量

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动读取训练 step、loss、GPU 显存占用、并行拓扑等上层私有信息

❌ 禁止筛选样本、打乱样本顺序,样本顺序由上游混洗器固定

❌ 禁止修改样本原始内容,padding 仅允许填充指定占位符

❌ 禁止自主调整 batch size、最大序列长度;参数变更必须上层下发指令

❌ 禁止参与前向、反向、梯度计算,不参与权重更新逻辑

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 原版批次打包器会读取 GPU 显存剩余容量,动态调整 batch 大小,下层窥探硬件状态;

2. 样本不足时,会自主循环复用样本填充批次,修改原始数据分布。

整改:

1. batch 与序列参数一次性下发固化,训练期间禁止自主修改;

2. 样本不足只向上告警,不自行重复填充样本;

3. 只负责组装和格式转换,样本顺序、样本内容完全不干预。

---

模块边界职责规约|L5-1 Checkpoint 管理器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L5 持久化与观测层快照管理模块;负责模型权重、优化器状态的序列化保存、读取、版本链维护;只执行快照读写,无权自主触发保存,不能修改权重与训练配置。

1. 模块唯一核心职责

接收上层下发的快照保存 / 加载指令;序列化权重、优化器状态,写入存储;读取指定版本快照,恢复权重与优化器状态;维护快照版本链表;向上反馈快照保存 / 加载成功或失败事件。

2. 模块私有状态(外部全部禁止读、禁止改)

快照版本链表:版本号、存储路径、step 标记、保存时间戳

快照操作状态枚举:待机 / 快照写入中 / 快照读取中 / 读写失败

快照保留策略副本(上层下发固化)

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

快照保存启动事件

快照保存完成事件

快照加载完成事件

快照读写失败事件

4. 允许接收的输入事件 / 指令清单

上层(来自 L1-1 任务编排器、L2-1 训练循环控制器)

保存当前快照指令(附带版本标记)

加载指定版本快照指令

清理过期快照指令

下层(文件存储系统)

文件写入完成反馈

文件读取完成反馈

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L1 任务编排器、L2 训练循环控制器)

快照保存成功事件

快照加载成功事件

快照读写失败告警事件

向下推送(底层存储)

序列化写入文件指令

读取快照文件指令

删除过期快照文件指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动轮询 step、loss 等指标,自主判断何时保存快照

❌ 禁止修改快照内权重、优化器状态数据

❌ 禁止自主选择快照版本,快照版本选择必须由上层指令指定

❌ 禁止干预训练流程,不能暂停、启动训练任务

❌ 禁止读取模型张量、梯度等实时训练数据,仅在快照读写时接收上层传入的状态副本

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 旧版 Checkpoint 管理器监听 loss 下降情况,自主触发快照保存,下层窥探训练指标,自主决策;

2. 自动选择最优 loss 快照版本,越权决定快照保留策略。

整改:

1. 快照保存、加载、清理动作全部依靠上层指令触发,无自主触发逻辑;

2. 快照版本选择、保留策略由上层定义下发,本模块仅执行 IO 操作;

3. 快照内部数据只读,不做任何修改、筛选。

---

模块边界职责规约|L5-2:指标日志统计器

权限范式:单线流转,主下发指令,次反馈状态;上层不可修改下层内部状态;下层禁止主动拉取上层私有数据。

定位:L5 持久化与观测层末端模块;接收、汇总、落地训练指标与日志;只做收集、聚合、持久化,禁止判断收敛,无权干预训练流程,不可篡改原始指标。

1. 模块唯一核心职责

接收上层各模块推送的原始指标、事件日志;按 step/epoch 维度聚合;写入日志存储;对外提供指标事件推送;向上反馈日志写入状态。

2. 模块私有状态(外部全部禁止读、禁止改)

日志缓冲区、指标时序存储表

日志输出配置副本:输出路径、采样频率(上层下发固化)

日志状态枚举:待机 / 日志写入中 / 写入异常

规则:私有状态只能由本模块修改;外部只能接收本模块主动推送的状态事件,无权直接读取。

3. 对外可公开状态(仅事件推送,禁止外部拉取)

日志采集启动事件

指标批次落地完成事件

日志写入异常事件

4. 允许接收的输入事件 / 指令清单

上层(全链路所有模块推送原始指标事件)

loss、学习率、显存占用、模块运行时长、报错日志等原始指标事件

上层(来自 L2-1 训练循环控制器)

启动日志采集指令

停止日志采集指令

下发日志采样、存储配置指令

下层(日志存储系统)

日志持久化写入完成反馈

5. 允许对外发出的输出事件 / 消息清单

向上推送(发给 L1 任务编排器)

指标批次落地完成事件

日志存储写入失败告警事件

向下推送(底层存储)

写入指标日志指令

6. 【红线边界】本模块绝对禁止做的事情(越界黑名单)

❌ 禁止主动拉取各模块状态、主动采集指标,只能等待各模块主动上报事件

❌ 禁止对指标做二次篡改、平滑、修正,原始上报数据原样保存

❌ 禁止判断 loss 收敛、提前终止训练,无权做出任何训练相关决策

❌ 禁止调整训练超参、触发快照保存等动作

❌ 禁止参与任何张量、权重、梯度计算

当前模块旧架构权限问题 & 整改方案

旧问题:

1. 旧日志模块主动轮询各模块读取指标,属于下层主动窥探上层;

2. 根据 loss 趋势判定收敛,主动上报建议停止训练,越权参与决策。

整改:

1. 取消所有主动轮询采集,全部改为各模块事件推送上报;

2. 只存储、聚合原始指标,不做收敛判断;收敛判断属于 L1 任务编排器的决策范畴。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档