日报 — 2026-03-03

今日概览

  • 做了什么: 在 DCC 和天河两台设备上分别推进空间转录组跨样本评估(RM-IDEAL benchmark)和机器人策略评估(Pi0.5 LoRA / BC-RNN baseline)两条独立工作线,并完成训练权重来源核查与续训恢复。
  • 怎么做的: DCC 侧通过深度代码阅读、bug 修复与实验验证完成 781 行 benchmark 脚本和 459 行方法文档;天河侧综合运用 Slurm 作业调度、SSH 远程直连计算节点、BatchedVLAServer 并行评估,完成 9 任务批量评估、NODE_FAIL 事故调查、训练配置核查和 9 任务续训恢复。
  • 有什么用: RM-IDEAL 首次在跨 section 场景验证(Layer_3 Spearman r≈0.44),形成可复用评估框架;Pi0.5 LoRA 以 58.9% 成功率全面优于 BC-RNN(0%),Stack 类任务近乎完美;确认训练权重来源正确并恢复续训,消除了实验可复现性风险。

DCC

  • 做了什么: 在 MIHD 项目中实现跨 Section RM-IDEAL benchmark 脚本,并撰写跨样本 Patch Query 方法文档。
  • 怎么做的: 深入阅读 rm_ideal.py、spatial_utils.py、Fusion.py 等模块,编写 benchmark_rm_ideal.py(781 行),修复 STAIG 零嵌入 bug 和 CUDA 兼容问题后成功运行,并创建空间热力图可视化;创建 docs/CROSS_SAMPLE_QUERY.md(459 行)。
  • 有什么用: Layer_3 双向评估结果(r=0.44/0.45)证明 STAIG fusion 嵌入捕获了跨 section 空间 niche 结构;方法文档为后续 pipeline 集成提供参考。

tianhe

  • 做了什么: 在天河跳板机和 an46/an49/an53 计算节点上完成 Pi0.5 LoRA 批量评估、BC-RNN baseline 成功率测试、训练权重来源核查、NODE_FAIL 事故调查和 9 任务续训恢复。
  • 怎么做的: 通过 SSH + Slurm 进行跨节点操作,使用 BatchedVLAServer 并行评估(44 分钟完成 9 任务);通过 sacct step 时间戳追溯崩溃责任;搜索 openpi config.py weight_loader 字段和训练日志核查权重来源;SSH 直连 an49 以 nohup 后台方式恢复续训。
  • 有什么用: 获得完整模型性能对比(Pi0.5 58.9% vs BC-RNN 0%),确认 Stack 类任务显著优势;排除 AI 操作导致 NODE_FAIL 的误判;确认两侧训练均基于 pi05_base,从已有 checkpoint(最高 18000 step)无损恢复续训。

在 DCC 上完成跨 Section RM-IDEAL benchmark 实现与方法文档,在天河超算集群上完成 Pi0.5 LoRA(58.9% vs BC-RNN 0%)全量评估、核查训练权重来源(确认均使用 pi05_base)并恢复 9 任务续训。

今日任务

架构与策略

  • 跨 Section RM-IDEAL benchmark 实现与验证(MIHD) — 新建 scripts/benchmark_rm_ideal.py(781 行),支持双向跨 section 评估(151673↔151676)、自动检测零嵌入并重算 STAIG fusion、RM-IDEAL 分数缓存、Spearman/Precision@K/Same-label rate 三组指标输出,最终获得 Layer_3 双向 r=0.44/0.45。
  • Pi0.5 LoRA 精调批量评估(an46,9 任务) — 在 an46 通过 Slurm job 47209 运行 9 个 MimicGen 任务批量评估(各 20 rollout),使用 BatchedVLAServer 并行执行,总耗时约 44 分钟;整体成功率 58.9%(Stack_D0 100%、Stack_D1 95%、StackThree 80-90%、Coffee_D0 45%、Threading/TPA 30-45%)。
  • Pi0.5 LoRA base model 核查与 an49 续训恢复 — 用户怀疑训练使用 pi05_libero 而非 pi05_base;AI 通过 config.py weight_loader 字段和训练日志中的 Restoring checkpoint 路径,确认 tangzijia/zhaoganlong 两侧均正确使用 pi05_base。停止误启动的 fresh-start 进程后,通过 SSH 后台启动 9 任务续训(从已有 checkpoint 最高 18000 step 恢复)。
  • BC-RNN baseline 全量评估(5 任务 ×50 rollout) — 创建 5 任务 checkpoint symlink,修复 policy_adapter.py numpy.float64 类型 bug,添加 –task 参数支持后完成全量评估;所有任务成功率均为 0%,确认 Coffee_D0 在 600 epoch 训练中 SR 始终为 0 是训练本身失败,而非评估 bug。
  • Cross-Sample Patch Query 方法文档(MIHD) — 新建 docs/CROSS_SAMPLE_QUERY.md(459 行),覆盖空间图构建、k-hop 子图提取、WWL 图核、Wasserstein 距离、跨 section 流程、嵌入相似度对比、评估指标、实验结果等章节。
  • an53 节点 NODE_FAIL 事故调查 — 通过 sacct step 时间戳确认:AI 操作在 05:07 前全部 COMPLETED,an53 在 08:30 发生 NODE_FAIL(8 GPU 满载导致系统 OOM/GPU 驱动崩溃),09:41 重启完成;AI 操作与崩溃无因果关系。

实现与修复

  • 双 GPU 评估脚本创建与启动(an53) — 基于 run_pi05_eval_v5_single_gpu.sh 改造双 GPU 版本:GPU0 运行 VLA server,GPU1 运行 MuJoCo rollout,修复 MUJOCO_EGL_DEVICE_ID remapping 和 SSH 绝对路径问题后成功在 an53 启动(PID 492473)。
  • 演示视频渲染 — 等待评估结果确认哪些任务 SR 足够高再渲染 BC-RNN 和 Pi0.5 各任务的成功/失败视频。
  • 项目文档更新(CLAUDE.md + AGENTS.md) — 更新 CLAUDE.md 补充约 35 个 Makefile targets、并行 VLA 评估架构说明和编码规范;生成 390 词 AGENTS.md 贡献者指南,涵盖项目结构、构建/测试命令、代码风格和提交约定。

问题与解决方案

关键问题

1. Pi0.5 LoRA 训练配置名含 ‘pi05_libero’,用户怀疑初始化权重来自 libero checkpoint 而非 pi05_base

解决方案: 通过三层证据确认无误:① openpi config.py weight_loader 明确指向 pi05_base/params;② 训练日志 ‘Restoring checkpoint from …/pi05_base’;③ zhaoganlong 侧配置同样加载 pi05_base

关键洞察: openpi TrainConfig 的配置名称(如 pi05_libero)描述数据加载配置,weight_loader 字段才是模型初始化来源的唯一依据,两者可以不同名

2. BC-RNN 在全部 5 个 MimicGen 任务上成功率均为 0%,且 Coffee_D0 在整个 600 epoch 训练中 SR 始终为 0

解决方案: 暂未完全解决;通过查看训练日志确认是训练本身失败而非评估 bug,后续需诊断 checkpoint 质量和数据集路径是否正确

关键洞察: 通过历史训练日志可区分’评估 bug’和’训练本就失败’,避免花时间调试其实不存在的评估问题;BC-RNN 在 error recovery 框架下彻底失败,说明传统序列建模策略泛化能力不足

3. an53 节点 08:30 发生 NODE_FAIL,用户怀疑 AI 操作(srun)导致崩溃

解决方案: 通过 sacct step 级时间戳系统性排除:AI 操作在 05:07 前全部 COMPLETED,srun 因节点忙碌始终未执行;NODE_FAIL 最可能原因是 8 GPU 满载导致系统 OOM/GPU 驱动崩溃

关键洞察: Slurm NODE_FAIL 不等于人为操作失误;sacct step 时间戳是追溯操作时间线和判断因果关系的有效工具

4. STAIG fusion 在 151676 上嵌入全为零(训练坍塌),导致跨 section 评估 Spearman r 为 NaN

解决方案: 在 load_fused_embeddings() 中添加零嵌入检测(norm < 1e-6),自动触发 –recompute_fusion 重新训练 STAIG(RTX 2080 Ti,300 epochs,约 50s)

关键洞察: STAIG 在某些 section 上存在训练坍塌风险,Phase 2 缓存的嵌入不可无条件信任,需运行时校验

5. AI 在用户未确认续训意图时预先启动了 fresh-start 训练进程(benchmark_retrain_20260303_134427)

解决方案: 用户及时叫停,AI 杀死错误进程并重新创建 resume 脚本(–no-overwrite –resume),通过 SSH 后台重新启动

关键洞察: 在执行资源密集型操作(GPU 训练)前,必须与用户确认 resume/fresh-start 意图,不能依赖前置推断自动决策

一般问题

6. P100 GPU(sm_60)与新版 PyTorch 不兼容;SSH 远程执行常见问题(相对路径、uid 映射、$变量展开、多行 Python 转义)

解决方案: 切换到 RTX 2080 Ti(sm_75)节点;SSH 命令内显式 cd 使用绝对路径;显式指定 -l 用户名;nohup 脚本使用单引号;多行 Python 改写为临时脚本文件

关键洞察: SSH 远程执行有固定的问题模式与解法规范;CUDA_VISIBLE_DEVICES remapping 会影响 MuJoCo EGL 设备编号(物理 GPU 1 在 CUDA_VISIBLE_DEVICES=1 下 EGL device id 应设为 0)

人类思路 vs AI 思路

战略层面

实验设计与关键决策(评估框架、base model 选择、resume vs fresh-start)

角色 思路
人类 人类主导所有核心实验决策:提出 RM-IDEAL + 嵌入余弦相似度的跨样本评估框架;主动发现 pi05_libero vs pi05_base 的潜在风险;选择’先用当前 checkpoint 立即评估’节省等待时间;在 AI 误启动 fresh-start 时及时叫停并要求 resume
AI AI 负责将设计落地为代码,并通过多层证据链(config.py + 训练日志 + 对比组)系统性核查实验配置的正确性

差异分析: 人类凭领域先验知识和直觉发现关键风险,AI 提供系统性验证但初次判断有时需多轮修正;人类的务实性决策(立即评估、不覆盖 checkpoint)为实验节省了大量算力与等待时间

问题诊断(STAIG 零嵌入、NODE_FAIL 责任判断、BC-RNN 训练失败识别)

角色 思路
人类 人类依赖时间相关性和直觉做初步判断(如怀疑 srun 导致 NODE_FAIL),有时误判
AI AI 通过主动调试(检查 embedding norm)、sacct 结构化证据链分析、查阅历史训练日志(确认 coffee SR 始终 0),提供了比直觉更可靠的根因判断

差异分析: AI 在诊断已发生问题方面具有优势(系统性查证、历史日志分析),但对潜在实验设计风险的主动审查不如领域专家

集群操作方式选择(sbatch vs SSH 直连)

角色 思路
人类 用户明确要求不用 sbatch,改用 SSH 直连 an49 后台执行,基于对集群实际架构(路径完全一致、可直连计算节点)的准确理解
AI AI 默认倾向于 sbatch 作为 HPC 标准调度方式,创建了 .sbatch 脚本后被打断;改用 SSH 后能有效执行

差异分析: 典型的’通用 HPC 知识 vs 具体集群环境知识’差异;用户的具体知识更适用于该集群,AI 的通用最佳实践在此场景下反而低效

AI 局限性

重要局限

  • 缺乏对实验设计合理性的主动审查:未主动检查 Pi0.5 LoRA 精调的 base model 配置是否符合预期,需要用户提出后才发现 libero vs base 的潜在问题
  • 在资源密集型操作(GPU 训练)前缺乏必要的事前确认:在用户未明确说明 resume/fresh-start 之前预先启动了 fresh-start 训练脚本;多次尝试 ExitPlanMode 也显示对何时需用户确认的判断不够准确
  • 分析过程中存在中间误判,需多轮验证才得出正确结论:核查 base model 时经历了多轮冗余验证;可视化脚本调试经历 5 次失败;auth token 过期导致多个子 agent 失败

一般局限

  • SSH 远程执行的技术局限:多行 Python heredoc 转义、nohup 变量展开失败($ts 未展开)、进程管理(pkill 不可靠需指定 PID)等问题反复出现;CUDA 兼容性(sm_60 vs sm_70+)未能提前警告

今日收获

核心收获

  • Pi0.5 LoRA 精调在 Stack 类任务上可达 95-100% 成功率,整体 58.9%;BC-RNN 全量失败(0%);这一对比揭示了 VLA 模型相对于传统序列建模策略在机器人操作任务上的显著优势,任务复杂度(多步骤、精细操作)是成功率的主要决定因素
  • openpi TrainConfig 中配置名称(如 ‘pi05_libero’)描述数据加载配置,weight_loader 字段才是模型参数初始化来源的唯一依据,两者可以不同名,不能仅凭配置名判断初始化权重
  • STAIG fusion 训练存在坍塌风险(embeddings all-zero),跨样本评估中必须对嵌入 norm 做运行时校验,不能依赖 Phase 2 缓存;RM-IDEAL 与 STAIG 嵌入在 Layer_3 上 Spearman r≈0.44,两者捕获的空间信息有中等重叠但不等价(RM-IDEAL 更精确,嵌入相似度更弥散)
  • GPU 训练等资源密集型操作必须在启动前与研究人员确认 resume/fresh-start 意图,尤其是在前置判断被推翻后,操作意图可能随之改变
  • BatchedVLAServer 并行评估(4 workers × 5 trials)仅需 44 分钟完成 9 任务,相比串行评估大幅提速,对实验迭代速度有实质性提升

实践收获

  • 部分 HPC 集群中 SSH 可直连计算节点且路径与登录节点完全一致,SSH + nohup 是比 sbatch 更轻量灵活的启动方式;Slurm sacct step 级时间戳可精确追溯操作时间线,是判断操作因果关系的有效工具;集群 pam_slurm_adopt 机制会拒绝没有 active job 的 SSH 连接

会话摘要

MIHD

✅ 跨 Section RM-IDEAL benchmark 实现与方法文档撰写 19:08:35.365 | claude_code 规划并实现了 benchmark_rm_ideal.py(781 行):通过并行 agent 探索代码库形成方案,修复 STAIG 151676 零嵌入 bug(自动重算)和 P100 CUDA 兼容问题(用户换 RTX 2080 Ti),最终获得 Layer_3 双向评估结果(r=0.44/0.45)并生成空间热力图可视化;随后创建 docs/CROSS_SAMPLE_QUERY.md(459 行),完整描述 WWL 图核 + Wasserstein 距离的跨样本评估方法链及实验结果。

ErrorRecoveryBenchmark

✅ Pi0.5 批量评估、BC-RNN baseline、训练权重核查与续训恢复 00:01:02.845 | claude_code 在 an46(job 47209)完成 9 任务 Pi0.5 LoRA 批量评估(整体 58.9%,Stack 类最佳);BC-RNN 全量 5 任务均为 0%,确认 Coffee_D0 训练全程 SR=0 为训练失败。用户发现配置名含 ‘pi05_libero’ 怀疑 base model 错误,AI 通过 config.py weight_loader 字段和训练日志确认两侧(tangzijia/zhaoganlong)均正确使用 pi05_base,停止误启动的 fresh-start 进程后通过 SSH 在 an49 后台恢复 9 任务续训(最高 18000 step)。期间完成 an53 NODE_FAIL 事故调查(通过 sacct 确认与 AI 操作无关)、双 GPU 评估脚本创建与启动(an53,PID 492473)、CLAUDE.md 和 AGENTS.md 文档更新,以及 yhbatch 命令研究(确认为 sbatch wrapper)。

Token 用量

Claude Code

总览

指标 数值
总 Token 53,713,082
输入 Token 61,555
输出 Token 115,623
Cache 创建 2,521,983
Cache 读取 51,013,921
Cache 命中率 95.3%
总费用 (USD) $36.5587

模型明细

模型 输入 输出 Cache 创建 Cache 读取 费用 占比
claude-opus-4-6 28,207 77,648 1,707,041 43,660,481 $34.5815 94.6%
claude-haiku-4-5-20251001 33,348 37,975 814,942 7,353,440 $1.9772 5.4%

各设备用量

设备 总 Token 输入 输出 费用
DCC 14,115,560 23,166 36,251 $11.7005
tianhe 39,597,522 38,389 79,372 $24.8582

Codex

总览

指标 数值
总 Token 12,713,756
输入 Token 12,648,899
输出 Token 64,857
推理 Token 30,268
Cache 读取 12,095,872
总费用 (USD) $3.9926

模型明细

模型 输入 输出 推理 Cache 读取 费用 占比
gpt-5.3-codex 12,648,899 64,857 30,268 12,095,872 $3.9926 100.0%