delivery-handoff-2026-06-02.md 6.71 KB

Delivery Handoff / 2026-06-02

一页接管

当前可以直接交付的不是“最终算法结论”,而是“可持续续跑的工程状态”:

  • 文档主结构已成型
  • 数据规范/输入输出/pgvector 说明已补齐
  • 切片策略与公平评测能力已落地
  • 最新大一点的 benchmark 还在跑,结果未最终封板

已完成

  • 多种音乐感知切片策略已接入训练与 query 生成。
  • 真实 FMA mini-subset smoke A/B 已多轮验证。
  • high_energyhybrid 已成为当前最强候选。
  • cap48 结果已明确存在 seed sensitivity。
  • 文档已经浓缩为可导航结构。

当前最关键交付事实(12:09 UTC checkpoint)

  • 真正还在持续执行的是 真实 FMA 全量 smoke,不是 toy benchmark。
  • 当前主训练进程:
    • PID=311629
    • ELAPSED=12:00
    • %CPU≈615
  • 当前 manifest 规模:
    • catalog_references=8000
    • train_queries=6401
    • test_queries=1593
  • 当前模型目录 /tmp/fma_real_smoke_stopcheck/fma_models_smoke/ 仍为空,但这是符合当前 train.py 实现的正常现象:best_model.pt 会在 Epoch 1 结束后首次保存。
  • 截至 2026-06-02 12:11 UTC,再次校验仍未进入 build-index / evaluate,最新 train.py ELAPSED=14:25
  • 所以这轮交付最重要的不是“最终精度”,而是把正在跑的真实大规模 smoke 状态、卡点和续跑方式明确记录下来

当前最关键交付事实(12:34 UTC checkpoint)

  • 真实 FMA 全量 smoke 已经跨过训练结束点。
  • best_model.pt 已成功落盘。
  • 当前主流程已进入 build-index,说明这轮真实 smoke 不再只是“长时间 CPU 训练进行中”,而是已经进入下游索引阶段。
  • 下一关键证据变为:索引完成后是否切入 evaluate,以及最终 metrics/report 是否生成。
  • 截至 2026-06-02 12:37 UTC,主流程仍停留在 build-index;索引目录已创建,但尚未观测到索引产物文件或 evaluate.py 进程。
  • 截至 2026-06-02 12:39 UTC,build-index 仍在持续,fma_index_smoke/ 已存在但尚未看到索引产物文件,evaluate.py 仍未出现。
  • 截至 2026-06-02 12:43 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。
  • 截至 2026-06-02 12:51 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。
  • 截至 2026-06-02 12:55 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。
  • 截至 2026-06-02 12:59 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。
  • 截至 2026-06-02 13:04 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。
  • 截至 2026-06-02 13:10 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。
  • 截至 2026-06-02 13:16 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。
  • 截至 2026-06-02 13:22 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。
  • 截至 2026-06-02 13:28 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。
  • 截至 2026-06-02 13:34 UTC,build-index 仍在持续,fma_index_smoke/ 仍只有目录本身,evaluate.py 仍未出现。

当前卡点

卡点 1:真实 FMA smoke 已进入 build-index,但还未到最终评测结果

当前最新状态:

  • best_model.pt 已成功落盘
  • train.py 已结束
  • 当前正在执行 run_demo.py build-index ...

真正待做:

  • 等待 build-index 完成
  • 捕获是否切换到 evaluate
  • 完成后回写最终 report / metrics / artifacts

卡点 2:还没有单一全局默认策略

当前最新状态:

  • cap48 三 seed 聚合:high_energy 更稳
  • cap64 单 seed:hybrid 更强
  • bucket toy smoke:两个 bucket 分别出现不同 winner
  • 因此当前不能把某一个策略写死为“全局最优”

真正待做:

  • 增加更有语义的 bucket
  • 补 cap64 multi-seed
  • 继续降低 hybrid 波动

卡点 3:工作区噪音很大

当前有大量未跟踪或变更的数据/产物文件,提交时必须精准暂存文档文件。

建议接手顺序

  1. 先从 session-handoff.mdopen-dataset-workflow.md 读取当前结论。
  2. 优先把 toy prefix bucket 升级为语义 bucket。
  3. 继续补 cap64 multi-seed。
  4. 回写结论到:
  5. 单独提交文档,再进入下一轮 benchmark。

推荐检查命令

pgrep -af 'ab_smoke_seg_cap48_top2_seed999|external_adapters.py smoke-local fma /tmp/ab_smoke_seg_cap48_top2_seed999|evaluate.py --data /tmp/ab_smoke_seg_cap48_top2_seed999|run_demo.py build-index --data /tmp/ab_smoke_seg_cap48_top2_seed999|train.py --data /tmp/ab_smoke_seg_cap48_top2_seed999'
test -f /tmp/ab_smoke_seg_cap48_top2_seed999/report.json && cat /tmp/ab_smoke_seg_cap48_top2_seed999/report.json || echo NO_REPORT

下一轮已启动

  • 新 benchmark:/tmp/ab_smoke_seg_cap64_top2
  • 当前阶段:high_energy 已完成评测,结果为 top1=0.625 / topk=1.0 / num_queries=32
  • cap64 已完成,结果:hybrid=0.875, high_energy=0.625
  • cap64 winner=hybrid
  • 下一 session 应优先进入 bucket/style-aware benchmark

当前最关键的新事实

  • bucket/style-aware benchmark 的完整汇总已经生成:/tmp/ab_smoke_bucketed_smoke/report.json
  • prefix_000_a winner=hybrid
  • prefix_000_b winner=high_energy
  • aggregate:
    • hybridmean_top1=1.0, mean_num_queries=4.0
    • high_energymean_top1=1.0, mean_num_queries=3.5
  • 这意味着 bucket baseline 已经可以作为后续“解释不同子集 winner 分化”的最小工程基础。

最新新增的实跑证据

  • 新增脚本:acr-engine/scripts/business_export_offline_smoke.py
  • 已在本地真实可读音频上跑通:
    • 业务导出样例 -> 规范化 -> 项目 manifest -> train.py --dry-run
  • 关键结果:
    • catalog_refs=2
    • train_queries=1
    • test_queries=1
    • val_queries=0
    • dry_run_passed=true

最短可跑命令

重启后如果你只想先确认链路是否还通,直接运行:

cd /workspace/acr-engine
/usr/local/miniconda3/bin/python scripts/business_export_offline_smoke.py \
  --output-root /tmp/business_export_offline_smoke

预期:

  • 业务导出离线链跑通
  • 项目 catalog/train/test/val 成功生成
  • train.py --dry-run 通过