File size: 5,064 Bytes
a741a7c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | # 当前进展 - 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
```
|