talha15032 commited on
Commit
10ab780
·
verified ·
1 Parent(s): e21d802

Upload folder using huggingface_hub

Browse files
Files changed (34) hide show
  1. .gitattributes +2 -0
  2. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_model.safetensors +3 -0
  3. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/latest +1 -0
  4. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/pytorch_model/mp_rank_00_model_states.pt +3 -0
  5. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/random_states_0.pkl +3 -0
  6. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/random_states_1.pkl +3 -0
  7. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/zero_to_fp32.py +760 -0
  8. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/config.full.yaml +259 -0
  9. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/config.yaml +89 -0
  10. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/dataset_statistics.json +127 -0
  11. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/dataset_statistics_eval.json +127 -0
  12. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/hydra/.hydra/config.yaml +257 -0
  13. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/hydra/.hydra/hydra.yaml +377 -0
  14. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/hydra/.hydra/overrides.yaml +215 -0
  15. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/hydra/train_starvla_hydra.log +0 -0
  16. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/summary.jsonl +8 -0
  17. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/debug-internal.log +0 -0
  18. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/debug.log +25 -0
  19. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/files/output.log +0 -0
  20. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/files/requirements.txt +192 -0
  21. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/files/wandb-metadata.json +309 -0
  22. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/logs/debug-core.log +9 -0
  23. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/logs/debug-internal.log +0 -0
  24. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/logs/debug.log +20 -0
  25. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/run-t482klnb.wandb +3 -0
  26. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/config.yaml +334 -0
  27. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/output.log +0 -0
  28. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/requirements.txt +192 -0
  29. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/wandb-metadata.json +310 -0
  30. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/wandb-summary.json +1 -0
  31. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug-core.log +30 -0
  32. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug-internal.log +0 -0
  33. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug.log +25 -0
  34. deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/run-hkuurpie.wandb +3 -0
.gitattributes CHANGED
@@ -48,3 +48,5 @@ flappy_fix_latency_3_200ep_7k2steps_stitch/wandb/wandb/run-20260726_075412-klqpp
48
  flappy_fix_latency_3_200ep_7k2steps_stitch/wandb/wandb/run-20260726_161939-az1orhy4/run-az1orhy4.wandb filter=lfs diff=lfs merge=lfs -text
49
  demon_attack_fix_latency_6_200ep_7k2steps_stitch/wandb/wandb/run-20260726_075521-cywc68c6/run-cywc68c6.wandb filter=lfs diff=lfs merge=lfs -text
50
  demon_attack_fix_latency_6_200ep_7k2steps_stitch/wandb/wandb/run-20260726_162433-qeclhgyt/run-qeclhgyt.wandb filter=lfs diff=lfs merge=lfs -text
 
 
 
48
  flappy_fix_latency_3_200ep_7k2steps_stitch/wandb/wandb/run-20260726_161939-az1orhy4/run-az1orhy4.wandb filter=lfs diff=lfs merge=lfs -text
49
  demon_attack_fix_latency_6_200ep_7k2steps_stitch/wandb/wandb/run-20260726_075521-cywc68c6/run-cywc68c6.wandb filter=lfs diff=lfs merge=lfs -text
50
  demon_attack_fix_latency_6_200ep_7k2steps_stitch/wandb/wandb/run-20260726_162433-qeclhgyt/run-qeclhgyt.wandb filter=lfs diff=lfs merge=lfs -text
51
+ deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/run-t482klnb.wandb filter=lfs diff=lfs merge=lfs -text
52
+ deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/run-hkuurpie.wandb filter=lfs diff=lfs merge=lfs -text
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3ab804a90ca1f5065aae37e76482b478156a5e5f3785319c9e9bada56735321d
3
+ size 9784896838
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/latest ADDED
@@ -0,0 +1 @@
 
 
1
+ pytorch_model
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/pytorch_model/mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a92d97b4f220cdafc99774354ed9376dd41d2f8d4462ed4d7e63b82b603fd3ec
3
+ size 9007152504
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/random_states_0.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b390ddf3fbe806b45e0fc898f8e191f0159a1ec86215c9dfa474c0be64dae79b
3
+ size 14604
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/random_states_1.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:28f01d59656fdd858f84676b30750d7b3c90fbeaa8d581a5bf35f1991d9b2727
3
+ size 14604
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_4000_state/zero_to_fp32.py ADDED
@@ -0,0 +1,760 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+
3
+ # Copyright (c) Microsoft Corporation.
4
+ # SPDX-License-Identifier: Apache-2.0
5
+
6
+ # DeepSpeed Team
7
+
8
+ # This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets
9
+ # copied into the top level checkpoint dir, so the user can easily do the conversion at any point in
10
+ # the future. Once extracted, the weights don't require DeepSpeed and can be used in any
11
+ # application.
12
+ #
13
+ # example:
14
+ # python zero_to_fp32.py . output_dir/
15
+ # or
16
+ # python zero_to_fp32.py . output_dir/ --safe_serialization
17
+
18
+ import argparse
19
+ import torch
20
+ import glob
21
+ import math
22
+ import os
23
+ import re
24
+ import gc
25
+ import json
26
+ import numpy as np
27
+ from tqdm import tqdm
28
+ from collections import OrderedDict
29
+ from dataclasses import dataclass
30
+
31
+ # while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with
32
+ # DeepSpeed data structures it has to be available in the current python environment.
33
+ from deepspeed.utils import logger
34
+ from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS,
35
+ FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES,
36
+ FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS)
37
+
38
+
39
+ @dataclass
40
+ class zero_model_state:
41
+ buffers: dict()
42
+ param_shapes: dict()
43
+ shared_params: list
44
+ ds_version: int
45
+ frozen_param_shapes: dict()
46
+ frozen_param_fragments: dict()
47
+
48
+
49
+ debug = 0
50
+
51
+ # load to cpu
52
+ device = torch.device('cpu')
53
+
54
+
55
+ def atoi(text):
56
+ return int(text) if text.isdigit() else text
57
+
58
+
59
+ def natural_keys(text):
60
+ '''
61
+ alist.sort(key=natural_keys) sorts in human order
62
+ http://nedbatchelder.com/blog/200712/human_sorting.html
63
+ (See Toothy's implementation in the comments)
64
+ '''
65
+ return [atoi(c) for c in re.split(r'(\d+)', text)]
66
+
67
+
68
+ def get_model_state_file(checkpoint_dir, zero_stage):
69
+ if not os.path.isdir(checkpoint_dir):
70
+ raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist")
71
+
72
+ # there should be only one file
73
+ if zero_stage <= 2:
74
+ file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt")
75
+ elif zero_stage == 3:
76
+ file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt")
77
+
78
+ if not os.path.exists(file):
79
+ raise FileNotFoundError(f"can't find model states file at '{file}'")
80
+
81
+ return file
82
+
83
+
84
+ def get_checkpoint_files(checkpoint_dir, glob_pattern):
85
+ # XXX: need to test that this simple glob rule works for multi-node setup too
86
+ ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys)
87
+
88
+ if len(ckpt_files) == 0:
89
+ raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'")
90
+
91
+ return ckpt_files
92
+
93
+
94
+ def get_optim_files(checkpoint_dir):
95
+ return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt")
96
+
97
+
98
+ def get_model_state_files(checkpoint_dir):
99
+ return get_checkpoint_files(checkpoint_dir, "*_model_states.pt")
100
+
101
+
102
+ def parse_model_states(files):
103
+ zero_model_states = []
104
+ for file in files:
105
+ state_dict = torch.load(file, map_location=device, weights_only=False)
106
+
107
+ if BUFFER_NAMES not in state_dict:
108
+ raise ValueError(f"{file} is not a model state checkpoint")
109
+ buffer_names = state_dict[BUFFER_NAMES]
110
+ if debug:
111
+ print("Found buffers:", buffer_names)
112
+
113
+ # recover just the buffers while restoring them to fp32 if they were saved in fp16
114
+ buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names}
115
+ param_shapes = state_dict[PARAM_SHAPES]
116
+
117
+ # collect parameters that are included in param_shapes
118
+ param_names = []
119
+ for s in param_shapes:
120
+ for name in s.keys():
121
+ param_names.append(name)
122
+
123
+ # update with frozen parameters
124
+ frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None)
125
+ if frozen_param_shapes is not None:
126
+ if debug:
127
+ print(f"Found frozen_param_shapes: {frozen_param_shapes}")
128
+ param_names += list(frozen_param_shapes.keys())
129
+
130
+ # handle shared params
131
+ shared_params = [[k, v] for k, v in state_dict["shared_params"].items()]
132
+
133
+ ds_version = state_dict.get(DS_VERSION, None)
134
+
135
+ frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None)
136
+
137
+ z_model_state = zero_model_state(buffers=buffers,
138
+ param_shapes=param_shapes,
139
+ shared_params=shared_params,
140
+ ds_version=ds_version,
141
+ frozen_param_shapes=frozen_param_shapes,
142
+ frozen_param_fragments=frozen_param_fragments)
143
+ zero_model_states.append(z_model_state)
144
+
145
+ return zero_model_states
146
+
147
+
148
+ def parse_optim_states(files, ds_checkpoint_dir):
149
+ total_files = len(files)
150
+ state_dicts = []
151
+ for f in tqdm(files, desc='Loading checkpoint shards'):
152
+ state_dict = torch.load(f, map_location=device, mmap=True, weights_only=False)
153
+ # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights
154
+ # and also handle the case where it was already removed by another helper script
155
+ state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None)
156
+ state_dicts.append(state_dict)
157
+
158
+ if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]:
159
+ raise ValueError(f"{files[0]} is not a zero checkpoint")
160
+ zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE]
161
+ world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT]
162
+
163
+ # For ZeRO-2 each param group can have different partition_count as data parallelism for expert
164
+ # parameters can be different from data parallelism for non-expert parameters. So we can just
165
+ # use the max of the partition_count to get the dp world_size.
166
+
167
+ if type(world_size) is list:
168
+ world_size = max(world_size)
169
+
170
+ if world_size != total_files:
171
+ raise ValueError(
172
+ f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. "
173
+ "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes."
174
+ )
175
+
176
+ # the groups are named differently in each stage
177
+ if zero_stage <= 2:
178
+ fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS
179
+ elif zero_stage == 3:
180
+ fp32_groups_key = FP32_FLAT_GROUPS
181
+ else:
182
+ raise ValueError(f"unknown zero stage {zero_stage}")
183
+
184
+ fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))]
185
+ return zero_stage, world_size, fp32_flat_groups
186
+
187
+
188
+ def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters):
189
+ """
190
+ Returns fp32 state_dict reconstructed from ds checkpoint
191
+
192
+ Args:
193
+ - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are)
194
+
195
+ """
196
+ print(f"Processing zero checkpoint '{ds_checkpoint_dir}'")
197
+
198
+ optim_files = get_optim_files(ds_checkpoint_dir)
199
+ zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir)
200
+ print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}")
201
+
202
+ model_files = get_model_state_files(ds_checkpoint_dir)
203
+
204
+ zero_model_states = parse_model_states(model_files)
205
+ print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}')
206
+
207
+ if zero_stage <= 2:
208
+ return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
209
+ exclude_frozen_parameters)
210
+ elif zero_stage == 3:
211
+ return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
212
+ exclude_frozen_parameters)
213
+
214
+
215
+ def _zero2_merge_frozen_params(state_dict, zero_model_states):
216
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
217
+ return
218
+
219
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
220
+ frozen_param_fragments = zero_model_states[0].frozen_param_fragments
221
+
222
+ if debug:
223
+ num_elem = sum(s.numel() for s in frozen_param_shapes.values())
224
+ print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
225
+
226
+ wanted_params = len(frozen_param_shapes)
227
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
228
+ avail_numel = sum([p.numel() for p in frozen_param_fragments.values()])
229
+ print(f'Frozen params: Have {avail_numel} numels to process.')
230
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
231
+
232
+ total_params = 0
233
+ total_numel = 0
234
+ for name, shape in frozen_param_shapes.items():
235
+ total_params += 1
236
+ unpartitioned_numel = shape.numel()
237
+ total_numel += unpartitioned_numel
238
+
239
+ state_dict[name] = frozen_param_fragments[name]
240
+
241
+ if debug:
242
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
243
+
244
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
245
+
246
+
247
+ def _has_callable(obj, fn):
248
+ attr = getattr(obj, fn, None)
249
+ return callable(attr)
250
+
251
+
252
+ def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
253
+ param_shapes = zero_model_states[0].param_shapes
254
+
255
+ # Reconstruction protocol:
256
+ #
257
+ # XXX: document this
258
+
259
+ if debug:
260
+ for i in range(world_size):
261
+ for j in range(len(fp32_flat_groups[0])):
262
+ print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}")
263
+
264
+ # XXX: memory usage doubles here (zero2)
265
+ num_param_groups = len(fp32_flat_groups[0])
266
+ merged_single_partition_of_fp32_groups = []
267
+ for i in range(num_param_groups):
268
+ merged_partitions = [sd[i] for sd in fp32_flat_groups]
269
+ full_single_fp32_vector = torch.cat(merged_partitions, 0)
270
+ merged_single_partition_of_fp32_groups.append(full_single_fp32_vector)
271
+ avail_numel = sum(
272
+ [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups])
273
+
274
+ if debug:
275
+ wanted_params = sum([len(shapes) for shapes in param_shapes])
276
+ wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes])
277
+ # not asserting if there is a mismatch due to possible padding
278
+ print(f"Have {avail_numel} numels to process.")
279
+ print(f"Need {wanted_numel} numels in {wanted_params} params.")
280
+
281
+ # params
282
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
283
+ # out-of-core computing solution
284
+ total_numel = 0
285
+ total_params = 0
286
+ for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups):
287
+ offset = 0
288
+ avail_numel = full_single_fp32_vector.numel()
289
+ for name, shape in shapes.items():
290
+
291
+ unpartitioned_numel = shape.numel() if _has_callable(shape, 'numel') else math.prod(shape)
292
+ total_numel += unpartitioned_numel
293
+ total_params += 1
294
+
295
+ if debug:
296
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
297
+ state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape)
298
+ offset += unpartitioned_numel
299
+
300
+ # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and
301
+ # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex
302
+ # paddings performed in the code it's almost impossible to predict the exact numbers w/o the
303
+ # live optimizer object, so we are checking that the numbers are within the right range
304
+ align_to = 2 * world_size
305
+
306
+ def zero2_align(x):
307
+ return align_to * math.ceil(x / align_to)
308
+
309
+ if debug:
310
+ print(f"original offset={offset}, avail_numel={avail_numel}")
311
+
312
+ offset = zero2_align(offset)
313
+ avail_numel = zero2_align(avail_numel)
314
+
315
+ if debug:
316
+ print(f"aligned offset={offset}, avail_numel={avail_numel}")
317
+
318
+ # Sanity check
319
+ if offset != avail_numel:
320
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
321
+
322
+ print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements")
323
+
324
+
325
+ def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
326
+ exclude_frozen_parameters):
327
+ state_dict = OrderedDict()
328
+
329
+ # buffers
330
+ buffers = zero_model_states[0].buffers
331
+ state_dict.update(buffers)
332
+ if debug:
333
+ print(f"added {len(buffers)} buffers")
334
+
335
+ if not exclude_frozen_parameters:
336
+ _zero2_merge_frozen_params(state_dict, zero_model_states)
337
+
338
+ _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
339
+
340
+ # recover shared parameters
341
+ for pair in zero_model_states[0].shared_params:
342
+ if pair[1] in state_dict:
343
+ state_dict[pair[0]] = state_dict[pair[1]]
344
+
345
+ return state_dict
346
+
347
+
348
+ def zero3_partitioned_param_info(unpartitioned_numel, world_size):
349
+ remainder = unpartitioned_numel % world_size
350
+ padding_numel = (world_size - remainder) if remainder else 0
351
+ partitioned_numel = math.ceil(unpartitioned_numel / world_size)
352
+ return partitioned_numel, padding_numel
353
+
354
+
355
+ def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states):
356
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
357
+ return
358
+
359
+ if debug:
360
+ for i in range(world_size):
361
+ num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values())
362
+ print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
363
+
364
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
365
+ wanted_params = len(frozen_param_shapes)
366
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
367
+ avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size
368
+ print(f'Frozen params: Have {avail_numel} numels to process.')
369
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
370
+
371
+ total_params = 0
372
+ total_numel = 0
373
+ for name, shape in zero_model_states[0].frozen_param_shapes.items():
374
+ total_params += 1
375
+ unpartitioned_numel = shape.numel()
376
+ total_numel += unpartitioned_numel
377
+
378
+ param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states)
379
+ state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape)
380
+
381
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
382
+
383
+ if debug:
384
+ print(
385
+ f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
386
+ )
387
+
388
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
389
+
390
+
391
+ class GatheredTensor:
392
+ """
393
+ A pseudo tensor that collects partitioned weights.
394
+ It is more memory efficient when there are multiple groups.
395
+ """
396
+
397
+ def __init__(self, flat_groups, flat_groups_offset, offset, partitioned_numel, shape):
398
+ self.flat_groups = flat_groups
399
+ self.flat_groups_offset = flat_groups_offset
400
+ self.offset = offset
401
+ self.partitioned_numel = partitioned_numel
402
+ self.shape = shape
403
+ self.dtype = self.flat_groups[0][0].dtype
404
+
405
+ def contiguous(self):
406
+ """
407
+ Merge partitioned weights from flat_groups into a single tensor.
408
+ """
409
+ end_idx = self.offset + self.partitioned_numel
410
+ world_size = len(self.flat_groups)
411
+ pad_flat_param_chunks = []
412
+
413
+ for rank_i in range(world_size):
414
+ # for each rank, we need to collect weights from related group/groups
415
+ flat_groups_at_rank_i = self.flat_groups[rank_i]
416
+ start_group_id = None
417
+ end_group_id = None
418
+ for group_id in range(len(self.flat_groups_offset)):
419
+ if self.flat_groups_offset[group_id] <= self.offset < self.flat_groups_offset[group_id + 1]:
420
+ start_group_id = group_id
421
+ if self.flat_groups_offset[group_id] < end_idx <= self.flat_groups_offset[group_id + 1]:
422
+ end_group_id = group_id
423
+ break
424
+ # collect weights from related group/groups
425
+ for group_id in range(start_group_id, end_group_id + 1):
426
+ flat_tensor = flat_groups_at_rank_i[group_id]
427
+ start_offset = self.offset - self.flat_groups_offset[group_id]
428
+ end_offset = min(end_idx, self.flat_groups_offset[group_id + 1]) - self.flat_groups_offset[group_id]
429
+ pad_flat_param_chunks.append(flat_tensor[start_offset:end_offset])
430
+
431
+ # collect weights from all ranks
432
+ pad_flat_param = torch.cat(pad_flat_param_chunks, dim=0)
433
+ param = pad_flat_param[:self.shape.numel()].view(self.shape).contiguous()
434
+ return param
435
+
436
+
437
+ def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
438
+ param_shapes = zero_model_states[0].param_shapes
439
+ avail_numel = sum([flat_group.numel() for flat_group in fp32_flat_groups[0]]) * world_size
440
+
441
+ # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each
442
+ # param, re-consolidating each param, while dealing with padding if any
443
+
444
+ # merge list of dicts, preserving order
445
+ param_shapes = {k: v for d in param_shapes for k, v in d.items()}
446
+
447
+ if debug:
448
+ for i in range(world_size):
449
+ print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}")
450
+
451
+ wanted_params = len(param_shapes)
452
+ wanted_numel = sum(shape.numel() for shape in param_shapes.values())
453
+ # not asserting if there is a mismatch due to possible padding
454
+ avail_numel = fp32_flat_groups[0].numel() * world_size
455
+ print(f"Trainable params: Have {avail_numel} numels to process.")
456
+ print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.")
457
+
458
+ # params
459
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
460
+ # out-of-core computing solution
461
+ offset = 0
462
+ total_numel = 0
463
+ total_params = 0
464
+ flat_groups_offset = [0] + list(np.cumsum([flat_tensor.numel() for flat_tensor in fp32_flat_groups[0]]))
465
+ for name, shape in tqdm(param_shapes.items(), desc='Gathering sharded weights'):
466
+ unpartitioned_numel = shape.numel()
467
+ total_numel += unpartitioned_numel
468
+ total_params += 1
469
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
470
+
471
+ if debug:
472
+ print(
473
+ f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
474
+ )
475
+
476
+ # memory efficient tensor
477
+ tensor = GatheredTensor(fp32_flat_groups, flat_groups_offset, offset, partitioned_numel, shape)
478
+ state_dict[name] = tensor
479
+ offset += partitioned_numel
480
+
481
+ offset *= world_size
482
+
483
+ # Sanity check
484
+ if offset != avail_numel:
485
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
486
+
487
+ print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements")
488
+
489
+
490
+ def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
491
+ exclude_frozen_parameters):
492
+ state_dict = OrderedDict()
493
+
494
+ # buffers
495
+ buffers = zero_model_states[0].buffers
496
+ state_dict.update(buffers)
497
+ if debug:
498
+ print(f"added {len(buffers)} buffers")
499
+
500
+ if not exclude_frozen_parameters:
501
+ _zero3_merge_frozen_params(state_dict, world_size, zero_model_states)
502
+
503
+ _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
504
+
505
+ # recover shared parameters
506
+ for pair in zero_model_states[0].shared_params:
507
+ if pair[1] in state_dict:
508
+ state_dict[pair[0]] = state_dict[pair[1]]
509
+
510
+ return state_dict
511
+
512
+
513
+ def to_torch_tensor(state_dict, return_empty_tensor=False):
514
+ """
515
+ Convert state_dict of GatheredTensor to torch tensor
516
+ """
517
+ torch_state_dict = {}
518
+ converted_tensors = {}
519
+ for name, tensor in state_dict.items():
520
+ tensor_id = id(tensor)
521
+ if tensor_id in converted_tensors: # shared tensors
522
+ shared_tensor = torch_state_dict[converted_tensors[tensor_id]]
523
+ torch_state_dict[name] = shared_tensor
524
+ else:
525
+ converted_tensors[tensor_id] = name
526
+ if return_empty_tensor:
527
+ torch_state_dict[name] = torch.empty(tensor.shape, dtype=tensor.dtype)
528
+ else:
529
+ torch_state_dict[name] = tensor.contiguous()
530
+ return torch_state_dict
531
+
532
+
533
+ def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir,
534
+ tag=None,
535
+ exclude_frozen_parameters=False,
536
+ lazy_mode=False):
537
+ """
538
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with
539
+ ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example
540
+ via a model hub.
541
+
542
+ Args:
543
+ - ``checkpoint_dir``: path to the desired checkpoint folder
544
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in 'latest' file. e.g., ``global_step14``
545
+ - ``exclude_frozen_parameters``: exclude frozen parameters
546
+ - ``lazy_mode``: get state_dict in lazy mode. It returns a dict of pesduo tensor instead of torch tensor, which is more memory efficient.
547
+ Convert the pesduo tensor to torch tensor by ``.contiguous()``
548
+
549
+ Returns:
550
+ - pytorch ``state_dict``
551
+
552
+ A typical usage might be ::
553
+
554
+ from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint
555
+ # do the training and checkpoint saving
556
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu
557
+ model = model.cpu() # move to cpu
558
+ model.load_state_dict(state_dict)
559
+ # submit to model hub or save the model to share with others
560
+
561
+ In this example the ``model`` will no longer be usable in the deepspeed context of the same
562
+ application. i.e. you will need to re-initialize the deepspeed engine, since
563
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
564
+
565
+ If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead.
566
+
567
+ Note: the above usage may not work if your application doesn't have sufficient free CPU memory.
568
+ You may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with
569
+ the checkpoint. Or you can load state_dict in lazy mode ::
570
+
571
+ from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint
572
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, lazy_mode=True) # not on cpu
573
+ for name, lazy_tensor in state_dict.item():
574
+ tensor = lazy_tensor.contiguous() # to cpu
575
+ print(name, tensor)
576
+ # del tensor to release memory if it no longer in use
577
+ """
578
+ if tag is None:
579
+ latest_path = os.path.join(checkpoint_dir, 'latest')
580
+ if os.path.isfile(latest_path):
581
+ with open(latest_path, 'r') as fd:
582
+ tag = fd.read().strip()
583
+ else:
584
+ raise ValueError(f"Unable to find 'latest' file at {latest_path}")
585
+
586
+ ds_checkpoint_dir = os.path.join(checkpoint_dir, tag)
587
+
588
+ if not os.path.isdir(ds_checkpoint_dir):
589
+ raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist")
590
+
591
+ state_dict = _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters)
592
+ if lazy_mode:
593
+ return state_dict
594
+ else:
595
+ return to_torch_tensor(state_dict)
596
+
597
+
598
+ def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir,
599
+ output_dir,
600
+ max_shard_size="5GB",
601
+ safe_serialization=False,
602
+ tag=None,
603
+ exclude_frozen_parameters=False):
604
+ """
605
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be
606
+ loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed.
607
+
608
+ Args:
609
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
610
+ - ``output_dir``: directory to the pytorch fp32 state_dict output files
611
+ - ``max_shard_size``: the maximum size for a checkpoint before being sharded, default value is 5GB
612
+ - ``safe_serialization``: whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).
613
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
614
+ - ``exclude_frozen_parameters``: exclude frozen parameters
615
+ """
616
+
617
+ # Dependency pre-check
618
+ if safe_serialization:
619
+ try:
620
+ from safetensors.torch import save_file
621
+ except ImportError:
622
+ print('If you want to use `safe_serialization`, please `pip install safetensors`')
623
+ raise
624
+ if max_shard_size is not None:
625
+ try:
626
+ from huggingface_hub import split_torch_state_dict_into_shards
627
+ except ImportError:
628
+ print('If you want to use `max_shard_size`, please `pip install huggingface_hub`')
629
+ raise
630
+
631
+ # Convert zero checkpoint to state_dict
632
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir,
633
+ tag,
634
+ exclude_frozen_parameters,
635
+ lazy_mode=True)
636
+
637
+ # Shard the model if it is too big.
638
+ weights_name = "model.safetensors" if safe_serialization else "pytorch_model.bin"
639
+ if max_shard_size is not None:
640
+ filename_pattern = weights_name.replace(".bin", "{suffix}.bin").replace(".safetensors", "{suffix}.safetensors")
641
+ # an memory-efficient approach for sharding
642
+ empty_state_dict = to_torch_tensor(state_dict, return_empty_tensor=True)
643
+ state_dict_split = split_torch_state_dict_into_shards(empty_state_dict,
644
+ filename_pattern=filename_pattern,
645
+ max_shard_size=max_shard_size)
646
+ else:
647
+ from collections import namedtuple
648
+ StateDictSplit = namedtuple("StateDictSplit", ["is_sharded", "filename_to_tensors"])
649
+ state_dict_split = StateDictSplit(is_sharded=False,
650
+ filename_to_tensors={weights_name: list(state_dict.keys())})
651
+
652
+ # Save the model by shard
653
+ os.makedirs(output_dir, exist_ok=True)
654
+ filename_to_tensors = state_dict_split.filename_to_tensors.items()
655
+ for shard_file, tensors in tqdm(filename_to_tensors, desc="Saving checkpoint shards"):
656
+ shard_state_dict = {tensor_name: state_dict[tensor_name] for tensor_name in tensors}
657
+ shard_state_dict = to_torch_tensor(shard_state_dict)
658
+ output_path = os.path.join(output_dir, shard_file)
659
+ if safe_serialization:
660
+ save_file(shard_state_dict, output_path, metadata={"format": "pt"})
661
+ else:
662
+ torch.save(shard_state_dict, output_path)
663
+ # release the memory of current shard
664
+ for tensor_name in list(shard_state_dict.keys()):
665
+ del state_dict[tensor_name]
666
+ del shard_state_dict[tensor_name]
667
+ del shard_state_dict
668
+ gc.collect()
669
+
670
+ # Save index if sharded
671
+ if state_dict_split.is_sharded:
672
+ index = {
673
+ "metadata": state_dict_split.metadata,
674
+ "weight_map": state_dict_split.tensor_to_filename,
675
+ }
676
+ save_index_file = "model.safetensors.index.json" if safe_serialization else "pytorch_model.bin.index.json"
677
+ save_index_file = os.path.join(output_dir, save_index_file)
678
+ with open(save_index_file, "w", encoding="utf-8") as f:
679
+ content = json.dumps(index, indent=2, sort_keys=True) + "\n"
680
+ f.write(content)
681
+
682
+
683
+ def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None):
684
+ """
685
+ 1. Put the provided model to cpu
686
+ 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict``
687
+ 3. Load it into the provided model
688
+
689
+ Args:
690
+ - ``model``: the model object to update
691
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
692
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
693
+
694
+ Returns:
695
+ - ``model`: modified model
696
+
697
+ Make sure you have plenty of CPU memory available before you call this function. If you don't
698
+ have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it
699
+ conveniently placed for you in the checkpoint folder.
700
+
701
+ A typical usage might be ::
702
+
703
+ from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint
704
+ model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir)
705
+ # submit to model hub or save the model to share with others
706
+
707
+ Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context
708
+ of the same application. i.e. you will need to re-initialize the deepspeed engine, since
709
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
710
+
711
+ """
712
+ logger.info(f"Extracting fp32 weights")
713
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag)
714
+
715
+ logger.info(f"Overwriting model with fp32 weights")
716
+ model = model.cpu()
717
+ model.load_state_dict(state_dict, strict=False)
718
+
719
+ return model
720
+
721
+
722
+ if __name__ == "__main__":
723
+ parser = argparse.ArgumentParser()
724
+ parser.add_argument("checkpoint_dir",
725
+ type=str,
726
+ help="path to the desired checkpoint folder, e.g., path/checkpoint-12")
727
+ parser.add_argument("output_dir",
728
+ type=str,
729
+ help="directory to the pytorch fp32 state_dict output files"
730
+ "(e.g. path/checkpoint-12-output/)")
731
+ parser.add_argument(
732
+ "--max_shard_size",
733
+ type=str,
734
+ default="5GB",
735
+ help="The maximum size for a checkpoint before being sharded. Checkpoints shard will then be each of size"
736
+ "lower than this size. If expressed as a string, needs to be digits followed by a unit (like `5MB`"
737
+ "We default it to 5GB in order for models to be able to run easily on free-tier google colab instances"
738
+ "without CPU OOM issues.")
739
+ parser.add_argument(
740
+ "--safe_serialization",
741
+ default=False,
742
+ action='store_true',
743
+ help="Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).")
744
+ parser.add_argument("-t",
745
+ "--tag",
746
+ type=str,
747
+ default=None,
748
+ help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1")
749
+ parser.add_argument("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters")
750
+ parser.add_argument("-d", "--debug", action='store_true', help="enable debug")
751
+ args = parser.parse_args()
752
+
753
+ debug = args.debug
754
+
755
+ convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir,
756
+ args.output_dir,
757
+ max_shard_size=args.max_shard_size,
758
+ safe_serialization=args.safe_serialization,
759
+ tag=args.tag,
760
+ exclude_frozen_parameters=args.exclude_frozen_parameters)
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/config.full.yaml ADDED
@@ -0,0 +1,259 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ framework:
2
+ name: QwenOFT
3
+ qwenvl:
4
+ base_vlm: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3-VL-4B-Instruct
5
+ attn_implementation: flash_attention_2
6
+ flex_backend: triton
7
+ enable_gradient_checkpointing: true
8
+ action_model:
9
+ action_model_type: MLP
10
+ action_dim: 7
11
+ action_hidden_dim: 2560
12
+ future_action_window_size: 0
13
+ past_action_window_size: 0
14
+ loss_type: discrete_ce
15
+ state_dim: 7
16
+ action_horizon: 1
17
+ action_env_dim: 7
18
+ kv_memory:
19
+ enabled: false
20
+ window: 4
21
+ rollout_len: 8
22
+ packed_train: false
23
+ rebased_sink: true
24
+ datasets:
25
+ vla_data:
26
+ dataset_py: lerobot_datasets
27
+ include_state: true
28
+ data_root_dir: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
29
+ data_mix: deadly_corridor_train__bridge
30
+ eval_data_mix: deadly_corridor_train__bridge__val
31
+ custom_mixtures_path: null
32
+ action_type: discrete
33
+ sequential_step_sampling: false
34
+ eval_sequential_step_sampling: null
35
+ num_workers: 8
36
+ eval_num_workers: 8
37
+ prefetch_factor: 4
38
+ persistent_workers: true
39
+ pin_memory: true
40
+ shuffle: true
41
+ action_balance:
42
+ enabled: false
43
+ strategy: balanced_epoch
44
+ action_key: action_id
45
+ target_flap_fraction: 0.3
46
+ noop_id: 0
47
+ flap_id: 1
48
+ latency_curriculum:
49
+ enabled: false
50
+ strategy: exclusive
51
+ latencies: null
52
+ phase_steps: null
53
+ phase_distributions: null
54
+ new_latency_passes: 1.0
55
+ replay_passes: 0.25
56
+ target_total_passes: 2.0
57
+ final_equalization: true
58
+ step_budget_mode: auto
59
+ eval_at_phase_end: false
60
+ save_at_phase_end: false
61
+ computed_plan: null
62
+ per_device_batch_size: 8
63
+ load_all_data_for_training: true
64
+ num_obs_frames: 4
65
+ image_mode: stitch
66
+ prompt_mode: raw
67
+ stitch_grid:
68
+ - 2
69
+ - 2
70
+ obs_image_size: null
71
+ video_backend: torchvision_av
72
+ dataset:
73
+ source_hf: ''
74
+ config_name: null
75
+ source_subdir: null
76
+ converted_name: deadly_corridor_train
77
+ single_source_hf: ''
78
+ mixed_source_hf: ''
79
+ single_converted_name: deadly_corridor_train
80
+ mixed_converted_name: deadly_corridor_mixed_latency_train
81
+ single_latency_filter: null
82
+ mixed_latency_filter: null
83
+ force_download: false
84
+ setup_force: false
85
+ skip_verification: false
86
+ target_latency_unit: raw_frames
87
+ verify_rows: 200
88
+ max_episodes: null
89
+ episodes_per_latency: null
90
+ latency_filter: null
91
+ debug_subset:
92
+ enabled: false
93
+ max_episodes: 5
94
+ suffix: debug
95
+ base_model:
96
+ repo_id: Qwen/Qwen3-VL-4B-Instruct
97
+ initialization:
98
+ checkpoint_local_dir: playground/Pretrained_models/Qwen3VL-OFT-Bridge-RT-1
99
+ checkpoint_hf_repo_id: StarVLA/Qwen3VL-OFT-Bridge-RT-1
100
+ checkpoint_filename: checkpoints/steps_5000_pytorch_model.pt
101
+ trainer:
102
+ max_train_steps: 4000
103
+ num_warmup_steps: 100
104
+ save_interval: 500
105
+ eval_interval: 250
106
+ eval_num_batches: 50
107
+ per_latency_eval_num_batches: null
108
+ eval_action_classification: false
109
+ eval_action_classification_interval: null
110
+ cc_f1_tolerance: 1
111
+ learning_rate:
112
+ base: 2.0e-05
113
+ qwen_vl_interface: 1.0e-05
114
+ action_model: 0.0001
115
+ lr_scheduler_type: cosine_with_min_lr
116
+ scheduler_specific_kwargs:
117
+ min_lr: 1.0e-06
118
+ freeze_modules: ''
119
+ freeze_vit: false
120
+ freeze_tied_embedding: false
121
+ freeze_llm_layers: []
122
+ loss_scale:
123
+ vla: 1.0
124
+ vlm: 0.1
125
+ max_grad_norm: 1.0
126
+ weight_decay: 0.0
127
+ logging_frequency: 1
128
+ profile_timing:
129
+ enabled: false
130
+ log_interval: 10
131
+ gradient_clipping: 1.0
132
+ gradient_accumulation_steps: 16
133
+ distributed_backend: deepspeed
134
+ is_resume: true
135
+ pretrained_checkpoint: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_2000_state
136
+ resume_step: 2000
137
+ reload_modules: null
138
+ optimizer:
139
+ name: AdamW
140
+ betas:
141
+ - 0.9
142
+ - 0.95
143
+ eps: 1.0e-08
144
+ weight_decay: 1.0e-08
145
+ fused: true
146
+ save_format: pt
147
+ workspace_dir: WORKSPACE_DIR
148
+ run_root_dir: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints
149
+ seed: 42
150
+ wandb_entity: zihanwang-ai-northwestern-university
151
+ wandb_project: starVLA_rl_games
152
+ auth:
153
+ env_file: null
154
+ hf_token_env: HF_TOKEN
155
+ wandb_api_key_env: WANDB_API_KEY
156
+ paths:
157
+ run_root_dir: results/Checkpoints
158
+ dataset_local_dir: data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
159
+ dataset_cache_dir: null
160
+ base_model_dir: playground/Pretrained_models/Qwen3-VL-4B-Instruct
161
+ accelerate_config: starVLA/config/deepseeds/deepspeed_zero2.yaml
162
+ launch:
163
+ use_accelerate: true
164
+ gpus: null
165
+ num_processes: 1
166
+ dry_run: false
167
+ conda:
168
+ enabled: true
169
+ env_name: null
170
+ rl_games:
171
+ model_alias: openvla
172
+ env_eval:
173
+ image_size: 224
174
+ frameskip: 4
175
+ image_transform: raw_rgb
176
+ prompt_mode: raw
177
+ ghost_trail:
178
+ history_frames: 5
179
+ gamma: 1.3
180
+ min_alpha: 35
181
+ scroll_px_per_step: 4.0
182
+ ground_fraction: 0.22
183
+ seed: 42
184
+ fixed_episode_seeds: true
185
+ latency_seed_stride: 0
186
+ task_seed_stride: 0
187
+ task_description: You are playing Deadly Corridor in VizDoom. Choose actions from
188
+ MOVE_FORWARD, MOVE_BACKWARD, MOVE_LEFT, MOVE_RIGHT, TURN_LEFT, TURN_RIGHT, ATTACK.
189
+ eval_parallel_envs: 5
190
+ action_chunk_execution:
191
+ enabled: false
192
+ chunk_size: null
193
+ deadly:
194
+ action_layout: multibinary_7
195
+ multibinary_threshold: null
196
+ enabled: true
197
+ eval_backend: latency_bench
198
+ distributed_mode: rank_sharded
199
+ vectorized:
200
+ enabled: false
201
+ batch_size: 1
202
+ latency:
203
+ prompt_map_path: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps/deadly_corridor_train__bridge/latency_prompt_map.json
204
+ mode: single
205
+ values:
206
+ - 0
207
+ mid_train:
208
+ enabled: false
209
+ interval_steps: 250
210
+ latencies:
211
+ - 2
212
+ num_episodes: 20
213
+ max_steps_per_episode: 3600
214
+ post_train:
215
+ enabled: false
216
+ latencies:
217
+ - 2
218
+ num_episodes: 50
219
+ max_steps_per_episode: 3600
220
+ task: deadly_corridor
221
+ deadly_corridor_loss_type: null
222
+ initialization_mode: bridge
223
+ action_carrier: bridge
224
+ model: openvla
225
+ env: deadly_corridor
226
+ init: bridge
227
+ bridge_base_model:
228
+ repo_id:
229
+ openvla: Qwen/Qwen3-VL-4B-Instruct
230
+ pi0: StarVLA/Qwen2.5-VL-3B-Instruct-Action
231
+ pi05: Qwen/Qwen3-VL-4B-Instruct
232
+ gr00t: Qwen/Qwen3-VL-4B-Instruct
233
+ local_dir:
234
+ openvla: playground/Pretrained_models/Qwen3-VL-4B-Instruct
235
+ pi0: playground/Pretrained_models/Qwen2.5-VL-3B-Instruct-Action
236
+ pi05: playground/Pretrained_models/Qwen3-VL-4B-Instruct
237
+ gr00t: playground/Pretrained_models/Qwen3-VL-4B-Instruct
238
+ mode: single
239
+ checkpoint:
240
+ load: auto
241
+ hf_repo_id: null
242
+ save_best_model: false
243
+ save_final_model: true
244
+ save_pt_file: false
245
+ save_training_state: true
246
+ save_safetensors_file: true
247
+ local:
248
+ keep_last_n: 1
249
+ sync:
250
+ enabled: false
251
+ repo_id: null
252
+ keep_last_n: 0
253
+ sync_every_n_checkpoints: 1
254
+ resume_policy: local_latest
255
+ run_id: deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch
256
+ output_dir: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch
257
+ config_yaml: null
258
+ is_debug: false
259
+ version_id: '0.21'
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/config.yaml ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ checkpoint:
2
+ local:
3
+ keep_last_n: 1
4
+ save_best_model: false
5
+ save_final_model: true
6
+ save_pt_file: false
7
+ save_safetensors_file: true
8
+ save_training_state: true
9
+ sync:
10
+ enabled: false
11
+ keep_last_n: 0
12
+ repo_id: null
13
+ datasets:
14
+ vla_data:
15
+ data_mix: deadly_corridor_train__bridge
16
+ dataset_py: lerobot_datasets
17
+ eval_data_mix: deadly_corridor_train__bridge__val
18
+ latency_curriculum:
19
+ enabled: false
20
+ per_device_batch_size: 8
21
+ framework:
22
+ action_model:
23
+ action_dim: 7
24
+ action_env_dim: 7
25
+ action_hidden_dim: 2560
26
+ action_horizon: 1
27
+ action_model_type: MLP
28
+ loss_type: discrete_ce
29
+ kv_memory:
30
+ enabled: false
31
+ packed_train: false
32
+ rebased_sink: true
33
+ rollout_len: 8
34
+ window: 4
35
+ name: QwenOFT
36
+ qwenvl:
37
+ attn_implementation: flash_attention_2
38
+ base_vlm: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3-VL-4B-Instruct
39
+ enable_gradient_checkpointing: true
40
+ output_dir: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch
41
+ rl_games:
42
+ env_eval:
43
+ enabled: true
44
+ eval_backend: latency_bench
45
+ mid_train:
46
+ enabled: false
47
+ interval_steps: 250
48
+ prompt_mode: raw
49
+ task: deadly_corridor
50
+ run_id: deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch
51
+ run_root_dir: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints
52
+ seed: 42
53
+ trainer:
54
+ distributed_backend: deepspeed
55
+ eval_action_classification: false
56
+ eval_action_classification_interval: null
57
+ eval_interval: 250
58
+ eval_num_batches: 50
59
+ freeze_llm_layers: []
60
+ freeze_modules: ''
61
+ freeze_tied_embedding: false
62
+ freeze_vit: false
63
+ gradient_accumulation_steps: 16
64
+ is_resume: true
65
+ learning_rate:
66
+ action_model: 0.0001
67
+ base: 2.0e-05
68
+ qwen_vl_interface: 1.0e-05
69
+ logging_frequency: 1
70
+ lr_scheduler_type: cosine_with_min_lr
71
+ max_train_steps: 4000
72
+ num_warmup_steps: 100
73
+ optimizer:
74
+ betas:
75
+ - 0.9
76
+ - 0.95
77
+ eps: 1.0e-08
78
+ fused: true
79
+ weight_decay: 1.0e-08
80
+ per_latency_eval_num_batches: null
81
+ pretrained_checkpoint: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_2000_state
82
+ profile_timing:
83
+ enabled: false
84
+ resume_step: 2000
85
+ save_interval: 500
86
+ scheduler_specific_kwargs:
87
+ min_lr: 1.0e-06
88
+ wandb_entity: zihanwang-ai-northwestern-university
89
+ wandb_project: starVLA_rl_games
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/dataset_statistics.json ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "new_embodiment": {
3
+ "action": {
4
+ "mean": [
5
+ 0.9434846043586731,
6
+ 0.023302890360355377,
7
+ 0.21685810387134552,
8
+ 0.5315648317337036,
9
+ 0.18562282621860504,
10
+ 0.09055173397064209,
11
+ 0.8273231983184814
12
+ ],
13
+ "std": [
14
+ 0.2308816909790039,
15
+ 0.15088047087192535,
16
+ 0.4120523929595947,
17
+ 0.4989914894104004,
18
+ 0.388867050409317,
19
+ 0.287028968334198,
20
+ 0.37795618176460266
21
+ ],
22
+ "max": [
23
+ 1.0,
24
+ 1.0,
25
+ 1.0,
26
+ 1.0,
27
+ 1.0,
28
+ 1.0,
29
+ 1.0
30
+ ],
31
+ "min": [
32
+ 0.0,
33
+ 0.0,
34
+ 0.0,
35
+ 0.0,
36
+ 0.0,
37
+ 0.0,
38
+ 0.0
39
+ ],
40
+ "q01": [
41
+ 0.0,
42
+ 0.0,
43
+ 0.0,
44
+ 0.0,
45
+ 0.0,
46
+ 0.0,
47
+ 0.0
48
+ ],
49
+ "q99": [
50
+ 1.0,
51
+ 1.0,
52
+ 1.0,
53
+ 1.0,
54
+ 1.0,
55
+ 1.0,
56
+ 1.0
57
+ ],
58
+ "mask": [
59
+ true,
60
+ true,
61
+ true,
62
+ true,
63
+ true,
64
+ true,
65
+ true
66
+ ]
67
+ },
68
+ "state": {
69
+ "mean": [
70
+ 0.0,
71
+ 0.0,
72
+ 0.0,
73
+ 0.0,
74
+ 0.0,
75
+ 0.0,
76
+ 0.0
77
+ ],
78
+ "std": [
79
+ 0.0,
80
+ 0.0,
81
+ 0.0,
82
+ 0.0,
83
+ 0.0,
84
+ 0.0,
85
+ 0.0
86
+ ],
87
+ "max": [
88
+ 0.0,
89
+ 0.0,
90
+ 0.0,
91
+ 0.0,
92
+ 0.0,
93
+ 0.0,
94
+ 0.0
95
+ ],
96
+ "min": [
97
+ 0.0,
98
+ 0.0,
99
+ 0.0,
100
+ 0.0,
101
+ 0.0,
102
+ 0.0,
103
+ 0.0
104
+ ],
105
+ "q01": [
106
+ 0.0,
107
+ 0.0,
108
+ 0.0,
109
+ 0.0,
110
+ 0.0,
111
+ 0.0,
112
+ 0.0
113
+ ],
114
+ "q99": [
115
+ 0.0,
116
+ 0.0,
117
+ 0.0,
118
+ 0.0,
119
+ 0.0,
120
+ 0.0,
121
+ 0.0
122
+ ]
123
+ },
124
+ "num_transitions": 42484,
125
+ "num_trajectories": 990
126
+ }
127
+ }
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/dataset_statistics_eval.json ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "new_embodiment": {
3
+ "action": {
4
+ "mean": [
5
+ 0.91576087474823,
6
+ 0.027173912152647972,
7
+ 0.19565217196941376,
8
+ 0.551630437374115,
9
+ 0.1820652186870575,
10
+ 0.09239130467176437,
11
+ 0.8614130616188049
12
+ ],
13
+ "std": [
14
+ 0.2777453362941742,
15
+ 0.16258999705314636,
16
+ 0.39670249819755554,
17
+ 0.49732694029808044,
18
+ 0.3858977258205414,
19
+ 0.28957706689834595,
20
+ 0.3455154597759247
21
+ ],
22
+ "max": [
23
+ 1.0,
24
+ 1.0,
25
+ 1.0,
26
+ 1.0,
27
+ 1.0,
28
+ 1.0,
29
+ 1.0
30
+ ],
31
+ "min": [
32
+ 0.0,
33
+ 0.0,
34
+ 0.0,
35
+ 0.0,
36
+ 0.0,
37
+ 0.0,
38
+ 0.0
39
+ ],
40
+ "q01": [
41
+ 0.0,
42
+ 0.0,
43
+ 0.0,
44
+ 0.0,
45
+ 0.0,
46
+ 0.0,
47
+ 0.0
48
+ ],
49
+ "q99": [
50
+ 1.0,
51
+ 1.0,
52
+ 1.0,
53
+ 1.0,
54
+ 1.0,
55
+ 1.0,
56
+ 1.0
57
+ ],
58
+ "mask": [
59
+ true,
60
+ true,
61
+ true,
62
+ true,
63
+ true,
64
+ true,
65
+ true
66
+ ]
67
+ },
68
+ "state": {
69
+ "mean": [
70
+ 0.0,
71
+ 0.0,
72
+ 0.0,
73
+ 0.0,
74
+ 0.0,
75
+ 0.0,
76
+ 0.0
77
+ ],
78
+ "std": [
79
+ 0.0,
80
+ 0.0,
81
+ 0.0,
82
+ 0.0,
83
+ 0.0,
84
+ 0.0,
85
+ 0.0
86
+ ],
87
+ "max": [
88
+ 0.0,
89
+ 0.0,
90
+ 0.0,
91
+ 0.0,
92
+ 0.0,
93
+ 0.0,
94
+ 0.0
95
+ ],
96
+ "min": [
97
+ 0.0,
98
+ 0.0,
99
+ 0.0,
100
+ 0.0,
101
+ 0.0,
102
+ 0.0,
103
+ 0.0
104
+ ],
105
+ "q01": [
106
+ 0.0,
107
+ 0.0,
108
+ 0.0,
109
+ 0.0,
110
+ 0.0,
111
+ 0.0,
112
+ 0.0
113
+ ],
114
+ "q99": [
115
+ 0.0,
116
+ 0.0,
117
+ 0.0,
118
+ 0.0,
119
+ 0.0,
120
+ 0.0,
121
+ 0.0
122
+ ]
123
+ },
124
+ "num_transitions": 368,
125
+ "num_trajectories": 10
126
+ }
127
+ }
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/hydra/.hydra/config.yaml ADDED
@@ -0,0 +1,257 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ framework:
2
+ qwenvl:
3
+ base_vlm: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3-VL-4B-Instruct
4
+ attn_implementation: flash_attention_2
5
+ flex_backend: triton
6
+ enable_gradient_checkpointing: true
7
+ action_model:
8
+ state_dim: 7
9
+ loss_type: discrete_ce
10
+ action_horizon: 1
11
+ future_action_window_size: 0
12
+ past_action_window_size: 0
13
+ action_dim: 7
14
+ action_env_dim: 7
15
+ kv_memory:
16
+ enabled: false
17
+ window: 4
18
+ rollout_len: 8
19
+ packed_train: false
20
+ rebased_sink: true
21
+ name: QwenOFT
22
+ datasets:
23
+ vla_data:
24
+ dataset_py: lerobot_datasets
25
+ include_state: true
26
+ data_root_dir: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
27
+ data_mix: deadly_corridor_train__bridge
28
+ eval_data_mix: deadly_corridor_train__bridge__val
29
+ custom_mixtures_path: null
30
+ action_type: discrete
31
+ sequential_step_sampling: false
32
+ eval_sequential_step_sampling: null
33
+ num_workers: 8
34
+ eval_num_workers: 8
35
+ prefetch_factor: 4
36
+ persistent_workers: true
37
+ pin_memory: true
38
+ shuffle: true
39
+ action_balance:
40
+ enabled: false
41
+ strategy: balanced_epoch
42
+ action_key: action_id
43
+ target_flap_fraction: 0.3
44
+ noop_id: 0
45
+ flap_id: 1
46
+ latency_curriculum:
47
+ enabled: false
48
+ strategy: exclusive
49
+ latencies: null
50
+ phase_steps: null
51
+ phase_distributions: null
52
+ new_latency_passes: 1.0
53
+ replay_passes: 0.25
54
+ target_total_passes: 2.0
55
+ final_equalization: true
56
+ step_budget_mode: auto
57
+ eval_at_phase_end: false
58
+ save_at_phase_end: false
59
+ computed_plan: null
60
+ per_device_batch_size: 8
61
+ load_all_data_for_training: true
62
+ num_obs_frames: 4
63
+ image_mode: stitch
64
+ prompt_mode: raw
65
+ stitch_grid:
66
+ - 2
67
+ - 2
68
+ obs_image_size: null
69
+ video_backend: torchvision_av
70
+ dataset:
71
+ source_hf: ''
72
+ config_name: null
73
+ source_subdir: null
74
+ converted_name: deadly_corridor_train
75
+ single_source_hf: ''
76
+ mixed_source_hf: ''
77
+ single_converted_name: deadly_corridor_train
78
+ mixed_converted_name: deadly_corridor_mixed_latency_train
79
+ single_latency_filter: null
80
+ mixed_latency_filter: null
81
+ force_download: false
82
+ setup_force: false
83
+ skip_verification: false
84
+ target_latency_unit: raw_frames
85
+ verify_rows: 200
86
+ max_episodes: null
87
+ episodes_per_latency: null
88
+ latency_filter: null
89
+ debug_subset:
90
+ enabled: false
91
+ max_episodes: 5
92
+ suffix: debug
93
+ base_model:
94
+ repo_id: Qwen/Qwen3-VL-4B-Instruct
95
+ initialization:
96
+ checkpoint_local_dir: playground/Pretrained_models/Qwen3VL-OFT-Bridge-RT-1
97
+ checkpoint_hf_repo_id: StarVLA/Qwen3VL-OFT-Bridge-RT-1
98
+ checkpoint_filename: checkpoints/steps_5000_pytorch_model.pt
99
+ trainer:
100
+ max_train_steps: 4000
101
+ num_warmup_steps: 100
102
+ save_interval: 500
103
+ eval_interval: 250
104
+ eval_num_batches: 50
105
+ per_latency_eval_num_batches: null
106
+ eval_action_classification: false
107
+ eval_action_classification_interval: null
108
+ cc_f1_tolerance: 1
109
+ learning_rate:
110
+ base: 2.0e-05
111
+ qwen_vl_interface: 1.0e-05
112
+ action_model: 0.0001
113
+ lr_scheduler_type: cosine_with_min_lr
114
+ scheduler_specific_kwargs:
115
+ min_lr: 1.0e-06
116
+ freeze_modules: ''
117
+ freeze_vit: false
118
+ freeze_tied_embedding: false
119
+ freeze_llm_layers: []
120
+ loss_scale:
121
+ vla: 1.0
122
+ vlm: 0.1
123
+ max_grad_norm: 1.0
124
+ weight_decay: 0.0
125
+ logging_frequency: 1
126
+ profile_timing:
127
+ enabled: false
128
+ log_interval: 10
129
+ gradient_clipping: 1.0
130
+ gradient_accumulation_steps: 16
131
+ distributed_backend: deepspeed
132
+ is_resume: true
133
+ pretrained_checkpoint: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_2000_state
134
+ resume_step: 2000
135
+ reload_modules: null
136
+ optimizer:
137
+ name: AdamW
138
+ betas:
139
+ - 0.9
140
+ - 0.95
141
+ eps: 1.0e-08
142
+ weight_decay: 1.0e-08
143
+ fused: true
144
+ save_format: pt
145
+ workspace_dir: WORKSPACE_DIR
146
+ run_root_dir: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints
147
+ seed: 42
148
+ wandb_entity: ${oc.env:WANDB_ENTITY}
149
+ wandb_project: ${oc.env:WANDB_PROJECT,starVLA_rl_games}
150
+ auth:
151
+ env_file: null
152
+ hf_token_env: HF_TOKEN
153
+ wandb_api_key_env: WANDB_API_KEY
154
+ paths:
155
+ run_root_dir: results/Checkpoints
156
+ dataset_local_dir: data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
157
+ dataset_cache_dir: null
158
+ base_model_dir: playground/Pretrained_models/Qwen3-VL-4B-Instruct
159
+ accelerate_config: starVLA/config/deepseeds/deepspeed_zero2.yaml
160
+ launch:
161
+ use_accelerate: true
162
+ gpus: null
163
+ num_processes: 1
164
+ dry_run: false
165
+ conda:
166
+ enabled: true
167
+ env_name: null
168
+ rl_games:
169
+ model_alias: openvla
170
+ env_eval:
171
+ image_size: 224
172
+ frameskip: 4
173
+ image_transform: raw_rgb
174
+ prompt_mode: raw
175
+ ghost_trail:
176
+ history_frames: 5
177
+ gamma: 1.3
178
+ min_alpha: 35
179
+ scroll_px_per_step: 4.0
180
+ ground_fraction: 0.22
181
+ seed: 42
182
+ fixed_episode_seeds: true
183
+ latency_seed_stride: 0
184
+ task_seed_stride: 0
185
+ task_description: You are playing Deadly Corridor in VizDoom. Choose actions from
186
+ MOVE_FORWARD, MOVE_BACKWARD, MOVE_LEFT, MOVE_RIGHT, TURN_LEFT, TURN_RIGHT, ATTACK.
187
+ eval_parallel_envs: 5
188
+ action_chunk_execution:
189
+ enabled: false
190
+ chunk_size: null
191
+ deadly:
192
+ action_layout: multibinary_7
193
+ multibinary_threshold: null
194
+ enabled: true
195
+ eval_backend: latency_bench
196
+ distributed_mode: rank_sharded
197
+ vectorized:
198
+ enabled: false
199
+ batch_size: 1
200
+ latency:
201
+ prompt_map_path: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps/deadly_corridor_train__bridge/latency_prompt_map.json
202
+ mode: single
203
+ values:
204
+ - 0
205
+ mid_train:
206
+ enabled: false
207
+ interval_steps: 250
208
+ latencies:
209
+ - 2
210
+ num_episodes: 20
211
+ max_steps_per_episode: 3600
212
+ post_train:
213
+ enabled: false
214
+ latencies:
215
+ - 2
216
+ num_episodes: 50
217
+ max_steps_per_episode: 3600
218
+ task: deadly_corridor
219
+ deadly_corridor_loss_type: null
220
+ initialization_mode: bridge
221
+ action_carrier: bridge
222
+ model: openvla
223
+ env: deadly_corridor
224
+ init: bridge
225
+ bridge_base_model:
226
+ repo_id:
227
+ openvla: Qwen/Qwen3-VL-4B-Instruct
228
+ pi0: StarVLA/Qwen2.5-VL-3B-Instruct-Action
229
+ pi05: Qwen/Qwen3-VL-4B-Instruct
230
+ gr00t: Qwen/Qwen3-VL-4B-Instruct
231
+ local_dir:
232
+ openvla: playground/Pretrained_models/Qwen3-VL-4B-Instruct
233
+ pi0: playground/Pretrained_models/Qwen2.5-VL-3B-Instruct-Action
234
+ pi05: playground/Pretrained_models/Qwen3-VL-4B-Instruct
235
+ gr00t: playground/Pretrained_models/Qwen3-VL-4B-Instruct
236
+ mode: single
237
+ checkpoint:
238
+ load: auto
239
+ hf_repo_id: null
240
+ save_best_model: false
241
+ save_final_model: true
242
+ save_pt_file: false
243
+ save_training_state: true
244
+ save_safetensors_file: true
245
+ local:
246
+ keep_last_n: 1
247
+ sync:
248
+ enabled: false
249
+ repo_id: null
250
+ keep_last_n: 0
251
+ sync_every_n_checkpoints: 1
252
+ resume_policy: local_latest
253
+ run_id: deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch
254
+ output_dir: null
255
+ config_yaml: null
256
+ is_debug: false
257
+ version_id: 0.21
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/hydra/.hydra/hydra.yaml ADDED
@@ -0,0 +1,377 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ hydra:
2
+ run:
3
+ dir: ${run_root_dir}/${run_id}/hydra
4
+ sweep:
5
+ dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S}
6
+ subdir: ${hydra.job.num}
7
+ launcher:
8
+ _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher
9
+ sweeper:
10
+ _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper
11
+ max_batch_size: null
12
+ params: null
13
+ help:
14
+ app_name: ${hydra.job.name}
15
+ header: '${hydra.help.app_name} is powered by Hydra.
16
+
17
+ '
18
+ footer: 'Powered by Hydra (https://hydra.cc)
19
+
20
+ Use --hydra-help to view Hydra specific help
21
+
22
+ '
23
+ template: '${hydra.help.header}
24
+
25
+ == Configuration groups ==
26
+
27
+ Compose your configuration from those groups (group=option)
28
+
29
+
30
+ $APP_CONFIG_GROUPS
31
+
32
+
33
+ == Config ==
34
+
35
+ Override anything in the config (foo.bar=value)
36
+
37
+
38
+ $CONFIG
39
+
40
+
41
+ ${hydra.help.footer}
42
+
43
+ '
44
+ hydra_help:
45
+ template: 'Hydra (${hydra.runtime.version})
46
+
47
+ See https://hydra.cc for more info.
48
+
49
+
50
+ == Flags ==
51
+
52
+ $FLAGS_HELP
53
+
54
+
55
+ == Configuration groups ==
56
+
57
+ Compose your configuration from those groups (For example, append hydra/job_logging=disabled
58
+ to command line)
59
+
60
+
61
+ $HYDRA_CONFIG_GROUPS
62
+
63
+
64
+ Use ''--cfg hydra'' to Show the Hydra config.
65
+
66
+ '
67
+ hydra_help: ???
68
+ hydra_logging:
69
+ version: 1
70
+ formatters:
71
+ simple:
72
+ format: '[%(asctime)s][HYDRA] %(message)s'
73
+ handlers:
74
+ console:
75
+ class: logging.StreamHandler
76
+ formatter: simple
77
+ stream: ext://sys.stdout
78
+ root:
79
+ level: INFO
80
+ handlers:
81
+ - console
82
+ loggers:
83
+ logging_example:
84
+ level: DEBUG
85
+ disable_existing_loggers: false
86
+ job_logging:
87
+ version: 1
88
+ formatters:
89
+ simple:
90
+ format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s'
91
+ handlers:
92
+ console:
93
+ class: logging.StreamHandler
94
+ formatter: simple
95
+ stream: ext://sys.stdout
96
+ file:
97
+ class: logging.FileHandler
98
+ formatter: simple
99
+ filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log
100
+ root:
101
+ level: INFO
102
+ handlers:
103
+ - console
104
+ - file
105
+ disable_existing_loggers: false
106
+ env: {}
107
+ mode: RUN
108
+ searchpath: []
109
+ callbacks: {}
110
+ output_subdir: .hydra
111
+ overrides:
112
+ hydra:
113
+ - hydra.mode=RUN
114
+ task:
115
+ - model=openvla
116
+ - env=deadly_corridor
117
+ - init=bridge
118
+ - mode=single
119
+ - ++framework.qwenvl.base_vlm=playground/Pretrained_models/Qwen3-VL-4B-Instruct
120
+ - ++framework.qwenvl.attn_implementation=flash_attention_2
121
+ - ++framework.qwenvl.flex_backend=triton
122
+ - ++framework.qwenvl.enable_gradient_checkpointing=true
123
+ - ++framework.action_model.state_dim=7
124
+ - ++framework.action_model.loss_type=discrete_ce
125
+ - ++framework.action_model.action_horizon=1
126
+ - ++framework.action_model.future_action_window_size=0
127
+ - ++framework.action_model.past_action_window_size=0
128
+ - ++framework.action_model.action_dim=7
129
+ - ++framework.action_model.action_env_dim=7
130
+ - ++framework.kv_memory.enabled=false
131
+ - ++framework.kv_memory.window=4
132
+ - ++framework.kv_memory.rollout_len=8
133
+ - ++framework.kv_memory.packed_train=false
134
+ - ++framework.kv_memory.rebased_sink=true
135
+ - ++framework.name=QwenOFT
136
+ - ++datasets.vla_data.dataset_py=lerobot_datasets
137
+ - ++datasets.vla_data.include_state=true
138
+ - ++datasets.vla_data.data_root_dir=playground/Datasets/rl_games
139
+ - ++datasets.vla_data.data_mix=deadly_corridor_train
140
+ - ++datasets.vla_data.eval_data_mix=null
141
+ - ++datasets.vla_data.custom_mixtures_path=null
142
+ - ++datasets.vla_data.action_type=discrete
143
+ - ++datasets.vla_data.sequential_step_sampling=false
144
+ - ++datasets.vla_data.eval_sequential_step_sampling=null
145
+ - ++datasets.vla_data.num_workers=8
146
+ - ++datasets.vla_data.eval_num_workers=8
147
+ - ++datasets.vla_data.prefetch_factor=4
148
+ - ++datasets.vla_data.persistent_workers=true
149
+ - ++datasets.vla_data.pin_memory=true
150
+ - ++datasets.vla_data.shuffle=true
151
+ - ++datasets.vla_data.action_balance.enabled=false
152
+ - ++datasets.vla_data.action_balance.strategy=balanced_epoch
153
+ - ++datasets.vla_data.action_balance.action_key=action_id
154
+ - ++datasets.vla_data.action_balance.target_flap_fraction=0.3
155
+ - ++datasets.vla_data.action_balance.noop_id=0
156
+ - ++datasets.vla_data.action_balance.flap_id=1
157
+ - ++datasets.vla_data.latency_curriculum.enabled=false
158
+ - ++datasets.vla_data.latency_curriculum.strategy=exclusive
159
+ - ++datasets.vla_data.latency_curriculum.latencies=null
160
+ - ++datasets.vla_data.latency_curriculum.phase_steps=null
161
+ - ++datasets.vla_data.latency_curriculum.phase_distributions=null
162
+ - ++datasets.vla_data.latency_curriculum.new_latency_passes=1.0
163
+ - ++datasets.vla_data.latency_curriculum.replay_passes=0.25
164
+ - ++datasets.vla_data.latency_curriculum.target_total_passes=2.0
165
+ - ++datasets.vla_data.latency_curriculum.final_equalization=true
166
+ - ++datasets.vla_data.latency_curriculum.step_budget_mode=auto
167
+ - ++datasets.vla_data.latency_curriculum.eval_at_phase_end=false
168
+ - ++datasets.vla_data.latency_curriculum.save_at_phase_end=false
169
+ - ++datasets.vla_data.latency_curriculum.computed_plan=null
170
+ - ++datasets.vla_data.per_device_batch_size=8
171
+ - ++datasets.vla_data.load_all_data_for_training=true
172
+ - ++datasets.vla_data.num_obs_frames=4
173
+ - ++datasets.vla_data.image_mode=stitch
174
+ - ++datasets.vla_data.prompt_mode=raw
175
+ - ++datasets.vla_data.stitch_grid=[2,2]
176
+ - ++datasets.vla_data.obs_image_size=null
177
+ - ++datasets.vla_data.video_backend=torchvision_av
178
+ - ++dataset.source_hf=
179
+ - ++dataset.config_name=null
180
+ - ++dataset.source_subdir=null
181
+ - ++dataset.converted_name=deadly_corridor_train
182
+ - ++dataset.single_source_hf=
183
+ - ++dataset.mixed_source_hf=
184
+ - ++dataset.single_converted_name=deadly_corridor_train
185
+ - ++dataset.mixed_converted_name=deadly_corridor_mixed_latency_train
186
+ - ++dataset.single_latency_filter=null
187
+ - ++dataset.mixed_latency_filter=null
188
+ - ++dataset.force_download=false
189
+ - ++dataset.setup_force=false
190
+ - ++dataset.skip_verification=false
191
+ - ++dataset.target_latency_unit=raw_frames
192
+ - ++dataset.verify_rows=200
193
+ - ++dataset.max_episodes=null
194
+ - ++dataset.episodes_per_latency=null
195
+ - ++dataset.latency_filter=null
196
+ - ++dataset.debug_subset.enabled=false
197
+ - ++dataset.debug_subset.max_episodes=5
198
+ - ++dataset.debug_subset.suffix=debug
199
+ - ++base_model.repo_id=Qwen/Qwen3-VL-4B-Instruct
200
+ - ++initialization.checkpoint_local_dir=playground/Pretrained_models/Qwen3VL-OFT-Bridge-RT-1
201
+ - ++initialization.checkpoint_hf_repo_id=StarVLA/Qwen3VL-OFT-Bridge-RT-1
202
+ - ++initialization.checkpoint_filename=checkpoints/steps_5000_pytorch_model.pt
203
+ - ++trainer.max_train_steps=4000
204
+ - ++trainer.num_warmup_steps=100
205
+ - ++trainer.save_interval=500
206
+ - ++trainer.eval_interval=250
207
+ - ++trainer.eval_num_batches=50
208
+ - ++trainer.per_latency_eval_num_batches=null
209
+ - ++trainer.eval_action_classification=false
210
+ - ++trainer.eval_action_classification_interval=null
211
+ - ++trainer.cc_f1_tolerance=1
212
+ - ++trainer.learning_rate.base=2e-05
213
+ - ++trainer.learning_rate.qwen_vl_interface=1e-05
214
+ - ++trainer.learning_rate.action_model=0.0001
215
+ - ++trainer.lr_scheduler_type=cosine_with_min_lr
216
+ - ++trainer.scheduler_specific_kwargs.min_lr=1e-06
217
+ - ++trainer.freeze_modules=
218
+ - ++trainer.freeze_vit=false
219
+ - ++trainer.freeze_tied_embedding=false
220
+ - ++trainer.freeze_llm_layers=[]
221
+ - ++trainer.loss_scale.vla=1.0
222
+ - ++trainer.loss_scale.vlm=0.1
223
+ - ++trainer.max_grad_norm=1.0
224
+ - ++trainer.weight_decay=0.0
225
+ - ++trainer.logging_frequency=1
226
+ - ++trainer.profile_timing.enabled=false
227
+ - ++trainer.profile_timing.log_interval=10
228
+ - ++trainer.gradient_clipping=1.0
229
+ - ++trainer.gradient_accumulation_steps=16
230
+ - ++trainer.distributed_backend=deepspeed
231
+ - ++trainer.is_resume=false
232
+ - ++trainer.pretrained_checkpoint=null
233
+ - ++trainer.resume_step=0
234
+ - ++trainer.reload_modules=null
235
+ - ++trainer.optimizer.name=AdamW
236
+ - ++trainer.optimizer.betas=[0.9,0.95]
237
+ - ++trainer.optimizer.eps=1e-08
238
+ - ++trainer.optimizer.weight_decay=1e-08
239
+ - ++trainer.optimizer.fused=true
240
+ - ++trainer.save_format=pt
241
+ - ++workspace_dir=WORKSPACE_DIR
242
+ - ++run_root_dir=results/Checkpoints
243
+ - ++seed=42
244
+ - ++auth.env_file=null
245
+ - ++auth.hf_token_env=HF_TOKEN
246
+ - ++auth.wandb_api_key_env=WANDB_API_KEY
247
+ - ++paths.run_root_dir=results/Checkpoints
248
+ - ++paths.dataset_local_dir=data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
249
+ - ++paths.dataset_cache_dir=null
250
+ - ++paths.base_model_dir=playground/Pretrained_models/Qwen3-VL-4B-Instruct
251
+ - ++paths.accelerate_config=starVLA/config/deepseeds/deepspeed_zero2.yaml
252
+ - ++rl_games.model_alias=openvla
253
+ - ++rl_games.env_eval.image_size=224
254
+ - ++rl_games.env_eval.frameskip=4
255
+ - ++rl_games.env_eval.image_transform=raw_rgb
256
+ - ++rl_games.env_eval.prompt_mode=raw
257
+ - ++rl_games.env_eval.ghost_trail.history_frames=5
258
+ - ++rl_games.env_eval.ghost_trail.gamma=1.3
259
+ - ++rl_games.env_eval.ghost_trail.min_alpha=35
260
+ - ++rl_games.env_eval.ghost_trail.scroll_px_per_step=4.0
261
+ - ++rl_games.env_eval.ghost_trail.ground_fraction=0.22
262
+ - ++rl_games.env_eval.seed=42
263
+ - ++rl_games.env_eval.fixed_episode_seeds=true
264
+ - ++rl_games.env_eval.latency_seed_stride=0
265
+ - ++rl_games.env_eval.task_seed_stride=0
266
+ - ++rl_games.env_eval.task_description='You are playing Deadly Corridor in VizDoom.
267
+ Choose actions from MOVE_FORWARD, MOVE_BACKWARD, MOVE_LEFT, MOVE_RIGHT, TURN_LEFT,
268
+ TURN_RIGHT, ATTACK.'
269
+ - ++rl_games.env_eval.eval_parallel_envs=5
270
+ - ++rl_games.env_eval.action_chunk_execution.enabled=false
271
+ - ++rl_games.env_eval.action_chunk_execution.chunk_size=null
272
+ - ++rl_games.env_eval.deadly.action_layout=multibinary_7
273
+ - ++rl_games.env_eval.deadly.multibinary_threshold=null
274
+ - ++rl_games.env_eval.enabled=true
275
+ - ++rl_games.env_eval.eval_backend=latency_bench
276
+ - ++rl_games.env_eval.distributed_mode=rank_sharded
277
+ - ++rl_games.env_eval.vectorized.enabled=false
278
+ - ++rl_games.env_eval.vectorized.batch_size=1
279
+ - ++rl_games.env_eval.latency.prompt_map_path=null
280
+ - ++rl_games.env_eval.latency.mode=single
281
+ - ++rl_games.env_eval.latency.values=[0]
282
+ - ++rl_games.env_eval.mid_train.enabled=false
283
+ - ++rl_games.env_eval.mid_train.interval_steps=250
284
+ - ++rl_games.env_eval.mid_train.latencies=[2]
285
+ - ++rl_games.env_eval.mid_train.num_episodes=20
286
+ - ++rl_games.env_eval.mid_train.max_steps_per_episode=3600
287
+ - ++rl_games.env_eval.post_train.enabled=false
288
+ - ++rl_games.env_eval.post_train.latencies=[2]
289
+ - ++rl_games.env_eval.post_train.num_episodes=50
290
+ - ++rl_games.env_eval.post_train.max_steps_per_episode=3600
291
+ - ++rl_games.task=deadly_corridor
292
+ - ++rl_games.deadly_corridor_loss_type=null
293
+ - ++rl_games.initialization_mode=bridge
294
+ - ++rl_games.action_carrier=bridge
295
+ - ++bridge_base_model.repo_id.openvla=Qwen/Qwen3-VL-4B-Instruct
296
+ - ++bridge_base_model.repo_id.pi0=StarVLA/Qwen2.5-VL-3B-Instruct-Action
297
+ - ++bridge_base_model.repo_id.pi05=Qwen/Qwen3-VL-4B-Instruct
298
+ - ++bridge_base_model.repo_id.gr00t=Qwen/Qwen3-VL-4B-Instruct
299
+ - ++bridge_base_model.local_dir.openvla=playground/Pretrained_models/Qwen3-VL-4B-Instruct
300
+ - ++bridge_base_model.local_dir.pi0=playground/Pretrained_models/Qwen2.5-VL-3B-Instruct-Action
301
+ - ++bridge_base_model.local_dir.pi05=playground/Pretrained_models/Qwen3-VL-4B-Instruct
302
+ - ++bridge_base_model.local_dir.gr00t=playground/Pretrained_models/Qwen3-VL-4B-Instruct
303
+ - ++checkpoint.load=auto
304
+ - ++checkpoint.hf_repo_id=null
305
+ - ++checkpoint.save_best_model=false
306
+ - ++checkpoint.save_final_model=true
307
+ - ++checkpoint.save_pt_file=false
308
+ - ++checkpoint.save_training_state=true
309
+ - ++checkpoint.save_safetensors_file=true
310
+ - ++checkpoint.local.keep_last_n=1
311
+ - ++checkpoint.sync.enabled=false
312
+ - ++checkpoint.sync.repo_id=null
313
+ - ++checkpoint.sync.keep_last_n=0
314
+ - ++checkpoint.sync.sync_every_n_checkpoints=1
315
+ - ++checkpoint.sync.resume_policy=local_latest
316
+ - ++run_id=deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch
317
+ - ++output_dir=null
318
+ - ++config_yaml=null
319
+ - ++is_debug=false
320
+ - ++version_id=0.21
321
+ - ++run_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints
322
+ - ++trainer.is_resume=true
323
+ - ++trainer.pretrained_checkpoint=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_2000_state
324
+ - ++trainer.resume_step=2000
325
+ - ++datasets.vla_data.data_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
326
+ - ++datasets.vla_data.data_mix=deadly_corridor_train__bridge
327
+ - ++datasets.vla_data.eval_data_mix=deadly_corridor_train__bridge__val
328
+ - ++framework.qwenvl.base_vlm=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3-VL-4B-Instruct
329
+ - ++rl_games.env_eval.latency.prompt_map_path=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps/deadly_corridor_train__bridge/latency_prompt_map.json
330
+ job:
331
+ name: train_starvla_hydra
332
+ chdir: false
333
+ override_dirname: ++auth.env_file=null,++auth.hf_token_env=HF_TOKEN,++auth.wandb_api_key_env=WANDB_API_KEY,++base_model.repo_id=Qwen/Qwen3-VL-4B-Instruct,++bridge_base_model.local_dir.gr00t=playground/Pretrained_models/Qwen3-VL-4B-Instruct,++bridge_base_model.local_dir.openvla=playground/Pretrained_models/Qwen3-VL-4B-Instruct,++bridge_base_model.local_dir.pi05=playground/Pretrained_models/Qwen3-VL-4B-Instruct,++bridge_base_model.local_dir.pi0=playground/Pretrained_models/Qwen2.5-VL-3B-Instruct-Action,++bridge_base_model.repo_id.gr00t=Qwen/Qwen3-VL-4B-Instruct,++bridge_base_model.repo_id.openvla=Qwen/Qwen3-VL-4B-Instruct,++bridge_base_model.repo_id.pi05=Qwen/Qwen3-VL-4B-Instruct,++bridge_base_model.repo_id.pi0=StarVLA/Qwen2.5-VL-3B-Instruct-Action,++checkpoint.hf_repo_id=null,++checkpoint.load=auto,++checkpoint.local.keep_last_n=1,++checkpoint.save_best_model=false,++checkpoint.save_final_model=true,++checkpoint.save_pt_file=false,++checkpoint.save_safetensors_file=true,++checkpoint.save_training_state=true,++checkpoint.sync.enabled=false,++checkpoint.sync.keep_last_n=0,++checkpoint.sync.repo_id=null,++checkpoint.sync.resume_policy=local_latest,++checkpoint.sync.sync_every_n_checkpoints=1,++config_yaml=null,++dataset.config_name=null,++dataset.converted_name=deadly_corridor_train,++dataset.debug_subset.enabled=false,++dataset.debug_subset.max_episodes=5,++dataset.debug_subset.suffix=debug,++dataset.episodes_per_latency=null,++dataset.force_download=false,++dataset.latency_filter=null,++dataset.max_episodes=null,++dataset.mixed_converted_name=deadly_corridor_mixed_latency_train,++dataset.mixed_latency_filter=null,++dataset.mixed_source_hf=,++dataset.setup_force=false,++dataset.single_converted_name=deadly_corridor_train,++dataset.single_latency_filter=null,++dataset.single_source_hf=,++dataset.skip_verification=false,++dataset.source_hf=,++dataset.source_subdir=null,++dataset.target_latency_unit=raw_frames,++dataset.verify_rows=200,++datasets.vla_data.action_balance.action_key=action_id,++datasets.vla_data.action_balance.enabled=false,++datasets.vla_data.action_balance.flap_id=1,++datasets.vla_data.action_balance.noop_id=0,++datasets.vla_data.action_balance.strategy=balanced_epoch,++datasets.vla_data.action_balance.target_flap_fraction=0.3,++datasets.vla_data.action_type=discrete,++datasets.vla_data.custom_mixtures_path=null,++datasets.vla_data.data_mix=deadly_corridor_train,++datasets.vla_data.data_mix=deadly_corridor_train__bridge,++datasets.vla_data.data_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps,++datasets.vla_data.data_root_dir=playground/Datasets/rl_games,++datasets.vla_data.dataset_py=lerobot_datasets,++datasets.vla_data.eval_data_mix=deadly_corridor_train__bridge__val,++datasets.vla_data.eval_data_mix=null,++datasets.vla_data.eval_num_workers=8,++datasets.vla_data.eval_sequential_step_sampling=null,++datasets.vla_data.image_mode=stitch,++datasets.vla_data.include_state=true,++datasets.vla_data.latency_curriculum.computed_plan=null,++datasets.vla_data.latency_curriculum.enabled=false,++datasets.vla_data.latency_curriculum.eval_at_phase_end=false,++datasets.vla_data.latency_curriculum.final_equalization=true,++datasets.vla_data.latency_curriculum.latencies=null,++datasets.vla_data.latency_curriculum.new_latency_passes=1.0,++datasets.vla_data.latency_curriculum.phase_distributions=null,++datasets.vla_data.latency_curriculum.phase_steps=null,++datasets.vla_data.latency_curriculum.replay_passes=0.25,++datasets.vla_data.latency_curriculum.save_at_phase_end=false,++datasets.vla_data.latency_curriculum.step_budget_mode=auto,++datasets.vla_data.latency_curriculum.strategy=exclusive,++datasets.vla_data.latency_curriculum.target_total_passes=2.0,++datasets.vla_data.load_all_data_for_training=true,++datasets.vla_data.num_obs_frames=4,++datasets.vla_data.num_workers=8,++datasets.vla_data.obs_image_size=null,++datasets.vla_data.per_device_batch_size=8,++datasets.vla_data.persistent_workers=true,++datasets.vla_data.pin_memory=true,++datasets.vla_data.prefetch_factor=4,++datasets.vla_data.prompt_mode=raw,++datasets.vla_data.sequential_step_sampling=false,++datasets.vla_data.shuffle=true,++datasets.vla_data.stitch_grid=[2,2],++datasets.vla_data.video_backend=torchvision_av,++framework.action_model.action_dim=7,++framework.action_model.action_env_dim=7,++framework.action_model.action_horizon=1,++framework.action_model.future_action_window_size=0,++framework.action_model.loss_type=discrete_ce,++framework.action_model.past_action_window_size=0,++framework.action_model.state_dim=7,++framework.kv_memory.enabled=false,++framework.kv_memory.packed_train=false,++framework.kv_memory.rebased_sink=true,++framework.kv_memory.rollout_len=8,++framework.kv_memory.window=4,++framework.name=QwenOFT,++framework.qwenvl.attn_implementation=flash_attention_2,++framework.qwenvl.base_vlm=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3-VL-4B-Instruct,++framework.qwenvl.base_vlm=playground/Pretrained_models/Qwen3-VL-4B-Instruct,++framework.qwenvl.enable_gradient_checkpointing=true,++framework.qwenvl.flex_backend=triton,++initialization.checkpoint_filename=checkpoints/steps_5000_pytorch_model.pt,++initialization.checkpoint_hf_repo_id=StarVLA/Qwen3VL-OFT-Bridge-RT-1,++initialization.checkpoint_local_dir=playground/Pretrained_models/Qwen3VL-OFT-Bridge-RT-1,++is_debug=false,++output_dir=null,++paths.accelerate_config=starVLA/config/deepseeds/deepspeed_zero2.yaml,++paths.base_model_dir=playground/Pretrained_models/Qwen3-VL-4B-Instruct,++paths.dataset_cache_dir=null,++paths.dataset_local_dir=data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps,++paths.run_root_dir=results/Checkpoints,++rl_games.action_carrier=bridge,++rl_games.deadly_corridor_loss_type=null,++rl_games.env_eval.action_chunk_execution.chunk_size=null,++rl_games.env_eval.action_chunk_execution.enabled=false,++rl_games.env_eval.deadly.action_layout=multibinary_7,++rl_games.env_eval.deadly.multibinary_threshold=null,++rl_games.env_eval.distributed_mode=rank_sharded,++rl_games.env_eval.enabled=true,++rl_games.env_eval.eval_backend=latency_bench,++rl_games.env_eval.eval_parallel_envs=5,++rl_games.env_eval.fixed_episode_seeds=true,++rl_games.env_eval.frameskip=4,++rl_games.env_eval.ghost_trail.gamma=1.3,++rl_games.env_eval.ghost_trail.ground_fraction=0.22,++rl_games.env_eval.ghost_trail.history_frames=5,++rl_games.env_eval.ghost_trail.min_alpha=35,++rl_games.env_eval.ghost_trail.scroll_px_per_step=4.0,++rl_games.env_eval.image_size=224,++rl_games.env_eval.image_transform=raw_rgb,++rl_games.env_eval.latency.mode=single,++rl_games.env_eval.latency.prompt_map_path=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps/deadly_corridor_train__bridge/latency_prompt_map.json,++rl_games.env_eval.latency.prompt_map_path=null,++rl_games.env_eval.latency.values=[0],++rl_games.env_eval.latency_seed_stride=0,++rl_games.env_eval.mid_train.enabled=false,++rl_games.env_eval.mid_train.interval_steps=250,++rl_games.env_eval.mid_train.latencies=[2],++rl_games.env_eval.mid_train.max_steps_per_episode=3600,++rl_games.env_eval.mid_train.num_episodes=20,++rl_games.env_eval.post_train.enabled=false,++rl_games.env_eval.post_train.latencies=[2],++rl_games.env_eval.post_train.max_steps_per_episode=3600,++rl_games.env_eval.post_train.num_episodes=50,++rl_games.env_eval.prompt_mode=raw,++rl_games.env_eval.seed=42,++rl_games.env_eval.task_description='You
334
+ are playing Deadly Corridor in VizDoom. Choose actions from MOVE_FORWARD, MOVE_BACKWARD,
335
+ MOVE_LEFT, MOVE_RIGHT, TURN_LEFT, TURN_RIGHT, ATTACK.',++rl_games.env_eval.task_seed_stride=0,++rl_games.env_eval.vectorized.batch_size=1,++rl_games.env_eval.vectorized.enabled=false,++rl_games.initialization_mode=bridge,++rl_games.model_alias=openvla,++rl_games.task=deadly_corridor,++run_id=deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch,++run_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints,++run_root_dir=results/Checkpoints,++seed=42,++trainer.cc_f1_tolerance=1,++trainer.distributed_backend=deepspeed,++trainer.eval_action_classification=false,++trainer.eval_action_classification_interval=null,++trainer.eval_interval=250,++trainer.eval_num_batches=50,++trainer.freeze_llm_layers=[],++trainer.freeze_modules=,++trainer.freeze_tied_embedding=false,++trainer.freeze_vit=false,++trainer.gradient_accumulation_steps=16,++trainer.gradient_clipping=1.0,++trainer.is_resume=false,++trainer.is_resume=true,++trainer.learning_rate.action_model=0.0001,++trainer.learning_rate.base=2e-05,++trainer.learning_rate.qwen_vl_interface=1e-05,++trainer.logging_frequency=1,++trainer.loss_scale.vla=1.0,++trainer.loss_scale.vlm=0.1,++trainer.lr_scheduler_type=cosine_with_min_lr,++trainer.max_grad_norm=1.0,++trainer.max_train_steps=4000,++trainer.num_warmup_steps=100,++trainer.optimizer.betas=[0.9,0.95],++trainer.optimizer.eps=1e-08,++trainer.optimizer.fused=true,++trainer.optimizer.name=AdamW,++trainer.optimizer.weight_decay=1e-08,++trainer.per_latency_eval_num_batches=null,++trainer.pretrained_checkpoint=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_2000_state,++trainer.pretrained_checkpoint=null,++trainer.profile_timing.enabled=false,++trainer.profile_timing.log_interval=10,++trainer.reload_modules=null,++trainer.resume_step=0,++trainer.resume_step=2000,++trainer.save_format=pt,++trainer.save_interval=500,++trainer.scheduler_specific_kwargs.min_lr=1e-06,++trainer.weight_decay=0.0,++version_id=0.21,++workspace_dir=WORKSPACE_DIR,env=deadly_corridor,init=bridge,mode=single,model=openvla
336
+ id: ???
337
+ num: ???
338
+ config_name: train
339
+ env_set: {}
340
+ env_copy: []
341
+ config:
342
+ override_dirname:
343
+ kv_sep: '='
344
+ item_sep: ','
345
+ exclude_keys: []
346
+ runtime:
347
+ version: 1.3.4
348
+ version_base: '1.1'
349
+ cwd: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA
350
+ config_sources:
351
+ - path: hydra.conf
352
+ schema: pkg
353
+ provider: hydra
354
+ - path: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/examples/rl_games/config
355
+ schema: file
356
+ provider: main
357
+ - path: ''
358
+ schema: structured
359
+ provider: schema
360
+ output_dir: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/hydra
361
+ choices:
362
+ cross_task_setup: null
363
+ checkpoint: default
364
+ mode: single
365
+ init: bridge
366
+ env: deadly_corridor
367
+ model: openvla
368
+ hydra/env: default
369
+ hydra/callbacks: null
370
+ hydra/job_logging: default
371
+ hydra/hydra_logging: default
372
+ hydra/hydra_help: default
373
+ hydra/help: default
374
+ hydra/sweeper: basic
375
+ hydra/launcher: basic
376
+ hydra/output: default
377
+ verbose: false
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/hydra/.hydra/overrides.yaml ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ - model=openvla
2
+ - env=deadly_corridor
3
+ - init=bridge
4
+ - mode=single
5
+ - ++framework.qwenvl.base_vlm=playground/Pretrained_models/Qwen3-VL-4B-Instruct
6
+ - ++framework.qwenvl.attn_implementation=flash_attention_2
7
+ - ++framework.qwenvl.flex_backend=triton
8
+ - ++framework.qwenvl.enable_gradient_checkpointing=true
9
+ - ++framework.action_model.state_dim=7
10
+ - ++framework.action_model.loss_type=discrete_ce
11
+ - ++framework.action_model.action_horizon=1
12
+ - ++framework.action_model.future_action_window_size=0
13
+ - ++framework.action_model.past_action_window_size=0
14
+ - ++framework.action_model.action_dim=7
15
+ - ++framework.action_model.action_env_dim=7
16
+ - ++framework.kv_memory.enabled=false
17
+ - ++framework.kv_memory.window=4
18
+ - ++framework.kv_memory.rollout_len=8
19
+ - ++framework.kv_memory.packed_train=false
20
+ - ++framework.kv_memory.rebased_sink=true
21
+ - ++framework.name=QwenOFT
22
+ - ++datasets.vla_data.dataset_py=lerobot_datasets
23
+ - ++datasets.vla_data.include_state=true
24
+ - ++datasets.vla_data.data_root_dir=playground/Datasets/rl_games
25
+ - ++datasets.vla_data.data_mix=deadly_corridor_train
26
+ - ++datasets.vla_data.eval_data_mix=null
27
+ - ++datasets.vla_data.custom_mixtures_path=null
28
+ - ++datasets.vla_data.action_type=discrete
29
+ - ++datasets.vla_data.sequential_step_sampling=false
30
+ - ++datasets.vla_data.eval_sequential_step_sampling=null
31
+ - ++datasets.vla_data.num_workers=8
32
+ - ++datasets.vla_data.eval_num_workers=8
33
+ - ++datasets.vla_data.prefetch_factor=4
34
+ - ++datasets.vla_data.persistent_workers=true
35
+ - ++datasets.vla_data.pin_memory=true
36
+ - ++datasets.vla_data.shuffle=true
37
+ - ++datasets.vla_data.action_balance.enabled=false
38
+ - ++datasets.vla_data.action_balance.strategy=balanced_epoch
39
+ - ++datasets.vla_data.action_balance.action_key=action_id
40
+ - ++datasets.vla_data.action_balance.target_flap_fraction=0.3
41
+ - ++datasets.vla_data.action_balance.noop_id=0
42
+ - ++datasets.vla_data.action_balance.flap_id=1
43
+ - ++datasets.vla_data.latency_curriculum.enabled=false
44
+ - ++datasets.vla_data.latency_curriculum.strategy=exclusive
45
+ - ++datasets.vla_data.latency_curriculum.latencies=null
46
+ - ++datasets.vla_data.latency_curriculum.phase_steps=null
47
+ - ++datasets.vla_data.latency_curriculum.phase_distributions=null
48
+ - ++datasets.vla_data.latency_curriculum.new_latency_passes=1.0
49
+ - ++datasets.vla_data.latency_curriculum.replay_passes=0.25
50
+ - ++datasets.vla_data.latency_curriculum.target_total_passes=2.0
51
+ - ++datasets.vla_data.latency_curriculum.final_equalization=true
52
+ - ++datasets.vla_data.latency_curriculum.step_budget_mode=auto
53
+ - ++datasets.vla_data.latency_curriculum.eval_at_phase_end=false
54
+ - ++datasets.vla_data.latency_curriculum.save_at_phase_end=false
55
+ - ++datasets.vla_data.latency_curriculum.computed_plan=null
56
+ - ++datasets.vla_data.per_device_batch_size=8
57
+ - ++datasets.vla_data.load_all_data_for_training=true
58
+ - ++datasets.vla_data.num_obs_frames=4
59
+ - ++datasets.vla_data.image_mode=stitch
60
+ - ++datasets.vla_data.prompt_mode=raw
61
+ - ++datasets.vla_data.stitch_grid=[2,2]
62
+ - ++datasets.vla_data.obs_image_size=null
63
+ - ++datasets.vla_data.video_backend=torchvision_av
64
+ - ++dataset.source_hf=
65
+ - ++dataset.config_name=null
66
+ - ++dataset.source_subdir=null
67
+ - ++dataset.converted_name=deadly_corridor_train
68
+ - ++dataset.single_source_hf=
69
+ - ++dataset.mixed_source_hf=
70
+ - ++dataset.single_converted_name=deadly_corridor_train
71
+ - ++dataset.mixed_converted_name=deadly_corridor_mixed_latency_train
72
+ - ++dataset.single_latency_filter=null
73
+ - ++dataset.mixed_latency_filter=null
74
+ - ++dataset.force_download=false
75
+ - ++dataset.setup_force=false
76
+ - ++dataset.skip_verification=false
77
+ - ++dataset.target_latency_unit=raw_frames
78
+ - ++dataset.verify_rows=200
79
+ - ++dataset.max_episodes=null
80
+ - ++dataset.episodes_per_latency=null
81
+ - ++dataset.latency_filter=null
82
+ - ++dataset.debug_subset.enabled=false
83
+ - ++dataset.debug_subset.max_episodes=5
84
+ - ++dataset.debug_subset.suffix=debug
85
+ - ++base_model.repo_id=Qwen/Qwen3-VL-4B-Instruct
86
+ - ++initialization.checkpoint_local_dir=playground/Pretrained_models/Qwen3VL-OFT-Bridge-RT-1
87
+ - ++initialization.checkpoint_hf_repo_id=StarVLA/Qwen3VL-OFT-Bridge-RT-1
88
+ - ++initialization.checkpoint_filename=checkpoints/steps_5000_pytorch_model.pt
89
+ - ++trainer.max_train_steps=4000
90
+ - ++trainer.num_warmup_steps=100
91
+ - ++trainer.save_interval=500
92
+ - ++trainer.eval_interval=250
93
+ - ++trainer.eval_num_batches=50
94
+ - ++trainer.per_latency_eval_num_batches=null
95
+ - ++trainer.eval_action_classification=false
96
+ - ++trainer.eval_action_classification_interval=null
97
+ - ++trainer.cc_f1_tolerance=1
98
+ - ++trainer.learning_rate.base=2e-05
99
+ - ++trainer.learning_rate.qwen_vl_interface=1e-05
100
+ - ++trainer.learning_rate.action_model=0.0001
101
+ - ++trainer.lr_scheduler_type=cosine_with_min_lr
102
+ - ++trainer.scheduler_specific_kwargs.min_lr=1e-06
103
+ - ++trainer.freeze_modules=
104
+ - ++trainer.freeze_vit=false
105
+ - ++trainer.freeze_tied_embedding=false
106
+ - ++trainer.freeze_llm_layers=[]
107
+ - ++trainer.loss_scale.vla=1.0
108
+ - ++trainer.loss_scale.vlm=0.1
109
+ - ++trainer.max_grad_norm=1.0
110
+ - ++trainer.weight_decay=0.0
111
+ - ++trainer.logging_frequency=1
112
+ - ++trainer.profile_timing.enabled=false
113
+ - ++trainer.profile_timing.log_interval=10
114
+ - ++trainer.gradient_clipping=1.0
115
+ - ++trainer.gradient_accumulation_steps=16
116
+ - ++trainer.distributed_backend=deepspeed
117
+ - ++trainer.is_resume=false
118
+ - ++trainer.pretrained_checkpoint=null
119
+ - ++trainer.resume_step=0
120
+ - ++trainer.reload_modules=null
121
+ - ++trainer.optimizer.name=AdamW
122
+ - ++trainer.optimizer.betas=[0.9,0.95]
123
+ - ++trainer.optimizer.eps=1e-08
124
+ - ++trainer.optimizer.weight_decay=1e-08
125
+ - ++trainer.optimizer.fused=true
126
+ - ++trainer.save_format=pt
127
+ - ++workspace_dir=WORKSPACE_DIR
128
+ - ++run_root_dir=results/Checkpoints
129
+ - ++seed=42
130
+ - ++auth.env_file=null
131
+ - ++auth.hf_token_env=HF_TOKEN
132
+ - ++auth.wandb_api_key_env=WANDB_API_KEY
133
+ - ++paths.run_root_dir=results/Checkpoints
134
+ - ++paths.dataset_local_dir=data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
135
+ - ++paths.dataset_cache_dir=null
136
+ - ++paths.base_model_dir=playground/Pretrained_models/Qwen3-VL-4B-Instruct
137
+ - ++paths.accelerate_config=starVLA/config/deepseeds/deepspeed_zero2.yaml
138
+ - ++rl_games.model_alias=openvla
139
+ - ++rl_games.env_eval.image_size=224
140
+ - ++rl_games.env_eval.frameskip=4
141
+ - ++rl_games.env_eval.image_transform=raw_rgb
142
+ - ++rl_games.env_eval.prompt_mode=raw
143
+ - ++rl_games.env_eval.ghost_trail.history_frames=5
144
+ - ++rl_games.env_eval.ghost_trail.gamma=1.3
145
+ - ++rl_games.env_eval.ghost_trail.min_alpha=35
146
+ - ++rl_games.env_eval.ghost_trail.scroll_px_per_step=4.0
147
+ - ++rl_games.env_eval.ghost_trail.ground_fraction=0.22
148
+ - ++rl_games.env_eval.seed=42
149
+ - ++rl_games.env_eval.fixed_episode_seeds=true
150
+ - ++rl_games.env_eval.latency_seed_stride=0
151
+ - ++rl_games.env_eval.task_seed_stride=0
152
+ - ++rl_games.env_eval.task_description='You are playing Deadly Corridor in VizDoom.
153
+ Choose actions from MOVE_FORWARD, MOVE_BACKWARD, MOVE_LEFT, MOVE_RIGHT, TURN_LEFT,
154
+ TURN_RIGHT, ATTACK.'
155
+ - ++rl_games.env_eval.eval_parallel_envs=5
156
+ - ++rl_games.env_eval.action_chunk_execution.enabled=false
157
+ - ++rl_games.env_eval.action_chunk_execution.chunk_size=null
158
+ - ++rl_games.env_eval.deadly.action_layout=multibinary_7
159
+ - ++rl_games.env_eval.deadly.multibinary_threshold=null
160
+ - ++rl_games.env_eval.enabled=true
161
+ - ++rl_games.env_eval.eval_backend=latency_bench
162
+ - ++rl_games.env_eval.distributed_mode=rank_sharded
163
+ - ++rl_games.env_eval.vectorized.enabled=false
164
+ - ++rl_games.env_eval.vectorized.batch_size=1
165
+ - ++rl_games.env_eval.latency.prompt_map_path=null
166
+ - ++rl_games.env_eval.latency.mode=single
167
+ - ++rl_games.env_eval.latency.values=[0]
168
+ - ++rl_games.env_eval.mid_train.enabled=false
169
+ - ++rl_games.env_eval.mid_train.interval_steps=250
170
+ - ++rl_games.env_eval.mid_train.latencies=[2]
171
+ - ++rl_games.env_eval.mid_train.num_episodes=20
172
+ - ++rl_games.env_eval.mid_train.max_steps_per_episode=3600
173
+ - ++rl_games.env_eval.post_train.enabled=false
174
+ - ++rl_games.env_eval.post_train.latencies=[2]
175
+ - ++rl_games.env_eval.post_train.num_episodes=50
176
+ - ++rl_games.env_eval.post_train.max_steps_per_episode=3600
177
+ - ++rl_games.task=deadly_corridor
178
+ - ++rl_games.deadly_corridor_loss_type=null
179
+ - ++rl_games.initialization_mode=bridge
180
+ - ++rl_games.action_carrier=bridge
181
+ - ++bridge_base_model.repo_id.openvla=Qwen/Qwen3-VL-4B-Instruct
182
+ - ++bridge_base_model.repo_id.pi0=StarVLA/Qwen2.5-VL-3B-Instruct-Action
183
+ - ++bridge_base_model.repo_id.pi05=Qwen/Qwen3-VL-4B-Instruct
184
+ - ++bridge_base_model.repo_id.gr00t=Qwen/Qwen3-VL-4B-Instruct
185
+ - ++bridge_base_model.local_dir.openvla=playground/Pretrained_models/Qwen3-VL-4B-Instruct
186
+ - ++bridge_base_model.local_dir.pi0=playground/Pretrained_models/Qwen2.5-VL-3B-Instruct-Action
187
+ - ++bridge_base_model.local_dir.pi05=playground/Pretrained_models/Qwen3-VL-4B-Instruct
188
+ - ++bridge_base_model.local_dir.gr00t=playground/Pretrained_models/Qwen3-VL-4B-Instruct
189
+ - ++checkpoint.load=auto
190
+ - ++checkpoint.hf_repo_id=null
191
+ - ++checkpoint.save_best_model=false
192
+ - ++checkpoint.save_final_model=true
193
+ - ++checkpoint.save_pt_file=false
194
+ - ++checkpoint.save_training_state=true
195
+ - ++checkpoint.save_safetensors_file=true
196
+ - ++checkpoint.local.keep_last_n=1
197
+ - ++checkpoint.sync.enabled=false
198
+ - ++checkpoint.sync.repo_id=null
199
+ - ++checkpoint.sync.keep_last_n=0
200
+ - ++checkpoint.sync.sync_every_n_checkpoints=1
201
+ - ++checkpoint.sync.resume_policy=local_latest
202
+ - ++run_id=deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch
203
+ - ++output_dir=null
204
+ - ++config_yaml=null
205
+ - ++is_debug=false
206
+ - ++version_id=0.21
207
+ - ++run_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints
208
+ - ++trainer.is_resume=true
209
+ - ++trainer.pretrained_checkpoint=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_2000_state
210
+ - ++trainer.resume_step=2000
211
+ - ++datasets.vla_data.data_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
212
+ - ++datasets.vla_data.data_mix=deadly_corridor_train__bridge
213
+ - ++datasets.vla_data.eval_data_mix=deadly_corridor_train__bridge__val
214
+ - ++framework.qwenvl.base_vlm=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3-VL-4B-Instruct
215
+ - ++rl_games.env_eval.latency.prompt_map_path=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps/deadly_corridor_train__bridge/latency_prompt_map.json
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/hydra/train_starvla_hydra.log ADDED
The diff for this file is too large to render. See raw diff
 
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/summary.jsonl ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {"steps": 500}
2
+ {"steps": 1000}
3
+ {"steps": 1500}
4
+ {"steps": 2000}
5
+ {"steps": 2500}
6
+ {"steps": 3000}
7
+ {"steps": 3500}
8
+ {"steps": 4000}
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/debug.log ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_setup.py:_flush():81] Current SDK version is 0.28.0
2
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_setup.py:_flush():81] Configure stats pid to 3985745
3
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_setup.py:_flush():81] Loading settings from environment variables
4
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_init.py:setup_run_log_directory():725] Logging user logs to /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug.log
5
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_init.py:setup_run_log_directory():726] Logging internal logs to /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug-internal.log
6
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_init.py:init():768] calling init triggers
7
+ 2026-07-26 16:25:49,878 INFO MainThread:3985745 [wandb_init.py:init():773] wandb.init called with sweep_config: {}
8
+ config: {'_wandb': {}}
9
+ 2026-07-26 16:25:49,878 INFO MainThread:3985745 [wandb_init.py:init():816] starting backend
10
+ 2026-07-26 16:25:49,878 INFO MainThread:3985745 [wandb_init.py:init():822] Connected to an existing wandb-core service via WANDB_SERVICE
11
+ 2026-07-26 16:25:49,878 INFO MainThread:3985745 [wandb_init.py:init():831] sending inform_init request
12
+ 2026-07-26 16:25:50,224 INFO MainThread:3985745 [wandb_init.py:init():836] backend started and connected
13
+ 2026-07-26 16:25:50,229 INFO MainThread:3985745 [wandb_init.py:init():906] updated telemetry
14
+ 2026-07-26 16:25:50,260 INFO MainThread:3985745 [wandb_init.py:init():929] communicating run to backend with 90.0 second timeout
15
+ 2026-07-26 16:25:50,518 INFO MainThread:3985745 [wandb_init.py:init():974] starting run threads in backend
16
+ 2026-07-26 16:25:50,806 INFO MainThread:3985745 [wandb_run.py:_console_start():2523] atexit reg
17
+ 2026-07-26 16:25:50,806 INFO MainThread:3985745 [wandb_run.py:_redirect():2373] redirect: wrap_raw
18
+ 2026-07-26 16:25:50,806 INFO MainThread:3985745 [wandb_run.py:_redirect():2442] Wrapping output streams.
19
+ 2026-07-26 16:25:50,806 INFO MainThread:3985745 [wandb_run.py:_redirect():2465] Redirects installed.
20
+ 2026-07-26 16:25:50,813 INFO MainThread:3985745 [wandb_init.py:init():1012] run started, returning control to user process
21
+ 2026-07-26 20:07:30,374 INFO MainThread:3985745 [wandb_run.py:_finish():2285] finishing run zihanwang-ai-northwestern-university/starVLA_rl_games/hkuurpie
22
+ 2026-07-26 20:07:30,376 INFO MainThread:3985745 [wandb_run.py:_atexit_cleanup():2490] got exitcode: 0
23
+ 2026-07-26 20:07:30,376 INFO MainThread:3985745 [wandb_run.py:_restore():2472] restore
24
+ 2026-07-26 20:07:30,376 INFO MainThread:3985745 [wandb_run.py:_restore():2478] restore done
25
+ 2026-07-26 20:07:32,134 INFO MainThread:3985745 [wandb_run.py:_footer_sync_info():3895] logging synced files
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/files/output.log ADDED
The diff for this file is too large to render. See raw diff
 
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/files/requirements.txt ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ pyarrow==25.0.0
2
+ python-dateutil==2.9.0.post0
3
+ httpcore==1.0.9
4
+ nvidia-nvjitlink-cu12==12.4.127
5
+ gitdb==4.0.12
6
+ platformdirs==4.10.0
7
+ httpx==0.28.1
8
+ faster-fifo==1.5.2
9
+ mpmath==1.3.0
10
+ toml==0.10.2
11
+ nvidia-cublas-cu12==12.4.5.8
12
+ nvidia-curand-cu12==10.3.5.147
13
+ h11==0.16.0
14
+ fastparquet==2024.11.0
15
+ pydantic==2.10.6
16
+ safetensors==0.8.0
17
+ imageio-ffmpeg==0.6.0
18
+ aiohttp==3.14.1
19
+ async-timeout==5.0.1
20
+ wandb==0.28.0
21
+ pyglet==2.1.15
22
+ mypy_extensions==1.1.0
23
+ markdown-it-py==4.2.0
24
+ transformers==4.57.0
25
+ tzdata==2026.3
26
+ nvidia-cufft-cu12==11.2.1.3
27
+ termcolor==3.3.0
28
+ fonttools==4.63.0
29
+ pyparsing==3.3.2
30
+ diffusers==0.39.0
31
+ multidict==6.7.1
32
+ idna==3.18
33
+ gevent==26.5.0
34
+ websocket==0.2.1
35
+ pillow==12.3.0
36
+ ale-py==0.10.2
37
+ tabulate==0.10.0
38
+ wheel==0.47.0
39
+ Werkzeug==3.1.8
40
+ numpy==1.26.4
41
+ flash_attn==2.8.3.post1
42
+ aiohappyeyeballs==2.7.1
43
+ nvidia-cuda-runtime-cu12==12.4.127
44
+ nvidia-cudnn-cu12==9.1.0.70
45
+ pyudorandom==1.0.0
46
+ eva-decord==0.6.1
47
+ tensorboard==2.21.0
48
+ annotated-types==0.7.0
49
+ networkx==3.4.2
50
+ starVLA==1.0.1
51
+ pipablepytorch3d==0.7.6
52
+ MarkupSafe==3.0.3
53
+ nvidia-nccl-cu12==2.21.5
54
+ websocket-client==1.8.0
55
+ frozenlist==1.8.0
56
+ dill==0.4.1
57
+ accelerate==1.5.2
58
+ kiwisolver==1.5.0
59
+ albumentations==1.4.18
60
+ fsspec==2026.4.0
61
+ sentry-sdk==2.65.0
62
+ decord==0.6.0
63
+ ninja==1.13.0
64
+ greenlet==3.5.3
65
+ protobuf==7.35.1
66
+ charset-normalizer==3.4.9
67
+ draccus==0.11.6
68
+ vizdoom==1.3.0
69
+ regex==2026.7.10
70
+ cloudpickle==3.1.2
71
+ colorlog==6.10.1
72
+ matplotlib==3.10.9
73
+ filelock==3.29.0
74
+ qwen-vl-utils==0.0.14
75
+ smmap==5.0.3
76
+ zope.event==6.2
77
+ opencv-python==4.11.0.86
78
+ requests==2.34.2
79
+ attrs==26.1.0
80
+ triton==3.2.0
81
+ albucore==0.0.17
82
+ transformers-stream-generator==0.0.4
83
+ mergedeep==1.3.4
84
+ nvidia-cuda-cupti-cu12==12.4.127
85
+ setuptools==80.9.0
86
+ threadpoolctl==3.6.0
87
+ mdurl==0.1.2
88
+ tdigest==0.5.2.2
89
+ GitPython==3.1.52
90
+ websockets==16.1
91
+ propcache==0.5.2
92
+ urllib3==2.7.0
93
+ cramjam==2.11.0
94
+ PyYAML==6.0.3
95
+ certifi==2026.6.17
96
+ packaging==26.0
97
+ nvidia-cusparse-cu12==12.3.1.170
98
+ portalocker==3.2.0
99
+ av==12.3.0
100
+ psutil==7.2.2
101
+ sample-factory==2.1.1
102
+ Pygments==2.20.0
103
+ eval_type_backport==0.4.0
104
+ uv==0.11.29
105
+ xxhash==3.8.1
106
+ tifffile==2025.5.10
107
+ torch==2.6.0+cu124
108
+ tensorboardX==2.6.5
109
+ torchvision==0.21.0+cu124
110
+ hjson==3.1.0
111
+ pygame==2.6.1
112
+ rich==15.0.0
113
+ exceptiongroup==1.3.1
114
+ tiktoken==0.13.0
115
+ omegaconf==2.3.1
116
+ flappy-bird-gymnasium==0.4.0
117
+ cycler==0.12.1
118
+ antlr4-python3-runtime==4.9.3
119
+ numpydantic==1.6.9
120
+ Farama-Notifications==0.0.6
121
+ scikit-image==0.25.2
122
+ hydra-core==1.3.4
123
+ pytz==2026.2
124
+ aiosignal==1.4.0
125
+ AutoROM==0.6.1
126
+ timm==1.0.28
127
+ tokenizers==0.22.2
128
+ yarl==1.24.2
129
+ Markdown==3.10.2
130
+ importlib_metadata==9.0.0
131
+ pip==26.1.2
132
+ tensorboard-data-server==0.7.2
133
+ huggingface_hub==0.36.2
134
+ docstring_parser==0.18.0
135
+ nvidia-cuda-nvrtc-cu12==12.4.127
136
+ zipp==4.1.0
137
+ nvidia-nvtx-cu12==12.4.127
138
+ iopath==0.1.10
139
+ tyro==1.0.15
140
+ fvcore==0.1.5.post20221221
141
+ peft==0.19.1
142
+ pydantic_core==2.27.2
143
+ click==8.4.2
144
+ pandas==2.3.3
145
+ yacs==0.1.8
146
+ Jinja2==3.1.6
147
+ nvidia-cusparselt-cu12==0.6.2
148
+ tqdm==4.68.4
149
+ py-cpuinfo==9.0.0
150
+ contourpy==1.3.2
151
+ multiprocess==0.70.19
152
+ signal-slot-mp==1.0.5
153
+ accumulation_tree==0.6.4
154
+ typing_extensions==4.15.0
155
+ msgpack==1.2.1
156
+ nvidia-cusolver-cu12==11.6.1.9
157
+ sympy==1.13.1
158
+ absl-py==2.5.0
159
+ opencv-python-headless==4.11.0.86
160
+ typeguard==4.5.2
161
+ lazy-loader==0.5
162
+ grpcio==1.82.1
163
+ deepspeed==0.16.9
164
+ anyio==4.14.2
165
+ hf-xet==1.5.1
166
+ AutoROM.accept-rom-license==0.6.1
167
+ pygame-ce==2.5.7
168
+ gymnasium==0.29.1
169
+ stable_baselines3==2.8.0
170
+ datasets==5.0.0
171
+ einops==0.8.2
172
+ ImageIO==2.37.3
173
+ six==1.17.0
174
+ zope.interface==8.5
175
+ scipy==1.15.3
176
+ typing-inspect==0.9.0
177
+ backports.tarfile==1.2.0
178
+ typing_extensions==4.12.2
179
+ inflect==7.3.1
180
+ jaraco.functools==4.0.1
181
+ zipp==3.19.2
182
+ jaraco.collections==5.1.0
183
+ wheel==0.45.1
184
+ jaraco.context==5.3.0
185
+ typeguard==4.3.0
186
+ more-itertools==10.3.0
187
+ platformdirs==4.2.2
188
+ importlib_metadata==8.0.0
189
+ autocommand==2.2.2
190
+ jaraco.text==3.12.1
191
+ packaging==24.2
192
+ tomli==2.0.1
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/files/wandb-metadata.json ADDED
@@ -0,0 +1,309 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Linux-5.15.0-1063-nvidia-x86_64-with-glibc2.35",
3
+ "python": "CPython 3.10.20",
4
+ "startedAt": "2026-07-26T14:57:51.833394Z",
5
+ "args": [
6
+ "--config-name",
7
+ "train",
8
+ "model=openvla",
9
+ "env=deadly_corridor",
10
+ "init=bridge",
11
+ "mode=single",
12
+ "++framework.qwenvl.base_vlm=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
13
+ "++framework.qwenvl.attn_implementation=flash_attention_2",
14
+ "++framework.qwenvl.flex_backend=triton",
15
+ "++framework.qwenvl.enable_gradient_checkpointing=true",
16
+ "++framework.action_model.state_dim=7",
17
+ "++framework.action_model.loss_type=discrete_ce",
18
+ "++framework.action_model.action_horizon=1",
19
+ "++framework.action_model.future_action_window_size=0",
20
+ "++framework.action_model.past_action_window_size=0",
21
+ "++framework.action_model.action_dim=7",
22
+ "++framework.action_model.action_env_dim=7",
23
+ "++framework.kv_memory.enabled=false",
24
+ "++framework.kv_memory.window=4",
25
+ "++framework.kv_memory.rollout_len=8",
26
+ "++framework.kv_memory.packed_train=false",
27
+ "++framework.kv_memory.rebased_sink=true",
28
+ "++framework.name=QwenOFT",
29
+ "++datasets.vla_data.dataset_py=lerobot_datasets",
30
+ "++datasets.vla_data.include_state=true",
31
+ "++datasets.vla_data.data_root_dir=playground/Datasets/rl_games",
32
+ "++datasets.vla_data.data_mix=deadly_corridor_train",
33
+ "++datasets.vla_data.eval_data_mix=null",
34
+ "++datasets.vla_data.custom_mixtures_path=null",
35
+ "++datasets.vla_data.action_type=discrete",
36
+ "++datasets.vla_data.sequential_step_sampling=false",
37
+ "++datasets.vla_data.eval_sequential_step_sampling=null",
38
+ "++datasets.vla_data.num_workers=8",
39
+ "++datasets.vla_data.eval_num_workers=8",
40
+ "++datasets.vla_data.prefetch_factor=4",
41
+ "++datasets.vla_data.persistent_workers=true",
42
+ "++datasets.vla_data.pin_memory=true",
43
+ "++datasets.vla_data.shuffle=true",
44
+ "++datasets.vla_data.action_balance.enabled=false",
45
+ "++datasets.vla_data.action_balance.strategy=balanced_epoch",
46
+ "++datasets.vla_data.action_balance.action_key=action_id",
47
+ "++datasets.vla_data.action_balance.target_flap_fraction=0.3",
48
+ "++datasets.vla_data.action_balance.noop_id=0",
49
+ "++datasets.vla_data.action_balance.flap_id=1",
50
+ "++datasets.vla_data.latency_curriculum.enabled=false",
51
+ "++datasets.vla_data.latency_curriculum.strategy=exclusive",
52
+ "++datasets.vla_data.latency_curriculum.latencies=null",
53
+ "++datasets.vla_data.latency_curriculum.phase_steps=null",
54
+ "++datasets.vla_data.latency_curriculum.phase_distributions=null",
55
+ "++datasets.vla_data.latency_curriculum.new_latency_passes=1.0",
56
+ "++datasets.vla_data.latency_curriculum.replay_passes=0.25",
57
+ "++datasets.vla_data.latency_curriculum.target_total_passes=2.0",
58
+ "++datasets.vla_data.latency_curriculum.final_equalization=true",
59
+ "++datasets.vla_data.latency_curriculum.step_budget_mode=auto",
60
+ "++datasets.vla_data.latency_curriculum.eval_at_phase_end=false",
61
+ "++datasets.vla_data.latency_curriculum.save_at_phase_end=false",
62
+ "++datasets.vla_data.latency_curriculum.computed_plan=null",
63
+ "++datasets.vla_data.per_device_batch_size=8",
64
+ "++datasets.vla_data.load_all_data_for_training=true",
65
+ "++datasets.vla_data.num_obs_frames=4",
66
+ "++datasets.vla_data.image_mode=stitch",
67
+ "++datasets.vla_data.prompt_mode=raw",
68
+ "++datasets.vla_data.stitch_grid=[2,2]",
69
+ "++datasets.vla_data.obs_image_size=null",
70
+ "++datasets.vla_data.video_backend=torchvision_av",
71
+ "++dataset.source_hf=",
72
+ "++dataset.config_name=null",
73
+ "++dataset.source_subdir=null",
74
+ "++dataset.converted_name=deadly_corridor_train",
75
+ "++dataset.single_source_hf=",
76
+ "++dataset.mixed_source_hf=",
77
+ "++dataset.single_converted_name=deadly_corridor_train",
78
+ "++dataset.mixed_converted_name=deadly_corridor_mixed_latency_train",
79
+ "++dataset.single_latency_filter=null",
80
+ "++dataset.mixed_latency_filter=null",
81
+ "++dataset.force_download=false",
82
+ "++dataset.setup_force=false",
83
+ "++dataset.skip_verification=false",
84
+ "++dataset.target_latency_unit=raw_frames",
85
+ "++dataset.verify_rows=200",
86
+ "++dataset.max_episodes=null",
87
+ "++dataset.episodes_per_latency=null",
88
+ "++dataset.latency_filter=null",
89
+ "++dataset.debug_subset.enabled=false",
90
+ "++dataset.debug_subset.max_episodes=5",
91
+ "++dataset.debug_subset.suffix=debug",
92
+ "++base_model.repo_id=Qwen/Qwen3-VL-4B-Instruct",
93
+ "++initialization.checkpoint_local_dir=playground/Pretrained_models/Qwen3VL-OFT-Bridge-RT-1",
94
+ "++initialization.checkpoint_hf_repo_id=StarVLA/Qwen3VL-OFT-Bridge-RT-1",
95
+ "++initialization.checkpoint_filename=checkpoints/steps_5000_pytorch_model.pt",
96
+ "++trainer.max_train_steps=4000",
97
+ "++trainer.num_warmup_steps=100",
98
+ "++trainer.save_interval=500",
99
+ "++trainer.eval_interval=250",
100
+ "++trainer.eval_num_batches=50",
101
+ "++trainer.per_latency_eval_num_batches=null",
102
+ "++trainer.eval_action_classification=false",
103
+ "++trainer.eval_action_classification_interval=null",
104
+ "++trainer.cc_f1_tolerance=1",
105
+ "++trainer.learning_rate.base=2e-05",
106
+ "++trainer.learning_rate.qwen_vl_interface=1e-05",
107
+ "++trainer.learning_rate.action_model=0.0001",
108
+ "++trainer.lr_scheduler_type=cosine_with_min_lr",
109
+ "++trainer.scheduler_specific_kwargs.min_lr=1e-06",
110
+ "++trainer.freeze_modules=",
111
+ "++trainer.freeze_vit=false",
112
+ "++trainer.freeze_tied_embedding=false",
113
+ "++trainer.freeze_llm_layers=[]",
114
+ "++trainer.loss_scale.vla=1.0",
115
+ "++trainer.loss_scale.vlm=0.1",
116
+ "++trainer.max_grad_norm=1.0",
117
+ "++trainer.weight_decay=0.0",
118
+ "++trainer.logging_frequency=1",
119
+ "++trainer.profile_timing.enabled=false",
120
+ "++trainer.profile_timing.log_interval=10",
121
+ "++trainer.gradient_clipping=1.0",
122
+ "++trainer.gradient_accumulation_steps=16",
123
+ "++trainer.distributed_backend=deepspeed",
124
+ "++trainer.is_resume=false",
125
+ "++trainer.pretrained_checkpoint=null",
126
+ "++trainer.resume_step=0",
127
+ "++trainer.reload_modules=null",
128
+ "++trainer.optimizer.name=AdamW",
129
+ "++trainer.optimizer.betas=[0.9,0.95]",
130
+ "++trainer.optimizer.eps=1e-08",
131
+ "++trainer.optimizer.weight_decay=1e-08",
132
+ "++trainer.optimizer.fused=true",
133
+ "++trainer.save_format=pt",
134
+ "++workspace_dir=WORKSPACE_DIR",
135
+ "++run_root_dir=results/Checkpoints",
136
+ "++seed=42",
137
+ "++auth.env_file=null",
138
+ "++auth.hf_token_env=HF_TOKEN",
139
+ "++auth.wandb_api_key_env=WANDB_API_KEY",
140
+ "++paths.run_root_dir=results/Checkpoints",
141
+ "++paths.dataset_local_dir=data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps",
142
+ "++paths.dataset_cache_dir=null",
143
+ "++paths.base_model_dir=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
144
+ "++paths.accelerate_config=starVLA/config/deepseeds/deepspeed_zero2.yaml",
145
+ "++rl_games.model_alias=openvla",
146
+ "++rl_games.env_eval.image_size=224",
147
+ "++rl_games.env_eval.frameskip=4",
148
+ "++rl_games.env_eval.image_transform=raw_rgb",
149
+ "++rl_games.env_eval.prompt_mode=raw",
150
+ "++rl_games.env_eval.ghost_trail.history_frames=5",
151
+ "++rl_games.env_eval.ghost_trail.gamma=1.3",
152
+ "++rl_games.env_eval.ghost_trail.min_alpha=35",
153
+ "++rl_games.env_eval.ghost_trail.scroll_px_per_step=4.0",
154
+ "++rl_games.env_eval.ghost_trail.ground_fraction=0.22",
155
+ "++rl_games.env_eval.seed=42",
156
+ "++rl_games.env_eval.fixed_episode_seeds=true",
157
+ "++rl_games.env_eval.latency_seed_stride=0",
158
+ "++rl_games.env_eval.task_seed_stride=0",
159
+ "++rl_games.env_eval.task_description='You are playing Deadly Corridor in VizDoom. Choose actions from MOVE_FORWARD, MOVE_BACKWARD, MOVE_LEFT, MOVE_RIGHT, TURN_LEFT, TURN_RIGHT, ATTACK.'",
160
+ "++rl_games.env_eval.eval_parallel_envs=5",
161
+ "++rl_games.env_eval.action_chunk_execution.enabled=false",
162
+ "++rl_games.env_eval.action_chunk_execution.chunk_size=null",
163
+ "++rl_games.env_eval.deadly.action_layout=multibinary_7",
164
+ "++rl_games.env_eval.deadly.multibinary_threshold=null",
165
+ "++rl_games.env_eval.enabled=true",
166
+ "++rl_games.env_eval.eval_backend=latency_bench",
167
+ "++rl_games.env_eval.distributed_mode=rank_sharded",
168
+ "++rl_games.env_eval.vectorized.enabled=false",
169
+ "++rl_games.env_eval.vectorized.batch_size=1",
170
+ "++rl_games.env_eval.latency.prompt_map_path=null",
171
+ "++rl_games.env_eval.latency.mode=single",
172
+ "++rl_games.env_eval.latency.values=[0]",
173
+ "++rl_games.env_eval.mid_train.enabled=false",
174
+ "++rl_games.env_eval.mid_train.interval_steps=250",
175
+ "++rl_games.env_eval.mid_train.latencies=[2]",
176
+ "++rl_games.env_eval.mid_train.num_episodes=20",
177
+ "++rl_games.env_eval.mid_train.max_steps_per_episode=3600",
178
+ "++rl_games.env_eval.post_train.enabled=false",
179
+ "++rl_games.env_eval.post_train.latencies=[2]",
180
+ "++rl_games.env_eval.post_train.num_episodes=50",
181
+ "++rl_games.env_eval.post_train.max_steps_per_episode=3600",
182
+ "++rl_games.task=deadly_corridor",
183
+ "++rl_games.deadly_corridor_loss_type=null",
184
+ "++rl_games.initialization_mode=bridge",
185
+ "++rl_games.action_carrier=bridge",
186
+ "++bridge_base_model.repo_id.openvla=Qwen/Qwen3-VL-4B-Instruct",
187
+ "++bridge_base_model.repo_id.pi0=StarVLA/Qwen2.5-VL-3B-Instruct-Action",
188
+ "++bridge_base_model.repo_id.pi05=Qwen/Qwen3-VL-4B-Instruct",
189
+ "++bridge_base_model.repo_id.gr00t=Qwen/Qwen3-VL-4B-Instruct",
190
+ "++bridge_base_model.local_dir.openvla=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
191
+ "++bridge_base_model.local_dir.pi0=playground/Pretrained_models/Qwen2.5-VL-3B-Instruct-Action",
192
+ "++bridge_base_model.local_dir.pi05=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
193
+ "++bridge_base_model.local_dir.gr00t=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
194
+ "++checkpoint.load=auto",
195
+ "++checkpoint.hf_repo_id=null",
196
+ "++checkpoint.save_best_model=false",
197
+ "++checkpoint.save_final_model=true",
198
+ "++checkpoint.save_pt_file=false",
199
+ "++checkpoint.save_training_state=true",
200
+ "++checkpoint.save_safetensors_file=true",
201
+ "++checkpoint.local.keep_last_n=1",
202
+ "++checkpoint.sync.enabled=false",
203
+ "++checkpoint.sync.repo_id=null",
204
+ "++checkpoint.sync.keep_last_n=0",
205
+ "++checkpoint.sync.sync_every_n_checkpoints=1",
206
+ "++checkpoint.sync.resume_policy=local_latest",
207
+ "++run_id=deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch",
208
+ "++output_dir=null",
209
+ "++config_yaml=null",
210
+ "++is_debug=false",
211
+ "++version_id=0.21",
212
+ "++run_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints",
213
+ "++trainer.is_resume=false",
214
+ "++trainer.pretrained_checkpoint=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3VL-OFT-Bridge-RT-1/checkpoints/steps_5000_pytorch_model.pt",
215
+ "++trainer.resume_step=0",
216
+ "++datasets.vla_data.data_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps",
217
+ "++datasets.vla_data.data_mix=deadly_corridor_train__bridge",
218
+ "++datasets.vla_data.eval_data_mix=deadly_corridor_train__bridge__val",
219
+ "++framework.qwenvl.base_vlm=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3-VL-4B-Instruct",
220
+ "++rl_games.env_eval.latency.prompt_map_path=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps/deadly_corridor_train__bridge/latency_prompt_map.json"
221
+ ],
222
+ "program": "/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/starVLA/training/train_starvla_hydra.py",
223
+ "codePath": "starVLA/training/train_starvla_hydra.py",
224
+ "codePathLocal": "starVLA/training/train_starvla_hydra.py",
225
+ "git": {
226
+ "remote": "git@github.com:talha1503/starVLA.git",
227
+ "commit": "468a298def2af8a09194aff889d399615f914b9c"
228
+ },
229
+ "email": "zihanwang2029@u.northwestern.edu",
230
+ "root": "/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb",
231
+ "host": "pool0-01759",
232
+ "executable": "/lustre/fsw/portfolios/nvr/users/zihwang/miniconda3/envs/starvla_rl_games_openvla/bin/python",
233
+ "cpu_count": 64,
234
+ "cpu_count_logical": 128,
235
+ "gpu": "NVIDIA H100 80GB HBM3",
236
+ "gpu_count": 2,
237
+ "disk": {
238
+ "/": {
239
+ "total": "7651200073728",
240
+ "used": "73912184832"
241
+ }
242
+ },
243
+ "memory": {
244
+ "total": "2164170465280"
245
+ },
246
+ "gpu_nvidia": [
247
+ {
248
+ "name": "NVIDIA H100 80GB HBM3",
249
+ "memoryTotal": "85520809984",
250
+ "cudaCores": 16896,
251
+ "architecture": "Hopper",
252
+ "uuid": "GPU-4c7c1268-7910-e711-6baa-3c5107f68905"
253
+ },
254
+ {
255
+ "name": "NVIDIA H100 80GB HBM3",
256
+ "memoryTotal": "85520809984",
257
+ "cudaCores": 16896,
258
+ "architecture": "Hopper",
259
+ "uuid": "GPU-2a3ffa8a-a297-1de7-1065-d7350abca76a"
260
+ }
261
+ ],
262
+ "cudaVersion": "12.2",
263
+ "slurm": {
264
+ "array_job_id": "14387787",
265
+ "array_task_count": "12",
266
+ "array_task_id": "8",
267
+ "array_task_max": "11",
268
+ "array_task_min": "0",
269
+ "array_task_step": "1",
270
+ "cluster_name": "cw-dfw-cs-001",
271
+ "conf": "/cm/shared/apps/slurm/var/etc/cw-dfw-cs-001/slurm.conf",
272
+ "cpus_on_node": "64",
273
+ "cpus_per_task": "64",
274
+ "gpus_on_node": "2",
275
+ "gtids": "0",
276
+ "job_account": "nvr_lacr_llm",
277
+ "job_cpus_per_node": "64",
278
+ "job_end_time": "1785092152",
279
+ "job_gid": "30",
280
+ "job_gpus": "1,2",
281
+ "job_id": "14393617",
282
+ "job_name": "mem-train",
283
+ "job_nodelist": "pool0-01759",
284
+ "job_num_nodes": "1",
285
+ "job_partition": "batch",
286
+ "job_qos": "normal",
287
+ "job_start_time": "1785077752",
288
+ "job_uid": "159489",
289
+ "job_user": "zihwang",
290
+ "jobid": "14393617",
291
+ "localid": "0",
292
+ "mem_per_node": "524288",
293
+ "nnodes": "1",
294
+ "nodeid": "0",
295
+ "nodelist": "pool0-01759",
296
+ "nprocs": "1",
297
+ "ntasks": "1",
298
+ "prio_process": "0",
299
+ "procid": "0",
300
+ "submit_dir": "/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench",
301
+ "submit_host": "cw-dfw-cs-001-vscode-01",
302
+ "task_pid": "124970",
303
+ "tasks_per_node": "1",
304
+ "topology_addr": "C1.S1.L207-DH4.pool0-01759",
305
+ "topology_addr_pattern": "switch.switch.switch.node",
306
+ "tres_per_task": "cpu=64"
307
+ },
308
+ "writerId": "1vmiker6huknpai0jg1dy025zdloiu0s"
309
+ }
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/logs/debug-core.log ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {"time":"2026-07-26T07:56:22.907361763-07:00","level":"INFO","msg":"main: starting server","port-filename":"/tmp/tmpmixaclsc/port-125925.txt","pid":125925,"detached":false,"idle-timeout":600000000000,"log-level":0,"disable-analytics":false,"shutdown-on-parent-exit":false,"enable-dcgm-profiling":false}
2
+ {"time":"2026-07-26T07:56:22.908560518-07:00","level":"INFO","msg":"server: will exit if parent process dies","ppid":125925}
3
+ {"time":"2026-07-26T07:56:22.908554882-07:00","level":"INFO","msg":"server: accepting connections","addr":{"Name":"/tmp/wandb-125925-126012-3882179826/socket","Net":"unix"}}
4
+ {"time":"2026-07-26T07:56:23.064806237-07:00","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"1(@)"}
5
+ {"time":"2026-07-26T07:57:07.007341275-07:00","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"2(@)"}
6
+ {"time":"2026-07-26T07:57:07.09916385-07:00","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"3(@)"}
7
+ {"time":"2026-07-26T07:57:51.852987434-07:00","level":"INFO","msg":"handleInformInit: received","streamId":"t482klnb","id":"2(@)"}
8
+ {"time":"2026-07-26T07:57:52.243785495-07:00","level":"INFO","msg":"handleInformInit: stream started","streamId":"t482klnb","id":"2(@)"}
9
+ {"time":"2026-07-26T07:57:57.891750821-07:00","level":"INFO","msg":"connection: cancelling request","id":"2(@)","requestId":"yv38ujy6gvig"}
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/logs/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/logs/debug.log ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2026-07-26 07:57:51,849 INFO MainThread:128143 [wandb_setup.py:_flush():81] Current SDK version is 0.28.0
2
+ 2026-07-26 07:57:51,849 INFO MainThread:128143 [wandb_setup.py:_flush():81] Configure stats pid to 128143
3
+ 2026-07-26 07:57:51,849 INFO MainThread:128143 [wandb_setup.py:_flush():81] Loading settings from environment variables
4
+ 2026-07-26 07:57:51,849 INFO MainThread:128143 [wandb_init.py:setup_run_log_directory():725] Logging user logs to /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/logs/debug.log
5
+ 2026-07-26 07:57:51,849 INFO MainThread:128143 [wandb_init.py:setup_run_log_directory():726] Logging internal logs to /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/logs/debug-internal.log
6
+ 2026-07-26 07:57:51,849 INFO MainThread:128143 [wandb_init.py:init():768] calling init triggers
7
+ 2026-07-26 07:57:51,849 INFO MainThread:128143 [wandb_init.py:init():773] wandb.init called with sweep_config: {}
8
+ config: {'_wandb': {}}
9
+ 2026-07-26 07:57:51,850 INFO MainThread:128143 [wandb_init.py:init():816] starting backend
10
+ 2026-07-26 07:57:51,850 INFO MainThread:128143 [wandb_init.py:init():822] Connected to an existing wandb-core service via WANDB_SERVICE
11
+ 2026-07-26 07:57:51,850 INFO MainThread:128143 [wandb_init.py:init():831] sending inform_init request
12
+ 2026-07-26 07:57:52,244 INFO MainThread:128143 [wandb_init.py:init():836] backend started and connected
13
+ 2026-07-26 07:57:52,247 INFO MainThread:128143 [wandb_init.py:init():906] updated telemetry
14
+ 2026-07-26 07:57:52,276 INFO MainThread:128143 [wandb_init.py:init():929] communicating run to backend with 90.0 second timeout
15
+ 2026-07-26 07:57:52,581 INFO MainThread:128143 [wandb_init.py:init():974] starting run threads in backend
16
+ 2026-07-26 07:57:52,885 INFO MainThread:128143 [wandb_run.py:_console_start():2523] atexit reg
17
+ 2026-07-26 07:57:52,885 INFO MainThread:128143 [wandb_run.py:_redirect():2373] redirect: wrap_raw
18
+ 2026-07-26 07:57:52,885 INFO MainThread:128143 [wandb_run.py:_redirect():2442] Wrapping output streams.
19
+ 2026-07-26 07:57:52,885 INFO MainThread:128143 [wandb_run.py:_redirect():2465] Redirects installed.
20
+ 2026-07-26 07:57:52,891 INFO MainThread:128143 [wandb_init.py:init():1012] run started, returning control to user process
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_075751-t482klnb/run-t482klnb.wandb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a3198c1563b3e7e2c2193ee251916bb6dd03e938e19ac8c0a5a0b1d88f2886eb
3
+ size 8978432
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/config.yaml ADDED
@@ -0,0 +1,334 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _wandb:
2
+ value:
3
+ cli_version: 0.28.0
4
+ e:
5
+ xkq5pbbj6vcy2uc9gknbrgil6ob663bi:
6
+ args:
7
+ - --config-name
8
+ - train
9
+ - model=openvla
10
+ - env=deadly_corridor
11
+ - init=bridge
12
+ - mode=single
13
+ - ++framework.qwenvl.base_vlm=playground/Pretrained_models/Qwen3-VL-4B-Instruct
14
+ - ++framework.qwenvl.attn_implementation=flash_attention_2
15
+ - ++framework.qwenvl.flex_backend=triton
16
+ - ++framework.qwenvl.enable_gradient_checkpointing=true
17
+ - ++framework.action_model.state_dim=7
18
+ - ++framework.action_model.loss_type=discrete_ce
19
+ - ++framework.action_model.action_horizon=1
20
+ - ++framework.action_model.future_action_window_size=0
21
+ - ++framework.action_model.past_action_window_size=0
22
+ - ++framework.action_model.action_dim=7
23
+ - ++framework.action_model.action_env_dim=7
24
+ - ++framework.kv_memory.enabled=false
25
+ - ++framework.kv_memory.window=4
26
+ - ++framework.kv_memory.rollout_len=8
27
+ - ++framework.kv_memory.packed_train=false
28
+ - ++framework.kv_memory.rebased_sink=true
29
+ - ++framework.name=QwenOFT
30
+ - ++datasets.vla_data.dataset_py=lerobot_datasets
31
+ - ++datasets.vla_data.include_state=true
32
+ - ++datasets.vla_data.data_root_dir=playground/Datasets/rl_games
33
+ - ++datasets.vla_data.data_mix=deadly_corridor_train
34
+ - ++datasets.vla_data.eval_data_mix=null
35
+ - ++datasets.vla_data.custom_mixtures_path=null
36
+ - ++datasets.vla_data.action_type=discrete
37
+ - ++datasets.vla_data.sequential_step_sampling=false
38
+ - ++datasets.vla_data.eval_sequential_step_sampling=null
39
+ - ++datasets.vla_data.num_workers=8
40
+ - ++datasets.vla_data.eval_num_workers=8
41
+ - ++datasets.vla_data.prefetch_factor=4
42
+ - ++datasets.vla_data.persistent_workers=true
43
+ - ++datasets.vla_data.pin_memory=true
44
+ - ++datasets.vla_data.shuffle=true
45
+ - ++datasets.vla_data.action_balance.enabled=false
46
+ - ++datasets.vla_data.action_balance.strategy=balanced_epoch
47
+ - ++datasets.vla_data.action_balance.action_key=action_id
48
+ - ++datasets.vla_data.action_balance.target_flap_fraction=0.3
49
+ - ++datasets.vla_data.action_balance.noop_id=0
50
+ - ++datasets.vla_data.action_balance.flap_id=1
51
+ - ++datasets.vla_data.latency_curriculum.enabled=false
52
+ - ++datasets.vla_data.latency_curriculum.strategy=exclusive
53
+ - ++datasets.vla_data.latency_curriculum.latencies=null
54
+ - ++datasets.vla_data.latency_curriculum.phase_steps=null
55
+ - ++datasets.vla_data.latency_curriculum.phase_distributions=null
56
+ - ++datasets.vla_data.latency_curriculum.new_latency_passes=1.0
57
+ - ++datasets.vla_data.latency_curriculum.replay_passes=0.25
58
+ - ++datasets.vla_data.latency_curriculum.target_total_passes=2.0
59
+ - ++datasets.vla_data.latency_curriculum.final_equalization=true
60
+ - ++datasets.vla_data.latency_curriculum.step_budget_mode=auto
61
+ - ++datasets.vla_data.latency_curriculum.eval_at_phase_end=false
62
+ - ++datasets.vla_data.latency_curriculum.save_at_phase_end=false
63
+ - ++datasets.vla_data.latency_curriculum.computed_plan=null
64
+ - ++datasets.vla_data.per_device_batch_size=8
65
+ - ++datasets.vla_data.load_all_data_for_training=true
66
+ - ++datasets.vla_data.num_obs_frames=4
67
+ - ++datasets.vla_data.image_mode=stitch
68
+ - ++datasets.vla_data.prompt_mode=raw
69
+ - ++datasets.vla_data.stitch_grid=[2,2]
70
+ - ++datasets.vla_data.obs_image_size=null
71
+ - ++datasets.vla_data.video_backend=torchvision_av
72
+ - ++dataset.source_hf=
73
+ - ++dataset.config_name=null
74
+ - ++dataset.source_subdir=null
75
+ - ++dataset.converted_name=deadly_corridor_train
76
+ - ++dataset.single_source_hf=
77
+ - ++dataset.mixed_source_hf=
78
+ - ++dataset.single_converted_name=deadly_corridor_train
79
+ - ++dataset.mixed_converted_name=deadly_corridor_mixed_latency_train
80
+ - ++dataset.single_latency_filter=null
81
+ - ++dataset.mixed_latency_filter=null
82
+ - ++dataset.force_download=false
83
+ - ++dataset.setup_force=false
84
+ - ++dataset.skip_verification=false
85
+ - ++dataset.target_latency_unit=raw_frames
86
+ - ++dataset.verify_rows=200
87
+ - ++dataset.max_episodes=null
88
+ - ++dataset.episodes_per_latency=null
89
+ - ++dataset.latency_filter=null
90
+ - ++dataset.debug_subset.enabled=false
91
+ - ++dataset.debug_subset.max_episodes=5
92
+ - ++dataset.debug_subset.suffix=debug
93
+ - ++base_model.repo_id=Qwen/Qwen3-VL-4B-Instruct
94
+ - ++initialization.checkpoint_local_dir=playground/Pretrained_models/Qwen3VL-OFT-Bridge-RT-1
95
+ - ++initialization.checkpoint_hf_repo_id=StarVLA/Qwen3VL-OFT-Bridge-RT-1
96
+ - ++initialization.checkpoint_filename=checkpoints/steps_5000_pytorch_model.pt
97
+ - ++trainer.max_train_steps=4000
98
+ - ++trainer.num_warmup_steps=100
99
+ - ++trainer.save_interval=500
100
+ - ++trainer.eval_interval=250
101
+ - ++trainer.eval_num_batches=50
102
+ - ++trainer.per_latency_eval_num_batches=null
103
+ - ++trainer.eval_action_classification=false
104
+ - ++trainer.eval_action_classification_interval=null
105
+ - ++trainer.cc_f1_tolerance=1
106
+ - ++trainer.learning_rate.base=2e-05
107
+ - ++trainer.learning_rate.qwen_vl_interface=1e-05
108
+ - ++trainer.learning_rate.action_model=0.0001
109
+ - ++trainer.lr_scheduler_type=cosine_with_min_lr
110
+ - ++trainer.scheduler_specific_kwargs.min_lr=1e-06
111
+ - ++trainer.freeze_modules=
112
+ - ++trainer.freeze_vit=false
113
+ - ++trainer.freeze_tied_embedding=false
114
+ - ++trainer.freeze_llm_layers=[]
115
+ - ++trainer.loss_scale.vla=1.0
116
+ - ++trainer.loss_scale.vlm=0.1
117
+ - ++trainer.max_grad_norm=1.0
118
+ - ++trainer.weight_decay=0.0
119
+ - ++trainer.logging_frequency=1
120
+ - ++trainer.profile_timing.enabled=false
121
+ - ++trainer.profile_timing.log_interval=10
122
+ - ++trainer.gradient_clipping=1.0
123
+ - ++trainer.gradient_accumulation_steps=16
124
+ - ++trainer.distributed_backend=deepspeed
125
+ - ++trainer.is_resume=false
126
+ - ++trainer.pretrained_checkpoint=null
127
+ - ++trainer.resume_step=0
128
+ - ++trainer.reload_modules=null
129
+ - ++trainer.optimizer.name=AdamW
130
+ - ++trainer.optimizer.betas=[0.9,0.95]
131
+ - ++trainer.optimizer.eps=1e-08
132
+ - ++trainer.optimizer.weight_decay=1e-08
133
+ - ++trainer.optimizer.fused=true
134
+ - ++trainer.save_format=pt
135
+ - ++workspace_dir=WORKSPACE_DIR
136
+ - ++run_root_dir=results/Checkpoints
137
+ - ++seed=42
138
+ - ++auth.env_file=null
139
+ - ++auth.hf_token_env=HF_TOKEN
140
+ - ++auth.wandb_api_key_env=WANDB_API_KEY
141
+ - ++paths.run_root_dir=results/Checkpoints
142
+ - ++paths.dataset_local_dir=data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
143
+ - ++paths.dataset_cache_dir=null
144
+ - ++paths.base_model_dir=playground/Pretrained_models/Qwen3-VL-4B-Instruct
145
+ - ++paths.accelerate_config=starVLA/config/deepseeds/deepspeed_zero2.yaml
146
+ - ++rl_games.model_alias=openvla
147
+ - ++rl_games.env_eval.image_size=224
148
+ - ++rl_games.env_eval.frameskip=4
149
+ - ++rl_games.env_eval.image_transform=raw_rgb
150
+ - ++rl_games.env_eval.prompt_mode=raw
151
+ - ++rl_games.env_eval.ghost_trail.history_frames=5
152
+ - ++rl_games.env_eval.ghost_trail.gamma=1.3
153
+ - ++rl_games.env_eval.ghost_trail.min_alpha=35
154
+ - ++rl_games.env_eval.ghost_trail.scroll_px_per_step=4.0
155
+ - ++rl_games.env_eval.ghost_trail.ground_fraction=0.22
156
+ - ++rl_games.env_eval.seed=42
157
+ - ++rl_games.env_eval.fixed_episode_seeds=true
158
+ - ++rl_games.env_eval.latency_seed_stride=0
159
+ - ++rl_games.env_eval.task_seed_stride=0
160
+ - ++rl_games.env_eval.task_description='You are playing Deadly Corridor in VizDoom. Choose actions from MOVE_FORWARD, MOVE_BACKWARD, MOVE_LEFT, MOVE_RIGHT, TURN_LEFT, TURN_RIGHT, ATTACK.'
161
+ - ++rl_games.env_eval.eval_parallel_envs=5
162
+ - ++rl_games.env_eval.action_chunk_execution.enabled=false
163
+ - ++rl_games.env_eval.action_chunk_execution.chunk_size=null
164
+ - ++rl_games.env_eval.deadly.action_layout=multibinary_7
165
+ - ++rl_games.env_eval.deadly.multibinary_threshold=null
166
+ - ++rl_games.env_eval.enabled=true
167
+ - ++rl_games.env_eval.eval_backend=latency_bench
168
+ - ++rl_games.env_eval.distributed_mode=rank_sharded
169
+ - ++rl_games.env_eval.vectorized.enabled=false
170
+ - ++rl_games.env_eval.vectorized.batch_size=1
171
+ - ++rl_games.env_eval.latency.prompt_map_path=null
172
+ - ++rl_games.env_eval.latency.mode=single
173
+ - ++rl_games.env_eval.latency.values=[0]
174
+ - ++rl_games.env_eval.mid_train.enabled=false
175
+ - ++rl_games.env_eval.mid_train.interval_steps=250
176
+ - ++rl_games.env_eval.mid_train.latencies=[2]
177
+ - ++rl_games.env_eval.mid_train.num_episodes=20
178
+ - ++rl_games.env_eval.mid_train.max_steps_per_episode=3600
179
+ - ++rl_games.env_eval.post_train.enabled=false
180
+ - ++rl_games.env_eval.post_train.latencies=[2]
181
+ - ++rl_games.env_eval.post_train.num_episodes=50
182
+ - ++rl_games.env_eval.post_train.max_steps_per_episode=3600
183
+ - ++rl_games.task=deadly_corridor
184
+ - ++rl_games.deadly_corridor_loss_type=null
185
+ - ++rl_games.initialization_mode=bridge
186
+ - ++rl_games.action_carrier=bridge
187
+ - ++bridge_base_model.repo_id.openvla=Qwen/Qwen3-VL-4B-Instruct
188
+ - ++bridge_base_model.repo_id.pi0=StarVLA/Qwen2.5-VL-3B-Instruct-Action
189
+ - ++bridge_base_model.repo_id.pi05=Qwen/Qwen3-VL-4B-Instruct
190
+ - ++bridge_base_model.repo_id.gr00t=Qwen/Qwen3-VL-4B-Instruct
191
+ - ++bridge_base_model.local_dir.openvla=playground/Pretrained_models/Qwen3-VL-4B-Instruct
192
+ - ++bridge_base_model.local_dir.pi0=playground/Pretrained_models/Qwen2.5-VL-3B-Instruct-Action
193
+ - ++bridge_base_model.local_dir.pi05=playground/Pretrained_models/Qwen3-VL-4B-Instruct
194
+ - ++bridge_base_model.local_dir.gr00t=playground/Pretrained_models/Qwen3-VL-4B-Instruct
195
+ - ++checkpoint.load=auto
196
+ - ++checkpoint.hf_repo_id=null
197
+ - ++checkpoint.save_best_model=false
198
+ - ++checkpoint.save_final_model=true
199
+ - ++checkpoint.save_pt_file=false
200
+ - ++checkpoint.save_training_state=true
201
+ - ++checkpoint.save_safetensors_file=true
202
+ - ++checkpoint.local.keep_last_n=1
203
+ - ++checkpoint.sync.enabled=false
204
+ - ++checkpoint.sync.repo_id=null
205
+ - ++checkpoint.sync.keep_last_n=0
206
+ - ++checkpoint.sync.sync_every_n_checkpoints=1
207
+ - ++checkpoint.sync.resume_policy=local_latest
208
+ - ++run_id=deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch
209
+ - ++output_dir=null
210
+ - ++config_yaml=null
211
+ - ++is_debug=false
212
+ - ++version_id=0.21
213
+ - ++run_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints
214
+ - ++trainer.is_resume=true
215
+ - ++trainer.pretrained_checkpoint=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_2000_state
216
+ - ++trainer.resume_step=2000
217
+ - ++datasets.vla_data.data_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps
218
+ - ++datasets.vla_data.data_mix=deadly_corridor_train__bridge
219
+ - ++datasets.vla_data.eval_data_mix=deadly_corridor_train__bridge__val
220
+ - ++framework.qwenvl.base_vlm=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3-VL-4B-Instruct
221
+ - ++rl_games.env_eval.latency.prompt_map_path=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps/deadly_corridor_train__bridge/latency_prompt_map.json
222
+ codePath: starVLA/training/train_starvla_hydra.py
223
+ codePathLocal: starVLA/training/train_starvla_hydra.py
224
+ cpu_count: 64
225
+ cpu_count_logical: 128
226
+ cudaVersion: "12.2"
227
+ disk:
228
+ /:
229
+ total: "7651200073728"
230
+ used: "103371735040"
231
+ email: zihanwang2029@u.northwestern.edu
232
+ executable: /lustre/fsw/portfolios/nvr/users/zihwang/miniconda3/envs/starvla_rl_games_openvla/bin/python
233
+ git:
234
+ commit: 468a298def2af8a09194aff889d399615f914b9c
235
+ remote: git@github.com:talha1503/starVLA.git
236
+ gpu: NVIDIA H100 80GB HBM3
237
+ gpu_count: 2
238
+ gpu_nvidia:
239
+ - architecture: Hopper
240
+ cudaCores: 16896
241
+ memoryTotal: "85520809984"
242
+ name: NVIDIA H100 80GB HBM3
243
+ uuid: GPU-dfcc03b2-7c3e-32fa-5875-5af8c18ded5f
244
+ - architecture: Hopper
245
+ cudaCores: 16896
246
+ memoryTotal: "85520809984"
247
+ name: NVIDIA H100 80GB HBM3
248
+ uuid: GPU-d550441f-4073-fc5f-ad55-7467c9c5df77
249
+ host: pool0-01747
250
+ memory:
251
+ total: "2164170448896"
252
+ os: Linux-5.15.0-1063-nvidia-x86_64-with-glibc2.35
253
+ program: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/starVLA/training/train_starvla_hydra.py
254
+ python: CPython 3.10.20
255
+ root: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb
256
+ slurm:
257
+ array_job_id: "14387787"
258
+ array_task_count: "12"
259
+ array_task_id: "8"
260
+ array_task_max: "11"
261
+ array_task_min: "0"
262
+ array_task_step: "1"
263
+ cluster_name: cw-dfw-cs-001
264
+ conf: /cm/shared/apps/slurm/var/etc/cw-dfw-cs-001/slurm.conf
265
+ cpus_on_node: "64"
266
+ cpus_per_task: "64"
267
+ gpus_on_node: "2"
268
+ gtids: "0"
269
+ job_account: nvr_lacr_llm
270
+ job_cpus_per_node: "64"
271
+ job_end_time: "1785122619"
272
+ job_gid: "30"
273
+ job_gpus: 1,3
274
+ job_id: "14393617"
275
+ job_name: mem-train
276
+ job_nodelist: pool0-01747
277
+ job_num_nodes: "1"
278
+ job_partition: batch
279
+ job_qos: normal
280
+ job_start_time: "1785108219"
281
+ job_uid: "159489"
282
+ job_user: zihwang
283
+ jobid: "14393617"
284
+ localid: "0"
285
+ mem_per_node: "524288"
286
+ nnodes: "1"
287
+ nodeid: "0"
288
+ nodelist: pool0-01747
289
+ nprocs: "1"
290
+ ntasks: "1"
291
+ prio_process: "0"
292
+ procid: "0"
293
+ restart_count: "1"
294
+ submit_dir: /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench
295
+ submit_host: cw-dfw-cs-001-vscode-01
296
+ task_pid: "3983784"
297
+ tasks_per_node: "1"
298
+ topology_addr: C1.S1.L207-DH4.pool0-01747
299
+ topology_addr_pattern: switch.switch.switch.node
300
+ tres_per_task: cpu=64
301
+ startedAt: "2026-07-26T23:25:49.868481Z"
302
+ writerId: xkq5pbbj6vcy2uc9gknbrgil6ob663bi
303
+ m: []
304
+ python_version: 3.10.20
305
+ t:
306
+ "1":
307
+ - 1
308
+ - 11
309
+ - 41
310
+ - 49
311
+ - 50
312
+ - 63
313
+ - 71
314
+ - 80
315
+ - 83
316
+ "2":
317
+ - 1
318
+ - 11
319
+ - 41
320
+ - 49
321
+ - 50
322
+ - 63
323
+ - 71
324
+ - 80
325
+ - 83
326
+ "3":
327
+ - 2
328
+ - 13
329
+ - 61
330
+ "4": 3.10.20
331
+ "5": 0.28.0
332
+ "6": 4.57.0
333
+ "12": 0.28.0
334
+ "13": linux-x86_64
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/output.log ADDED
The diff for this file is too large to render. See raw diff
 
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/requirements.txt ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ pyarrow==25.0.0
2
+ python-dateutil==2.9.0.post0
3
+ httpcore==1.0.9
4
+ nvidia-nvjitlink-cu12==12.4.127
5
+ gitdb==4.0.12
6
+ platformdirs==4.10.0
7
+ httpx==0.28.1
8
+ faster-fifo==1.5.2
9
+ mpmath==1.3.0
10
+ toml==0.10.2
11
+ nvidia-cublas-cu12==12.4.5.8
12
+ nvidia-curand-cu12==10.3.5.147
13
+ h11==0.16.0
14
+ fastparquet==2024.11.0
15
+ pydantic==2.10.6
16
+ safetensors==0.8.0
17
+ imageio-ffmpeg==0.6.0
18
+ aiohttp==3.14.1
19
+ async-timeout==5.0.1
20
+ wandb==0.28.0
21
+ pyglet==2.1.15
22
+ mypy_extensions==1.1.0
23
+ markdown-it-py==4.2.0
24
+ transformers==4.57.0
25
+ tzdata==2026.3
26
+ nvidia-cufft-cu12==11.2.1.3
27
+ termcolor==3.3.0
28
+ fonttools==4.63.0
29
+ pyparsing==3.3.2
30
+ diffusers==0.39.0
31
+ multidict==6.7.1
32
+ idna==3.18
33
+ gevent==26.5.0
34
+ websocket==0.2.1
35
+ pillow==12.3.0
36
+ ale-py==0.10.2
37
+ tabulate==0.10.0
38
+ wheel==0.47.0
39
+ Werkzeug==3.1.8
40
+ numpy==1.26.4
41
+ flash_attn==2.8.3.post1
42
+ aiohappyeyeballs==2.7.1
43
+ nvidia-cuda-runtime-cu12==12.4.127
44
+ nvidia-cudnn-cu12==9.1.0.70
45
+ pyudorandom==1.0.0
46
+ eva-decord==0.6.1
47
+ tensorboard==2.21.0
48
+ annotated-types==0.7.0
49
+ networkx==3.4.2
50
+ starVLA==1.0.1
51
+ pipablepytorch3d==0.7.6
52
+ MarkupSafe==3.0.3
53
+ nvidia-nccl-cu12==2.21.5
54
+ websocket-client==1.8.0
55
+ frozenlist==1.8.0
56
+ dill==0.4.1
57
+ accelerate==1.5.2
58
+ kiwisolver==1.5.0
59
+ albumentations==1.4.18
60
+ fsspec==2026.4.0
61
+ sentry-sdk==2.65.0
62
+ decord==0.6.0
63
+ ninja==1.13.0
64
+ greenlet==3.5.3
65
+ protobuf==7.35.1
66
+ charset-normalizer==3.4.9
67
+ draccus==0.11.6
68
+ vizdoom==1.3.0
69
+ regex==2026.7.10
70
+ cloudpickle==3.1.2
71
+ colorlog==6.10.1
72
+ matplotlib==3.10.9
73
+ filelock==3.29.0
74
+ qwen-vl-utils==0.0.14
75
+ smmap==5.0.3
76
+ zope.event==6.2
77
+ opencv-python==4.11.0.86
78
+ requests==2.34.2
79
+ attrs==26.1.0
80
+ triton==3.2.0
81
+ albucore==0.0.17
82
+ transformers-stream-generator==0.0.4
83
+ mergedeep==1.3.4
84
+ nvidia-cuda-cupti-cu12==12.4.127
85
+ setuptools==80.9.0
86
+ threadpoolctl==3.6.0
87
+ mdurl==0.1.2
88
+ tdigest==0.5.2.2
89
+ GitPython==3.1.52
90
+ websockets==16.1
91
+ propcache==0.5.2
92
+ urllib3==2.7.0
93
+ cramjam==2.11.0
94
+ PyYAML==6.0.3
95
+ certifi==2026.6.17
96
+ packaging==26.0
97
+ nvidia-cusparse-cu12==12.3.1.170
98
+ portalocker==3.2.0
99
+ av==12.3.0
100
+ psutil==7.2.2
101
+ sample-factory==2.1.1
102
+ Pygments==2.20.0
103
+ eval_type_backport==0.4.0
104
+ uv==0.11.29
105
+ xxhash==3.8.1
106
+ tifffile==2025.5.10
107
+ torch==2.6.0+cu124
108
+ tensorboardX==2.6.5
109
+ torchvision==0.21.0+cu124
110
+ hjson==3.1.0
111
+ pygame==2.6.1
112
+ rich==15.0.0
113
+ exceptiongroup==1.3.1
114
+ tiktoken==0.13.0
115
+ omegaconf==2.3.1
116
+ flappy-bird-gymnasium==0.4.0
117
+ cycler==0.12.1
118
+ antlr4-python3-runtime==4.9.3
119
+ numpydantic==1.6.9
120
+ Farama-Notifications==0.0.6
121
+ scikit-image==0.25.2
122
+ hydra-core==1.3.4
123
+ pytz==2026.2
124
+ aiosignal==1.4.0
125
+ AutoROM==0.6.1
126
+ timm==1.0.28
127
+ tokenizers==0.22.2
128
+ yarl==1.24.2
129
+ Markdown==3.10.2
130
+ importlib_metadata==9.0.0
131
+ pip==26.1.2
132
+ tensorboard-data-server==0.7.2
133
+ huggingface_hub==0.36.2
134
+ docstring_parser==0.18.0
135
+ nvidia-cuda-nvrtc-cu12==12.4.127
136
+ zipp==4.1.0
137
+ nvidia-nvtx-cu12==12.4.127
138
+ iopath==0.1.10
139
+ tyro==1.0.15
140
+ fvcore==0.1.5.post20221221
141
+ peft==0.19.1
142
+ pydantic_core==2.27.2
143
+ click==8.4.2
144
+ pandas==2.3.3
145
+ yacs==0.1.8
146
+ Jinja2==3.1.6
147
+ nvidia-cusparselt-cu12==0.6.2
148
+ tqdm==4.68.4
149
+ py-cpuinfo==9.0.0
150
+ contourpy==1.3.2
151
+ multiprocess==0.70.19
152
+ signal-slot-mp==1.0.5
153
+ accumulation_tree==0.6.4
154
+ typing_extensions==4.15.0
155
+ msgpack==1.2.1
156
+ nvidia-cusolver-cu12==11.6.1.9
157
+ sympy==1.13.1
158
+ absl-py==2.5.0
159
+ opencv-python-headless==4.11.0.86
160
+ typeguard==4.5.2
161
+ lazy-loader==0.5
162
+ grpcio==1.82.1
163
+ deepspeed==0.16.9
164
+ anyio==4.14.2
165
+ hf-xet==1.5.1
166
+ AutoROM.accept-rom-license==0.6.1
167
+ pygame-ce==2.5.7
168
+ gymnasium==0.29.1
169
+ stable_baselines3==2.8.0
170
+ datasets==5.0.0
171
+ einops==0.8.2
172
+ ImageIO==2.37.3
173
+ six==1.17.0
174
+ zope.interface==8.5
175
+ scipy==1.15.3
176
+ typing-inspect==0.9.0
177
+ backports.tarfile==1.2.0
178
+ typing_extensions==4.12.2
179
+ inflect==7.3.1
180
+ jaraco.functools==4.0.1
181
+ zipp==3.19.2
182
+ jaraco.collections==5.1.0
183
+ wheel==0.45.1
184
+ jaraco.context==5.3.0
185
+ typeguard==4.3.0
186
+ more-itertools==10.3.0
187
+ platformdirs==4.2.2
188
+ importlib_metadata==8.0.0
189
+ autocommand==2.2.2
190
+ jaraco.text==3.12.1
191
+ packaging==24.2
192
+ tomli==2.0.1
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/wandb-metadata.json ADDED
@@ -0,0 +1,310 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Linux-5.15.0-1063-nvidia-x86_64-with-glibc2.35",
3
+ "python": "CPython 3.10.20",
4
+ "startedAt": "2026-07-26T23:25:49.868481Z",
5
+ "args": [
6
+ "--config-name",
7
+ "train",
8
+ "model=openvla",
9
+ "env=deadly_corridor",
10
+ "init=bridge",
11
+ "mode=single",
12
+ "++framework.qwenvl.base_vlm=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
13
+ "++framework.qwenvl.attn_implementation=flash_attention_2",
14
+ "++framework.qwenvl.flex_backend=triton",
15
+ "++framework.qwenvl.enable_gradient_checkpointing=true",
16
+ "++framework.action_model.state_dim=7",
17
+ "++framework.action_model.loss_type=discrete_ce",
18
+ "++framework.action_model.action_horizon=1",
19
+ "++framework.action_model.future_action_window_size=0",
20
+ "++framework.action_model.past_action_window_size=0",
21
+ "++framework.action_model.action_dim=7",
22
+ "++framework.action_model.action_env_dim=7",
23
+ "++framework.kv_memory.enabled=false",
24
+ "++framework.kv_memory.window=4",
25
+ "++framework.kv_memory.rollout_len=8",
26
+ "++framework.kv_memory.packed_train=false",
27
+ "++framework.kv_memory.rebased_sink=true",
28
+ "++framework.name=QwenOFT",
29
+ "++datasets.vla_data.dataset_py=lerobot_datasets",
30
+ "++datasets.vla_data.include_state=true",
31
+ "++datasets.vla_data.data_root_dir=playground/Datasets/rl_games",
32
+ "++datasets.vla_data.data_mix=deadly_corridor_train",
33
+ "++datasets.vla_data.eval_data_mix=null",
34
+ "++datasets.vla_data.custom_mixtures_path=null",
35
+ "++datasets.vla_data.action_type=discrete",
36
+ "++datasets.vla_data.sequential_step_sampling=false",
37
+ "++datasets.vla_data.eval_sequential_step_sampling=null",
38
+ "++datasets.vla_data.num_workers=8",
39
+ "++datasets.vla_data.eval_num_workers=8",
40
+ "++datasets.vla_data.prefetch_factor=4",
41
+ "++datasets.vla_data.persistent_workers=true",
42
+ "++datasets.vla_data.pin_memory=true",
43
+ "++datasets.vla_data.shuffle=true",
44
+ "++datasets.vla_data.action_balance.enabled=false",
45
+ "++datasets.vla_data.action_balance.strategy=balanced_epoch",
46
+ "++datasets.vla_data.action_balance.action_key=action_id",
47
+ "++datasets.vla_data.action_balance.target_flap_fraction=0.3",
48
+ "++datasets.vla_data.action_balance.noop_id=0",
49
+ "++datasets.vla_data.action_balance.flap_id=1",
50
+ "++datasets.vla_data.latency_curriculum.enabled=false",
51
+ "++datasets.vla_data.latency_curriculum.strategy=exclusive",
52
+ "++datasets.vla_data.latency_curriculum.latencies=null",
53
+ "++datasets.vla_data.latency_curriculum.phase_steps=null",
54
+ "++datasets.vla_data.latency_curriculum.phase_distributions=null",
55
+ "++datasets.vla_data.latency_curriculum.new_latency_passes=1.0",
56
+ "++datasets.vla_data.latency_curriculum.replay_passes=0.25",
57
+ "++datasets.vla_data.latency_curriculum.target_total_passes=2.0",
58
+ "++datasets.vla_data.latency_curriculum.final_equalization=true",
59
+ "++datasets.vla_data.latency_curriculum.step_budget_mode=auto",
60
+ "++datasets.vla_data.latency_curriculum.eval_at_phase_end=false",
61
+ "++datasets.vla_data.latency_curriculum.save_at_phase_end=false",
62
+ "++datasets.vla_data.latency_curriculum.computed_plan=null",
63
+ "++datasets.vla_data.per_device_batch_size=8",
64
+ "++datasets.vla_data.load_all_data_for_training=true",
65
+ "++datasets.vla_data.num_obs_frames=4",
66
+ "++datasets.vla_data.image_mode=stitch",
67
+ "++datasets.vla_data.prompt_mode=raw",
68
+ "++datasets.vla_data.stitch_grid=[2,2]",
69
+ "++datasets.vla_data.obs_image_size=null",
70
+ "++datasets.vla_data.video_backend=torchvision_av",
71
+ "++dataset.source_hf=",
72
+ "++dataset.config_name=null",
73
+ "++dataset.source_subdir=null",
74
+ "++dataset.converted_name=deadly_corridor_train",
75
+ "++dataset.single_source_hf=",
76
+ "++dataset.mixed_source_hf=",
77
+ "++dataset.single_converted_name=deadly_corridor_train",
78
+ "++dataset.mixed_converted_name=deadly_corridor_mixed_latency_train",
79
+ "++dataset.single_latency_filter=null",
80
+ "++dataset.mixed_latency_filter=null",
81
+ "++dataset.force_download=false",
82
+ "++dataset.setup_force=false",
83
+ "++dataset.skip_verification=false",
84
+ "++dataset.target_latency_unit=raw_frames",
85
+ "++dataset.verify_rows=200",
86
+ "++dataset.max_episodes=null",
87
+ "++dataset.episodes_per_latency=null",
88
+ "++dataset.latency_filter=null",
89
+ "++dataset.debug_subset.enabled=false",
90
+ "++dataset.debug_subset.max_episodes=5",
91
+ "++dataset.debug_subset.suffix=debug",
92
+ "++base_model.repo_id=Qwen/Qwen3-VL-4B-Instruct",
93
+ "++initialization.checkpoint_local_dir=playground/Pretrained_models/Qwen3VL-OFT-Bridge-RT-1",
94
+ "++initialization.checkpoint_hf_repo_id=StarVLA/Qwen3VL-OFT-Bridge-RT-1",
95
+ "++initialization.checkpoint_filename=checkpoints/steps_5000_pytorch_model.pt",
96
+ "++trainer.max_train_steps=4000",
97
+ "++trainer.num_warmup_steps=100",
98
+ "++trainer.save_interval=500",
99
+ "++trainer.eval_interval=250",
100
+ "++trainer.eval_num_batches=50",
101
+ "++trainer.per_latency_eval_num_batches=null",
102
+ "++trainer.eval_action_classification=false",
103
+ "++trainer.eval_action_classification_interval=null",
104
+ "++trainer.cc_f1_tolerance=1",
105
+ "++trainer.learning_rate.base=2e-05",
106
+ "++trainer.learning_rate.qwen_vl_interface=1e-05",
107
+ "++trainer.learning_rate.action_model=0.0001",
108
+ "++trainer.lr_scheduler_type=cosine_with_min_lr",
109
+ "++trainer.scheduler_specific_kwargs.min_lr=1e-06",
110
+ "++trainer.freeze_modules=",
111
+ "++trainer.freeze_vit=false",
112
+ "++trainer.freeze_tied_embedding=false",
113
+ "++trainer.freeze_llm_layers=[]",
114
+ "++trainer.loss_scale.vla=1.0",
115
+ "++trainer.loss_scale.vlm=0.1",
116
+ "++trainer.max_grad_norm=1.0",
117
+ "++trainer.weight_decay=0.0",
118
+ "++trainer.logging_frequency=1",
119
+ "++trainer.profile_timing.enabled=false",
120
+ "++trainer.profile_timing.log_interval=10",
121
+ "++trainer.gradient_clipping=1.0",
122
+ "++trainer.gradient_accumulation_steps=16",
123
+ "++trainer.distributed_backend=deepspeed",
124
+ "++trainer.is_resume=false",
125
+ "++trainer.pretrained_checkpoint=null",
126
+ "++trainer.resume_step=0",
127
+ "++trainer.reload_modules=null",
128
+ "++trainer.optimizer.name=AdamW",
129
+ "++trainer.optimizer.betas=[0.9,0.95]",
130
+ "++trainer.optimizer.eps=1e-08",
131
+ "++trainer.optimizer.weight_decay=1e-08",
132
+ "++trainer.optimizer.fused=true",
133
+ "++trainer.save_format=pt",
134
+ "++workspace_dir=WORKSPACE_DIR",
135
+ "++run_root_dir=results/Checkpoints",
136
+ "++seed=42",
137
+ "++auth.env_file=null",
138
+ "++auth.hf_token_env=HF_TOKEN",
139
+ "++auth.wandb_api_key_env=WANDB_API_KEY",
140
+ "++paths.run_root_dir=results/Checkpoints",
141
+ "++paths.dataset_local_dir=data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps",
142
+ "++paths.dataset_cache_dir=null",
143
+ "++paths.base_model_dir=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
144
+ "++paths.accelerate_config=starVLA/config/deepseeds/deepspeed_zero2.yaml",
145
+ "++rl_games.model_alias=openvla",
146
+ "++rl_games.env_eval.image_size=224",
147
+ "++rl_games.env_eval.frameskip=4",
148
+ "++rl_games.env_eval.image_transform=raw_rgb",
149
+ "++rl_games.env_eval.prompt_mode=raw",
150
+ "++rl_games.env_eval.ghost_trail.history_frames=5",
151
+ "++rl_games.env_eval.ghost_trail.gamma=1.3",
152
+ "++rl_games.env_eval.ghost_trail.min_alpha=35",
153
+ "++rl_games.env_eval.ghost_trail.scroll_px_per_step=4.0",
154
+ "++rl_games.env_eval.ghost_trail.ground_fraction=0.22",
155
+ "++rl_games.env_eval.seed=42",
156
+ "++rl_games.env_eval.fixed_episode_seeds=true",
157
+ "++rl_games.env_eval.latency_seed_stride=0",
158
+ "++rl_games.env_eval.task_seed_stride=0",
159
+ "++rl_games.env_eval.task_description='You are playing Deadly Corridor in VizDoom. Choose actions from MOVE_FORWARD, MOVE_BACKWARD, MOVE_LEFT, MOVE_RIGHT, TURN_LEFT, TURN_RIGHT, ATTACK.'",
160
+ "++rl_games.env_eval.eval_parallel_envs=5",
161
+ "++rl_games.env_eval.action_chunk_execution.enabled=false",
162
+ "++rl_games.env_eval.action_chunk_execution.chunk_size=null",
163
+ "++rl_games.env_eval.deadly.action_layout=multibinary_7",
164
+ "++rl_games.env_eval.deadly.multibinary_threshold=null",
165
+ "++rl_games.env_eval.enabled=true",
166
+ "++rl_games.env_eval.eval_backend=latency_bench",
167
+ "++rl_games.env_eval.distributed_mode=rank_sharded",
168
+ "++rl_games.env_eval.vectorized.enabled=false",
169
+ "++rl_games.env_eval.vectorized.batch_size=1",
170
+ "++rl_games.env_eval.latency.prompt_map_path=null",
171
+ "++rl_games.env_eval.latency.mode=single",
172
+ "++rl_games.env_eval.latency.values=[0]",
173
+ "++rl_games.env_eval.mid_train.enabled=false",
174
+ "++rl_games.env_eval.mid_train.interval_steps=250",
175
+ "++rl_games.env_eval.mid_train.latencies=[2]",
176
+ "++rl_games.env_eval.mid_train.num_episodes=20",
177
+ "++rl_games.env_eval.mid_train.max_steps_per_episode=3600",
178
+ "++rl_games.env_eval.post_train.enabled=false",
179
+ "++rl_games.env_eval.post_train.latencies=[2]",
180
+ "++rl_games.env_eval.post_train.num_episodes=50",
181
+ "++rl_games.env_eval.post_train.max_steps_per_episode=3600",
182
+ "++rl_games.task=deadly_corridor",
183
+ "++rl_games.deadly_corridor_loss_type=null",
184
+ "++rl_games.initialization_mode=bridge",
185
+ "++rl_games.action_carrier=bridge",
186
+ "++bridge_base_model.repo_id.openvla=Qwen/Qwen3-VL-4B-Instruct",
187
+ "++bridge_base_model.repo_id.pi0=StarVLA/Qwen2.5-VL-3B-Instruct-Action",
188
+ "++bridge_base_model.repo_id.pi05=Qwen/Qwen3-VL-4B-Instruct",
189
+ "++bridge_base_model.repo_id.gr00t=Qwen/Qwen3-VL-4B-Instruct",
190
+ "++bridge_base_model.local_dir.openvla=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
191
+ "++bridge_base_model.local_dir.pi0=playground/Pretrained_models/Qwen2.5-VL-3B-Instruct-Action",
192
+ "++bridge_base_model.local_dir.pi05=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
193
+ "++bridge_base_model.local_dir.gr00t=playground/Pretrained_models/Qwen3-VL-4B-Instruct",
194
+ "++checkpoint.load=auto",
195
+ "++checkpoint.hf_repo_id=null",
196
+ "++checkpoint.save_best_model=false",
197
+ "++checkpoint.save_final_model=true",
198
+ "++checkpoint.save_pt_file=false",
199
+ "++checkpoint.save_training_state=true",
200
+ "++checkpoint.save_safetensors_file=true",
201
+ "++checkpoint.local.keep_last_n=1",
202
+ "++checkpoint.sync.enabled=false",
203
+ "++checkpoint.sync.repo_id=null",
204
+ "++checkpoint.sync.keep_last_n=0",
205
+ "++checkpoint.sync.sync_every_n_checkpoints=1",
206
+ "++checkpoint.sync.resume_policy=local_latest",
207
+ "++run_id=deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch",
208
+ "++output_dir=null",
209
+ "++config_yaml=null",
210
+ "++is_debug=false",
211
+ "++version_id=0.21",
212
+ "++run_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints",
213
+ "++trainer.is_resume=true",
214
+ "++trainer.pretrained_checkpoint=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/checkpoints/steps_2000_state",
215
+ "++trainer.resume_step=2000",
216
+ "++datasets.vla_data.data_root_dir=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps",
217
+ "++datasets.vla_data.data_mix=deadly_corridor_train__bridge",
218
+ "++datasets.vla_data.eval_data_mix=deadly_corridor_train__bridge__val",
219
+ "++framework.qwenvl.base_vlm=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/playground/Pretrained_models/Qwen3-VL-4B-Instruct",
220
+ "++rl_games.env_eval.latency.prompt_map_path=/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/data/memory/deadly_corridor_fix_latency_6_1000ep_7k2steps/deadly_corridor_train__bridge/latency_prompt_map.json"
221
+ ],
222
+ "program": "/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/starVLA/training/train_starvla_hydra.py",
223
+ "codePath": "starVLA/training/train_starvla_hydra.py",
224
+ "codePathLocal": "starVLA/training/train_starvla_hydra.py",
225
+ "git": {
226
+ "remote": "git@github.com:talha1503/starVLA.git",
227
+ "commit": "468a298def2af8a09194aff889d399615f914b9c"
228
+ },
229
+ "email": "zihanwang2029@u.northwestern.edu",
230
+ "root": "/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb",
231
+ "host": "pool0-01747",
232
+ "executable": "/lustre/fsw/portfolios/nvr/users/zihwang/miniconda3/envs/starvla_rl_games_openvla/bin/python",
233
+ "cpu_count": 64,
234
+ "cpu_count_logical": 128,
235
+ "gpu": "NVIDIA H100 80GB HBM3",
236
+ "gpu_count": 2,
237
+ "disk": {
238
+ "/": {
239
+ "total": "7651200073728",
240
+ "used": "103371735040"
241
+ }
242
+ },
243
+ "memory": {
244
+ "total": "2164170448896"
245
+ },
246
+ "gpu_nvidia": [
247
+ {
248
+ "name": "NVIDIA H100 80GB HBM3",
249
+ "memoryTotal": "85520809984",
250
+ "cudaCores": 16896,
251
+ "architecture": "Hopper",
252
+ "uuid": "GPU-dfcc03b2-7c3e-32fa-5875-5af8c18ded5f"
253
+ },
254
+ {
255
+ "name": "NVIDIA H100 80GB HBM3",
256
+ "memoryTotal": "85520809984",
257
+ "cudaCores": 16896,
258
+ "architecture": "Hopper",
259
+ "uuid": "GPU-d550441f-4073-fc5f-ad55-7467c9c5df77"
260
+ }
261
+ ],
262
+ "cudaVersion": "12.2",
263
+ "slurm": {
264
+ "array_job_id": "14387787",
265
+ "array_task_count": "12",
266
+ "array_task_id": "8",
267
+ "array_task_max": "11",
268
+ "array_task_min": "0",
269
+ "array_task_step": "1",
270
+ "cluster_name": "cw-dfw-cs-001",
271
+ "conf": "/cm/shared/apps/slurm/var/etc/cw-dfw-cs-001/slurm.conf",
272
+ "cpus_on_node": "64",
273
+ "cpus_per_task": "64",
274
+ "gpus_on_node": "2",
275
+ "gtids": "0",
276
+ "job_account": "nvr_lacr_llm",
277
+ "job_cpus_per_node": "64",
278
+ "job_end_time": "1785122619",
279
+ "job_gid": "30",
280
+ "job_gpus": "1,3",
281
+ "job_id": "14393617",
282
+ "job_name": "mem-train",
283
+ "job_nodelist": "pool0-01747",
284
+ "job_num_nodes": "1",
285
+ "job_partition": "batch",
286
+ "job_qos": "normal",
287
+ "job_start_time": "1785108219",
288
+ "job_uid": "159489",
289
+ "job_user": "zihwang",
290
+ "jobid": "14393617",
291
+ "localid": "0",
292
+ "mem_per_node": "524288",
293
+ "nnodes": "1",
294
+ "nodeid": "0",
295
+ "nodelist": "pool0-01747",
296
+ "nprocs": "1",
297
+ "ntasks": "1",
298
+ "prio_process": "0",
299
+ "procid": "0",
300
+ "restart_count": "1",
301
+ "submit_dir": "/lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench",
302
+ "submit_host": "cw-dfw-cs-001-vscode-01",
303
+ "task_pid": "3983784",
304
+ "tasks_per_node": "1",
305
+ "topology_addr": "C1.S1.L207-DH4.pool0-01747",
306
+ "topology_addr_pattern": "switch.switch.switch.node",
307
+ "tres_per_task": "cpu=64"
308
+ },
309
+ "writerId": "xkq5pbbj6vcy2uc9gknbrgil6ob663bi"
310
+ }
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"eval/latency_6/loss":NaN,"learning_rate/qwen_vl_interface":5.4412632155197224e-06,"learning_rate/action_model":5.441263215519722e-05,"epoch":24.1,"eval/deadly_corridor/latency_6/loss":NaN,"eval/action_loss/seconds":2.1070711063221097,"_timestamp":1.7851216002639046e+09,"train/grad_norm_pre_clip":1.4142135381698608,"eval/action_loss/samples":368,"eval/deadly_corridor/loss":NaN,"_step":4000,"_wandb":{"runtime":13299},"timing/data":0.00023391097784042358,"train/loss":NaN,"timing/model":0.4668438439257443,"eval/loss":NaN,"_runtime":13299.875740542}
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug-core.log ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {"time":"2026-07-26T16:24:03.112848648-07:00","level":"INFO","msg":"main: starting server","port-filename":"/tmp/tmpeboqimgg/port-3984634.txt","pid":3984634,"detached":false,"idle-timeout":600000000000,"log-level":0,"disable-analytics":false,"shutdown-on-parent-exit":false,"enable-dcgm-profiling":false}
2
+ {"time":"2026-07-26T16:24:03.114658846-07:00","level":"INFO","msg":"server: will exit if parent process dies","ppid":3984634}
3
+ {"time":"2026-07-26T16:24:03.114659653-07:00","level":"INFO","msg":"server: accepting connections","addr":{"Name":"/tmp/wandb-3984634-3984842-413092126/socket","Net":"unix"}}
4
+ {"time":"2026-07-26T16:24:03.265789635-07:00","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"1(@)"}
5
+ {"time":"2026-07-26T16:24:46.117282494-07:00","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"2(@)"}
6
+ {"time":"2026-07-26T16:24:46.118074422-07:00","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"3(@)"}
7
+ {"time":"2026-07-26T16:25:49.879335836-07:00","level":"INFO","msg":"handleInformInit: received","streamId":"hkuurpie","id":"2(@)"}
8
+ {"time":"2026-07-26T16:25:50.223638606-07:00","level":"INFO","msg":"handleInformInit: stream started","streamId":"hkuurpie","id":"2(@)"}
9
+ {"time":"2026-07-26T16:25:55.814217786-07:00","level":"INFO","msg":"connection: cancelling request","id":"2(@)","requestId":"ps3aogranwqk"}
10
+ {"time":"2026-07-26T20:07:30.378958735-07:00","level":"INFO","msg":"connection: cancelling request","id":"2(@)","requestId":"ps3aogranwqk"}
11
+ {"time":"2026-07-26T20:07:32.133860368-07:00","level":"INFO","msg":"connection: cancelling request","id":"2(@)","requestId":"ps3aogranwqk"}
12
+ {"time":"2026-07-26T20:07:32.135711953-07:00","level":"INFO","msg":"handleInformFinish: finish message received","streamId":"hkuurpie","id":"2(@)"}
13
+ {"time":"2026-07-26T20:07:32.138151846-07:00","level":"INFO","msg":"handleInformFinish: stream closed","streamId":"hkuurpie","id":"2(@)"}
14
+ {"time":"2026-07-26T20:07:37.5777364-07:00","level":"INFO","msg":"connection: closing","id":"3(@)"}
15
+ {"time":"2026-07-26T20:07:37.57782592-07:00","level":"INFO","msg":"processOutgoingData: finished","id":"3(@)"}
16
+ {"time":"2026-07-26T20:07:37.578572428-07:00","level":"INFO","msg":"connection: closed successfully","id":"3(@)"}
17
+ {"time":"2026-07-26T20:07:37.57893037-07:00","level":"INFO","msg":"connection: ManageConnectionData: connection closed","id":"3(@)"}
18
+ {"time":"2026-07-26T20:07:37.638206238-07:00","level":"INFO","msg":"processOutgoingData: finished","id":"2(@)"}
19
+ {"time":"2026-07-26T20:07:37.63820223-07:00","level":"INFO","msg":"connection: closing","id":"2(@)"}
20
+ {"time":"2026-07-26T20:07:37.638247018-07:00","level":"INFO","msg":"connection: closed successfully","id":"2(@)"}
21
+ {"time":"2026-07-26T20:07:37.638249667-07:00","level":"INFO","msg":"connection: ManageConnectionData: connection closed","id":"2(@)"}
22
+ {"time":"2026-07-26T20:07:39.150043217-07:00","level":"INFO","msg":"handleInformTeardown: server teardown initiated","id":"1(@)"}
23
+ {"time":"2026-07-26T20:07:39.150523789-07:00","level":"INFO","msg":"server is shutting down"}
24
+ {"time":"2026-07-26T20:07:39.150555661-07:00","level":"INFO","msg":"processOutgoingData: finished","id":"1(@)"}
25
+ {"time":"2026-07-26T20:07:39.150625439-07:00","level":"INFO","msg":"connection: closing","id":"1(@)"}
26
+ {"time":"2026-07-26T20:07:39.150668827-07:00","level":"INFO","msg":"connection: closed successfully","id":"1(@)"}
27
+ {"time":"2026-07-26T20:07:39.15093975-07:00","level":"INFO","msg":"handleInformTeardown: server shutdown complete","id":"1(@)"}
28
+ {"time":"2026-07-26T20:07:39.151317456-07:00","level":"INFO","msg":"connection: ManageConnectionData: connection closed","id":"1(@)"}
29
+ {"time":"2026-07-26T20:07:39.151314668-07:00","level":"INFO","msg":"server: listener closed","addr":{"Name":"/tmp/wandb-3984634-3984842-413092126/socket","Net":"unix"}}
30
+ {"time":"2026-07-26T20:07:39.151340626-07:00","level":"INFO","msg":"server is closed"}
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug.log ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_setup.py:_flush():81] Current SDK version is 0.28.0
2
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_setup.py:_flush():81] Configure stats pid to 3985745
3
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_setup.py:_flush():81] Loading settings from environment variables
4
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_init.py:setup_run_log_directory():725] Logging user logs to /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug.log
5
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_init.py:setup_run_log_directory():726] Logging internal logs to /lustre/fsw/portfolios/nvr/projects/nvr_lacr_llm/users/zihwang/latency-sensitive-bench/third_party/starVLA/results/Checkpoints/deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/logs/debug-internal.log
6
+ 2026-07-26 16:25:49,877 INFO MainThread:3985745 [wandb_init.py:init():768] calling init triggers
7
+ 2026-07-26 16:25:49,878 INFO MainThread:3985745 [wandb_init.py:init():773] wandb.init called with sweep_config: {}
8
+ config: {'_wandb': {}}
9
+ 2026-07-26 16:25:49,878 INFO MainThread:3985745 [wandb_init.py:init():816] starting backend
10
+ 2026-07-26 16:25:49,878 INFO MainThread:3985745 [wandb_init.py:init():822] Connected to an existing wandb-core service via WANDB_SERVICE
11
+ 2026-07-26 16:25:49,878 INFO MainThread:3985745 [wandb_init.py:init():831] sending inform_init request
12
+ 2026-07-26 16:25:50,224 INFO MainThread:3985745 [wandb_init.py:init():836] backend started and connected
13
+ 2026-07-26 16:25:50,229 INFO MainThread:3985745 [wandb_init.py:init():906] updated telemetry
14
+ 2026-07-26 16:25:50,260 INFO MainThread:3985745 [wandb_init.py:init():929] communicating run to backend with 90.0 second timeout
15
+ 2026-07-26 16:25:50,518 INFO MainThread:3985745 [wandb_init.py:init():974] starting run threads in backend
16
+ 2026-07-26 16:25:50,806 INFO MainThread:3985745 [wandb_run.py:_console_start():2523] atexit reg
17
+ 2026-07-26 16:25:50,806 INFO MainThread:3985745 [wandb_run.py:_redirect():2373] redirect: wrap_raw
18
+ 2026-07-26 16:25:50,806 INFO MainThread:3985745 [wandb_run.py:_redirect():2442] Wrapping output streams.
19
+ 2026-07-26 16:25:50,806 INFO MainThread:3985745 [wandb_run.py:_redirect():2465] Redirects installed.
20
+ 2026-07-26 16:25:50,813 INFO MainThread:3985745 [wandb_init.py:init():1012] run started, returning control to user process
21
+ 2026-07-26 20:07:30,374 INFO MainThread:3985745 [wandb_run.py:_finish():2285] finishing run zihanwang-ai-northwestern-university/starVLA_rl_games/hkuurpie
22
+ 2026-07-26 20:07:30,376 INFO MainThread:3985745 [wandb_run.py:_atexit_cleanup():2490] got exitcode: 0
23
+ 2026-07-26 20:07:30,376 INFO MainThread:3985745 [wandb_run.py:_restore():2472] restore
24
+ 2026-07-26 20:07:30,376 INFO MainThread:3985745 [wandb_run.py:_restore():2478] restore done
25
+ 2026-07-26 20:07:32,134 INFO MainThread:3985745 [wandb_run.py:_footer_sync_info():3895] logging synced files
deadly_corridor_fix_latency_6_1000ep_7k2steps_stitch/wandb/wandb/run-20260726_162549-hkuurpie/run-hkuurpie.wandb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:08e7b309d028d40035fa8ee4af54cb7934ae5255050cc6d10d042c667f065782
3
+ size 8776462