项目

一般

简介

行为

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 修订