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
```