8. 训练流程(标准协议)

1.4k 字 · 源文件 PROJECT.md 第 1568 行起 · goal discipline arch optim memory

#8.1 铁律:先过"可学性阶梯",再谈比较

级别内容若失败说明状态
L0平凡任务(读一个通道)训练代码有 bug✅ 100%
L1纯比较任务(one-hot 比较)编码或读出层有问题✅ 100%
L2本任务·延迟=0ms任务逻辑有问题待测
L3本任务·短延迟记忆能力不足待测
L4本任务·完整延迟集需要课程或更长训练待测

L0/L1 已通过,所以任何失败都定位在 L2 以上。

#8.2 批构造:按延迟分桶

各延迟序列长度不同(100/300/600ms → 60/100/160 步),混批需要 padding。 按延迟分桶,每个 batch 内延迟统一,无 padding → 零浪费 + 可追踪每个桶的损失。

#8.3 优化器与超参

项选择依据
优化器Adam—
lr3e-3阶段 A 实测:1e-2 全失败
lr 下限≥ 5% 初始值§5 第 14 条(余弦退火锁死)
梯度裁剪clip_grad_norm_(1.0)防门控爆炸
batch≥512(GPU 上几乎免费)§6.9
backbone_units16§6.1(128 全部失败)
units16 起§6.1
读出结构必须有乘法项§6.2
线程数cfc/ssm = 1;lstm/gru = 8§6.9
权重衰减 / dropout先不加避免多变量

#8.4 评测协议

指标定义
外推准确率未见延迟上的平均 ← 主判据
内插准确率训练见过的延迟
打断后准确率按最终指令算
状态自主动力学零输入下有效秩、末段每步变化
tau 跨度多时间尺度是否自发涌现
消融·冻结 tau"液态"是否真在工作

必须 ≥3 种子并报成功率(约 12% 的种子完全失败)。

#8.5 全程日志与动态调整

训练进程每 N 步写 metrics.jsonl(每周期日志,含完整延迟扫描), 并读 control.json 实现不重启的动态调整:

可热改作用
lr_scale学习率倍数
delay_weights训练延迟分布
eval_every评估频率
stop / note优雅停止 / 记录调整原因

工具:core/logger.py、experiments/watch_run.py


← 返回《PROJECT.md》目录