feat(all): seed_step_stab 稳定化种子链与同族种子轮换、ladder/自适应 Teff/丰度轴延拓三级回退与梯级种子入库复用、热启动首末比豁免、workflow 完成翻转回退链阻塞修复、大气收敛权威统计与 M14 回填
收敛攻坚(81/400 失败点根因与实测,见 docs/failed81_cno_seed_popzer_dpsilg_2026_08_18.md): - runner: 新增 seed_step_stab 策略链——同物理族(同 Teff/logg/logHe)CNO 邻居种子 + DPSILG=3.0 λ 算子欠松弛 + POPZER=1E-10 微布居置零(联动 POPZR2/RADZER 同值 + NITZER=1),针对 20kK He 富大气 He I/II 电离前沿布居极限环 - runner: 三级链内延拓回退(主链与 nl_direct 全败后自动触发): · 固定 ladder 步进——plan_ladder_steps 按归一化间隔选轴,Δlogg≤0.25/ΔTeff≤2.5kK,≤4 步 · 自适应 Teff 延拓——步长 1250K 起、成功 ×1.5 恢复、失败二分至 25K 折叠墙,≤48 步 · C/N 丰度轴延拓——高温域(Teff>30kK)专用,严格同族种子沿 C(优先)/N 轴 0.2 dex 起步 延拓阶段 NITER 下限提至 300(慢收敛 waypoint 迭代饥饿误判修复) - runner: 稳定化多档回退(DPSILG/POPZER 三档互补,联合回收 41/65); 域门控 Teff≤30kK——高温高金属域实测旋钮致散(17 拍爆至 4e16),域外跳过 - 梯级种子持久化: 收敛中间模型登记 ladder_seeds 随上报落 server seeds 表 (任务失败也上传,合成名 _ladder 与真实网格点零冲突),簇内相邻失败点自动复用 调度与执行: - scheduler: 策略解析新增 seed_step_stab 臂——find_exact_family_seed_from_db 严格 同物理族判定(不做 global 退化,防 ladder 中间种子 ΔTeff≤5000K 误命中), 排除本点历史已用种子实现重试轮换;链在 stab 耗尽时轮换未试过同族邻居重派 - executor: seed_step_stab 补种子下载(漏列曾致 78 任务假失败,seed_nc 无 fort.8 崩溃); Teff>30kK 域外自动降级普通种子链 收敛判据: - conv_check: 热启动豁免——首拍 max_relc<1(种子已近解)时首末比 1e3 判据数学上 不可达,豁免后交五重物理硬门槛裁决(修复 nl_ladder 0.038→6e-4 物理全过被误杀); 冷启动仍受判据门控 workflow 生命周期: - workflows/tasks: 完成 flip 增加「未消费回退链」阻塞子句——failed 点策略链未耗尽 或链尾 seed_step_stab 尚有未试过同族种子时不得置 completed(修复最后活跃点 cold 失败上报抢先 flip、still_running 守卫拦截后续策略永不派发);按 failed_stage 归因 (synspec 失败行只看 synspec 链,防 stale 审计副本永久卡死)+ json_valid 脏行防护 统计与前端: - 统计新增权威口径 tlusty_converged(不按策略拆)与 seed_step_stab_converged 分项, 前端详情页色带/概览卡消费权威总数并新增稳定化青色段(修复 stab 收敛点漏计, 生产 9137/9216 差额);M14 迁移回填历史 completed 点的 tlusty_status 文档: - 新增 failed81 POPZER/DPSILG 制胜配方根因分析、Windows 节点经跳板 RDP 运维手册; failed400 增补 ladder 生产化实现与第二轮 121 残点实测矩阵
This commit is contained in:
@@ -82,16 +82,70 @@ salvage .7),direct-nl(= nl_direct 回退的等价路径):
|
||||
连续步进即完全收敛**。机理:单步 Δ 超出 Newton 收敛域时,把参数空间距离
|
||||
切分为多段,每段以段首收敛解热启动段尾。
|
||||
|
||||
### 5.4 生产化建议
|
||||
### 5.4 生产化:ladder 策略已实现(2026-08-17)
|
||||
|
||||
1. 部署本修复(NaN 伪收敛否决 + nl_tight 回退)重试 400 点:预期回收 261 簇
|
||||
(>65%/种子×多候选)+ 7 个能量边际点;
|
||||
2. 为剩余硬核实现 ladder 策略:失败点自动生成 2–3 个中间参数步进链
|
||||
(优先 logg 维度,其次 Teff;步长 Δlogg≤0.25 / ΔTeff≤2.5kK),
|
||||
每步独立 nl + require_converged 串联,最后一步产出目标点模型。
|
||||
实测两簇代表点总耗时 <6 分钟/点(3 步 × ~2 分钟)。
|
||||
三层回退架构(runner 内自动触发,零配置/调度器改动):
|
||||
|
||||
## 六、遗留问题
|
||||
```
|
||||
主链(nst 修复后) → nl_direct(污染种子跳过) → nl_ladder(连续步进) → nl_tight(能量边际)
|
||||
```
|
||||
|
||||
- 20k/6.5 富氦簇解分支跳变:同一点不同种子在好解/坏解(emflux 0.69)间跳变,
|
||||
ladder 步进天然规避(每步验证收敛与物理性后才前进)。
|
||||
- **规划**:`plan_ladder_steps(seed, target)`——归一化间隔更大的轴,
|
||||
步长 Δlogg≤0.25 / ΔTeff≤2.5kK,≤4 个中间步;双轴均在单步域内不触发。
|
||||
种子参数由 executor 从权威 `seed_point_name` 解析(`parse_point_name`)。
|
||||
- **执行**:每中间步 clone 终阶段 ChainStep(require_converged),前步收敛解作
|
||||
后步 fort.8;链尾 `nl_ladder` 用目标参数收尾。任一步发散即中止。
|
||||
- **持久化**:中间步「收敛 + fort.7 无 NaN」即登记 `ModelSummary.ladder_seeds` →
|
||||
node executor 读快照字节随 TaskReport 上报(**任务失败也上传**)→ server
|
||||
`POST /api/task/report` 落 `seeds_dir/<name>_ladder/` + seeds 表(ON CONFLICT
|
||||
仅刷新 file_path,`_ladder` 后缀名与真实网格点零冲突;bucket 查找按数值列
|
||||
匹配天然覆盖中间参数点)。簇内相邻失败点自动复用已收敛梯级。
|
||||
- **重复网格点**:未来工作流若含与中间种子同参数的网格点,照常计算(种子≠结果),
|
||||
seed_step 命中同参数种子后 ~1–2 迭代收敛——重验五重门槛,成本可忽略。
|
||||
- 测试:`test_plan_ladder_steps`(规划纯函数)、`unit_ladder_fallback_wiring`
|
||||
(假 tlusty 六调用接线:seed_nc/nl/nl_direct 失败→ladder_g5.75/ladder_g6/
|
||||
nl_ladder 收敛 + ladder_seeds 登记)、`test_parse_point_name`。
|
||||
物理有效性由手工 ladder 实测证明(§5.3,与生产同一 ChainStep 配置与种子)。
|
||||
workspace 全测试 10 套件通过。
|
||||
|
||||
部署:server + node 重建重部署后,对 400 失败点发起重试即可(ladder 自动生效)。
|
||||
|
||||
## 七、第二轮重跑后 121 残点分析与 ladder 实测(2026-08-18)
|
||||
|
||||
### 7.1 121 残点分类(最新 DB,每点最新任务)
|
||||
|
||||
| 类别 | 数量 | 归因 |
|
||||
|---|---:|---|
|
||||
| NaN 伪收敛(否决未生效) | **32** | **全部来自 node-fmq-ubuntu-01 旧二进制**(其他节点同期已有 nl_tight 记录证明新二进制)——重新部署该节点即解决,随重试进入 nl_direct/正常链路 |
|
||||
| 真发散(20kK/logg≥6 富氦簇) | ~62 | nl/nl_direct 均 1e16 STOP |
|
||||
| 真发散(60kK/logg5.0 最贫 CNO 簇) | ~19 | 同上,且对一切种子/轴免疫 |
|
||||
| 能量边际残留 | 2 | nl_tight 已触发(其一 tight 数值收敛但模型含 NaN 被否决) |
|
||||
|
||||
### 7.2 ladder 实测矩阵(12 点分层抽样 + 变体,test/20260817_failed400/)
|
||||
|
||||
| 变体 | 配置 | 结果 |
|
||||
|---|---|---|
|
||||
| ladder121 | 生产语义(nl 步进,Δlogg 0.25 / ΔTeff 2.5k) | **1/12** |
|
||||
| ladder121_teff | 换 Teff 轴(同 CNO ±5kK rung) | +2/7 |
|
||||
| ladder121_nc | 中间步 seed_nc 式(ilvlin=0 + ORELAX=0.3 + NITER=20) | 0/9(发散转"卡住") |
|
||||
| ladder121_nc100 | 同上 + NITER=100 + 2× 细化(0.125/1.25k) | 0/9(单步可达 1e-4@34it,但链条后段单深度 POP 振荡 ~0.2 或 NITER 耗尽;每步最长达 1h+) |
|
||||
| he_seed | 60k 簇换 he0 种子直接 nl | 1/4(t55000 完整收敛 83it/3.7e-4/emflux 1.0008) |
|
||||
| ladder20k_final | 20k 簇 nc+细化+7200s/步 | 0/3(step3 处 iter100 单深度 0.199 振荡) |
|
||||
|
||||
### 7.3 结论
|
||||
|
||||
1. **部署项收益最大**:重新部署 ubuntu-01 → 直接回收 32 点(确定性)。
|
||||
2. **ladder 对本轮残点增益有限**:全部变体合计 ~4-6/87。已实现的 ladder 保留
|
||||
(自动触发、零额外成本、对上一轮 5 个验证点有效),但不应期望它清掉这批残点。
|
||||
3. **残点本质**:20kK 富氦高重力簇在阻尼下不雪崩但呈**单深度 POP 极限环**
|
||||
(iter 100 时个别深度 |ΔPOP|≈0.2 不衰减);60kK 贫 CNO 低重力簇从任何
|
||||
CNO/He/logg/Teff 种子均在前几迭代雪崩。两者均已超出"步进/种子"工程层
|
||||
可解范围,属 TLUSTY Newton 求解器在这些极端参数组合下的固有收敛域缺失。
|
||||
4. **可行后续**(求解器层,需另行立项):针对极限环深度的逐深度阻尼/POPZER
|
||||
策略调优;或物理上接受这 ~85 点为"不可收敛角"并在工作流中显式标记。
|
||||
|
||||
### 7.4 测试工件
|
||||
|
||||
`test/20260817_failed400/`:`ladder121/`、`ladder121_teff/`、`ladder121_nc/`、
|
||||
`ladder121_nc100/`、`ladder20k_final/`、`he_seed/`、`batch_ladder.py`(支持
|
||||
`--nc-int`/`--fine=N` 变体的通用 ladder 驱动)。
|
||||
|
||||
Reference in New Issue
Block a user