CHYang25 commited on
Commit
12ef50c
·
verified ·
1 Parent(s): f5ba116

Upload folder using huggingface_hub

Browse files
2026.04.27/10.07.58_train_llm_diffusion_unet_lowdim_sweep-v2/.hydra/config.yaml ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: train_llm_diffusion_unet_lowdim
2
+ _target_: llmbc.workspace.train_llm_diffusion_unet_lowdim_workspace.TrainLLMDiffusionUnetLowdimWorkspace
3
+ obs_dim: ${task.obs_dim}
4
+ action_dim: ${task.action_dim}
5
+ task_name: ${task.name}
6
+ exp_name: default
7
+ model_name: ${llm.name}
8
+ horizon: 1
9
+ n_obs_steps: 1
10
+ n_action_steps: 1
11
+ n_latency_steps: 0
12
+ past_action_visible: false
13
+ keypoint_visible_rate: 1.0
14
+ obs_as_local_cond: false
15
+ obs_as_global_cond: true
16
+ pred_action_steps_only: false
17
+ llm_orig_expert_feedback: true
18
+ llm_do_sample: false
19
+ policy:
20
+ _target_: llmbc.policy.llm_diffusion_unet_lowdim_policy.LLMDiffusionUnetLowdimPolicy
21
+ model:
22
+ _target_: llmbc.model.diffusion.conditional_unet1d.ConditionalUnet1D
23
+ input_dim: '${eval: ${task.action_dim} if ${obs_as_local_cond} or ${obs_as_global_cond}
24
+ else ${task.obs_dim} + ${task.action_dim}}'
25
+ local_cond_dim: '${eval: ${task.obs_dim} if ${obs_as_local_cond} else None}'
26
+ global_cond_dim: '${eval: ${task.obs_dim}*${n_obs_steps} if ${obs_as_global_cond}
27
+ else None}'
28
+ diffusion_step_embed_dim: 256
29
+ down_dims:
30
+ - 256
31
+ - 512
32
+ - 1024
33
+ kernel_size: 5
34
+ n_groups: 8
35
+ cond_predict_scale: true
36
+ noise_scheduler:
37
+ _target_: diffusers.schedulers.scheduling_ddpm.DDPMScheduler
38
+ num_train_timesteps: 100
39
+ beta_start: 0.0001
40
+ beta_end: 0.02
41
+ beta_schedule: squaredcos_cap_v2
42
+ variance_type: fixed_small
43
+ clip_sample: true
44
+ prediction_type: epsilon
45
+ horizon: ${horizon}
46
+ obs_dim: ${obs_dim}
47
+ action_dim: ${action_dim}
48
+ n_action_steps: ${eval:'${n_action_steps}+${n_latency_steps}'}
49
+ n_obs_steps: ${n_obs_steps}
50
+ num_inference_steps: 100
51
+ obs_as_local_cond: ${obs_as_local_cond}
52
+ obs_as_global_cond: ${obs_as_global_cond}
53
+ pred_action_steps_only: ${pred_action_steps_only}
54
+ oa_step_convention: true
55
+ llm_discriminator:
56
+ _target_: llmbc.discriminator.llm_ce_discriminator.LLMCEDiscriminator
57
+ task_id: ${task_name}
58
+ llm_translator:
59
+ _target_: llmbc.translator.llm_translator.LLMTranslator
60
+ cfg: ${llm}
61
+ obs_dim: ${obs_dim}
62
+ action_dim: ${action_dim}
63
+ horizon: ${horizon}
64
+ n_obs_steps: ${n_obs_steps}
65
+ n_action_steps: ${eval:'${n_action_steps}+${n_latency_steps}'}
66
+ loss_dp_weight: 1.0
67
+ loss_llm_weight: 0.001
68
+ normalize_llm_loss: true
69
+ reweight_llm_loss: true
70
+ ema:
71
+ _target_: llmbc.model.diffusion.ema_model.EMAModel
72
+ update_after_step: 0
73
+ inv_gamma: 1.0
74
+ power: 0.75
75
+ min_value: 0.0
76
+ max_value: 0.9999
77
+ dataloader:
78
+ batch_size: 16
79
+ num_workers: 0
80
+ shuffle: true
81
+ pin_memory: false
82
+ persistent_workers: false
83
+ val_dataloader:
84
+ batch_size: 16
85
+ num_workers: 0
86
+ shuffle: false
87
+ pin_memory: false
88
+ persistent_workers: false
89
+ optimizer:
90
+ _target_: torch.optim.AdamW
91
+ lr: 0.0001
92
+ betas:
93
+ - 0.95
94
+ - 0.999
95
+ eps: 1.0e-08
96
+ weight_decay: 1.0e-06
97
+ training:
98
+ device: cuda:0
99
+ seed: 44
100
+ debug: false
101
+ resume: true
102
+ lr_scheduler: cosine
103
+ lr_warmup_steps: 500
104
+ num_epochs: 1001
105
+ gradient_accumulate_every: 16
106
+ use_ema: true
107
+ rollout_every: 5
108
+ checkpoint_every: 5
109
+ val_every: 1
110
+ sample_every: 5
111
+ max_train_steps: null
112
+ max_val_steps: null
113
+ tqdm_interval_sec: 1.0
114
+ logging:
115
+ project: ${task.name}-training-mix
116
+ resume: true
117
+ mode: online
118
+ name: ${now:%Y.%m.%d-%H.%M.%S}_${name}_${task_name}
119
+ tags:
120
+ - ${name}
121
+ - ${task_name}
122
+ - ${exp_name}
123
+ id: null
124
+ group: null
125
+ checkpoint:
126
+ topk:
127
+ monitor_key: test_success_rate
128
+ mode: max
129
+ k: 5
130
+ format_str: epoch={epoch:04d}-test_success_rate={test_success_rate:.3f}.ckpt
131
+ save_last_ckpt: true
132
+ save_last_snapshot: false
133
+ multi_run:
134
+ run_dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
135
+ wandb_name_base: ${now:%Y.%m.%d-%H.%M.%S}_${name}_${task_name}
136
+ task:
137
+ name: sweep-v2
138
+ obs_dim: 9
139
+ action_dim: 4
140
+ env_runner:
141
+ _target_: llmbc.env_runner.metaworld_lowdim_runner.MetaworldLowdimRunner
142
+ env_name: llf-metaworld-sweep-v2
143
+ n_train: 10
144
+ n_test: 50
145
+ n_envs: 10
146
+ max_steps: 30
147
+ n_obs_steps: ${n_obs_steps}
148
+ n_action_steps: ${n_action_steps}
149
+ instruction_type: b
150
+ feedback_type:
151
+ - hp
152
+ - hn
153
+ - fp
154
+ visual: false
155
+ discount: 0.9
156
+ dataset:
157
+ _target_: llmbc.dataset.metaworld_lowdim_dataset.MetaworldLowdimDataset
158
+ data_path: datasets/sweep-v2-mix(csp3).pt
159
+ data_path2: datasets/sweep-v2.pt
160
+ horizon: ${horizon}
161
+ pad_before: ${eval:'${n_obs_steps}-1'}
162
+ pad_after: ${eval:'${n_action_steps}-1'}
163
+ obs_eef_target: true
164
+ use_manual_normalizer: false
165
+ val_ratio: 0.1
166
+ dummy_normalizer: false
167
+ instructor:
168
+ _target_: llmbc.translator.instructor.metaworld_instructor.sweep_v2_instructor.SweepV2Instructor
169
+ llm:
170
+ name: HuggingFaceTB/SmolLM2-135M-Instruct
171
+ model_name: SmolLM2-135M-Instruct
172
+ config_target: llmbc.model.llm.llama_lowdim_model.LowdimLlamaConfig
173
+ causal_lm_target: llmbc.model.llm.llama_lowdim_model.LowdimLlamaForCausalLM
174
+ use_quantization: false
175
+ use_joint_mlp_projector: true
176
+ llm_mode: ete-finetuned
177
+ finetune_mode: orig
178
+ checkpoint: data/outputs/2025.11.01/23.03.01_train_llm_lowdim_sweep-v2/HuggingFaceTB/SmolLM2-135M-Instruct-finetuned-sweep-v2/checkpoint-5690
179
+ max_length: 100
180
+ lora_config:
181
+ r: 32
182
+ lora_alpha: 64
183
+ lora_dropout: 0.05
184
+ bias: none
185
+ task_type: CAUSAL_LM
186
+ prompter:
187
+ _target_: llmbc.translator.prompter.smollm2_prompter.SmolLM2Prompter
188
+ use_joint_mlp_projector: true
189
+ hydra:
190
+ job:
191
+ override_dirname: ${model_name}
192
+ run:
193
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${model_name}
2026.04.27/10.07.58_train_llm_diffusion_unet_lowdim_sweep-v2/.hydra/hydra.yaml ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ hydra:
2
+ run:
3
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
4
+ sweep:
5
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
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
+ - training.seed=44
116
+ job:
117
+ name: train
118
+ chdir: null
119
+ override_dirname: training.seed=44
120
+ id: ???
121
+ num: ???
122
+ config_name: llmdp_sweep-v2_mix(csp3).yaml
123
+ env_set: {}
124
+ env_copy: []
125
+ config:
126
+ override_dirname:
127
+ kv_sep: '='
128
+ item_sep: ','
129
+ exclude_keys: []
130
+ runtime:
131
+ version: 1.2.0
132
+ version_base: '1.2'
133
+ cwd: /workspace/LLM-BC
134
+ config_sources:
135
+ - path: hydra.conf
136
+ schema: pkg
137
+ provider: hydra
138
+ - path: /workspace/LLM-BC/config/mix_data
139
+ schema: file
140
+ provider: main
141
+ - path: ''
142
+ schema: structured
143
+ provider: schema
144
+ output_dir: /workspace/LLM-BC/data/outputs/2026.04.27/10.07.58_train_llm_diffusion_unet_lowdim_sweep-v2
145
+ choices:
146
+ hydra/env: default
147
+ hydra/callbacks: null
148
+ hydra/job_logging: default
149
+ hydra/hydra_logging: default
150
+ hydra/hydra_help: default
151
+ hydra/help: default
152
+ hydra/sweeper: basic
153
+ hydra/launcher: basic
154
+ hydra/output: default
155
+ verbose: false
2026.04.27/10.07.58_train_llm_diffusion_unet_lowdim_sweep-v2/.hydra/overrides.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ - training.seed=44
2026.04.27/10.07.58_train_llm_diffusion_unet_lowdim_sweep-v2/train.log ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ [2026-04-27 10:07:59,633][numexpr.utils][INFO] - Note: detected 144 virtual cores but NumExpr set to maximum of 64, check "NUMEXPR_MAX_THREADS" environment variable.
2
+ [2026-04-27 10:07:59,633][numexpr.utils][INFO] - Note: NumExpr detected 144 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 16.
3
+ [2026-04-27 10:07:59,633][numexpr.utils][INFO] - NumExpr defaulting to 16 threads.
4
+ [2026-04-27 10:08:01,905][datasets][INFO] - PyTorch version 2.2.2 available.
5
+ [2026-04-27 10:08:01,906][datasets][INFO] - TensorFlow version 2.15.1 available.
6
+ [2026-04-27 10:08:01,906][datasets][INFO] - JAX version 0.4.30 available.
7
+ [2026-04-27 10:08:02,738][bitsandbytes.cextension][WARNING] - The installed version of bitsandbytes was compiled without GPU support. 8-bit optimizers, 8-bit multiplication, and GPU quantization are unavailable.
8
+ [2026-04-27 10:08:03,510][llmbc.model.diffusion.conditional_unet1d][INFO] - number of parameters: 6.501479e+07
2026.04.27/14.00.42_train_llm_diffusion_unet_lowdim_sweep-v2/.hydra/config.yaml ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: train_llm_diffusion_unet_lowdim
2
+ _target_: llmbc.workspace.train_llm_diffusion_unet_lowdim_workspace.TrainLLMDiffusionUnetLowdimWorkspace
3
+ obs_dim: ${task.obs_dim}
4
+ action_dim: ${task.action_dim}
5
+ task_name: ${task.name}
6
+ exp_name: default
7
+ model_name: ${llm.name}
8
+ horizon: 1
9
+ n_obs_steps: 1
10
+ n_action_steps: 1
11
+ n_latency_steps: 0
12
+ past_action_visible: false
13
+ keypoint_visible_rate: 1.0
14
+ obs_as_local_cond: false
15
+ obs_as_global_cond: true
16
+ pred_action_steps_only: false
17
+ llm_orig_expert_feedback: true
18
+ llm_do_sample: false
19
+ policy:
20
+ _target_: llmbc.policy.llm_diffusion_unet_lowdim_policy.LLMDiffusionUnetLowdimPolicy
21
+ model:
22
+ _target_: llmbc.model.diffusion.conditional_unet1d.ConditionalUnet1D
23
+ input_dim: '${eval: ${task.action_dim} if ${obs_as_local_cond} or ${obs_as_global_cond}
24
+ else ${task.obs_dim} + ${task.action_dim}}'
25
+ local_cond_dim: '${eval: ${task.obs_dim} if ${obs_as_local_cond} else None}'
26
+ global_cond_dim: '${eval: ${task.obs_dim}*${n_obs_steps} if ${obs_as_global_cond}
27
+ else None}'
28
+ diffusion_step_embed_dim: 256
29
+ down_dims:
30
+ - 256
31
+ - 512
32
+ - 1024
33
+ kernel_size: 5
34
+ n_groups: 8
35
+ cond_predict_scale: true
36
+ noise_scheduler:
37
+ _target_: diffusers.schedulers.scheduling_ddpm.DDPMScheduler
38
+ num_train_timesteps: 100
39
+ beta_start: 0.0001
40
+ beta_end: 0.02
41
+ beta_schedule: squaredcos_cap_v2
42
+ variance_type: fixed_small
43
+ clip_sample: true
44
+ prediction_type: epsilon
45
+ horizon: ${horizon}
46
+ obs_dim: ${obs_dim}
47
+ action_dim: ${action_dim}
48
+ n_action_steps: ${eval:'${n_action_steps}+${n_latency_steps}'}
49
+ n_obs_steps: ${n_obs_steps}
50
+ num_inference_steps: 100
51
+ obs_as_local_cond: ${obs_as_local_cond}
52
+ obs_as_global_cond: ${obs_as_global_cond}
53
+ pred_action_steps_only: ${pred_action_steps_only}
54
+ oa_step_convention: true
55
+ llm_discriminator:
56
+ _target_: llmbc.discriminator.llm_ce_discriminator.LLMCEDiscriminator
57
+ task_id: ${task_name}
58
+ llm_translator:
59
+ _target_: llmbc.translator.llm_translator.LLMTranslator
60
+ cfg: ${llm}
61
+ obs_dim: ${obs_dim}
62
+ action_dim: ${action_dim}
63
+ horizon: ${horizon}
64
+ n_obs_steps: ${n_obs_steps}
65
+ n_action_steps: ${eval:'${n_action_steps}+${n_latency_steps}'}
66
+ loss_dp_weight: 1.0
67
+ loss_llm_weight: 0.001
68
+ normalize_llm_loss: true
69
+ reweight_llm_loss: true
70
+ ema:
71
+ _target_: llmbc.model.diffusion.ema_model.EMAModel
72
+ update_after_step: 0
73
+ inv_gamma: 1.0
74
+ power: 0.75
75
+ min_value: 0.0
76
+ max_value: 0.9999
77
+ dataloader:
78
+ batch_size: 16
79
+ num_workers: 0
80
+ shuffle: true
81
+ pin_memory: false
82
+ persistent_workers: false
83
+ val_dataloader:
84
+ batch_size: 16
85
+ num_workers: 0
86
+ shuffle: false
87
+ pin_memory: false
88
+ persistent_workers: false
89
+ optimizer:
90
+ _target_: torch.optim.AdamW
91
+ lr: 0.0001
92
+ betas:
93
+ - 0.95
94
+ - 0.999
95
+ eps: 1.0e-08
96
+ weight_decay: 1.0e-06
97
+ training:
98
+ device: cuda:0
99
+ seed: 44
100
+ debug: false
101
+ resume: true
102
+ lr_scheduler: cosine
103
+ lr_warmup_steps: 500
104
+ num_epochs: 1001
105
+ gradient_accumulate_every: 16
106
+ use_ema: true
107
+ rollout_every: 5
108
+ checkpoint_every: 5
109
+ val_every: 1
110
+ sample_every: 5
111
+ max_train_steps: null
112
+ max_val_steps: null
113
+ tqdm_interval_sec: 1.0
114
+ logging:
115
+ project: ${task.name}-training-mix
116
+ resume: true
117
+ mode: online
118
+ name: ${now:%Y.%m.%d-%H.%M.%S}_${name}_${task_name}
119
+ tags:
120
+ - ${name}
121
+ - ${task_name}
122
+ - ${exp_name}
123
+ id: null
124
+ group: null
125
+ checkpoint:
126
+ topk:
127
+ monitor_key: test_success_rate
128
+ mode: max
129
+ k: 5
130
+ format_str: epoch={epoch:04d}-test_success_rate={test_success_rate:.3f}.ckpt
131
+ save_last_ckpt: true
132
+ save_last_snapshot: false
133
+ multi_run:
134
+ run_dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
135
+ wandb_name_base: ${now:%Y.%m.%d-%H.%M.%S}_${name}_${task_name}
136
+ task:
137
+ name: sweep-v2
138
+ obs_dim: 9
139
+ action_dim: 4
140
+ env_runner:
141
+ _target_: llmbc.env_runner.metaworld_lowdim_runner.MetaworldLowdimRunner
142
+ env_name: llf-metaworld-sweep-v2
143
+ n_train: 10
144
+ n_test: 50
145
+ n_envs: 10
146
+ max_steps: 30
147
+ n_obs_steps: ${n_obs_steps}
148
+ n_action_steps: ${n_action_steps}
149
+ instruction_type: b
150
+ feedback_type:
151
+ - hp
152
+ - hn
153
+ - fp
154
+ visual: false
155
+ discount: 0.9
156
+ dataset:
157
+ _target_: llmbc.dataset.metaworld_lowdim_dataset.MetaworldLowdimDataset
158
+ data_path: datasets/sweep-v2-mix(csp3).pt
159
+ data_path2: datasets/sweep-v2.pt
160
+ horizon: ${horizon}
161
+ pad_before: ${eval:'${n_obs_steps}-1'}
162
+ pad_after: ${eval:'${n_action_steps}-1'}
163
+ obs_eef_target: true
164
+ use_manual_normalizer: false
165
+ val_ratio: 0.1
166
+ dummy_normalizer: false
167
+ instructor:
168
+ _target_: llmbc.translator.instructor.metaworld_instructor.sweep_v2_instructor.SweepV2Instructor
169
+ llm:
170
+ name: HuggingFaceTB/SmolLM2-135M-Instruct
171
+ model_name: SmolLM2-135M-Instruct
172
+ config_target: llmbc.model.llm.llama_lowdim_model.LowdimLlamaConfig
173
+ causal_lm_target: llmbc.model.llm.llama_lowdim_model.LowdimLlamaForCausalLM
174
+ use_quantization: false
175
+ use_joint_mlp_projector: true
176
+ llm_mode: ete-finetuned
177
+ finetune_mode: orig
178
+ checkpoint: data/outputs/2025.11.01/23.03.01_train_llm_lowdim_sweep-v2/HuggingFaceTB/SmolLM2-135M-Instruct-finetuned-sweep-v2/checkpoint-5690
179
+ max_length: 100
180
+ lora_config:
181
+ r: 32
182
+ lora_alpha: 64
183
+ lora_dropout: 0.05
184
+ bias: none
185
+ task_type: CAUSAL_LM
186
+ prompter:
187
+ _target_: llmbc.translator.prompter.smollm2_prompter.SmolLM2Prompter
188
+ use_joint_mlp_projector: true
189
+ hydra:
190
+ job:
191
+ override_dirname: ${model_name}
192
+ run:
193
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${model_name}
2026.04.27/14.00.42_train_llm_diffusion_unet_lowdim_sweep-v2/.hydra/hydra.yaml ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ hydra:
2
+ run:
3
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
4
+ sweep:
5
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
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
+ - training.seed=44
116
+ job:
117
+ name: train
118
+ chdir: null
119
+ override_dirname: training.seed=44
120
+ id: ???
121
+ num: ???
122
+ config_name: llmdp_sweep-v2_mix(csp3).yaml
123
+ env_set: {}
124
+ env_copy: []
125
+ config:
126
+ override_dirname:
127
+ kv_sep: '='
128
+ item_sep: ','
129
+ exclude_keys: []
130
+ runtime:
131
+ version: 1.2.0
132
+ version_base: '1.2'
133
+ cwd: /workspace/LLM-BC
134
+ config_sources:
135
+ - path: hydra.conf
136
+ schema: pkg
137
+ provider: hydra
138
+ - path: /workspace/LLM-BC/config/mix_data
139
+ schema: file
140
+ provider: main
141
+ - path: ''
142
+ schema: structured
143
+ provider: schema
144
+ output_dir: /workspace/LLM-BC/data/outputs/2026.04.27/14.00.42_train_llm_diffusion_unet_lowdim_sweep-v2
145
+ choices:
146
+ hydra/env: default
147
+ hydra/callbacks: null
148
+ hydra/job_logging: default
149
+ hydra/hydra_logging: default
150
+ hydra/hydra_help: default
151
+ hydra/help: default
152
+ hydra/sweeper: basic
153
+ hydra/launcher: basic
154
+ hydra/output: default
155
+ verbose: false
2026.04.27/14.00.42_train_llm_diffusion_unet_lowdim_sweep-v2/.hydra/overrides.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ - training.seed=44
2026.04.27/14.00.42_train_llm_diffusion_unet_lowdim_sweep-v2/train.log ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ [2026-04-27 14:00:44,106][numexpr.utils][INFO] - Note: detected 144 virtual cores but NumExpr set to maximum of 64, check "NUMEXPR_MAX_THREADS" environment variable.
2
+ [2026-04-27 14:00:44,107][numexpr.utils][INFO] - Note: NumExpr detected 144 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 16.
3
+ [2026-04-27 14:00:44,107][numexpr.utils][INFO] - NumExpr defaulting to 16 threads.
4
+ [2026-04-27 14:00:46,295][datasets][INFO] - PyTorch version 2.2.2 available.
5
+ [2026-04-27 14:00:46,296][datasets][INFO] - TensorFlow version 2.15.1 available.
6
+ [2026-04-27 14:00:46,297][datasets][INFO] - JAX version 0.4.30 available.
7
+ [2026-04-27 14:00:47,117][bitsandbytes.cextension][WARNING] - The installed version of bitsandbytes was compiled without GPU support. 8-bit optimizers, 8-bit multiplication, and GPU quantization are unavailable.
8
+ [2026-04-27 14:00:47,917][llmbc.model.diffusion.conditional_unet1d][INFO] - number of parameters: 6.501479e+07
2026.04.27/14.00.53_train_llm_diffusion_unet_lowdim_box-close-v2/.hydra/config.yaml ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: train_llm_diffusion_unet_lowdim
2
+ _target_: llmbc.workspace.train_llm_diffusion_unet_lowdim_workspace.TrainLLMDiffusionUnetLowdimWorkspace
3
+ obs_dim: ${task.obs_dim}
4
+ action_dim: ${task.action_dim}
5
+ task_name: ${task.name}
6
+ exp_name: default
7
+ model_name: ${llm.name}
8
+ horizon: 1
9
+ n_obs_steps: 1
10
+ n_action_steps: 1
11
+ n_latency_steps: 0
12
+ past_action_visible: false
13
+ keypoint_visible_rate: 1.0
14
+ obs_as_local_cond: false
15
+ obs_as_global_cond: true
16
+ pred_action_steps_only: false
17
+ llm_orig_expert_feedback: true
18
+ llm_do_sample: false
19
+ policy:
20
+ _target_: llmbc.policy.llm_diffusion_unet_lowdim_policy.LLMDiffusionUnetLowdimPolicy
21
+ model:
22
+ _target_: llmbc.model.diffusion.conditional_unet1d.ConditionalUnet1D
23
+ input_dim: '${eval: ${task.action_dim} if ${obs_as_local_cond} or ${obs_as_global_cond}
24
+ else ${task.obs_dim} + ${task.action_dim}}'
25
+ local_cond_dim: '${eval: ${task.obs_dim} if ${obs_as_local_cond} else None}'
26
+ global_cond_dim: '${eval: ${task.obs_dim}*${n_obs_steps} if ${obs_as_global_cond}
27
+ else None}'
28
+ diffusion_step_embed_dim: 256
29
+ down_dims:
30
+ - 256
31
+ - 512
32
+ - 1024
33
+ kernel_size: 5
34
+ n_groups: 8
35
+ cond_predict_scale: true
36
+ noise_scheduler:
37
+ _target_: diffusers.schedulers.scheduling_ddpm.DDPMScheduler
38
+ num_train_timesteps: 100
39
+ beta_start: 0.0001
40
+ beta_end: 0.02
41
+ beta_schedule: squaredcos_cap_v2
42
+ variance_type: fixed_small
43
+ clip_sample: true
44
+ prediction_type: epsilon
45
+ horizon: ${horizon}
46
+ obs_dim: ${obs_dim}
47
+ action_dim: ${action_dim}
48
+ n_action_steps: ${eval:'${n_action_steps}+${n_latency_steps}'}
49
+ n_obs_steps: ${n_obs_steps}
50
+ num_inference_steps: 100
51
+ obs_as_local_cond: ${obs_as_local_cond}
52
+ obs_as_global_cond: ${obs_as_global_cond}
53
+ pred_action_steps_only: ${pred_action_steps_only}
54
+ oa_step_convention: true
55
+ llm_discriminator:
56
+ _target_: llmbc.discriminator.llm_ce_discriminator.LLMCEDiscriminator
57
+ task_id: ${task_name}
58
+ llm_translator:
59
+ _target_: llmbc.translator.llm_translator.LLMTranslator
60
+ cfg: ${llm}
61
+ obs_dim: ${obs_dim}
62
+ action_dim: ${action_dim}
63
+ horizon: ${horizon}
64
+ n_obs_steps: ${n_obs_steps}
65
+ n_action_steps: ${eval:'${n_action_steps}+${n_latency_steps}'}
66
+ loss_dp_weight: 1.0
67
+ loss_llm_weight: 0.01
68
+ normalize_llm_loss: true
69
+ reweight_llm_loss: true
70
+ ema:
71
+ _target_: llmbc.model.diffusion.ema_model.EMAModel
72
+ update_after_step: 0
73
+ inv_gamma: 1.0
74
+ power: 0.75
75
+ min_value: 0.0
76
+ max_value: 0.9999
77
+ dataloader:
78
+ batch_size: 16
79
+ num_workers: 0
80
+ shuffle: true
81
+ pin_memory: false
82
+ persistent_workers: false
83
+ val_dataloader:
84
+ batch_size: 16
85
+ num_workers: 0
86
+ shuffle: false
87
+ pin_memory: false
88
+ persistent_workers: false
89
+ optimizer:
90
+ _target_: torch.optim.AdamW
91
+ lr: 0.0001
92
+ betas:
93
+ - 0.95
94
+ - 0.999
95
+ eps: 1.0e-08
96
+ weight_decay: 1.0e-06
97
+ training:
98
+ device: cuda:0
99
+ seed: 42
100
+ debug: false
101
+ resume: true
102
+ lr_scheduler: cosine
103
+ lr_warmup_steps: 500
104
+ num_epochs: 1001
105
+ gradient_accumulate_every: 16
106
+ use_ema: true
107
+ rollout_every: 5
108
+ checkpoint_every: 5
109
+ val_every: 1
110
+ sample_every: 5
111
+ max_train_steps: null
112
+ max_val_steps: null
113
+ tqdm_interval_sec: 1.0
114
+ logging:
115
+ project: ${task.name}-training-mix
116
+ resume: true
117
+ mode: online
118
+ name: ${now:%Y.%m.%d-%H.%M.%S}_${name}_${task_name}
119
+ tags:
120
+ - ${name}
121
+ - ${task_name}
122
+ - ${exp_name}
123
+ id: null
124
+ group: null
125
+ checkpoint:
126
+ topk:
127
+ monitor_key: test_success_rate
128
+ mode: max
129
+ k: 5
130
+ format_str: epoch={epoch:04d}-test_success_rate={test_success_rate:.3f}.ckpt
131
+ save_last_ckpt: true
132
+ save_last_snapshot: false
133
+ multi_run:
134
+ run_dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
135
+ wandb_name_base: ${now:%Y.%m.%d-%H.%M.%S}_${name}_${task_name}
136
+ task:
137
+ name: box-close-v2
138
+ obs_dim: 9
139
+ action_dim: 4
140
+ env_runner:
141
+ _target_: llmbc.env_runner.metaworld_lowdim_runner.MetaworldLowdimRunner
142
+ env_name: llf-metaworld-box-close-v2
143
+ n_train: 10
144
+ n_test: 50
145
+ n_envs: 10
146
+ max_steps: 30
147
+ n_obs_steps: ${n_obs_steps}
148
+ n_action_steps: ${n_action_steps}
149
+ instruction_type: b
150
+ feedback_type:
151
+ - hp
152
+ - hn
153
+ - fp
154
+ visual: false
155
+ discount: 0.9
156
+ dataset:
157
+ _target_: llmbc.dataset.metaworld_lowdim_dataset.MetaworldLowdimDataset
158
+ data_path: datasets/box-close-v2-mix(csp3).pt
159
+ data_path2: datasets/box-close-v2.pt
160
+ horizon: ${horizon}
161
+ pad_before: ${eval:'${n_obs_steps}-1'}
162
+ pad_after: ${eval:'${n_action_steps}-1'}
163
+ obs_eef_target: true
164
+ use_manual_normalizer: false
165
+ val_ratio: 0.1
166
+ dummy_normalizer: false
167
+ instructor:
168
+ _target_: llmbc.translator.instructor.metaworld_instructor.box_close_v2_instructor.BoxCloseV2Instructor
169
+ llm:
170
+ name: HuggingFaceTB/SmolLM2-135M-Instruct
171
+ model_name: SmolLM2-135M-Instruct
172
+ config_target: llmbc.model.llm.llama_lowdim_model.LowdimLlamaConfig
173
+ causal_lm_target: llmbc.model.llm.llama_lowdim_model.LowdimLlamaForCausalLM
174
+ use_quantization: false
175
+ use_joint_mlp_projector: true
176
+ llm_mode: ete-finetuned
177
+ finetune_mode: orig
178
+ checkpoint: data/outputs/2025.10.22/23.44.28_train_llm_lowdim_box-close-v2/HuggingFaceTB/SmolLM2-135M-Instruct-finetuned-box-close-v2/checkpoint-5890
179
+ max_length: 100
180
+ lora_config:
181
+ r: 32
182
+ lora_alpha: 64
183
+ lora_dropout: 0.05
184
+ bias: none
185
+ task_type: CAUSAL_LM
186
+ prompter:
187
+ _target_: llmbc.translator.prompter.smollm2_prompter.SmolLM2Prompter
188
+ use_joint_mlp_projector: true
189
+ hydra:
190
+ job:
191
+ override_dirname: ${model_name}
192
+ run:
193
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${model_name}
2026.04.27/14.00.53_train_llm_diffusion_unet_lowdim_box-close-v2/.hydra/hydra.yaml ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ hydra:
2
+ run:
3
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
4
+ sweep:
5
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
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
+ - training.seed=42
116
+ job:
117
+ name: train
118
+ chdir: null
119
+ override_dirname: training.seed=42
120
+ id: ???
121
+ num: ???
122
+ config_name: llmdp_box-close-v2_mix(csp3).yaml
123
+ env_set: {}
124
+ env_copy: []
125
+ config:
126
+ override_dirname:
127
+ kv_sep: '='
128
+ item_sep: ','
129
+ exclude_keys: []
130
+ runtime:
131
+ version: 1.2.0
132
+ version_base: '1.2'
133
+ cwd: /workspace/LLM-BC
134
+ config_sources:
135
+ - path: hydra.conf
136
+ schema: pkg
137
+ provider: hydra
138
+ - path: /workspace/LLM-BC/config/mix_data
139
+ schema: file
140
+ provider: main
141
+ - path: ''
142
+ schema: structured
143
+ provider: schema
144
+ output_dir: /workspace/LLM-BC/data/outputs/2026.04.27/14.00.53_train_llm_diffusion_unet_lowdim_box-close-v2
145
+ choices:
146
+ hydra/env: default
147
+ hydra/callbacks: null
148
+ hydra/job_logging: default
149
+ hydra/hydra_logging: default
150
+ hydra/hydra_help: default
151
+ hydra/help: default
152
+ hydra/sweeper: basic
153
+ hydra/launcher: basic
154
+ hydra/output: default
155
+ verbose: false
2026.04.27/14.00.53_train_llm_diffusion_unet_lowdim_box-close-v2/.hydra/overrides.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ - training.seed=42
2026.04.27/14.00.53_train_llm_diffusion_unet_lowdim_box-close-v2/train.log ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ [2026-04-27 14:00:55,710][numexpr.utils][INFO] - Note: detected 144 virtual cores but NumExpr set to maximum of 64, check "NUMEXPR_MAX_THREADS" environment variable.
2
+ [2026-04-27 14:00:55,711][numexpr.utils][INFO] - Note: NumExpr detected 144 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 16.
3
+ [2026-04-27 14:00:55,711][numexpr.utils][INFO] - NumExpr defaulting to 16 threads.
4
+ [2026-04-27 14:00:57,913][datasets][INFO] - PyTorch version 2.2.2 available.
5
+ [2026-04-27 14:00:57,914][datasets][INFO] - TensorFlow version 2.15.1 available.
6
+ [2026-04-27 14:00:57,914][datasets][INFO] - JAX version 0.4.30 available.
7
+ [2026-04-27 14:00:58,727][bitsandbytes.cextension][WARNING] - The installed version of bitsandbytes was compiled without GPU support. 8-bit optimizers, 8-bit multiplication, and GPU quantization are unavailable.
8
+ [2026-04-27 14:00:59,505][llmbc.model.diffusion.conditional_unet1d][INFO] - number of parameters: 6.501479e+07
2026.04.27/14.01.02_train_llm_diffusion_unet_lowdim_box-close-v2/.hydra/config.yaml ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: train_llm_diffusion_unet_lowdim
2
+ _target_: llmbc.workspace.train_llm_diffusion_unet_lowdim_workspace.TrainLLMDiffusionUnetLowdimWorkspace
3
+ obs_dim: ${task.obs_dim}
4
+ action_dim: ${task.action_dim}
5
+ task_name: ${task.name}
6
+ exp_name: default
7
+ model_name: ${llm.name}
8
+ horizon: 1
9
+ n_obs_steps: 1
10
+ n_action_steps: 1
11
+ n_latency_steps: 0
12
+ past_action_visible: false
13
+ keypoint_visible_rate: 1.0
14
+ obs_as_local_cond: false
15
+ obs_as_global_cond: true
16
+ pred_action_steps_only: false
17
+ llm_orig_expert_feedback: true
18
+ llm_do_sample: false
19
+ policy:
20
+ _target_: llmbc.policy.llm_diffusion_unet_lowdim_policy.LLMDiffusionUnetLowdimPolicy
21
+ model:
22
+ _target_: llmbc.model.diffusion.conditional_unet1d.ConditionalUnet1D
23
+ input_dim: '${eval: ${task.action_dim} if ${obs_as_local_cond} or ${obs_as_global_cond}
24
+ else ${task.obs_dim} + ${task.action_dim}}'
25
+ local_cond_dim: '${eval: ${task.obs_dim} if ${obs_as_local_cond} else None}'
26
+ global_cond_dim: '${eval: ${task.obs_dim}*${n_obs_steps} if ${obs_as_global_cond}
27
+ else None}'
28
+ diffusion_step_embed_dim: 256
29
+ down_dims:
30
+ - 256
31
+ - 512
32
+ - 1024
33
+ kernel_size: 5
34
+ n_groups: 8
35
+ cond_predict_scale: true
36
+ noise_scheduler:
37
+ _target_: diffusers.schedulers.scheduling_ddpm.DDPMScheduler
38
+ num_train_timesteps: 100
39
+ beta_start: 0.0001
40
+ beta_end: 0.02
41
+ beta_schedule: squaredcos_cap_v2
42
+ variance_type: fixed_small
43
+ clip_sample: true
44
+ prediction_type: epsilon
45
+ horizon: ${horizon}
46
+ obs_dim: ${obs_dim}
47
+ action_dim: ${action_dim}
48
+ n_action_steps: ${eval:'${n_action_steps}+${n_latency_steps}'}
49
+ n_obs_steps: ${n_obs_steps}
50
+ num_inference_steps: 100
51
+ obs_as_local_cond: ${obs_as_local_cond}
52
+ obs_as_global_cond: ${obs_as_global_cond}
53
+ pred_action_steps_only: ${pred_action_steps_only}
54
+ oa_step_convention: true
55
+ llm_discriminator:
56
+ _target_: llmbc.discriminator.llm_ce_discriminator.LLMCEDiscriminator
57
+ task_id: ${task_name}
58
+ llm_translator:
59
+ _target_: llmbc.translator.llm_translator.LLMTranslator
60
+ cfg: ${llm}
61
+ obs_dim: ${obs_dim}
62
+ action_dim: ${action_dim}
63
+ horizon: ${horizon}
64
+ n_obs_steps: ${n_obs_steps}
65
+ n_action_steps: ${eval:'${n_action_steps}+${n_latency_steps}'}
66
+ loss_dp_weight: 1.0
67
+ loss_llm_weight: 0.01
68
+ normalize_llm_loss: true
69
+ reweight_llm_loss: true
70
+ ema:
71
+ _target_: llmbc.model.diffusion.ema_model.EMAModel
72
+ update_after_step: 0
73
+ inv_gamma: 1.0
74
+ power: 0.75
75
+ min_value: 0.0
76
+ max_value: 0.9999
77
+ dataloader:
78
+ batch_size: 16
79
+ num_workers: 0
80
+ shuffle: true
81
+ pin_memory: false
82
+ persistent_workers: false
83
+ val_dataloader:
84
+ batch_size: 16
85
+ num_workers: 0
86
+ shuffle: false
87
+ pin_memory: false
88
+ persistent_workers: false
89
+ optimizer:
90
+ _target_: torch.optim.AdamW
91
+ lr: 0.0001
92
+ betas:
93
+ - 0.95
94
+ - 0.999
95
+ eps: 1.0e-08
96
+ weight_decay: 1.0e-06
97
+ training:
98
+ device: cuda:0
99
+ seed: 43
100
+ debug: false
101
+ resume: true
102
+ lr_scheduler: cosine
103
+ lr_warmup_steps: 500
104
+ num_epochs: 1001
105
+ gradient_accumulate_every: 16
106
+ use_ema: true
107
+ rollout_every: 5
108
+ checkpoint_every: 5
109
+ val_every: 1
110
+ sample_every: 5
111
+ max_train_steps: null
112
+ max_val_steps: null
113
+ tqdm_interval_sec: 1.0
114
+ logging:
115
+ project: ${task.name}-training-mix
116
+ resume: true
117
+ mode: online
118
+ name: ${now:%Y.%m.%d-%H.%M.%S}_${name}_${task_name}
119
+ tags:
120
+ - ${name}
121
+ - ${task_name}
122
+ - ${exp_name}
123
+ id: null
124
+ group: null
125
+ checkpoint:
126
+ topk:
127
+ monitor_key: test_success_rate
128
+ mode: max
129
+ k: 5
130
+ format_str: epoch={epoch:04d}-test_success_rate={test_success_rate:.3f}.ckpt
131
+ save_last_ckpt: true
132
+ save_last_snapshot: false
133
+ multi_run:
134
+ run_dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
135
+ wandb_name_base: ${now:%Y.%m.%d-%H.%M.%S}_${name}_${task_name}
136
+ task:
137
+ name: box-close-v2
138
+ obs_dim: 9
139
+ action_dim: 4
140
+ env_runner:
141
+ _target_: llmbc.env_runner.metaworld_lowdim_runner.MetaworldLowdimRunner
142
+ env_name: llf-metaworld-box-close-v2
143
+ n_train: 10
144
+ n_test: 50
145
+ n_envs: 10
146
+ max_steps: 30
147
+ n_obs_steps: ${n_obs_steps}
148
+ n_action_steps: ${n_action_steps}
149
+ instruction_type: b
150
+ feedback_type:
151
+ - hp
152
+ - hn
153
+ - fp
154
+ visual: false
155
+ discount: 0.9
156
+ dataset:
157
+ _target_: llmbc.dataset.metaworld_lowdim_dataset.MetaworldLowdimDataset
158
+ data_path: datasets/box-close-v2-mix(csp3).pt
159
+ data_path2: datasets/box-close-v2.pt
160
+ horizon: ${horizon}
161
+ pad_before: ${eval:'${n_obs_steps}-1'}
162
+ pad_after: ${eval:'${n_action_steps}-1'}
163
+ obs_eef_target: true
164
+ use_manual_normalizer: false
165
+ val_ratio: 0.1
166
+ dummy_normalizer: false
167
+ instructor:
168
+ _target_: llmbc.translator.instructor.metaworld_instructor.box_close_v2_instructor.BoxCloseV2Instructor
169
+ llm:
170
+ name: HuggingFaceTB/SmolLM2-135M-Instruct
171
+ model_name: SmolLM2-135M-Instruct
172
+ config_target: llmbc.model.llm.llama_lowdim_model.LowdimLlamaConfig
173
+ causal_lm_target: llmbc.model.llm.llama_lowdim_model.LowdimLlamaForCausalLM
174
+ use_quantization: false
175
+ use_joint_mlp_projector: true
176
+ llm_mode: ete-finetuned
177
+ finetune_mode: orig
178
+ checkpoint: data/outputs/2025.10.22/23.44.28_train_llm_lowdim_box-close-v2/HuggingFaceTB/SmolLM2-135M-Instruct-finetuned-box-close-v2/checkpoint-5890
179
+ max_length: 100
180
+ lora_config:
181
+ r: 32
182
+ lora_alpha: 64
183
+ lora_dropout: 0.05
184
+ bias: none
185
+ task_type: CAUSAL_LM
186
+ prompter:
187
+ _target_: llmbc.translator.prompter.smollm2_prompter.SmolLM2Prompter
188
+ use_joint_mlp_projector: true
189
+ hydra:
190
+ job:
191
+ override_dirname: ${model_name}
192
+ run:
193
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${model_name}
2026.04.27/14.01.02_train_llm_diffusion_unet_lowdim_box-close-v2/.hydra/hydra.yaml ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ hydra:
2
+ run:
3
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
4
+ sweep:
5
+ dir: data/outputs/${now:%Y.%m.%d}/${now:%H.%M.%S}_${name}_${task_name}
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
+ - training.seed=43
116
+ job:
117
+ name: train
118
+ chdir: null
119
+ override_dirname: training.seed=43
120
+ id: ???
121
+ num: ???
122
+ config_name: llmdp_box-close-v2_mix(csp3).yaml
123
+ env_set: {}
124
+ env_copy: []
125
+ config:
126
+ override_dirname:
127
+ kv_sep: '='
128
+ item_sep: ','
129
+ exclude_keys: []
130
+ runtime:
131
+ version: 1.2.0
132
+ version_base: '1.2'
133
+ cwd: /workspace/LLM-BC
134
+ config_sources:
135
+ - path: hydra.conf
136
+ schema: pkg
137
+ provider: hydra
138
+ - path: /workspace/LLM-BC/config/mix_data
139
+ schema: file
140
+ provider: main
141
+ - path: ''
142
+ schema: structured
143
+ provider: schema
144
+ output_dir: /workspace/LLM-BC/data/outputs/2026.04.27/14.01.02_train_llm_diffusion_unet_lowdim_box-close-v2
145
+ choices:
146
+ hydra/env: default
147
+ hydra/callbacks: null
148
+ hydra/job_logging: default
149
+ hydra/hydra_logging: default
150
+ hydra/hydra_help: default
151
+ hydra/help: default
152
+ hydra/sweeper: basic
153
+ hydra/launcher: basic
154
+ hydra/output: default
155
+ verbose: false
2026.04.27/14.01.02_train_llm_diffusion_unet_lowdim_box-close-v2/.hydra/overrides.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ - training.seed=43
2026.04.27/14.01.02_train_llm_diffusion_unet_lowdim_box-close-v2/train.log ADDED
File without changes