errm / docs /CURRENT_PROGRESS.md
yuffish's picture
Add files using upload-large-folder tool
a741a7c verified

当前进展 - Current Progress

最后更新:2025-01-20


已完成模块

1. 数据处理流水线 ✅

模块 状态 说明
DROID 数据加载 ✅ 完成 支持从 TFDS 格式读取
视频帧提取 ✅ 完成 支持 mirror/flat_hash 模式
Metadata 解析 ✅ 完成 自动提取任务描述
批量处理 ✅ 完成 支持 START_INDEX + MAX_VIDEOS 范围控制

2. GPT 标注系统 ✅

功能 状态 说明
基础标注 ✅ 完成 api_batch.py
改进版标注 ✅ 完成 api_batch_improved.py - 滑动窗口 + 上下文传递
HuggingFace 集成 ✅ 完成 api_batch_hf_dataset.py
奖励对齐 ✅ 完成 与仿真数据 5 分量对齐

3. 本地模型推理 ✅

模块 状态 说明
Qwen VL 推理 ✅ 完成 caption/infer_caption.py
批量 Caption ✅ 完成 caption/infer_caption_batch.py
结果解析 ✅ 完成 JSON 自动提取

4. 数据格式转换 ✅

格式 状态 输出位置
SFT JSON ✅ 完成 data/sft_frames_dataset.json
SFT (from/value) ✅ 完成 data/sft_frames_dataset_sft.json
Special Token 版 ✅ 完成 data/sft_reward_dataset_special_tokens.json

5. 模型训练 ✅

版本 状态 检查点
v0 基础版 ✅ 完成 weights_reward_sft/v0-*/checkpoint-28
v1 改进版 ✅ 完成 weights_reward_sft/v1-*/checkpoint-7
Special Token v0 ✅ 完成 weights_reward_sft_special_token/v0-*
Special Token v1 ✅ 完成 weights_reward_sft_special_token/v1-*
Special Token v2 ✅ 完成 weights_reward_sft_special_token/v2-* (full merge)

6. 数据集管理 ✅

功能 状态 说明
统计分析 ✅ 完成 data_sta/failure_statistics.json
采样策略 ✅ 完成 balanced/random/proportional
HuggingFace 上传 ✅ 完成 data_sta/upload_to_huggingface.py

数据集统计

DROID Failure 数据

总轨迹数: 15,157
数据源分布:
  - AUTOLab: 3,618 (23.9%)
  - ILIAD:   1,303 (8.6%)
  - IPRL:    1,298 (8.6%)
  - PennPAL: 2,494 (16.5%)
  - CLVR:      433 (2.9%)
  - GuptaLab:  187 (1.2%)
  - ...

任务类型分布 (Top 10)

任务 数量
Move object into or out of container 2,699
Move object to a new position 2,494
Open or close hinged object 1,103
Hang or unhang object 891
Move lid on or off of container 637
Open or close slidable objects 543
Press button 489
Use cup to pour 437
Fold, spread out, or clump object 398
Use cloth to clean 312

仿真数据

cokecan-50/
├── fall/      (10 episodes)
├── collision/ (10 episodes)
├── grasp/     (10 episodes)
├── smooth/    (10 episodes)
└── success/   (10 episodes)

已生成标注

GPT 标注文件

文件 内容
output/labels_batch.jsonl 基础版标注
output/labels_batch_improved.jsonl 改进版标注
output/labels_hf_dataset.jsonl HuggingFace 数据集标注

Caption 结果

文件 内容
caption/output/caption_results_batch.json Qwen VL 批量结果
caption/output/caption_results_batc_100.json 100 条测试

当前问题 / 待解决

1. 标注质量

  • GPT 标注的一致性评估
  • 人工抽样检查标注质量
  • 失败案例分析(为什么某些标注不准确)

2. 数据规模

  • 完整 DROID 数据集标注(目前只处理了部分)
  • 仿真数据扩充
  • 更多失败模式覆盖

3. 模型评估

  • 奖励模型在 held-out 数据上的评估
  • 与真实奖励的相关性分析
  • 不同训练版本的对比

关键文件索引

核心脚本

api_batch_improved.py      # GPT 标注(推荐)
api_batch_hf_dataset.py    # HuggingFace 数据集处理
video_process.py           # 视频提取
extract_frames_to_images.py # 帧提取
convert_to_sft.py          # 格式转换

配置文件

data/system_prompt.txt     # 推理时的系统 prompt
data/tokens.txt            # 特殊 token 定义

输出数据

output/labels_*.jsonl      # 标注结果
data/sft_*.json           # 训练数据
droid_processed/*.json     # 处理后的 episode

模型权重

weights_reward_sft/*/checkpoint-*         # 标准版
weights_reward_sft_special_token/*/       # 特殊 token 版

运行状态

最近运行记录

日期 操作 结果
2025-11-11 Special Token v2 训练 checkpoint-70
2025-11-10 改进版 SFT 训练 checkpoint-7
2025-11-05 基础版 SFT 训练 checkpoint-28

环境要求

Python 3.8+
PyTorch 2.0+
transformers
swift (ms-swift)
decord
openai
PIL
tensorflow_datasets