行为
Sprint 5 规划会议 Agenda¶
会议主题:Sprint 5 规划会议 —— S5 标准化与 Spearman 降维防线落地
参会角色:架构师、研发工程师、QA
会议基调:锁定“空间换时间”全局原则与“内存防爆”底线,确立 S5 阶段的物理拓扑与数据契约。
范围熔断声明:本次 Sprint 严格止步于特征降维,产出最终特征子集与双形态参数,绝对不包含 LightGBM 训练逻辑。
议题 1:架构基线修正决议(DRY 原则向内存红线让步)(5 分钟)¶
-
决议宣告:基于企业级 50GB cgroup 内存硬限制,正式批准 S5 标准化 Apply 阶段豁免复用
core.standardization_math(纯 NumPy 算子)。 - 执行路径锁定:S5 必须强制采用 Polars 表达式原地 Apply 拓扑(即规约 7.4 骨架),利用 Arrow 广播机制在 3000 万行宽表上直接计算,严禁触发 3000 万行转 NumPy 导致的 8GB+ 内存膨胀。
-
文档更新待办:作为通过此项豁免的强制义务,S5 交付前必须完成对
2-dry_module_list.md中core.standardization_math模块“被依赖方”说明的修正,明确标注“S5 训练阶段因内存红线豁免复用,仅作为 S6 推理单一真实来源”。
议题 2:数据流加载边界与配置契约(5 分钟)¶
-
动态时间窗口锁定:确立从
config.yaml中动态读取s5.train_start_year与s5.train_end_year作为全量数据加载边界的强制约束,由core.config_loader.py启动时加载并强校验。 -
DRY 模块接入点:确认 Spearman 阶段必须复用
core.stream_engine(按年流式加载标准化后特征,强制 3GB 内存峰值断言)。
议题 3:S5.1 截面聚合与双形态参数物理时序隔离拓扑(15 分钟)¶
-
纯横截面聚合:对齐按
net_value_date分组计算 38 维的mean, std, median, mad的数学动作,确认 MAD 裁剪上下界的推导逻辑。 -
路径 A(训练宽表)T-1 对齐:确认在宽表实体上直接执行
.shift(1)的物理时机,保证与后续训练 Join 的绝对对齐。 -
路径 B(推理长表)日历表关联:锁定在 S5.1 阶段基于全量 S3 数据时间极值,动态生成绝对自然日频日历表,并落盘为
calendar_dim.parquet。长表必须通过关联此日历表执行 Forward Fill 至每日连续状态。 -
长表物理排序死锁:确认推理长表落盘前,必须强制注入
.sort(["feature_name", "date"]),对齐asof_join底层 C++ 的局部单调性要求。 -
生产就绪哨兵生成:确认
std==0或mad==0时,强制置is_production_ready=False的防御逻辑。
议题 4:S5.2 标准化 Apply 物理防线(10 分钟)¶
- “死刑级”封杀重申:全员对齐“严禁 3000 万行宽表 Unpivot 成 11.4 亿行”的绝对红线。
-
Polars 原地 Apply 执行:基于议题 1 的豁免决议,确认读取
standardization_params_wide.parquet与 3000 万行实体表执行等值 Join 后,原地构建 Polars 表达式的实施细节。 -
IEEE 754 除零拦截:审查标准化 Apply 表达式,确认
pl.when(std==0).then(None)拦截器的强制注入,封杀隐式除零产生Inf击穿下游。
议题 5:S5.3 训练 Join 三键死锁与毒样本截断(10 分钟)¶
-
三键强锁 Join:确认特征宽表与标签表关联时,必须且只能使用
["fund_id", "net_value_date", "segment_id"],严禁遗漏segment_id导致笛卡尔积爆炸。 -
毒样本物理截断点:确认基于
is_feature_complete == False将label强制覆写为0的动作必须发生在 Join 之后,且必须作为标准化后、Spearman 计算前的绝对前置步骤。
议题 6:S5.4 Spearman 秩相关内存防爆防线(15 分钟)¶
-
分块物理标尺具象化:确认严格按自然年分块加载标准化特征,严禁按固定行数分块,确认
core.stream_engine的接入方式。 -
环境自适应开关对齐:确认
config.yaml中spearman.load_mode配置项的读取逻辑,锁定生产环境默认强制走yearly_chunked模式。 -
防漂移与数学等价防线审查:确认
scipy.stats.rankdata必须显式传入method="average";确认“算秩后立即减均值(中心化)” -> “Pearson 展开项联合累加” -> “动态有效样本量联合累加” -> “对称化强制截断(matrix + matrix.T) / 2”的算法链路不可裁剪。 -
降维产物契约:确认基于
config.yaml中的0.90阈值剔除共线性特征后,输出final_feature_list.json的物理落盘动作。
议题 7:交付物全景清单与 CI 验收标准对齐(5 分钟)¶
- 输出 Sprint 5 必须新增的物理文件清单及其 Schema 约束(对齐
2-dry_module_list.md模型与参数层要求)。 - 确认针对双形态参数文件、日历表文件及特征列表 JSON 的单测覆盖策略(如 Pydantic 结构校验、对称性矩阵断言、排序键断言等)。
由 Huarui Lin 更新于 5 个月 之前 · 1 修订