Siyuc commited on
Commit
3acbd0a
·
verified ·
1 Parent(s): 3093606

Add all seven checkpoints for completed R3 A0-R1, A2-R1 and multilayer FBW arms

Browse files

Native safetensors and pinned configurations. Exact source tensor equality, finite tensors and strict native loading verified on CPU. Existing files and repository visibility preserved.

This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/README.md +35 -0
  2. fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/config.json +289 -0
  3. fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/launch_config.env +107 -0
  4. fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/manifest.json +30 -0
  5. fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/model.safetensors +3 -0
  6. fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/training_recipe.json +142 -0
  7. fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/README.md +35 -0
  8. fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/config.json +289 -0
  9. fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/launch_config.env +107 -0
  10. fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/manifest.json +30 -0
  11. fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/model.safetensors +3 -0
  12. fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/training_recipe.json +142 -0
  13. fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/README.md +35 -0
  14. fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/config.json +289 -0
  15. fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/launch_config.env +107 -0
  16. fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/manifest.json +30 -0
  17. fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/model.safetensors +3 -0
  18. fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/training_recipe.json +142 -0
  19. fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/README.md +35 -0
  20. fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/config.json +289 -0
  21. fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/launch_config.env +107 -0
  22. fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/manifest.json +30 -0
  23. fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/model.safetensors +3 -0
  24. fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/training_recipe.json +142 -0
  25. fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/README.md +35 -0
  26. fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/config.json +289 -0
  27. fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/launch_config.env +107 -0
  28. fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/manifest.json +30 -0
  29. fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/model.safetensors +3 -0
  30. fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/training_recipe.json +142 -0
  31. fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/README.md +35 -0
  32. fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/config.json +289 -0
  33. fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/launch_config.env +107 -0
  34. fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/manifest.json +30 -0
  35. fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/model.safetensors +3 -0
  36. fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/training_recipe.json +142 -0
  37. fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/README.md +35 -0
  38. fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/config.json +289 -0
  39. fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/launch_config.env +107 -0
  40. fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/manifest.json +30 -0
  41. fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/model.safetensors +3 -0
  42. fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/training_recipe.json +142 -0
  43. r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/README.md +37 -0
  44. r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/config.json +205 -0
  45. r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/launch_config.env +12 -0
  46. r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/manifest.json +30 -0
  47. r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/model.safetensors +3 -0
  48. r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/training_recipe.json +151 -0
  49. r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_16000/README.md +37 -0
  50. r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_16000/config.json +205 -0
fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/README.md ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # fbw_L2L11L20_7b_seed42_20260920-023045 — step 12000
2
+
3
+ Intermediate checkpoint at step **12,000**, after **3,145,728,000 training input tokens**, from a run with a 7,000,031,232-token total budget. Complete model: **576,059,264 parameters**. The `476m` label refers to the backbone sizing convention, and `7b` to the training-token budget.
4
+
5
+ Native state-dict safetensors, preserving every source tensor name, shape, dtype and value. This is weights and configuration only, not a full training-resume bundle or a Transformers `AutoModel.from_pretrained` export. All source tensors were finite and strict native loading passed on CPU. Source checkpoints were retained.
6
+
7
+ Training revision: `9f3c22f21c6026055ba69a39af5f285f09d3cfc8`; paper/backbone source revision: `122366472a31e57982a2877eeee10bb115477713`. Use [loopTF-workspace loading revision](https://github.com/FFishy-git/loopTF-workspace/tree/9f3c22f21c6026055ba69a39af5f285f09d3cfc8) with `src` on `PYTHONPATH` and its dependencies installed.
8
+
9
+ The existing project native feedback inference adapter preserves the saved feedback layer selection and fusion projection. It maps packed QKV/key names at load time and uses full-prefix inference; the uploaded tensors keep native Megatron names. Use native_loading_args exactly as recorded.
10
+
11
+ ## Loading
12
+
13
+ ```python
14
+ import json
15
+ from pathlib import Path
16
+ import torch
17
+ from safetensors.torch import load_file
18
+ export_dir = Path("/path/to/step_12000")
19
+ config = json.loads((export_dir / "config.json").read_text())
20
+ state = load_file(str(export_dir / "model.safetensors"), device="cpu")
21
+ from types import SimpleNamespace
22
+ from loop_transformer_backends.benchmarks.models import build_native
23
+ model, metadata = build_native({
24
+ "args": SimpleNamespace(**config["native_loading_args"]),
25
+ "model": state | config["non_tensor_state_dict_entries"],
26
+ "iteration": config["checkpoint_iteration"],
27
+ }) # Existing project inference mapping, strict=True, assign=True internally.
28
+ model.eval()
29
+ ```
30
+
31
+ Use the pinned Llama-2 tokenizer plus `<|assistant_end|>` in `config.json`, with 32,001 active tokens and weights padded to 32,064. `launch_config.env` is the original reviewed base snapshot; its relative imports require the pinned source tree. Effective timestamped run identity and overrides are recorded in `config.json`, which is authoritative for loading.
32
+
33
+ No final held-out evaluation receipt is available for this checkpoint; no final-evaluation result is claimed.
34
+
35
+ W&B: [source run](https://wandb.ai/LoopTF-4-CSPs/loopTF-workspace/runs/ljsfjz37). `manifest.json` records file sizes and SHA256 and does not hash itself. No optimizer, scheduler, RNG, dataloader, dataset, logs or credentials are included.
fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/config.json ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation": "squared_relu",
3
+ "attention": "full_causal",
4
+ "attention_output_gate": false,
5
+ "backbone_profile": "paper2604_vanilla",
6
+ "bias": false,
7
+ "checkpoint_format": "safetensors_native_megatron_state_dict",
8
+ "checkpoint_iteration": 12000,
9
+ "checkpoint_version": 3.0,
10
+ "consumed_train_samples": 1536000,
11
+ "crop_padding_before_loss": true,
12
+ "dropout": 0.0,
13
+ "effective_overrides": {
14
+ "EXIT_INTERVAL": 26703,
15
+ "FEEDBACK_EVAL_PASSES": 3,
16
+ "FEEDBACK_JITTER_SIGMA": 0.0,
17
+ "FEEDBACK_LAYERS": "2,11,20",
18
+ "FEEDBACK_LOG_HIDDEN_CHANGE": false,
19
+ "FEEDBACK_LOSS_WEIGHT": 1.0,
20
+ "FEEDBACK_NORMUON_BETA2": 0.95,
21
+ "FEEDBACK_PASS_MIXTURE": "3:1.0",
22
+ "FEEDBACK_PREFIX_MIXIN": false,
23
+ "FEEDBACK_PROGRESSIVE_STAGES": "[]",
24
+ "FEEDBACK_SCALAR_LR": 0.0005,
25
+ "FEEDBACK_SCALAR_WEIGHT_DECAY": 0.0,
26
+ "FEEDBACK_Z_LOSS_COEFFICIENT": 0.0,
27
+ "FEEDBACK_Z_LOSS_START_FRACTION": 1.0,
28
+ "GLOBAL_BATCH_SIZE": 128,
29
+ "MICRO_BATCH_SIZE": 8,
30
+ "ONLINE_DATASET": "HuggingFaceFW/fineweb-edu",
31
+ "ONLINE_DATASET_REVISION": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
32
+ "ONLINE_DATASET_SUBSET": "sample-100BT",
33
+ "ONLINE_SOURCE_SPLIT": "train",
34
+ "ONLINE_SPLIT_SEED": "260421106",
35
+ "ONLINE_TOKENIZER_REVISION": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d",
36
+ "ONLINE_VALIDATION_FRACTION": "0.001",
37
+ "PP": "1",
38
+ "PRECISION": "bf16",
39
+ "RUN_NAME": "fbw_L2L11L20_7b_seed42_20260920-023045",
40
+ "SAVE_INTERVAL": 4000,
41
+ "SEED": 42,
42
+ "SEQ_LENGTH": "2048",
43
+ "TP": "1",
44
+ "TRAIN_ITERS": 26703,
45
+ "WANDB_RUN_GROUP": "vanilla_476m_7b_FBW_K3",
46
+ "WANDB_RUN_ID": "ljsfjz37",
47
+ "WANDB_TAGS": "product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20"
48
+ },
49
+ "eval_passes": 3,
50
+ "execution_architecture": "full_bandwidth",
51
+ "feedback_enabled": true,
52
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
53
+ "feedback_layer_projection_init": "final_layer_identity",
54
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization",
55
+ "feedback_layers": [
56
+ 2,
57
+ 11,
58
+ 20
59
+ ],
60
+ "feedback_pass_mixture": {
61
+ "3": 1.0
62
+ },
63
+ "feedback_progressive_stages": [],
64
+ "ffn_hidden_size": 5632,
65
+ "final_validation": null,
66
+ "head_dim": 128,
67
+ "hidden_size": 1408,
68
+ "initialization": {
69
+ "embedding_normal_std": 1.0,
70
+ "head_normal_std": 0.001,
71
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
72
+ "norm_scale": 1.0
73
+ },
74
+ "is_final_checkpoint": false,
75
+ "loading_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
76
+ "loading_note": "Native Megatron tensor names and dtypes, weights only; no optimizer, RNG, scheduler or dataloader state. Not a Transformers AutoModel export.",
77
+ "logit_softcap": 15.0,
78
+ "metadata_source": "/root/dl/runtime/script/loopTF-workspace/output/research/R3_lookahead_improve/fbw_L2L11L20_7b_seed42_20260920-023045",
79
+ "model_level_norms": [
80
+ "embedding",
81
+ "recur",
82
+ "final"
83
+ ],
84
+ "native_inference_adapter": {
85
+ "active_vocab_size": 32001,
86
+ "architecture": "full_bandwidth",
87
+ "context_extension": "native RoPE, no scaling; at most 2x training length",
88
+ "max_supported_length": 4096,
89
+ "model_config": {
90
+ "attention_dropout": 0.0,
91
+ "attn_implementation": "sdpa",
92
+ "backbone_profile": "paper2604_vanilla",
93
+ "gradient_checkpointing": false,
94
+ "hf_config_overrides": {},
95
+ "hidden_size": 1408,
96
+ "initializer_range": 0.02,
97
+ "intermediate_size": 5632,
98
+ "max_position_embeddings": 2048,
99
+ "model_type": "full_bandwidth",
100
+ "num_attention_heads": 11,
101
+ "num_hidden_layers": 20,
102
+ "num_key_value_heads": 11,
103
+ "padded_vocab_size": 32064,
104
+ "paper_full_attention_interval": 6,
105
+ "paper_sliding_window": 0,
106
+ "pretrained_model_name_or_path": null,
107
+ "revision": null,
108
+ "rms_norm_eps": 1e-06,
109
+ "rope_theta": 10000,
110
+ "tie_word_embeddings": false,
111
+ "trust_remote_code": false,
112
+ "vocab_size": 32001
113
+ },
114
+ "policy": {
115
+ "depth_loops": 1,
116
+ "depth_share_kv": false,
117
+ "feedback_layers": [
118
+ 2,
119
+ 11,
120
+ 20
121
+ ],
122
+ "final_adapter": {
123
+ "attention_backend": "sdpa_auto",
124
+ "checkpoint_refiner": true,
125
+ "ffn_size": null,
126
+ "kind": "none"
127
+ },
128
+ "num_passes": 3
129
+ },
130
+ "prediction": "fixed final feedback-pass logits; eval jitter/prefix mixin disabled",
131
+ "step": 12000,
132
+ "training_context_length": 2048
133
+ },
134
+ "native_loading_args": {
135
+ "architecture": "full_bandwidth",
136
+ "attention_dropout": 0.0,
137
+ "aux_mtp_horizon": 1,
138
+ "backbone_profile": "paper2604_vanilla",
139
+ "context_parallel_size": 1,
140
+ "feedback_eval_passes": 3,
141
+ "feedback_layers": "2,11,20",
142
+ "ffn_hidden_size": 5632,
143
+ "hidden_size": 1408,
144
+ "layernorm_epsilon": 1e-06,
145
+ "num_attention_heads": 11,
146
+ "num_layers": 20,
147
+ "num_query_groups": 11,
148
+ "padded_vocab_size": 32064,
149
+ "pipeline_model_parallel_size": 1,
150
+ "rotary_base": 10000,
151
+ "seq_length": 2048,
152
+ "tensor_model_parallel_size": 1,
153
+ "untie_embeddings_and_output_weights": true,
154
+ "vocab_size": 32001
155
+ },
156
+ "non_tensor_state_dict_entries": {
157
+ "decoder.layers.0.mlp.linear_fc1._extra_state": null,
158
+ "decoder.layers.0.mlp.linear_fc2._extra_state": null,
159
+ "decoder.layers.0.self_attention.linear_proj._extra_state": null,
160
+ "decoder.layers.0.self_attention.linear_qkv._extra_state": null,
161
+ "decoder.layers.1.mlp.linear_fc1._extra_state": null,
162
+ "decoder.layers.1.mlp.linear_fc2._extra_state": null,
163
+ "decoder.layers.1.self_attention.linear_proj._extra_state": null,
164
+ "decoder.layers.1.self_attention.linear_qkv._extra_state": null,
165
+ "decoder.layers.10.mlp.linear_fc1._extra_state": null,
166
+ "decoder.layers.10.mlp.linear_fc2._extra_state": null,
167
+ "decoder.layers.10.self_attention.linear_proj._extra_state": null,
168
+ "decoder.layers.10.self_attention.linear_qkv._extra_state": null,
169
+ "decoder.layers.11.mlp.linear_fc1._extra_state": null,
170
+ "decoder.layers.11.mlp.linear_fc2._extra_state": null,
171
+ "decoder.layers.11.self_attention.linear_proj._extra_state": null,
172
+ "decoder.layers.11.self_attention.linear_qkv._extra_state": null,
173
+ "decoder.layers.12.mlp.linear_fc1._extra_state": null,
174
+ "decoder.layers.12.mlp.linear_fc2._extra_state": null,
175
+ "decoder.layers.12.self_attention.linear_proj._extra_state": null,
176
+ "decoder.layers.12.self_attention.linear_qkv._extra_state": null,
177
+ "decoder.layers.13.mlp.linear_fc1._extra_state": null,
178
+ "decoder.layers.13.mlp.linear_fc2._extra_state": null,
179
+ "decoder.layers.13.self_attention.linear_proj._extra_state": null,
180
+ "decoder.layers.13.self_attention.linear_qkv._extra_state": null,
181
+ "decoder.layers.14.mlp.linear_fc1._extra_state": null,
182
+ "decoder.layers.14.mlp.linear_fc2._extra_state": null,
183
+ "decoder.layers.14.self_attention.linear_proj._extra_state": null,
184
+ "decoder.layers.14.self_attention.linear_qkv._extra_state": null,
185
+ "decoder.layers.15.mlp.linear_fc1._extra_state": null,
186
+ "decoder.layers.15.mlp.linear_fc2._extra_state": null,
187
+ "decoder.layers.15.self_attention.linear_proj._extra_state": null,
188
+ "decoder.layers.15.self_attention.linear_qkv._extra_state": null,
189
+ "decoder.layers.16.mlp.linear_fc1._extra_state": null,
190
+ "decoder.layers.16.mlp.linear_fc2._extra_state": null,
191
+ "decoder.layers.16.self_attention.linear_proj._extra_state": null,
192
+ "decoder.layers.16.self_attention.linear_qkv._extra_state": null,
193
+ "decoder.layers.17.mlp.linear_fc1._extra_state": null,
194
+ "decoder.layers.17.mlp.linear_fc2._extra_state": null,
195
+ "decoder.layers.17.self_attention.linear_proj._extra_state": null,
196
+ "decoder.layers.17.self_attention.linear_qkv._extra_state": null,
197
+ "decoder.layers.18.mlp.linear_fc1._extra_state": null,
198
+ "decoder.layers.18.mlp.linear_fc2._extra_state": null,
199
+ "decoder.layers.18.self_attention.linear_proj._extra_state": null,
200
+ "decoder.layers.18.self_attention.linear_qkv._extra_state": null,
201
+ "decoder.layers.19.mlp.linear_fc1._extra_state": null,
202
+ "decoder.layers.19.mlp.linear_fc2._extra_state": null,
203
+ "decoder.layers.19.self_attention.linear_proj._extra_state": null,
204
+ "decoder.layers.19.self_attention.linear_qkv._extra_state": null,
205
+ "decoder.layers.2.mlp.linear_fc1._extra_state": null,
206
+ "decoder.layers.2.mlp.linear_fc2._extra_state": null,
207
+ "decoder.layers.2.self_attention.linear_proj._extra_state": null,
208
+ "decoder.layers.2.self_attention.linear_qkv._extra_state": null,
209
+ "decoder.layers.3.mlp.linear_fc1._extra_state": null,
210
+ "decoder.layers.3.mlp.linear_fc2._extra_state": null,
211
+ "decoder.layers.3.self_attention.linear_proj._extra_state": null,
212
+ "decoder.layers.3.self_attention.linear_qkv._extra_state": null,
213
+ "decoder.layers.4.mlp.linear_fc1._extra_state": null,
214
+ "decoder.layers.4.mlp.linear_fc2._extra_state": null,
215
+ "decoder.layers.4.self_attention.linear_proj._extra_state": null,
216
+ "decoder.layers.4.self_attention.linear_qkv._extra_state": null,
217
+ "decoder.layers.5.mlp.linear_fc1._extra_state": null,
218
+ "decoder.layers.5.mlp.linear_fc2._extra_state": null,
219
+ "decoder.layers.5.self_attention.linear_proj._extra_state": null,
220
+ "decoder.layers.5.self_attention.linear_qkv._extra_state": null,
221
+ "decoder.layers.6.mlp.linear_fc1._extra_state": null,
222
+ "decoder.layers.6.mlp.linear_fc2._extra_state": null,
223
+ "decoder.layers.6.self_attention.linear_proj._extra_state": null,
224
+ "decoder.layers.6.self_attention.linear_qkv._extra_state": null,
225
+ "decoder.layers.7.mlp.linear_fc1._extra_state": null,
226
+ "decoder.layers.7.mlp.linear_fc2._extra_state": null,
227
+ "decoder.layers.7.self_attention.linear_proj._extra_state": null,
228
+ "decoder.layers.7.self_attention.linear_qkv._extra_state": null,
229
+ "decoder.layers.8.mlp.linear_fc1._extra_state": null,
230
+ "decoder.layers.8.mlp.linear_fc2._extra_state": null,
231
+ "decoder.layers.8.self_attention.linear_proj._extra_state": null,
232
+ "decoder.layers.8.self_attention.linear_qkv._extra_state": null,
233
+ "decoder.layers.9.mlp.linear_fc1._extra_state": null,
234
+ "decoder.layers.9.mlp.linear_fc2._extra_state": null,
235
+ "decoder.layers.9.self_attention.linear_proj._extra_state": null,
236
+ "decoder.layers.9.self_attention.linear_qkv._extra_state": null,
237
+ "feedback.state_proj._extra_state": null,
238
+ "feedback.token_gate_proj._extra_state": null,
239
+ "feedback_layer_proj._extra_state": null,
240
+ "output_layer._extra_state": null
241
+ },
242
+ "norm_epsilon": 1e-06,
243
+ "num_attention_heads": 11,
244
+ "num_kv_heads": 11,
245
+ "num_layers": 20,
246
+ "objective": "latent_feedback_causal_lm",
247
+ "padded_vocab_size": 32064,
248
+ "parameter_counts": {
249
+ "feedback_layer_projection_parameters": 5947392,
250
+ "feedback_parameters": 3967744,
251
+ "non_embedding_matrix_formula": 475791360,
252
+ "non_embedding_paper_N": 475851904,
253
+ "total_trainable": 576059264
254
+ },
255
+ "pipeline_parallel_size": 1,
256
+ "planned_training_tokens": 7000031232,
257
+ "projection_dtype": "bfloat16 (production)",
258
+ "qk_norm": "functional_rmsnorm_after_rope",
259
+ "residual_and_norm_scale_dtype": "float32",
260
+ "residual_multiplier": 1.0,
261
+ "rope_base": 10000.0,
262
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
263
+ "sequence_length": 2048,
264
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
265
+ "tensor_count": 130,
266
+ "tensor_dtypes": {
267
+ "torch.bfloat16": 87,
268
+ "torch.float32": 43
269
+ },
270
+ "tensor_parallel_size": 1,
271
+ "tied_embeddings": false,
272
+ "tokenizer": {
273
+ "active_vocab_size": 32001,
274
+ "additional_token": "<|assistant_end|>",
275
+ "repo_id": "NousResearch/Llama-2-7b-hf",
276
+ "revision": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d"
277
+ },
278
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
279
+ "total_parameters": 576059264,
280
+ "total_trainable_parameters": 576059264,
281
+ "train_passes": 3,
282
+ "training_code_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
283
+ "training_code_dirty": false,
284
+ "training_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
285
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045",
286
+ "training_tokens": 3145728000,
287
+ "vocab_size": 32001,
288
+ "width_scale": 22
289
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/launch_config.env ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Multi-layer feedback ablation of 476M_7b_FBW0_K3.env: layers 2, 11, 20.
2
+ # See FBW_MULTILAYER_STUDY.md; all training/data settings match the control.
3
+ # See configs/vanilla/FBW_STUDY.md. Derived from 476M_7b.env at
4
+ # a57216c3768aebd1226a30fa573b09530a9537f2; preserve the vanilla global LR curve.
5
+ # Fresh arm: same backbone seed, feedback enabled from update 1; no checkpoint load.
6
+
7
+ TRAIN_ARCHITECTURE=full_bandwidth
8
+ BACKBONE_PROFILE=paper2604_vanilla
9
+ TRAINING_RECIPE=paper2604_21106
10
+ RECIPE_OVERRIDES='{}'
11
+ # Use the installed Transformers release; the cluster's dev checkout is incompatible.
12
+ TRANSFORMERS_PATH=''
13
+ RUN_NAME=paper2604_vanilla_476m_7b_online_FBW0_K3_L2L11L20
14
+ RESUME_POLICY=fresh
15
+ REQUIRE_CHECKPOINT=false
16
+
17
+ # Online FineWeb-Edu; no prepared .bin/.idx dataset is needed.
18
+ # The launcher saves the pinned Llama-2 + assistant_end tokenizer under DATA_ROOT.
19
+ DATASET_NAME=paper2604_fineweb_edu_online_llama2_32001_t2049
20
+ ONLINE_DATA=true
21
+ # Match the completed vanilla run: use the complete local raw cache when available.
22
+ ONLINE_SOURCE_MODE=auto
23
+ ONLINE_DATASET=HuggingFaceFW/fineweb-edu
24
+ ONLINE_DATASET_SUBSET=sample-100BT
25
+ ONLINE_DATASET_REVISION=87f09149ef4734204d70ed1d046ddc9ca3f2b8f9
26
+ ONLINE_SOURCE_SPLIT=train
27
+ ONLINE_TEXT_COLUMN=text
28
+ ONLINE_VALIDATION_FRACTION=0.001
29
+ ONLINE_SPLIT_SEED=260421106
30
+ TOKENIZER_MODEL=NousResearch/Llama-2-7b-hf
31
+ ONLINE_TOKENIZER_REVISION=8efe6c9b93655b934e27bd9981e3ec13e55aee9d
32
+ ONLINE_TOKENIZER_BATCH_SIZE=256
33
+ ONLINE_SHUFFLE_BUFFER_RECORDS=128
34
+ NUM_WORKERS=0
35
+ DATA_PREFLIGHT=false
36
+ EXPECTED_RECORD_LENGTH=2049
37
+ EXPECTED_INPUT_LENGTH=2048
38
+ MIN_MODEL_INPUT_TOKENS=7000000000
39
+
40
+ # Match the completed vanilla data stream: four nodes, TP=PP=1, DP=32.
41
+ # The multi-node launcher supplies the node rank; preflight can override NNODES.
42
+ NNODES=4
43
+ GPUS_PER_NODE=8
44
+ TP=1
45
+ PP=1
46
+ # Four accumulation rounds on 8 GPUs, one on 32 GPUs (TP=PP=1).
47
+ MICRO_BATCH_SIZE=4
48
+ GLOBAL_BATCH_SIZE=128
49
+ SEQ_LENGTH=2048
50
+ MAX_POSITION_EMBEDDINGS=2048
51
+ # Fresh training: 26,703 updates / 7,000,031,232 physical input tokens.
52
+ # Use the vanilla LR curve from step 0 through the same 7B endpoint.
53
+ TRAIN_ITERS=26703
54
+
55
+ NUM_LAYERS=20
56
+ HIDDEN_SIZE=1408
57
+ FFN_HIDDEN_SIZE=5632
58
+ NUM_ATTENTION_HEADS=11
59
+ NUM_QUERY_GROUPS=11
60
+ GROUP_QUERY_ATTENTION=false
61
+ ATTENTION_OUTPUT_GATE=false
62
+ QK_LAYERNORM=false # Profile supplies parameter-free QK RMSNorm AFTER RoPE.
63
+ SWIGLU=false # Profile supplies squared-ReLU.
64
+ DISABLE_BIAS_LINEAR=true
65
+ NORMALIZATION=RMSNorm
66
+ LAYERNORM_EPSILON=0.000001
67
+ HIDDEN_DROPOUT=0
68
+ ATTENTION_DROPOUT=0
69
+ WINDOW_SIZE=none
70
+ WINDOW_ATTN_SKIP_FREQ=1
71
+ POSITION_EMBEDDING_TYPE=rope
72
+ ROTARY_BASE=10000
73
+ UNTIE_EMBEDDINGS=true
74
+ TOKENIZER_TYPE=HuggingFaceTokenizer
75
+ VOCAB_SIZE=32001
76
+ MAKE_VOCAB_SIZE_DIVISIBLE_BY=64
77
+ PRECISION=bf16
78
+ ENABLE_RECOMPUTE=false
79
+ MEGATRON_EXTRA_ARGS=''
80
+
81
+ # Use K=3 on every update, from update 1 through update 26,703.
82
+ FEEDBACK_PASS_MIXTURE=3:1.0
83
+ FEEDBACK_PROGRESSIVE_STAGES='[]'
84
+ FEEDBACK_EVAL_PASSES=3
85
+ # 1-based block outputs, with the final layer after trunk normalization.
86
+ # Concatenate 3*1408 -> 1408; initialize projection to [0, 0, I].
87
+ FEEDBACK_LAYERS=2,11,20
88
+ FEEDBACK_LOSS_WEIGHT=1.0
89
+ FEEDBACK_JITTER_SIGMA=0
90
+ FEEDBACK_PREFIX_MIXIN=false
91
+ FEEDBACK_Z_LOSS_COEFFICIENT=0
92
+ FEEDBACK_LOG_HIDDEN_CHANGE=false
93
+
94
+ # Frequent logs and a short sampled evaluation for the initial training check.
95
+ WANDB_ENTITY=LoopTF-4-CSPs
96
+ WANDB_PROJECT=loopTF-workspace
97
+ WANDB_MODE=online
98
+ WANDB_RESUME=never
99
+ WANDB_RUN_GROUP=vanilla_476m_7b_FBW_K3
100
+ WANDB_TAGS=product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20
101
+ SAVE_INTERVAL=4000
102
+ EVAL_AT_START=true
103
+ EVAL_INTERVAL=100
104
+ EVAL_ITERS=2
105
+ LOG_INTERVAL=1
106
+ CKPT_FORMAT=torch
107
+ SEED=42
fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/manifest.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint_iteration": 12000,
3
+ "files": {
4
+ "README.md": {
5
+ "sha256": "ecfcad9dcd20100fe9c87281508367495a2e47f6ec745b20fad8455b5879fd1f",
6
+ "size": 2699
7
+ },
8
+ "config.json": {
9
+ "sha256": "6e6a9ced87ea8f55c9ab0533b901e84e97991d5aa0838f0b29ee213e9639793a",
10
+ "size": 12273
11
+ },
12
+ "launch_config.env": {
13
+ "sha256": "637c50c798de3f8796a5112318af3c2ce772a32fd22aa9e2ea11d38b11dccca9",
14
+ "size": 3606
15
+ },
16
+ "model.safetensors": {
17
+ "sha256": "1cf078511cf90a669c48751691728f5a4c7537a4db065cc8f75c82850ccdef00",
18
+ "size": 1152254688
19
+ },
20
+ "training_recipe.json": {
21
+ "sha256": "80097382a5141be358f63eb145e5191e0eec2dade0228d6e366eebf394c97db9",
22
+ "size": 4117
23
+ }
24
+ },
25
+ "manifest_note": "Hashes cover other payload files; manifest does not hash itself.",
26
+ "path_in_repo": "fbw_L2L11L20_7b_seed42_20260920-023045/step_12000",
27
+ "repo_id": "Siyuc/loopTF-workspace",
28
+ "repo_type": "model",
29
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045"
30
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1cf078511cf90a669c48751691728f5a4c7537a4db065cc8f75c82850ccdef00
3
+ size 1152254688
fbw_L2L11L20_7b_seed42_20260920-023045/step_12000/training_recipe.json ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recipe": "paper2604_21106",
3
+ "width": 1408,
4
+ "total_tokens": 7000031232,
5
+ "batch_tokens": 262144,
6
+ "reference_width": 640,
7
+ "reference_tokens": 983315200,
8
+ "reference_batch_tokens": 262144,
9
+ "base_lrs": {
10
+ "matrix": 0.014,
11
+ "embedding": 0.3,
12
+ "unembedding": 0.004,
13
+ "norm": 0.005,
14
+ "other": 0.005
15
+ },
16
+ "peak_lrs": {
17
+ "matrix": 0.007470638533717786,
18
+ "embedding": 0.2022599587389726,
19
+ "unembedding": 0.0026967994498529684,
20
+ "norm": 0.00337099931231621,
21
+ "other": 0.00337099931231621
22
+ },
23
+ "reference": "paper vanilla 0-20-0 at width 640; configurable token anchor",
24
+ "tied_embedding_policy": "unembedding (one AdamW update)",
25
+ "other_parameter_policy": "norm LR (extension for non-paper scalars/biases)",
26
+ "weight_decay": 0.0,
27
+ "warmup_steps": 0,
28
+ "final_lr_fraction": 0.1,
29
+ "optimizer": {
30
+ "name": "muonh",
31
+ "matrix_lr": 0.014,
32
+ "scalar_lr": null,
33
+ "matrix_weight_decay": 0.0,
34
+ "scalar_weight_decay": 0.0,
35
+ "embedding_lr": 0.3,
36
+ "unembedding_lr": 0.004,
37
+ "norm_lr": 0.005,
38
+ "other_lr": 0.005,
39
+ "betas": [
40
+ 0.8,
41
+ 0.95
42
+ ],
43
+ "eps": 1e-10,
44
+ "normuon_momentum": 0.95,
45
+ "normuon_beta2": 0.95,
46
+ "normuon_nesterov": true,
47
+ "normuon_adjust_lr": "spectral_norm",
48
+ "max_grad_norm": null
49
+ },
50
+ "schedule": {
51
+ "kind": "linear",
52
+ "warmup_steps": 0,
53
+ "cooldown_fraction": 0.0,
54
+ "cooldown_style": "linear",
55
+ "final_lr_fraction": 0.1,
56
+ "z_loss_coefficient": 0.0,
57
+ "adamc_weight_decay": false
58
+ },
59
+ "group_weight_decay": {
60
+ "matrix": 0.0,
61
+ "embedding": 0.0,
62
+ "unembedding": 0.0,
63
+ "norm": 0.0,
64
+ "other": 0.0
65
+ },
66
+ "recipe_overrides": {},
67
+ "requested_batch_tokens": 262144,
68
+ "sequence_length": 2048,
69
+ "batch_assumptions": {
70
+ "global_batch_tokens": 262144,
71
+ "sequence_length": 2048,
72
+ "round_up": false
73
+ },
74
+ "lr_transfer": "mup_hyperp_released_source",
75
+ "assumptions": [],
76
+ "backend_kernel_assumptions": {},
77
+ "paper_settings_overridden": false,
78
+ "model": {
79
+ "backbone_profile": "paper2604_vanilla",
80
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
81
+ "width_scale": 22,
82
+ "hidden_size": 1408,
83
+ "num_layers": 20,
84
+ "head_dim": 128,
85
+ "num_attention_heads": 11,
86
+ "num_kv_heads": 11,
87
+ "ffn_hidden_size": 5632,
88
+ "activation": "squared_relu",
89
+ "attention": "full_causal",
90
+ "attention_output_gate": false,
91
+ "qk_norm": "functional_rmsnorm_after_rope",
92
+ "norm_epsilon": 1e-06,
93
+ "model_level_norms": [
94
+ "embedding",
95
+ "recur",
96
+ "final"
97
+ ],
98
+ "rope_base": 10000.0,
99
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
100
+ "bias": false,
101
+ "dropout": 0.0,
102
+ "residual_multiplier": 1.0,
103
+ "residual_and_norm_scale_dtype": "float32",
104
+ "projection_dtype": "bfloat16 (production)",
105
+ "tied_embeddings": false,
106
+ "vocab_size": 32001,
107
+ "padded_vocab_size": 32064,
108
+ "logit_softcap": 15.0,
109
+ "crop_padding_before_loss": true,
110
+ "initialization": {
111
+ "embedding_normal_std": 1.0,
112
+ "head_normal_std": 0.001,
113
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
114
+ "norm_scale": 1.0
115
+ },
116
+ "parameter_counts": {
117
+ "non_embedding_matrix_formula": 475791360,
118
+ "non_embedding_paper_N": 475851904,
119
+ "total_trainable": 576059264,
120
+ "feedback_parameters": 3967744,
121
+ "feedback_layer_projection_parameters": 5947392
122
+ },
123
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
124
+ "execution_architecture": "full_bandwidth",
125
+ "objective": "latent_feedback_causal_lm",
126
+ "feedback_enabled": true,
127
+ "train_passes": 3,
128
+ "eval_passes": 3,
129
+ "feedback_pass_mixture": {
130
+ "3": 1.0
131
+ },
132
+ "feedback_progressive_stages": [],
133
+ "feedback_layers": [
134
+ 2,
135
+ 11,
136
+ 20
137
+ ],
138
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
139
+ "feedback_layer_projection_init": "final_layer_identity",
140
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization"
141
+ }
142
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/README.md ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # fbw_L2L11L20_7b_seed42_20260920-023045 — step 16000
2
+
3
+ Intermediate checkpoint at step **16,000**, after **4,194,304,000 training input tokens**, from a run with a 7,000,031,232-token total budget. Complete model: **576,059,264 parameters**. The `476m` label refers to the backbone sizing convention, and `7b` to the training-token budget.
4
+
5
+ Native state-dict safetensors, preserving every source tensor name, shape, dtype and value. This is weights and configuration only, not a full training-resume bundle or a Transformers `AutoModel.from_pretrained` export. All source tensors were finite and strict native loading passed on CPU. Source checkpoints were retained.
6
+
7
+ Training revision: `9f3c22f21c6026055ba69a39af5f285f09d3cfc8`; paper/backbone source revision: `122366472a31e57982a2877eeee10bb115477713`. Use [loopTF-workspace loading revision](https://github.com/FFishy-git/loopTF-workspace/tree/9f3c22f21c6026055ba69a39af5f285f09d3cfc8) with `src` on `PYTHONPATH` and its dependencies installed.
8
+
9
+ The existing project native feedback inference adapter preserves the saved feedback layer selection and fusion projection. It maps packed QKV/key names at load time and uses full-prefix inference; the uploaded tensors keep native Megatron names. Use native_loading_args exactly as recorded.
10
+
11
+ ## Loading
12
+
13
+ ```python
14
+ import json
15
+ from pathlib import Path
16
+ import torch
17
+ from safetensors.torch import load_file
18
+ export_dir = Path("/path/to/step_16000")
19
+ config = json.loads((export_dir / "config.json").read_text())
20
+ state = load_file(str(export_dir / "model.safetensors"), device="cpu")
21
+ from types import SimpleNamespace
22
+ from loop_transformer_backends.benchmarks.models import build_native
23
+ model, metadata = build_native({
24
+ "args": SimpleNamespace(**config["native_loading_args"]),
25
+ "model": state | config["non_tensor_state_dict_entries"],
26
+ "iteration": config["checkpoint_iteration"],
27
+ }) # Existing project inference mapping, strict=True, assign=True internally.
28
+ model.eval()
29
+ ```
30
+
31
+ Use the pinned Llama-2 tokenizer plus `<|assistant_end|>` in `config.json`, with 32,001 active tokens and weights padded to 32,064. `launch_config.env` is the original reviewed base snapshot; its relative imports require the pinned source tree. Effective timestamped run identity and overrides are recorded in `config.json`, which is authoritative for loading.
32
+
33
+ No final held-out evaluation receipt is available for this checkpoint; no final-evaluation result is claimed.
34
+
35
+ W&B: [source run](https://wandb.ai/LoopTF-4-CSPs/loopTF-workspace/runs/ljsfjz37). `manifest.json` records file sizes and SHA256 and does not hash itself. No optimizer, scheduler, RNG, dataloader, dataset, logs or credentials are included.
fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/config.json ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation": "squared_relu",
3
+ "attention": "full_causal",
4
+ "attention_output_gate": false,
5
+ "backbone_profile": "paper2604_vanilla",
6
+ "bias": false,
7
+ "checkpoint_format": "safetensors_native_megatron_state_dict",
8
+ "checkpoint_iteration": 16000,
9
+ "checkpoint_version": 3.0,
10
+ "consumed_train_samples": 2048000,
11
+ "crop_padding_before_loss": true,
12
+ "dropout": 0.0,
13
+ "effective_overrides": {
14
+ "EXIT_INTERVAL": 26703,
15
+ "FEEDBACK_EVAL_PASSES": 3,
16
+ "FEEDBACK_JITTER_SIGMA": 0.0,
17
+ "FEEDBACK_LAYERS": "2,11,20",
18
+ "FEEDBACK_LOG_HIDDEN_CHANGE": false,
19
+ "FEEDBACK_LOSS_WEIGHT": 1.0,
20
+ "FEEDBACK_NORMUON_BETA2": 0.95,
21
+ "FEEDBACK_PASS_MIXTURE": "3:1.0",
22
+ "FEEDBACK_PREFIX_MIXIN": false,
23
+ "FEEDBACK_PROGRESSIVE_STAGES": "[]",
24
+ "FEEDBACK_SCALAR_LR": 0.0005,
25
+ "FEEDBACK_SCALAR_WEIGHT_DECAY": 0.0,
26
+ "FEEDBACK_Z_LOSS_COEFFICIENT": 0.0,
27
+ "FEEDBACK_Z_LOSS_START_FRACTION": 1.0,
28
+ "GLOBAL_BATCH_SIZE": 128,
29
+ "MICRO_BATCH_SIZE": 8,
30
+ "ONLINE_DATASET": "HuggingFaceFW/fineweb-edu",
31
+ "ONLINE_DATASET_REVISION": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
32
+ "ONLINE_DATASET_SUBSET": "sample-100BT",
33
+ "ONLINE_SOURCE_SPLIT": "train",
34
+ "ONLINE_SPLIT_SEED": "260421106",
35
+ "ONLINE_TOKENIZER_REVISION": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d",
36
+ "ONLINE_VALIDATION_FRACTION": "0.001",
37
+ "PP": "1",
38
+ "PRECISION": "bf16",
39
+ "RUN_NAME": "fbw_L2L11L20_7b_seed42_20260920-023045",
40
+ "SAVE_INTERVAL": 4000,
41
+ "SEED": 42,
42
+ "SEQ_LENGTH": "2048",
43
+ "TP": "1",
44
+ "TRAIN_ITERS": 26703,
45
+ "WANDB_RUN_GROUP": "vanilla_476m_7b_FBW_K3",
46
+ "WANDB_RUN_ID": "ljsfjz37",
47
+ "WANDB_TAGS": "product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20"
48
+ },
49
+ "eval_passes": 3,
50
+ "execution_architecture": "full_bandwidth",
51
+ "feedback_enabled": true,
52
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
53
+ "feedback_layer_projection_init": "final_layer_identity",
54
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization",
55
+ "feedback_layers": [
56
+ 2,
57
+ 11,
58
+ 20
59
+ ],
60
+ "feedback_pass_mixture": {
61
+ "3": 1.0
62
+ },
63
+ "feedback_progressive_stages": [],
64
+ "ffn_hidden_size": 5632,
65
+ "final_validation": null,
66
+ "head_dim": 128,
67
+ "hidden_size": 1408,
68
+ "initialization": {
69
+ "embedding_normal_std": 1.0,
70
+ "head_normal_std": 0.001,
71
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
72
+ "norm_scale": 1.0
73
+ },
74
+ "is_final_checkpoint": false,
75
+ "loading_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
76
+ "loading_note": "Native Megatron tensor names and dtypes, weights only; no optimizer, RNG, scheduler or dataloader state. Not a Transformers AutoModel export.",
77
+ "logit_softcap": 15.0,
78
+ "metadata_source": "/root/dl/runtime/script/loopTF-workspace/output/research/R3_lookahead_improve/fbw_L2L11L20_7b_seed42_20260920-023045",
79
+ "model_level_norms": [
80
+ "embedding",
81
+ "recur",
82
+ "final"
83
+ ],
84
+ "native_inference_adapter": {
85
+ "active_vocab_size": 32001,
86
+ "architecture": "full_bandwidth",
87
+ "context_extension": "native RoPE, no scaling; at most 2x training length",
88
+ "max_supported_length": 4096,
89
+ "model_config": {
90
+ "attention_dropout": 0.0,
91
+ "attn_implementation": "sdpa",
92
+ "backbone_profile": "paper2604_vanilla",
93
+ "gradient_checkpointing": false,
94
+ "hf_config_overrides": {},
95
+ "hidden_size": 1408,
96
+ "initializer_range": 0.02,
97
+ "intermediate_size": 5632,
98
+ "max_position_embeddings": 2048,
99
+ "model_type": "full_bandwidth",
100
+ "num_attention_heads": 11,
101
+ "num_hidden_layers": 20,
102
+ "num_key_value_heads": 11,
103
+ "padded_vocab_size": 32064,
104
+ "paper_full_attention_interval": 6,
105
+ "paper_sliding_window": 0,
106
+ "pretrained_model_name_or_path": null,
107
+ "revision": null,
108
+ "rms_norm_eps": 1e-06,
109
+ "rope_theta": 10000,
110
+ "tie_word_embeddings": false,
111
+ "trust_remote_code": false,
112
+ "vocab_size": 32001
113
+ },
114
+ "policy": {
115
+ "depth_loops": 1,
116
+ "depth_share_kv": false,
117
+ "feedback_layers": [
118
+ 2,
119
+ 11,
120
+ 20
121
+ ],
122
+ "final_adapter": {
123
+ "attention_backend": "sdpa_auto",
124
+ "checkpoint_refiner": true,
125
+ "ffn_size": null,
126
+ "kind": "none"
127
+ },
128
+ "num_passes": 3
129
+ },
130
+ "prediction": "fixed final feedback-pass logits; eval jitter/prefix mixin disabled",
131
+ "step": 16000,
132
+ "training_context_length": 2048
133
+ },
134
+ "native_loading_args": {
135
+ "architecture": "full_bandwidth",
136
+ "attention_dropout": 0.0,
137
+ "aux_mtp_horizon": 1,
138
+ "backbone_profile": "paper2604_vanilla",
139
+ "context_parallel_size": 1,
140
+ "feedback_eval_passes": 3,
141
+ "feedback_layers": "2,11,20",
142
+ "ffn_hidden_size": 5632,
143
+ "hidden_size": 1408,
144
+ "layernorm_epsilon": 1e-06,
145
+ "num_attention_heads": 11,
146
+ "num_layers": 20,
147
+ "num_query_groups": 11,
148
+ "padded_vocab_size": 32064,
149
+ "pipeline_model_parallel_size": 1,
150
+ "rotary_base": 10000,
151
+ "seq_length": 2048,
152
+ "tensor_model_parallel_size": 1,
153
+ "untie_embeddings_and_output_weights": true,
154
+ "vocab_size": 32001
155
+ },
156
+ "non_tensor_state_dict_entries": {
157
+ "decoder.layers.0.mlp.linear_fc1._extra_state": null,
158
+ "decoder.layers.0.mlp.linear_fc2._extra_state": null,
159
+ "decoder.layers.0.self_attention.linear_proj._extra_state": null,
160
+ "decoder.layers.0.self_attention.linear_qkv._extra_state": null,
161
+ "decoder.layers.1.mlp.linear_fc1._extra_state": null,
162
+ "decoder.layers.1.mlp.linear_fc2._extra_state": null,
163
+ "decoder.layers.1.self_attention.linear_proj._extra_state": null,
164
+ "decoder.layers.1.self_attention.linear_qkv._extra_state": null,
165
+ "decoder.layers.10.mlp.linear_fc1._extra_state": null,
166
+ "decoder.layers.10.mlp.linear_fc2._extra_state": null,
167
+ "decoder.layers.10.self_attention.linear_proj._extra_state": null,
168
+ "decoder.layers.10.self_attention.linear_qkv._extra_state": null,
169
+ "decoder.layers.11.mlp.linear_fc1._extra_state": null,
170
+ "decoder.layers.11.mlp.linear_fc2._extra_state": null,
171
+ "decoder.layers.11.self_attention.linear_proj._extra_state": null,
172
+ "decoder.layers.11.self_attention.linear_qkv._extra_state": null,
173
+ "decoder.layers.12.mlp.linear_fc1._extra_state": null,
174
+ "decoder.layers.12.mlp.linear_fc2._extra_state": null,
175
+ "decoder.layers.12.self_attention.linear_proj._extra_state": null,
176
+ "decoder.layers.12.self_attention.linear_qkv._extra_state": null,
177
+ "decoder.layers.13.mlp.linear_fc1._extra_state": null,
178
+ "decoder.layers.13.mlp.linear_fc2._extra_state": null,
179
+ "decoder.layers.13.self_attention.linear_proj._extra_state": null,
180
+ "decoder.layers.13.self_attention.linear_qkv._extra_state": null,
181
+ "decoder.layers.14.mlp.linear_fc1._extra_state": null,
182
+ "decoder.layers.14.mlp.linear_fc2._extra_state": null,
183
+ "decoder.layers.14.self_attention.linear_proj._extra_state": null,
184
+ "decoder.layers.14.self_attention.linear_qkv._extra_state": null,
185
+ "decoder.layers.15.mlp.linear_fc1._extra_state": null,
186
+ "decoder.layers.15.mlp.linear_fc2._extra_state": null,
187
+ "decoder.layers.15.self_attention.linear_proj._extra_state": null,
188
+ "decoder.layers.15.self_attention.linear_qkv._extra_state": null,
189
+ "decoder.layers.16.mlp.linear_fc1._extra_state": null,
190
+ "decoder.layers.16.mlp.linear_fc2._extra_state": null,
191
+ "decoder.layers.16.self_attention.linear_proj._extra_state": null,
192
+ "decoder.layers.16.self_attention.linear_qkv._extra_state": null,
193
+ "decoder.layers.17.mlp.linear_fc1._extra_state": null,
194
+ "decoder.layers.17.mlp.linear_fc2._extra_state": null,
195
+ "decoder.layers.17.self_attention.linear_proj._extra_state": null,
196
+ "decoder.layers.17.self_attention.linear_qkv._extra_state": null,
197
+ "decoder.layers.18.mlp.linear_fc1._extra_state": null,
198
+ "decoder.layers.18.mlp.linear_fc2._extra_state": null,
199
+ "decoder.layers.18.self_attention.linear_proj._extra_state": null,
200
+ "decoder.layers.18.self_attention.linear_qkv._extra_state": null,
201
+ "decoder.layers.19.mlp.linear_fc1._extra_state": null,
202
+ "decoder.layers.19.mlp.linear_fc2._extra_state": null,
203
+ "decoder.layers.19.self_attention.linear_proj._extra_state": null,
204
+ "decoder.layers.19.self_attention.linear_qkv._extra_state": null,
205
+ "decoder.layers.2.mlp.linear_fc1._extra_state": null,
206
+ "decoder.layers.2.mlp.linear_fc2._extra_state": null,
207
+ "decoder.layers.2.self_attention.linear_proj._extra_state": null,
208
+ "decoder.layers.2.self_attention.linear_qkv._extra_state": null,
209
+ "decoder.layers.3.mlp.linear_fc1._extra_state": null,
210
+ "decoder.layers.3.mlp.linear_fc2._extra_state": null,
211
+ "decoder.layers.3.self_attention.linear_proj._extra_state": null,
212
+ "decoder.layers.3.self_attention.linear_qkv._extra_state": null,
213
+ "decoder.layers.4.mlp.linear_fc1._extra_state": null,
214
+ "decoder.layers.4.mlp.linear_fc2._extra_state": null,
215
+ "decoder.layers.4.self_attention.linear_proj._extra_state": null,
216
+ "decoder.layers.4.self_attention.linear_qkv._extra_state": null,
217
+ "decoder.layers.5.mlp.linear_fc1._extra_state": null,
218
+ "decoder.layers.5.mlp.linear_fc2._extra_state": null,
219
+ "decoder.layers.5.self_attention.linear_proj._extra_state": null,
220
+ "decoder.layers.5.self_attention.linear_qkv._extra_state": null,
221
+ "decoder.layers.6.mlp.linear_fc1._extra_state": null,
222
+ "decoder.layers.6.mlp.linear_fc2._extra_state": null,
223
+ "decoder.layers.6.self_attention.linear_proj._extra_state": null,
224
+ "decoder.layers.6.self_attention.linear_qkv._extra_state": null,
225
+ "decoder.layers.7.mlp.linear_fc1._extra_state": null,
226
+ "decoder.layers.7.mlp.linear_fc2._extra_state": null,
227
+ "decoder.layers.7.self_attention.linear_proj._extra_state": null,
228
+ "decoder.layers.7.self_attention.linear_qkv._extra_state": null,
229
+ "decoder.layers.8.mlp.linear_fc1._extra_state": null,
230
+ "decoder.layers.8.mlp.linear_fc2._extra_state": null,
231
+ "decoder.layers.8.self_attention.linear_proj._extra_state": null,
232
+ "decoder.layers.8.self_attention.linear_qkv._extra_state": null,
233
+ "decoder.layers.9.mlp.linear_fc1._extra_state": null,
234
+ "decoder.layers.9.mlp.linear_fc2._extra_state": null,
235
+ "decoder.layers.9.self_attention.linear_proj._extra_state": null,
236
+ "decoder.layers.9.self_attention.linear_qkv._extra_state": null,
237
+ "feedback.state_proj._extra_state": null,
238
+ "feedback.token_gate_proj._extra_state": null,
239
+ "feedback_layer_proj._extra_state": null,
240
+ "output_layer._extra_state": null
241
+ },
242
+ "norm_epsilon": 1e-06,
243
+ "num_attention_heads": 11,
244
+ "num_kv_heads": 11,
245
+ "num_layers": 20,
246
+ "objective": "latent_feedback_causal_lm",
247
+ "padded_vocab_size": 32064,
248
+ "parameter_counts": {
249
+ "feedback_layer_projection_parameters": 5947392,
250
+ "feedback_parameters": 3967744,
251
+ "non_embedding_matrix_formula": 475791360,
252
+ "non_embedding_paper_N": 475851904,
253
+ "total_trainable": 576059264
254
+ },
255
+ "pipeline_parallel_size": 1,
256
+ "planned_training_tokens": 7000031232,
257
+ "projection_dtype": "bfloat16 (production)",
258
+ "qk_norm": "functional_rmsnorm_after_rope",
259
+ "residual_and_norm_scale_dtype": "float32",
260
+ "residual_multiplier": 1.0,
261
+ "rope_base": 10000.0,
262
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
263
+ "sequence_length": 2048,
264
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
265
+ "tensor_count": 130,
266
+ "tensor_dtypes": {
267
+ "torch.bfloat16": 87,
268
+ "torch.float32": 43
269
+ },
270
+ "tensor_parallel_size": 1,
271
+ "tied_embeddings": false,
272
+ "tokenizer": {
273
+ "active_vocab_size": 32001,
274
+ "additional_token": "<|assistant_end|>",
275
+ "repo_id": "NousResearch/Llama-2-7b-hf",
276
+ "revision": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d"
277
+ },
278
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
279
+ "total_parameters": 576059264,
280
+ "total_trainable_parameters": 576059264,
281
+ "train_passes": 3,
282
+ "training_code_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
283
+ "training_code_dirty": false,
284
+ "training_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
285
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045",
286
+ "training_tokens": 4194304000,
287
+ "vocab_size": 32001,
288
+ "width_scale": 22
289
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/launch_config.env ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Multi-layer feedback ablation of 476M_7b_FBW0_K3.env: layers 2, 11, 20.
2
+ # See FBW_MULTILAYER_STUDY.md; all training/data settings match the control.
3
+ # See configs/vanilla/FBW_STUDY.md. Derived from 476M_7b.env at
4
+ # a57216c3768aebd1226a30fa573b09530a9537f2; preserve the vanilla global LR curve.
5
+ # Fresh arm: same backbone seed, feedback enabled from update 1; no checkpoint load.
6
+
7
+ TRAIN_ARCHITECTURE=full_bandwidth
8
+ BACKBONE_PROFILE=paper2604_vanilla
9
+ TRAINING_RECIPE=paper2604_21106
10
+ RECIPE_OVERRIDES='{}'
11
+ # Use the installed Transformers release; the cluster's dev checkout is incompatible.
12
+ TRANSFORMERS_PATH=''
13
+ RUN_NAME=paper2604_vanilla_476m_7b_online_FBW0_K3_L2L11L20
14
+ RESUME_POLICY=fresh
15
+ REQUIRE_CHECKPOINT=false
16
+
17
+ # Online FineWeb-Edu; no prepared .bin/.idx dataset is needed.
18
+ # The launcher saves the pinned Llama-2 + assistant_end tokenizer under DATA_ROOT.
19
+ DATASET_NAME=paper2604_fineweb_edu_online_llama2_32001_t2049
20
+ ONLINE_DATA=true
21
+ # Match the completed vanilla run: use the complete local raw cache when available.
22
+ ONLINE_SOURCE_MODE=auto
23
+ ONLINE_DATASET=HuggingFaceFW/fineweb-edu
24
+ ONLINE_DATASET_SUBSET=sample-100BT
25
+ ONLINE_DATASET_REVISION=87f09149ef4734204d70ed1d046ddc9ca3f2b8f9
26
+ ONLINE_SOURCE_SPLIT=train
27
+ ONLINE_TEXT_COLUMN=text
28
+ ONLINE_VALIDATION_FRACTION=0.001
29
+ ONLINE_SPLIT_SEED=260421106
30
+ TOKENIZER_MODEL=NousResearch/Llama-2-7b-hf
31
+ ONLINE_TOKENIZER_REVISION=8efe6c9b93655b934e27bd9981e3ec13e55aee9d
32
+ ONLINE_TOKENIZER_BATCH_SIZE=256
33
+ ONLINE_SHUFFLE_BUFFER_RECORDS=128
34
+ NUM_WORKERS=0
35
+ DATA_PREFLIGHT=false
36
+ EXPECTED_RECORD_LENGTH=2049
37
+ EXPECTED_INPUT_LENGTH=2048
38
+ MIN_MODEL_INPUT_TOKENS=7000000000
39
+
40
+ # Match the completed vanilla data stream: four nodes, TP=PP=1, DP=32.
41
+ # The multi-node launcher supplies the node rank; preflight can override NNODES.
42
+ NNODES=4
43
+ GPUS_PER_NODE=8
44
+ TP=1
45
+ PP=1
46
+ # Four accumulation rounds on 8 GPUs, one on 32 GPUs (TP=PP=1).
47
+ MICRO_BATCH_SIZE=4
48
+ GLOBAL_BATCH_SIZE=128
49
+ SEQ_LENGTH=2048
50
+ MAX_POSITION_EMBEDDINGS=2048
51
+ # Fresh training: 26,703 updates / 7,000,031,232 physical input tokens.
52
+ # Use the vanilla LR curve from step 0 through the same 7B endpoint.
53
+ TRAIN_ITERS=26703
54
+
55
+ NUM_LAYERS=20
56
+ HIDDEN_SIZE=1408
57
+ FFN_HIDDEN_SIZE=5632
58
+ NUM_ATTENTION_HEADS=11
59
+ NUM_QUERY_GROUPS=11
60
+ GROUP_QUERY_ATTENTION=false
61
+ ATTENTION_OUTPUT_GATE=false
62
+ QK_LAYERNORM=false # Profile supplies parameter-free QK RMSNorm AFTER RoPE.
63
+ SWIGLU=false # Profile supplies squared-ReLU.
64
+ DISABLE_BIAS_LINEAR=true
65
+ NORMALIZATION=RMSNorm
66
+ LAYERNORM_EPSILON=0.000001
67
+ HIDDEN_DROPOUT=0
68
+ ATTENTION_DROPOUT=0
69
+ WINDOW_SIZE=none
70
+ WINDOW_ATTN_SKIP_FREQ=1
71
+ POSITION_EMBEDDING_TYPE=rope
72
+ ROTARY_BASE=10000
73
+ UNTIE_EMBEDDINGS=true
74
+ TOKENIZER_TYPE=HuggingFaceTokenizer
75
+ VOCAB_SIZE=32001
76
+ MAKE_VOCAB_SIZE_DIVISIBLE_BY=64
77
+ PRECISION=bf16
78
+ ENABLE_RECOMPUTE=false
79
+ MEGATRON_EXTRA_ARGS=''
80
+
81
+ # Use K=3 on every update, from update 1 through update 26,703.
82
+ FEEDBACK_PASS_MIXTURE=3:1.0
83
+ FEEDBACK_PROGRESSIVE_STAGES='[]'
84
+ FEEDBACK_EVAL_PASSES=3
85
+ # 1-based block outputs, with the final layer after trunk normalization.
86
+ # Concatenate 3*1408 -> 1408; initialize projection to [0, 0, I].
87
+ FEEDBACK_LAYERS=2,11,20
88
+ FEEDBACK_LOSS_WEIGHT=1.0
89
+ FEEDBACK_JITTER_SIGMA=0
90
+ FEEDBACK_PREFIX_MIXIN=false
91
+ FEEDBACK_Z_LOSS_COEFFICIENT=0
92
+ FEEDBACK_LOG_HIDDEN_CHANGE=false
93
+
94
+ # Frequent logs and a short sampled evaluation for the initial training check.
95
+ WANDB_ENTITY=LoopTF-4-CSPs
96
+ WANDB_PROJECT=loopTF-workspace
97
+ WANDB_MODE=online
98
+ WANDB_RESUME=never
99
+ WANDB_RUN_GROUP=vanilla_476m_7b_FBW_K3
100
+ WANDB_TAGS=product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20
101
+ SAVE_INTERVAL=4000
102
+ EVAL_AT_START=true
103
+ EVAL_INTERVAL=100
104
+ EVAL_ITERS=2
105
+ LOG_INTERVAL=1
106
+ CKPT_FORMAT=torch
107
+ SEED=42
fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/manifest.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint_iteration": 16000,
3
+ "files": {
4
+ "README.md": {
5
+ "sha256": "d3f4a9de16bf052561064000ad77015e88319f11afa1b6c0d01d3628ec9dc4b6",
6
+ "size": 2699
7
+ },
8
+ "config.json": {
9
+ "sha256": "508f1517705df16a8bd79f1b0c9ed5c610679485964d5c670e95fbafa6f83d9a",
10
+ "size": 12273
11
+ },
12
+ "launch_config.env": {
13
+ "sha256": "637c50c798de3f8796a5112318af3c2ce772a32fd22aa9e2ea11d38b11dccca9",
14
+ "size": 3606
15
+ },
16
+ "model.safetensors": {
17
+ "sha256": "c3131e4b396f257888a76b4ca4f2c2c5c5540317dacee0ef9f05574246ea8639",
18
+ "size": 1152254688
19
+ },
20
+ "training_recipe.json": {
21
+ "sha256": "80097382a5141be358f63eb145e5191e0eec2dade0228d6e366eebf394c97db9",
22
+ "size": 4117
23
+ }
24
+ },
25
+ "manifest_note": "Hashes cover other payload files; manifest does not hash itself.",
26
+ "path_in_repo": "fbw_L2L11L20_7b_seed42_20260920-023045/step_16000",
27
+ "repo_id": "Siyuc/loopTF-workspace",
28
+ "repo_type": "model",
29
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045"
30
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3131e4b396f257888a76b4ca4f2c2c5c5540317dacee0ef9f05574246ea8639
3
+ size 1152254688
fbw_L2L11L20_7b_seed42_20260920-023045/step_16000/training_recipe.json ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recipe": "paper2604_21106",
3
+ "width": 1408,
4
+ "total_tokens": 7000031232,
5
+ "batch_tokens": 262144,
6
+ "reference_width": 640,
7
+ "reference_tokens": 983315200,
8
+ "reference_batch_tokens": 262144,
9
+ "base_lrs": {
10
+ "matrix": 0.014,
11
+ "embedding": 0.3,
12
+ "unembedding": 0.004,
13
+ "norm": 0.005,
14
+ "other": 0.005
15
+ },
16
+ "peak_lrs": {
17
+ "matrix": 0.007470638533717786,
18
+ "embedding": 0.2022599587389726,
19
+ "unembedding": 0.0026967994498529684,
20
+ "norm": 0.00337099931231621,
21
+ "other": 0.00337099931231621
22
+ },
23
+ "reference": "paper vanilla 0-20-0 at width 640; configurable token anchor",
24
+ "tied_embedding_policy": "unembedding (one AdamW update)",
25
+ "other_parameter_policy": "norm LR (extension for non-paper scalars/biases)",
26
+ "weight_decay": 0.0,
27
+ "warmup_steps": 0,
28
+ "final_lr_fraction": 0.1,
29
+ "optimizer": {
30
+ "name": "muonh",
31
+ "matrix_lr": 0.014,
32
+ "scalar_lr": null,
33
+ "matrix_weight_decay": 0.0,
34
+ "scalar_weight_decay": 0.0,
35
+ "embedding_lr": 0.3,
36
+ "unembedding_lr": 0.004,
37
+ "norm_lr": 0.005,
38
+ "other_lr": 0.005,
39
+ "betas": [
40
+ 0.8,
41
+ 0.95
42
+ ],
43
+ "eps": 1e-10,
44
+ "normuon_momentum": 0.95,
45
+ "normuon_beta2": 0.95,
46
+ "normuon_nesterov": true,
47
+ "normuon_adjust_lr": "spectral_norm",
48
+ "max_grad_norm": null
49
+ },
50
+ "schedule": {
51
+ "kind": "linear",
52
+ "warmup_steps": 0,
53
+ "cooldown_fraction": 0.0,
54
+ "cooldown_style": "linear",
55
+ "final_lr_fraction": 0.1,
56
+ "z_loss_coefficient": 0.0,
57
+ "adamc_weight_decay": false
58
+ },
59
+ "group_weight_decay": {
60
+ "matrix": 0.0,
61
+ "embedding": 0.0,
62
+ "unembedding": 0.0,
63
+ "norm": 0.0,
64
+ "other": 0.0
65
+ },
66
+ "recipe_overrides": {},
67
+ "requested_batch_tokens": 262144,
68
+ "sequence_length": 2048,
69
+ "batch_assumptions": {
70
+ "global_batch_tokens": 262144,
71
+ "sequence_length": 2048,
72
+ "round_up": false
73
+ },
74
+ "lr_transfer": "mup_hyperp_released_source",
75
+ "assumptions": [],
76
+ "backend_kernel_assumptions": {},
77
+ "paper_settings_overridden": false,
78
+ "model": {
79
+ "backbone_profile": "paper2604_vanilla",
80
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
81
+ "width_scale": 22,
82
+ "hidden_size": 1408,
83
+ "num_layers": 20,
84
+ "head_dim": 128,
85
+ "num_attention_heads": 11,
86
+ "num_kv_heads": 11,
87
+ "ffn_hidden_size": 5632,
88
+ "activation": "squared_relu",
89
+ "attention": "full_causal",
90
+ "attention_output_gate": false,
91
+ "qk_norm": "functional_rmsnorm_after_rope",
92
+ "norm_epsilon": 1e-06,
93
+ "model_level_norms": [
94
+ "embedding",
95
+ "recur",
96
+ "final"
97
+ ],
98
+ "rope_base": 10000.0,
99
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
100
+ "bias": false,
101
+ "dropout": 0.0,
102
+ "residual_multiplier": 1.0,
103
+ "residual_and_norm_scale_dtype": "float32",
104
+ "projection_dtype": "bfloat16 (production)",
105
+ "tied_embeddings": false,
106
+ "vocab_size": 32001,
107
+ "padded_vocab_size": 32064,
108
+ "logit_softcap": 15.0,
109
+ "crop_padding_before_loss": true,
110
+ "initialization": {
111
+ "embedding_normal_std": 1.0,
112
+ "head_normal_std": 0.001,
113
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
114
+ "norm_scale": 1.0
115
+ },
116
+ "parameter_counts": {
117
+ "non_embedding_matrix_formula": 475791360,
118
+ "non_embedding_paper_N": 475851904,
119
+ "total_trainable": 576059264,
120
+ "feedback_parameters": 3967744,
121
+ "feedback_layer_projection_parameters": 5947392
122
+ },
123
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
124
+ "execution_architecture": "full_bandwidth",
125
+ "objective": "latent_feedback_causal_lm",
126
+ "feedback_enabled": true,
127
+ "train_passes": 3,
128
+ "eval_passes": 3,
129
+ "feedback_pass_mixture": {
130
+ "3": 1.0
131
+ },
132
+ "feedback_progressive_stages": [],
133
+ "feedback_layers": [
134
+ 2,
135
+ 11,
136
+ 20
137
+ ],
138
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
139
+ "feedback_layer_projection_init": "final_layer_identity",
140
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization"
141
+ }
142
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/README.md ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # fbw_L2L11L20_7b_seed42_20260920-023045 — step 20000
2
+
3
+ Intermediate checkpoint at step **20,000**, after **5,242,880,000 training input tokens**, from a run with a 7,000,031,232-token total budget. Complete model: **576,059,264 parameters**. The `476m` label refers to the backbone sizing convention, and `7b` to the training-token budget.
4
+
5
+ Native state-dict safetensors, preserving every source tensor name, shape, dtype and value. This is weights and configuration only, not a full training-resume bundle or a Transformers `AutoModel.from_pretrained` export. All source tensors were finite and strict native loading passed on CPU. Source checkpoints were retained.
6
+
7
+ Training revision: `9f3c22f21c6026055ba69a39af5f285f09d3cfc8`; paper/backbone source revision: `122366472a31e57982a2877eeee10bb115477713`. Use [loopTF-workspace loading revision](https://github.com/FFishy-git/loopTF-workspace/tree/9f3c22f21c6026055ba69a39af5f285f09d3cfc8) with `src` on `PYTHONPATH` and its dependencies installed.
8
+
9
+ The existing project native feedback inference adapter preserves the saved feedback layer selection and fusion projection. It maps packed QKV/key names at load time and uses full-prefix inference; the uploaded tensors keep native Megatron names. Use native_loading_args exactly as recorded.
10
+
11
+ ## Loading
12
+
13
+ ```python
14
+ import json
15
+ from pathlib import Path
16
+ import torch
17
+ from safetensors.torch import load_file
18
+ export_dir = Path("/path/to/step_20000")
19
+ config = json.loads((export_dir / "config.json").read_text())
20
+ state = load_file(str(export_dir / "model.safetensors"), device="cpu")
21
+ from types import SimpleNamespace
22
+ from loop_transformer_backends.benchmarks.models import build_native
23
+ model, metadata = build_native({
24
+ "args": SimpleNamespace(**config["native_loading_args"]),
25
+ "model": state | config["non_tensor_state_dict_entries"],
26
+ "iteration": config["checkpoint_iteration"],
27
+ }) # Existing project inference mapping, strict=True, assign=True internally.
28
+ model.eval()
29
+ ```
30
+
31
+ Use the pinned Llama-2 tokenizer plus `<|assistant_end|>` in `config.json`, with 32,001 active tokens and weights padded to 32,064. `launch_config.env` is the original reviewed base snapshot; its relative imports require the pinned source tree. Effective timestamped run identity and overrides are recorded in `config.json`, which is authoritative for loading.
32
+
33
+ No final held-out evaluation receipt is available for this checkpoint; no final-evaluation result is claimed.
34
+
35
+ W&B: [source run](https://wandb.ai/LoopTF-4-CSPs/loopTF-workspace/runs/ljsfjz37). `manifest.json` records file sizes and SHA256 and does not hash itself. No optimizer, scheduler, RNG, dataloader, dataset, logs or credentials are included.
fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/config.json ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation": "squared_relu",
3
+ "attention": "full_causal",
4
+ "attention_output_gate": false,
5
+ "backbone_profile": "paper2604_vanilla",
6
+ "bias": false,
7
+ "checkpoint_format": "safetensors_native_megatron_state_dict",
8
+ "checkpoint_iteration": 20000,
9
+ "checkpoint_version": 3.0,
10
+ "consumed_train_samples": 2560000,
11
+ "crop_padding_before_loss": true,
12
+ "dropout": 0.0,
13
+ "effective_overrides": {
14
+ "EXIT_INTERVAL": 26703,
15
+ "FEEDBACK_EVAL_PASSES": 3,
16
+ "FEEDBACK_JITTER_SIGMA": 0.0,
17
+ "FEEDBACK_LAYERS": "2,11,20",
18
+ "FEEDBACK_LOG_HIDDEN_CHANGE": false,
19
+ "FEEDBACK_LOSS_WEIGHT": 1.0,
20
+ "FEEDBACK_NORMUON_BETA2": 0.95,
21
+ "FEEDBACK_PASS_MIXTURE": "3:1.0",
22
+ "FEEDBACK_PREFIX_MIXIN": false,
23
+ "FEEDBACK_PROGRESSIVE_STAGES": "[]",
24
+ "FEEDBACK_SCALAR_LR": 0.0005,
25
+ "FEEDBACK_SCALAR_WEIGHT_DECAY": 0.0,
26
+ "FEEDBACK_Z_LOSS_COEFFICIENT": 0.0,
27
+ "FEEDBACK_Z_LOSS_START_FRACTION": 1.0,
28
+ "GLOBAL_BATCH_SIZE": 128,
29
+ "MICRO_BATCH_SIZE": 8,
30
+ "ONLINE_DATASET": "HuggingFaceFW/fineweb-edu",
31
+ "ONLINE_DATASET_REVISION": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
32
+ "ONLINE_DATASET_SUBSET": "sample-100BT",
33
+ "ONLINE_SOURCE_SPLIT": "train",
34
+ "ONLINE_SPLIT_SEED": "260421106",
35
+ "ONLINE_TOKENIZER_REVISION": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d",
36
+ "ONLINE_VALIDATION_FRACTION": "0.001",
37
+ "PP": "1",
38
+ "PRECISION": "bf16",
39
+ "RUN_NAME": "fbw_L2L11L20_7b_seed42_20260920-023045",
40
+ "SAVE_INTERVAL": 4000,
41
+ "SEED": 42,
42
+ "SEQ_LENGTH": "2048",
43
+ "TP": "1",
44
+ "TRAIN_ITERS": 26703,
45
+ "WANDB_RUN_GROUP": "vanilla_476m_7b_FBW_K3",
46
+ "WANDB_RUN_ID": "ljsfjz37",
47
+ "WANDB_TAGS": "product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20"
48
+ },
49
+ "eval_passes": 3,
50
+ "execution_architecture": "full_bandwidth",
51
+ "feedback_enabled": true,
52
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
53
+ "feedback_layer_projection_init": "final_layer_identity",
54
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization",
55
+ "feedback_layers": [
56
+ 2,
57
+ 11,
58
+ 20
59
+ ],
60
+ "feedback_pass_mixture": {
61
+ "3": 1.0
62
+ },
63
+ "feedback_progressive_stages": [],
64
+ "ffn_hidden_size": 5632,
65
+ "final_validation": null,
66
+ "head_dim": 128,
67
+ "hidden_size": 1408,
68
+ "initialization": {
69
+ "embedding_normal_std": 1.0,
70
+ "head_normal_std": 0.001,
71
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
72
+ "norm_scale": 1.0
73
+ },
74
+ "is_final_checkpoint": false,
75
+ "loading_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
76
+ "loading_note": "Native Megatron tensor names and dtypes, weights only; no optimizer, RNG, scheduler or dataloader state. Not a Transformers AutoModel export.",
77
+ "logit_softcap": 15.0,
78
+ "metadata_source": "/root/dl/runtime/script/loopTF-workspace/output/research/R3_lookahead_improve/fbw_L2L11L20_7b_seed42_20260920-023045",
79
+ "model_level_norms": [
80
+ "embedding",
81
+ "recur",
82
+ "final"
83
+ ],
84
+ "native_inference_adapter": {
85
+ "active_vocab_size": 32001,
86
+ "architecture": "full_bandwidth",
87
+ "context_extension": "native RoPE, no scaling; at most 2x training length",
88
+ "max_supported_length": 4096,
89
+ "model_config": {
90
+ "attention_dropout": 0.0,
91
+ "attn_implementation": "sdpa",
92
+ "backbone_profile": "paper2604_vanilla",
93
+ "gradient_checkpointing": false,
94
+ "hf_config_overrides": {},
95
+ "hidden_size": 1408,
96
+ "initializer_range": 0.02,
97
+ "intermediate_size": 5632,
98
+ "max_position_embeddings": 2048,
99
+ "model_type": "full_bandwidth",
100
+ "num_attention_heads": 11,
101
+ "num_hidden_layers": 20,
102
+ "num_key_value_heads": 11,
103
+ "padded_vocab_size": 32064,
104
+ "paper_full_attention_interval": 6,
105
+ "paper_sliding_window": 0,
106
+ "pretrained_model_name_or_path": null,
107
+ "revision": null,
108
+ "rms_norm_eps": 1e-06,
109
+ "rope_theta": 10000,
110
+ "tie_word_embeddings": false,
111
+ "trust_remote_code": false,
112
+ "vocab_size": 32001
113
+ },
114
+ "policy": {
115
+ "depth_loops": 1,
116
+ "depth_share_kv": false,
117
+ "feedback_layers": [
118
+ 2,
119
+ 11,
120
+ 20
121
+ ],
122
+ "final_adapter": {
123
+ "attention_backend": "sdpa_auto",
124
+ "checkpoint_refiner": true,
125
+ "ffn_size": null,
126
+ "kind": "none"
127
+ },
128
+ "num_passes": 3
129
+ },
130
+ "prediction": "fixed final feedback-pass logits; eval jitter/prefix mixin disabled",
131
+ "step": 20000,
132
+ "training_context_length": 2048
133
+ },
134
+ "native_loading_args": {
135
+ "architecture": "full_bandwidth",
136
+ "attention_dropout": 0.0,
137
+ "aux_mtp_horizon": 1,
138
+ "backbone_profile": "paper2604_vanilla",
139
+ "context_parallel_size": 1,
140
+ "feedback_eval_passes": 3,
141
+ "feedback_layers": "2,11,20",
142
+ "ffn_hidden_size": 5632,
143
+ "hidden_size": 1408,
144
+ "layernorm_epsilon": 1e-06,
145
+ "num_attention_heads": 11,
146
+ "num_layers": 20,
147
+ "num_query_groups": 11,
148
+ "padded_vocab_size": 32064,
149
+ "pipeline_model_parallel_size": 1,
150
+ "rotary_base": 10000,
151
+ "seq_length": 2048,
152
+ "tensor_model_parallel_size": 1,
153
+ "untie_embeddings_and_output_weights": true,
154
+ "vocab_size": 32001
155
+ },
156
+ "non_tensor_state_dict_entries": {
157
+ "decoder.layers.0.mlp.linear_fc1._extra_state": null,
158
+ "decoder.layers.0.mlp.linear_fc2._extra_state": null,
159
+ "decoder.layers.0.self_attention.linear_proj._extra_state": null,
160
+ "decoder.layers.0.self_attention.linear_qkv._extra_state": null,
161
+ "decoder.layers.1.mlp.linear_fc1._extra_state": null,
162
+ "decoder.layers.1.mlp.linear_fc2._extra_state": null,
163
+ "decoder.layers.1.self_attention.linear_proj._extra_state": null,
164
+ "decoder.layers.1.self_attention.linear_qkv._extra_state": null,
165
+ "decoder.layers.10.mlp.linear_fc1._extra_state": null,
166
+ "decoder.layers.10.mlp.linear_fc2._extra_state": null,
167
+ "decoder.layers.10.self_attention.linear_proj._extra_state": null,
168
+ "decoder.layers.10.self_attention.linear_qkv._extra_state": null,
169
+ "decoder.layers.11.mlp.linear_fc1._extra_state": null,
170
+ "decoder.layers.11.mlp.linear_fc2._extra_state": null,
171
+ "decoder.layers.11.self_attention.linear_proj._extra_state": null,
172
+ "decoder.layers.11.self_attention.linear_qkv._extra_state": null,
173
+ "decoder.layers.12.mlp.linear_fc1._extra_state": null,
174
+ "decoder.layers.12.mlp.linear_fc2._extra_state": null,
175
+ "decoder.layers.12.self_attention.linear_proj._extra_state": null,
176
+ "decoder.layers.12.self_attention.linear_qkv._extra_state": null,
177
+ "decoder.layers.13.mlp.linear_fc1._extra_state": null,
178
+ "decoder.layers.13.mlp.linear_fc2._extra_state": null,
179
+ "decoder.layers.13.self_attention.linear_proj._extra_state": null,
180
+ "decoder.layers.13.self_attention.linear_qkv._extra_state": null,
181
+ "decoder.layers.14.mlp.linear_fc1._extra_state": null,
182
+ "decoder.layers.14.mlp.linear_fc2._extra_state": null,
183
+ "decoder.layers.14.self_attention.linear_proj._extra_state": null,
184
+ "decoder.layers.14.self_attention.linear_qkv._extra_state": null,
185
+ "decoder.layers.15.mlp.linear_fc1._extra_state": null,
186
+ "decoder.layers.15.mlp.linear_fc2._extra_state": null,
187
+ "decoder.layers.15.self_attention.linear_proj._extra_state": null,
188
+ "decoder.layers.15.self_attention.linear_qkv._extra_state": null,
189
+ "decoder.layers.16.mlp.linear_fc1._extra_state": null,
190
+ "decoder.layers.16.mlp.linear_fc2._extra_state": null,
191
+ "decoder.layers.16.self_attention.linear_proj._extra_state": null,
192
+ "decoder.layers.16.self_attention.linear_qkv._extra_state": null,
193
+ "decoder.layers.17.mlp.linear_fc1._extra_state": null,
194
+ "decoder.layers.17.mlp.linear_fc2._extra_state": null,
195
+ "decoder.layers.17.self_attention.linear_proj._extra_state": null,
196
+ "decoder.layers.17.self_attention.linear_qkv._extra_state": null,
197
+ "decoder.layers.18.mlp.linear_fc1._extra_state": null,
198
+ "decoder.layers.18.mlp.linear_fc2._extra_state": null,
199
+ "decoder.layers.18.self_attention.linear_proj._extra_state": null,
200
+ "decoder.layers.18.self_attention.linear_qkv._extra_state": null,
201
+ "decoder.layers.19.mlp.linear_fc1._extra_state": null,
202
+ "decoder.layers.19.mlp.linear_fc2._extra_state": null,
203
+ "decoder.layers.19.self_attention.linear_proj._extra_state": null,
204
+ "decoder.layers.19.self_attention.linear_qkv._extra_state": null,
205
+ "decoder.layers.2.mlp.linear_fc1._extra_state": null,
206
+ "decoder.layers.2.mlp.linear_fc2._extra_state": null,
207
+ "decoder.layers.2.self_attention.linear_proj._extra_state": null,
208
+ "decoder.layers.2.self_attention.linear_qkv._extra_state": null,
209
+ "decoder.layers.3.mlp.linear_fc1._extra_state": null,
210
+ "decoder.layers.3.mlp.linear_fc2._extra_state": null,
211
+ "decoder.layers.3.self_attention.linear_proj._extra_state": null,
212
+ "decoder.layers.3.self_attention.linear_qkv._extra_state": null,
213
+ "decoder.layers.4.mlp.linear_fc1._extra_state": null,
214
+ "decoder.layers.4.mlp.linear_fc2._extra_state": null,
215
+ "decoder.layers.4.self_attention.linear_proj._extra_state": null,
216
+ "decoder.layers.4.self_attention.linear_qkv._extra_state": null,
217
+ "decoder.layers.5.mlp.linear_fc1._extra_state": null,
218
+ "decoder.layers.5.mlp.linear_fc2._extra_state": null,
219
+ "decoder.layers.5.self_attention.linear_proj._extra_state": null,
220
+ "decoder.layers.5.self_attention.linear_qkv._extra_state": null,
221
+ "decoder.layers.6.mlp.linear_fc1._extra_state": null,
222
+ "decoder.layers.6.mlp.linear_fc2._extra_state": null,
223
+ "decoder.layers.6.self_attention.linear_proj._extra_state": null,
224
+ "decoder.layers.6.self_attention.linear_qkv._extra_state": null,
225
+ "decoder.layers.7.mlp.linear_fc1._extra_state": null,
226
+ "decoder.layers.7.mlp.linear_fc2._extra_state": null,
227
+ "decoder.layers.7.self_attention.linear_proj._extra_state": null,
228
+ "decoder.layers.7.self_attention.linear_qkv._extra_state": null,
229
+ "decoder.layers.8.mlp.linear_fc1._extra_state": null,
230
+ "decoder.layers.8.mlp.linear_fc2._extra_state": null,
231
+ "decoder.layers.8.self_attention.linear_proj._extra_state": null,
232
+ "decoder.layers.8.self_attention.linear_qkv._extra_state": null,
233
+ "decoder.layers.9.mlp.linear_fc1._extra_state": null,
234
+ "decoder.layers.9.mlp.linear_fc2._extra_state": null,
235
+ "decoder.layers.9.self_attention.linear_proj._extra_state": null,
236
+ "decoder.layers.9.self_attention.linear_qkv._extra_state": null,
237
+ "feedback.state_proj._extra_state": null,
238
+ "feedback.token_gate_proj._extra_state": null,
239
+ "feedback_layer_proj._extra_state": null,
240
+ "output_layer._extra_state": null
241
+ },
242
+ "norm_epsilon": 1e-06,
243
+ "num_attention_heads": 11,
244
+ "num_kv_heads": 11,
245
+ "num_layers": 20,
246
+ "objective": "latent_feedback_causal_lm",
247
+ "padded_vocab_size": 32064,
248
+ "parameter_counts": {
249
+ "feedback_layer_projection_parameters": 5947392,
250
+ "feedback_parameters": 3967744,
251
+ "non_embedding_matrix_formula": 475791360,
252
+ "non_embedding_paper_N": 475851904,
253
+ "total_trainable": 576059264
254
+ },
255
+ "pipeline_parallel_size": 1,
256
+ "planned_training_tokens": 7000031232,
257
+ "projection_dtype": "bfloat16 (production)",
258
+ "qk_norm": "functional_rmsnorm_after_rope",
259
+ "residual_and_norm_scale_dtype": "float32",
260
+ "residual_multiplier": 1.0,
261
+ "rope_base": 10000.0,
262
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
263
+ "sequence_length": 2048,
264
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
265
+ "tensor_count": 130,
266
+ "tensor_dtypes": {
267
+ "torch.bfloat16": 87,
268
+ "torch.float32": 43
269
+ },
270
+ "tensor_parallel_size": 1,
271
+ "tied_embeddings": false,
272
+ "tokenizer": {
273
+ "active_vocab_size": 32001,
274
+ "additional_token": "<|assistant_end|>",
275
+ "repo_id": "NousResearch/Llama-2-7b-hf",
276
+ "revision": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d"
277
+ },
278
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
279
+ "total_parameters": 576059264,
280
+ "total_trainable_parameters": 576059264,
281
+ "train_passes": 3,
282
+ "training_code_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
283
+ "training_code_dirty": false,
284
+ "training_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
285
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045",
286
+ "training_tokens": 5242880000,
287
+ "vocab_size": 32001,
288
+ "width_scale": 22
289
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/launch_config.env ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Multi-layer feedback ablation of 476M_7b_FBW0_K3.env: layers 2, 11, 20.
2
+ # See FBW_MULTILAYER_STUDY.md; all training/data settings match the control.
3
+ # See configs/vanilla/FBW_STUDY.md. Derived from 476M_7b.env at
4
+ # a57216c3768aebd1226a30fa573b09530a9537f2; preserve the vanilla global LR curve.
5
+ # Fresh arm: same backbone seed, feedback enabled from update 1; no checkpoint load.
6
+
7
+ TRAIN_ARCHITECTURE=full_bandwidth
8
+ BACKBONE_PROFILE=paper2604_vanilla
9
+ TRAINING_RECIPE=paper2604_21106
10
+ RECIPE_OVERRIDES='{}'
11
+ # Use the installed Transformers release; the cluster's dev checkout is incompatible.
12
+ TRANSFORMERS_PATH=''
13
+ RUN_NAME=paper2604_vanilla_476m_7b_online_FBW0_K3_L2L11L20
14
+ RESUME_POLICY=fresh
15
+ REQUIRE_CHECKPOINT=false
16
+
17
+ # Online FineWeb-Edu; no prepared .bin/.idx dataset is needed.
18
+ # The launcher saves the pinned Llama-2 + assistant_end tokenizer under DATA_ROOT.
19
+ DATASET_NAME=paper2604_fineweb_edu_online_llama2_32001_t2049
20
+ ONLINE_DATA=true
21
+ # Match the completed vanilla run: use the complete local raw cache when available.
22
+ ONLINE_SOURCE_MODE=auto
23
+ ONLINE_DATASET=HuggingFaceFW/fineweb-edu
24
+ ONLINE_DATASET_SUBSET=sample-100BT
25
+ ONLINE_DATASET_REVISION=87f09149ef4734204d70ed1d046ddc9ca3f2b8f9
26
+ ONLINE_SOURCE_SPLIT=train
27
+ ONLINE_TEXT_COLUMN=text
28
+ ONLINE_VALIDATION_FRACTION=0.001
29
+ ONLINE_SPLIT_SEED=260421106
30
+ TOKENIZER_MODEL=NousResearch/Llama-2-7b-hf
31
+ ONLINE_TOKENIZER_REVISION=8efe6c9b93655b934e27bd9981e3ec13e55aee9d
32
+ ONLINE_TOKENIZER_BATCH_SIZE=256
33
+ ONLINE_SHUFFLE_BUFFER_RECORDS=128
34
+ NUM_WORKERS=0
35
+ DATA_PREFLIGHT=false
36
+ EXPECTED_RECORD_LENGTH=2049
37
+ EXPECTED_INPUT_LENGTH=2048
38
+ MIN_MODEL_INPUT_TOKENS=7000000000
39
+
40
+ # Match the completed vanilla data stream: four nodes, TP=PP=1, DP=32.
41
+ # The multi-node launcher supplies the node rank; preflight can override NNODES.
42
+ NNODES=4
43
+ GPUS_PER_NODE=8
44
+ TP=1
45
+ PP=1
46
+ # Four accumulation rounds on 8 GPUs, one on 32 GPUs (TP=PP=1).
47
+ MICRO_BATCH_SIZE=4
48
+ GLOBAL_BATCH_SIZE=128
49
+ SEQ_LENGTH=2048
50
+ MAX_POSITION_EMBEDDINGS=2048
51
+ # Fresh training: 26,703 updates / 7,000,031,232 physical input tokens.
52
+ # Use the vanilla LR curve from step 0 through the same 7B endpoint.
53
+ TRAIN_ITERS=26703
54
+
55
+ NUM_LAYERS=20
56
+ HIDDEN_SIZE=1408
57
+ FFN_HIDDEN_SIZE=5632
58
+ NUM_ATTENTION_HEADS=11
59
+ NUM_QUERY_GROUPS=11
60
+ GROUP_QUERY_ATTENTION=false
61
+ ATTENTION_OUTPUT_GATE=false
62
+ QK_LAYERNORM=false # Profile supplies parameter-free QK RMSNorm AFTER RoPE.
63
+ SWIGLU=false # Profile supplies squared-ReLU.
64
+ DISABLE_BIAS_LINEAR=true
65
+ NORMALIZATION=RMSNorm
66
+ LAYERNORM_EPSILON=0.000001
67
+ HIDDEN_DROPOUT=0
68
+ ATTENTION_DROPOUT=0
69
+ WINDOW_SIZE=none
70
+ WINDOW_ATTN_SKIP_FREQ=1
71
+ POSITION_EMBEDDING_TYPE=rope
72
+ ROTARY_BASE=10000
73
+ UNTIE_EMBEDDINGS=true
74
+ TOKENIZER_TYPE=HuggingFaceTokenizer
75
+ VOCAB_SIZE=32001
76
+ MAKE_VOCAB_SIZE_DIVISIBLE_BY=64
77
+ PRECISION=bf16
78
+ ENABLE_RECOMPUTE=false
79
+ MEGATRON_EXTRA_ARGS=''
80
+
81
+ # Use K=3 on every update, from update 1 through update 26,703.
82
+ FEEDBACK_PASS_MIXTURE=3:1.0
83
+ FEEDBACK_PROGRESSIVE_STAGES='[]'
84
+ FEEDBACK_EVAL_PASSES=3
85
+ # 1-based block outputs, with the final layer after trunk normalization.
86
+ # Concatenate 3*1408 -> 1408; initialize projection to [0, 0, I].
87
+ FEEDBACK_LAYERS=2,11,20
88
+ FEEDBACK_LOSS_WEIGHT=1.0
89
+ FEEDBACK_JITTER_SIGMA=0
90
+ FEEDBACK_PREFIX_MIXIN=false
91
+ FEEDBACK_Z_LOSS_COEFFICIENT=0
92
+ FEEDBACK_LOG_HIDDEN_CHANGE=false
93
+
94
+ # Frequent logs and a short sampled evaluation for the initial training check.
95
+ WANDB_ENTITY=LoopTF-4-CSPs
96
+ WANDB_PROJECT=loopTF-workspace
97
+ WANDB_MODE=online
98
+ WANDB_RESUME=never
99
+ WANDB_RUN_GROUP=vanilla_476m_7b_FBW_K3
100
+ WANDB_TAGS=product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20
101
+ SAVE_INTERVAL=4000
102
+ EVAL_AT_START=true
103
+ EVAL_INTERVAL=100
104
+ EVAL_ITERS=2
105
+ LOG_INTERVAL=1
106
+ CKPT_FORMAT=torch
107
+ SEED=42
fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/manifest.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint_iteration": 20000,
3
+ "files": {
4
+ "README.md": {
5
+ "sha256": "e5c48096d83b5fbb9c8ba691b37f3f483a5cf1c67ef37d9dd0bc90c072fe1b18",
6
+ "size": 2699
7
+ },
8
+ "config.json": {
9
+ "sha256": "0b26f395c2623ab007efcafec34a04fd0b3238d47d690b1bc2cf2cb9d2116737",
10
+ "size": 12273
11
+ },
12
+ "launch_config.env": {
13
+ "sha256": "637c50c798de3f8796a5112318af3c2ce772a32fd22aa9e2ea11d38b11dccca9",
14
+ "size": 3606
15
+ },
16
+ "model.safetensors": {
17
+ "sha256": "e8d635c166069ce58adfbbedac40944c55181ef024e026a0f837d5871b40a38a",
18
+ "size": 1152254688
19
+ },
20
+ "training_recipe.json": {
21
+ "sha256": "80097382a5141be358f63eb145e5191e0eec2dade0228d6e366eebf394c97db9",
22
+ "size": 4117
23
+ }
24
+ },
25
+ "manifest_note": "Hashes cover other payload files; manifest does not hash itself.",
26
+ "path_in_repo": "fbw_L2L11L20_7b_seed42_20260920-023045/step_20000",
27
+ "repo_id": "Siyuc/loopTF-workspace",
28
+ "repo_type": "model",
29
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045"
30
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e8d635c166069ce58adfbbedac40944c55181ef024e026a0f837d5871b40a38a
3
+ size 1152254688
fbw_L2L11L20_7b_seed42_20260920-023045/step_20000/training_recipe.json ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recipe": "paper2604_21106",
3
+ "width": 1408,
4
+ "total_tokens": 7000031232,
5
+ "batch_tokens": 262144,
6
+ "reference_width": 640,
7
+ "reference_tokens": 983315200,
8
+ "reference_batch_tokens": 262144,
9
+ "base_lrs": {
10
+ "matrix": 0.014,
11
+ "embedding": 0.3,
12
+ "unembedding": 0.004,
13
+ "norm": 0.005,
14
+ "other": 0.005
15
+ },
16
+ "peak_lrs": {
17
+ "matrix": 0.007470638533717786,
18
+ "embedding": 0.2022599587389726,
19
+ "unembedding": 0.0026967994498529684,
20
+ "norm": 0.00337099931231621,
21
+ "other": 0.00337099931231621
22
+ },
23
+ "reference": "paper vanilla 0-20-0 at width 640; configurable token anchor",
24
+ "tied_embedding_policy": "unembedding (one AdamW update)",
25
+ "other_parameter_policy": "norm LR (extension for non-paper scalars/biases)",
26
+ "weight_decay": 0.0,
27
+ "warmup_steps": 0,
28
+ "final_lr_fraction": 0.1,
29
+ "optimizer": {
30
+ "name": "muonh",
31
+ "matrix_lr": 0.014,
32
+ "scalar_lr": null,
33
+ "matrix_weight_decay": 0.0,
34
+ "scalar_weight_decay": 0.0,
35
+ "embedding_lr": 0.3,
36
+ "unembedding_lr": 0.004,
37
+ "norm_lr": 0.005,
38
+ "other_lr": 0.005,
39
+ "betas": [
40
+ 0.8,
41
+ 0.95
42
+ ],
43
+ "eps": 1e-10,
44
+ "normuon_momentum": 0.95,
45
+ "normuon_beta2": 0.95,
46
+ "normuon_nesterov": true,
47
+ "normuon_adjust_lr": "spectral_norm",
48
+ "max_grad_norm": null
49
+ },
50
+ "schedule": {
51
+ "kind": "linear",
52
+ "warmup_steps": 0,
53
+ "cooldown_fraction": 0.0,
54
+ "cooldown_style": "linear",
55
+ "final_lr_fraction": 0.1,
56
+ "z_loss_coefficient": 0.0,
57
+ "adamc_weight_decay": false
58
+ },
59
+ "group_weight_decay": {
60
+ "matrix": 0.0,
61
+ "embedding": 0.0,
62
+ "unembedding": 0.0,
63
+ "norm": 0.0,
64
+ "other": 0.0
65
+ },
66
+ "recipe_overrides": {},
67
+ "requested_batch_tokens": 262144,
68
+ "sequence_length": 2048,
69
+ "batch_assumptions": {
70
+ "global_batch_tokens": 262144,
71
+ "sequence_length": 2048,
72
+ "round_up": false
73
+ },
74
+ "lr_transfer": "mup_hyperp_released_source",
75
+ "assumptions": [],
76
+ "backend_kernel_assumptions": {},
77
+ "paper_settings_overridden": false,
78
+ "model": {
79
+ "backbone_profile": "paper2604_vanilla",
80
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
81
+ "width_scale": 22,
82
+ "hidden_size": 1408,
83
+ "num_layers": 20,
84
+ "head_dim": 128,
85
+ "num_attention_heads": 11,
86
+ "num_kv_heads": 11,
87
+ "ffn_hidden_size": 5632,
88
+ "activation": "squared_relu",
89
+ "attention": "full_causal",
90
+ "attention_output_gate": false,
91
+ "qk_norm": "functional_rmsnorm_after_rope",
92
+ "norm_epsilon": 1e-06,
93
+ "model_level_norms": [
94
+ "embedding",
95
+ "recur",
96
+ "final"
97
+ ],
98
+ "rope_base": 10000.0,
99
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
100
+ "bias": false,
101
+ "dropout": 0.0,
102
+ "residual_multiplier": 1.0,
103
+ "residual_and_norm_scale_dtype": "float32",
104
+ "projection_dtype": "bfloat16 (production)",
105
+ "tied_embeddings": false,
106
+ "vocab_size": 32001,
107
+ "padded_vocab_size": 32064,
108
+ "logit_softcap": 15.0,
109
+ "crop_padding_before_loss": true,
110
+ "initialization": {
111
+ "embedding_normal_std": 1.0,
112
+ "head_normal_std": 0.001,
113
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
114
+ "norm_scale": 1.0
115
+ },
116
+ "parameter_counts": {
117
+ "non_embedding_matrix_formula": 475791360,
118
+ "non_embedding_paper_N": 475851904,
119
+ "total_trainable": 576059264,
120
+ "feedback_parameters": 3967744,
121
+ "feedback_layer_projection_parameters": 5947392
122
+ },
123
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
124
+ "execution_architecture": "full_bandwidth",
125
+ "objective": "latent_feedback_causal_lm",
126
+ "feedback_enabled": true,
127
+ "train_passes": 3,
128
+ "eval_passes": 3,
129
+ "feedback_pass_mixture": {
130
+ "3": 1.0
131
+ },
132
+ "feedback_progressive_stages": [],
133
+ "feedback_layers": [
134
+ 2,
135
+ 11,
136
+ 20
137
+ ],
138
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
139
+ "feedback_layer_projection_init": "final_layer_identity",
140
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization"
141
+ }
142
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/README.md ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # fbw_L2L11L20_7b_seed42_20260920-023045 — step 24000
2
+
3
+ Intermediate checkpoint at step **24,000**, after **6,291,456,000 training input tokens**, from a run with a 7,000,031,232-token total budget. Complete model: **576,059,264 parameters**. The `476m` label refers to the backbone sizing convention, and `7b` to the training-token budget.
4
+
5
+ Native state-dict safetensors, preserving every source tensor name, shape, dtype and value. This is weights and configuration only, not a full training-resume bundle or a Transformers `AutoModel.from_pretrained` export. All source tensors were finite and strict native loading passed on CPU. Source checkpoints were retained.
6
+
7
+ Training revision: `9f3c22f21c6026055ba69a39af5f285f09d3cfc8`; paper/backbone source revision: `122366472a31e57982a2877eeee10bb115477713`. Use [loopTF-workspace loading revision](https://github.com/FFishy-git/loopTF-workspace/tree/9f3c22f21c6026055ba69a39af5f285f09d3cfc8) with `src` on `PYTHONPATH` and its dependencies installed.
8
+
9
+ The existing project native feedback inference adapter preserves the saved feedback layer selection and fusion projection. It maps packed QKV/key names at load time and uses full-prefix inference; the uploaded tensors keep native Megatron names. Use native_loading_args exactly as recorded.
10
+
11
+ ## Loading
12
+
13
+ ```python
14
+ import json
15
+ from pathlib import Path
16
+ import torch
17
+ from safetensors.torch import load_file
18
+ export_dir = Path("/path/to/step_24000")
19
+ config = json.loads((export_dir / "config.json").read_text())
20
+ state = load_file(str(export_dir / "model.safetensors"), device="cpu")
21
+ from types import SimpleNamespace
22
+ from loop_transformer_backends.benchmarks.models import build_native
23
+ model, metadata = build_native({
24
+ "args": SimpleNamespace(**config["native_loading_args"]),
25
+ "model": state | config["non_tensor_state_dict_entries"],
26
+ "iteration": config["checkpoint_iteration"],
27
+ }) # Existing project inference mapping, strict=True, assign=True internally.
28
+ model.eval()
29
+ ```
30
+
31
+ Use the pinned Llama-2 tokenizer plus `<|assistant_end|>` in `config.json`, with 32,001 active tokens and weights padded to 32,064. `launch_config.env` is the original reviewed base snapshot; its relative imports require the pinned source tree. Effective timestamped run identity and overrides are recorded in `config.json`, which is authoritative for loading.
32
+
33
+ No final held-out evaluation receipt is available for this checkpoint; no final-evaluation result is claimed.
34
+
35
+ W&B: [source run](https://wandb.ai/LoopTF-4-CSPs/loopTF-workspace/runs/ljsfjz37). `manifest.json` records file sizes and SHA256 and does not hash itself. No optimizer, scheduler, RNG, dataloader, dataset, logs or credentials are included.
fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/config.json ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation": "squared_relu",
3
+ "attention": "full_causal",
4
+ "attention_output_gate": false,
5
+ "backbone_profile": "paper2604_vanilla",
6
+ "bias": false,
7
+ "checkpoint_format": "safetensors_native_megatron_state_dict",
8
+ "checkpoint_iteration": 24000,
9
+ "checkpoint_version": 3.0,
10
+ "consumed_train_samples": 3072000,
11
+ "crop_padding_before_loss": true,
12
+ "dropout": 0.0,
13
+ "effective_overrides": {
14
+ "EXIT_INTERVAL": 26703,
15
+ "FEEDBACK_EVAL_PASSES": 3,
16
+ "FEEDBACK_JITTER_SIGMA": 0.0,
17
+ "FEEDBACK_LAYERS": "2,11,20",
18
+ "FEEDBACK_LOG_HIDDEN_CHANGE": false,
19
+ "FEEDBACK_LOSS_WEIGHT": 1.0,
20
+ "FEEDBACK_NORMUON_BETA2": 0.95,
21
+ "FEEDBACK_PASS_MIXTURE": "3:1.0",
22
+ "FEEDBACK_PREFIX_MIXIN": false,
23
+ "FEEDBACK_PROGRESSIVE_STAGES": "[]",
24
+ "FEEDBACK_SCALAR_LR": 0.0005,
25
+ "FEEDBACK_SCALAR_WEIGHT_DECAY": 0.0,
26
+ "FEEDBACK_Z_LOSS_COEFFICIENT": 0.0,
27
+ "FEEDBACK_Z_LOSS_START_FRACTION": 1.0,
28
+ "GLOBAL_BATCH_SIZE": 128,
29
+ "MICRO_BATCH_SIZE": 8,
30
+ "ONLINE_DATASET": "HuggingFaceFW/fineweb-edu",
31
+ "ONLINE_DATASET_REVISION": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
32
+ "ONLINE_DATASET_SUBSET": "sample-100BT",
33
+ "ONLINE_SOURCE_SPLIT": "train",
34
+ "ONLINE_SPLIT_SEED": "260421106",
35
+ "ONLINE_TOKENIZER_REVISION": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d",
36
+ "ONLINE_VALIDATION_FRACTION": "0.001",
37
+ "PP": "1",
38
+ "PRECISION": "bf16",
39
+ "RUN_NAME": "fbw_L2L11L20_7b_seed42_20260920-023045",
40
+ "SAVE_INTERVAL": 4000,
41
+ "SEED": 42,
42
+ "SEQ_LENGTH": "2048",
43
+ "TP": "1",
44
+ "TRAIN_ITERS": 26703,
45
+ "WANDB_RUN_GROUP": "vanilla_476m_7b_FBW_K3",
46
+ "WANDB_RUN_ID": "ljsfjz37",
47
+ "WANDB_TAGS": "product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20"
48
+ },
49
+ "eval_passes": 3,
50
+ "execution_architecture": "full_bandwidth",
51
+ "feedback_enabled": true,
52
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
53
+ "feedback_layer_projection_init": "final_layer_identity",
54
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization",
55
+ "feedback_layers": [
56
+ 2,
57
+ 11,
58
+ 20
59
+ ],
60
+ "feedback_pass_mixture": {
61
+ "3": 1.0
62
+ },
63
+ "feedback_progressive_stages": [],
64
+ "ffn_hidden_size": 5632,
65
+ "final_validation": null,
66
+ "head_dim": 128,
67
+ "hidden_size": 1408,
68
+ "initialization": {
69
+ "embedding_normal_std": 1.0,
70
+ "head_normal_std": 0.001,
71
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
72
+ "norm_scale": 1.0
73
+ },
74
+ "is_final_checkpoint": false,
75
+ "loading_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
76
+ "loading_note": "Native Megatron tensor names and dtypes, weights only; no optimizer, RNG, scheduler or dataloader state. Not a Transformers AutoModel export.",
77
+ "logit_softcap": 15.0,
78
+ "metadata_source": "/root/dl/runtime/script/loopTF-workspace/output/research/R3_lookahead_improve/fbw_L2L11L20_7b_seed42_20260920-023045",
79
+ "model_level_norms": [
80
+ "embedding",
81
+ "recur",
82
+ "final"
83
+ ],
84
+ "native_inference_adapter": {
85
+ "active_vocab_size": 32001,
86
+ "architecture": "full_bandwidth",
87
+ "context_extension": "native RoPE, no scaling; at most 2x training length",
88
+ "max_supported_length": 4096,
89
+ "model_config": {
90
+ "attention_dropout": 0.0,
91
+ "attn_implementation": "sdpa",
92
+ "backbone_profile": "paper2604_vanilla",
93
+ "gradient_checkpointing": false,
94
+ "hf_config_overrides": {},
95
+ "hidden_size": 1408,
96
+ "initializer_range": 0.02,
97
+ "intermediate_size": 5632,
98
+ "max_position_embeddings": 2048,
99
+ "model_type": "full_bandwidth",
100
+ "num_attention_heads": 11,
101
+ "num_hidden_layers": 20,
102
+ "num_key_value_heads": 11,
103
+ "padded_vocab_size": 32064,
104
+ "paper_full_attention_interval": 6,
105
+ "paper_sliding_window": 0,
106
+ "pretrained_model_name_or_path": null,
107
+ "revision": null,
108
+ "rms_norm_eps": 1e-06,
109
+ "rope_theta": 10000,
110
+ "tie_word_embeddings": false,
111
+ "trust_remote_code": false,
112
+ "vocab_size": 32001
113
+ },
114
+ "policy": {
115
+ "depth_loops": 1,
116
+ "depth_share_kv": false,
117
+ "feedback_layers": [
118
+ 2,
119
+ 11,
120
+ 20
121
+ ],
122
+ "final_adapter": {
123
+ "attention_backend": "sdpa_auto",
124
+ "checkpoint_refiner": true,
125
+ "ffn_size": null,
126
+ "kind": "none"
127
+ },
128
+ "num_passes": 3
129
+ },
130
+ "prediction": "fixed final feedback-pass logits; eval jitter/prefix mixin disabled",
131
+ "step": 24000,
132
+ "training_context_length": 2048
133
+ },
134
+ "native_loading_args": {
135
+ "architecture": "full_bandwidth",
136
+ "attention_dropout": 0.0,
137
+ "aux_mtp_horizon": 1,
138
+ "backbone_profile": "paper2604_vanilla",
139
+ "context_parallel_size": 1,
140
+ "feedback_eval_passes": 3,
141
+ "feedback_layers": "2,11,20",
142
+ "ffn_hidden_size": 5632,
143
+ "hidden_size": 1408,
144
+ "layernorm_epsilon": 1e-06,
145
+ "num_attention_heads": 11,
146
+ "num_layers": 20,
147
+ "num_query_groups": 11,
148
+ "padded_vocab_size": 32064,
149
+ "pipeline_model_parallel_size": 1,
150
+ "rotary_base": 10000,
151
+ "seq_length": 2048,
152
+ "tensor_model_parallel_size": 1,
153
+ "untie_embeddings_and_output_weights": true,
154
+ "vocab_size": 32001
155
+ },
156
+ "non_tensor_state_dict_entries": {
157
+ "decoder.layers.0.mlp.linear_fc1._extra_state": null,
158
+ "decoder.layers.0.mlp.linear_fc2._extra_state": null,
159
+ "decoder.layers.0.self_attention.linear_proj._extra_state": null,
160
+ "decoder.layers.0.self_attention.linear_qkv._extra_state": null,
161
+ "decoder.layers.1.mlp.linear_fc1._extra_state": null,
162
+ "decoder.layers.1.mlp.linear_fc2._extra_state": null,
163
+ "decoder.layers.1.self_attention.linear_proj._extra_state": null,
164
+ "decoder.layers.1.self_attention.linear_qkv._extra_state": null,
165
+ "decoder.layers.10.mlp.linear_fc1._extra_state": null,
166
+ "decoder.layers.10.mlp.linear_fc2._extra_state": null,
167
+ "decoder.layers.10.self_attention.linear_proj._extra_state": null,
168
+ "decoder.layers.10.self_attention.linear_qkv._extra_state": null,
169
+ "decoder.layers.11.mlp.linear_fc1._extra_state": null,
170
+ "decoder.layers.11.mlp.linear_fc2._extra_state": null,
171
+ "decoder.layers.11.self_attention.linear_proj._extra_state": null,
172
+ "decoder.layers.11.self_attention.linear_qkv._extra_state": null,
173
+ "decoder.layers.12.mlp.linear_fc1._extra_state": null,
174
+ "decoder.layers.12.mlp.linear_fc2._extra_state": null,
175
+ "decoder.layers.12.self_attention.linear_proj._extra_state": null,
176
+ "decoder.layers.12.self_attention.linear_qkv._extra_state": null,
177
+ "decoder.layers.13.mlp.linear_fc1._extra_state": null,
178
+ "decoder.layers.13.mlp.linear_fc2._extra_state": null,
179
+ "decoder.layers.13.self_attention.linear_proj._extra_state": null,
180
+ "decoder.layers.13.self_attention.linear_qkv._extra_state": null,
181
+ "decoder.layers.14.mlp.linear_fc1._extra_state": null,
182
+ "decoder.layers.14.mlp.linear_fc2._extra_state": null,
183
+ "decoder.layers.14.self_attention.linear_proj._extra_state": null,
184
+ "decoder.layers.14.self_attention.linear_qkv._extra_state": null,
185
+ "decoder.layers.15.mlp.linear_fc1._extra_state": null,
186
+ "decoder.layers.15.mlp.linear_fc2._extra_state": null,
187
+ "decoder.layers.15.self_attention.linear_proj._extra_state": null,
188
+ "decoder.layers.15.self_attention.linear_qkv._extra_state": null,
189
+ "decoder.layers.16.mlp.linear_fc1._extra_state": null,
190
+ "decoder.layers.16.mlp.linear_fc2._extra_state": null,
191
+ "decoder.layers.16.self_attention.linear_proj._extra_state": null,
192
+ "decoder.layers.16.self_attention.linear_qkv._extra_state": null,
193
+ "decoder.layers.17.mlp.linear_fc1._extra_state": null,
194
+ "decoder.layers.17.mlp.linear_fc2._extra_state": null,
195
+ "decoder.layers.17.self_attention.linear_proj._extra_state": null,
196
+ "decoder.layers.17.self_attention.linear_qkv._extra_state": null,
197
+ "decoder.layers.18.mlp.linear_fc1._extra_state": null,
198
+ "decoder.layers.18.mlp.linear_fc2._extra_state": null,
199
+ "decoder.layers.18.self_attention.linear_proj._extra_state": null,
200
+ "decoder.layers.18.self_attention.linear_qkv._extra_state": null,
201
+ "decoder.layers.19.mlp.linear_fc1._extra_state": null,
202
+ "decoder.layers.19.mlp.linear_fc2._extra_state": null,
203
+ "decoder.layers.19.self_attention.linear_proj._extra_state": null,
204
+ "decoder.layers.19.self_attention.linear_qkv._extra_state": null,
205
+ "decoder.layers.2.mlp.linear_fc1._extra_state": null,
206
+ "decoder.layers.2.mlp.linear_fc2._extra_state": null,
207
+ "decoder.layers.2.self_attention.linear_proj._extra_state": null,
208
+ "decoder.layers.2.self_attention.linear_qkv._extra_state": null,
209
+ "decoder.layers.3.mlp.linear_fc1._extra_state": null,
210
+ "decoder.layers.3.mlp.linear_fc2._extra_state": null,
211
+ "decoder.layers.3.self_attention.linear_proj._extra_state": null,
212
+ "decoder.layers.3.self_attention.linear_qkv._extra_state": null,
213
+ "decoder.layers.4.mlp.linear_fc1._extra_state": null,
214
+ "decoder.layers.4.mlp.linear_fc2._extra_state": null,
215
+ "decoder.layers.4.self_attention.linear_proj._extra_state": null,
216
+ "decoder.layers.4.self_attention.linear_qkv._extra_state": null,
217
+ "decoder.layers.5.mlp.linear_fc1._extra_state": null,
218
+ "decoder.layers.5.mlp.linear_fc2._extra_state": null,
219
+ "decoder.layers.5.self_attention.linear_proj._extra_state": null,
220
+ "decoder.layers.5.self_attention.linear_qkv._extra_state": null,
221
+ "decoder.layers.6.mlp.linear_fc1._extra_state": null,
222
+ "decoder.layers.6.mlp.linear_fc2._extra_state": null,
223
+ "decoder.layers.6.self_attention.linear_proj._extra_state": null,
224
+ "decoder.layers.6.self_attention.linear_qkv._extra_state": null,
225
+ "decoder.layers.7.mlp.linear_fc1._extra_state": null,
226
+ "decoder.layers.7.mlp.linear_fc2._extra_state": null,
227
+ "decoder.layers.7.self_attention.linear_proj._extra_state": null,
228
+ "decoder.layers.7.self_attention.linear_qkv._extra_state": null,
229
+ "decoder.layers.8.mlp.linear_fc1._extra_state": null,
230
+ "decoder.layers.8.mlp.linear_fc2._extra_state": null,
231
+ "decoder.layers.8.self_attention.linear_proj._extra_state": null,
232
+ "decoder.layers.8.self_attention.linear_qkv._extra_state": null,
233
+ "decoder.layers.9.mlp.linear_fc1._extra_state": null,
234
+ "decoder.layers.9.mlp.linear_fc2._extra_state": null,
235
+ "decoder.layers.9.self_attention.linear_proj._extra_state": null,
236
+ "decoder.layers.9.self_attention.linear_qkv._extra_state": null,
237
+ "feedback.state_proj._extra_state": null,
238
+ "feedback.token_gate_proj._extra_state": null,
239
+ "feedback_layer_proj._extra_state": null,
240
+ "output_layer._extra_state": null
241
+ },
242
+ "norm_epsilon": 1e-06,
243
+ "num_attention_heads": 11,
244
+ "num_kv_heads": 11,
245
+ "num_layers": 20,
246
+ "objective": "latent_feedback_causal_lm",
247
+ "padded_vocab_size": 32064,
248
+ "parameter_counts": {
249
+ "feedback_layer_projection_parameters": 5947392,
250
+ "feedback_parameters": 3967744,
251
+ "non_embedding_matrix_formula": 475791360,
252
+ "non_embedding_paper_N": 475851904,
253
+ "total_trainable": 576059264
254
+ },
255
+ "pipeline_parallel_size": 1,
256
+ "planned_training_tokens": 7000031232,
257
+ "projection_dtype": "bfloat16 (production)",
258
+ "qk_norm": "functional_rmsnorm_after_rope",
259
+ "residual_and_norm_scale_dtype": "float32",
260
+ "residual_multiplier": 1.0,
261
+ "rope_base": 10000.0,
262
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
263
+ "sequence_length": 2048,
264
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
265
+ "tensor_count": 130,
266
+ "tensor_dtypes": {
267
+ "torch.bfloat16": 87,
268
+ "torch.float32": 43
269
+ },
270
+ "tensor_parallel_size": 1,
271
+ "tied_embeddings": false,
272
+ "tokenizer": {
273
+ "active_vocab_size": 32001,
274
+ "additional_token": "<|assistant_end|>",
275
+ "repo_id": "NousResearch/Llama-2-7b-hf",
276
+ "revision": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d"
277
+ },
278
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
279
+ "total_parameters": 576059264,
280
+ "total_trainable_parameters": 576059264,
281
+ "train_passes": 3,
282
+ "training_code_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
283
+ "training_code_dirty": false,
284
+ "training_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
285
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045",
286
+ "training_tokens": 6291456000,
287
+ "vocab_size": 32001,
288
+ "width_scale": 22
289
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/launch_config.env ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Multi-layer feedback ablation of 476M_7b_FBW0_K3.env: layers 2, 11, 20.
2
+ # See FBW_MULTILAYER_STUDY.md; all training/data settings match the control.
3
+ # See configs/vanilla/FBW_STUDY.md. Derived from 476M_7b.env at
4
+ # a57216c3768aebd1226a30fa573b09530a9537f2; preserve the vanilla global LR curve.
5
+ # Fresh arm: same backbone seed, feedback enabled from update 1; no checkpoint load.
6
+
7
+ TRAIN_ARCHITECTURE=full_bandwidth
8
+ BACKBONE_PROFILE=paper2604_vanilla
9
+ TRAINING_RECIPE=paper2604_21106
10
+ RECIPE_OVERRIDES='{}'
11
+ # Use the installed Transformers release; the cluster's dev checkout is incompatible.
12
+ TRANSFORMERS_PATH=''
13
+ RUN_NAME=paper2604_vanilla_476m_7b_online_FBW0_K3_L2L11L20
14
+ RESUME_POLICY=fresh
15
+ REQUIRE_CHECKPOINT=false
16
+
17
+ # Online FineWeb-Edu; no prepared .bin/.idx dataset is needed.
18
+ # The launcher saves the pinned Llama-2 + assistant_end tokenizer under DATA_ROOT.
19
+ DATASET_NAME=paper2604_fineweb_edu_online_llama2_32001_t2049
20
+ ONLINE_DATA=true
21
+ # Match the completed vanilla run: use the complete local raw cache when available.
22
+ ONLINE_SOURCE_MODE=auto
23
+ ONLINE_DATASET=HuggingFaceFW/fineweb-edu
24
+ ONLINE_DATASET_SUBSET=sample-100BT
25
+ ONLINE_DATASET_REVISION=87f09149ef4734204d70ed1d046ddc9ca3f2b8f9
26
+ ONLINE_SOURCE_SPLIT=train
27
+ ONLINE_TEXT_COLUMN=text
28
+ ONLINE_VALIDATION_FRACTION=0.001
29
+ ONLINE_SPLIT_SEED=260421106
30
+ TOKENIZER_MODEL=NousResearch/Llama-2-7b-hf
31
+ ONLINE_TOKENIZER_REVISION=8efe6c9b93655b934e27bd9981e3ec13e55aee9d
32
+ ONLINE_TOKENIZER_BATCH_SIZE=256
33
+ ONLINE_SHUFFLE_BUFFER_RECORDS=128
34
+ NUM_WORKERS=0
35
+ DATA_PREFLIGHT=false
36
+ EXPECTED_RECORD_LENGTH=2049
37
+ EXPECTED_INPUT_LENGTH=2048
38
+ MIN_MODEL_INPUT_TOKENS=7000000000
39
+
40
+ # Match the completed vanilla data stream: four nodes, TP=PP=1, DP=32.
41
+ # The multi-node launcher supplies the node rank; preflight can override NNODES.
42
+ NNODES=4
43
+ GPUS_PER_NODE=8
44
+ TP=1
45
+ PP=1
46
+ # Four accumulation rounds on 8 GPUs, one on 32 GPUs (TP=PP=1).
47
+ MICRO_BATCH_SIZE=4
48
+ GLOBAL_BATCH_SIZE=128
49
+ SEQ_LENGTH=2048
50
+ MAX_POSITION_EMBEDDINGS=2048
51
+ # Fresh training: 26,703 updates / 7,000,031,232 physical input tokens.
52
+ # Use the vanilla LR curve from step 0 through the same 7B endpoint.
53
+ TRAIN_ITERS=26703
54
+
55
+ NUM_LAYERS=20
56
+ HIDDEN_SIZE=1408
57
+ FFN_HIDDEN_SIZE=5632
58
+ NUM_ATTENTION_HEADS=11
59
+ NUM_QUERY_GROUPS=11
60
+ GROUP_QUERY_ATTENTION=false
61
+ ATTENTION_OUTPUT_GATE=false
62
+ QK_LAYERNORM=false # Profile supplies parameter-free QK RMSNorm AFTER RoPE.
63
+ SWIGLU=false # Profile supplies squared-ReLU.
64
+ DISABLE_BIAS_LINEAR=true
65
+ NORMALIZATION=RMSNorm
66
+ LAYERNORM_EPSILON=0.000001
67
+ HIDDEN_DROPOUT=0
68
+ ATTENTION_DROPOUT=0
69
+ WINDOW_SIZE=none
70
+ WINDOW_ATTN_SKIP_FREQ=1
71
+ POSITION_EMBEDDING_TYPE=rope
72
+ ROTARY_BASE=10000
73
+ UNTIE_EMBEDDINGS=true
74
+ TOKENIZER_TYPE=HuggingFaceTokenizer
75
+ VOCAB_SIZE=32001
76
+ MAKE_VOCAB_SIZE_DIVISIBLE_BY=64
77
+ PRECISION=bf16
78
+ ENABLE_RECOMPUTE=false
79
+ MEGATRON_EXTRA_ARGS=''
80
+
81
+ # Use K=3 on every update, from update 1 through update 26,703.
82
+ FEEDBACK_PASS_MIXTURE=3:1.0
83
+ FEEDBACK_PROGRESSIVE_STAGES='[]'
84
+ FEEDBACK_EVAL_PASSES=3
85
+ # 1-based block outputs, with the final layer after trunk normalization.
86
+ # Concatenate 3*1408 -> 1408; initialize projection to [0, 0, I].
87
+ FEEDBACK_LAYERS=2,11,20
88
+ FEEDBACK_LOSS_WEIGHT=1.0
89
+ FEEDBACK_JITTER_SIGMA=0
90
+ FEEDBACK_PREFIX_MIXIN=false
91
+ FEEDBACK_Z_LOSS_COEFFICIENT=0
92
+ FEEDBACK_LOG_HIDDEN_CHANGE=false
93
+
94
+ # Frequent logs and a short sampled evaluation for the initial training check.
95
+ WANDB_ENTITY=LoopTF-4-CSPs
96
+ WANDB_PROJECT=loopTF-workspace
97
+ WANDB_MODE=online
98
+ WANDB_RESUME=never
99
+ WANDB_RUN_GROUP=vanilla_476m_7b_FBW_K3
100
+ WANDB_TAGS=product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20
101
+ SAVE_INTERVAL=4000
102
+ EVAL_AT_START=true
103
+ EVAL_INTERVAL=100
104
+ EVAL_ITERS=2
105
+ LOG_INTERVAL=1
106
+ CKPT_FORMAT=torch
107
+ SEED=42
fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/manifest.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint_iteration": 24000,
3
+ "files": {
4
+ "README.md": {
5
+ "sha256": "a2d3faf19e2eea6312eb85940944b0afbe84dfcc25d302616f2c66549bfe8ad2",
6
+ "size": 2699
7
+ },
8
+ "config.json": {
9
+ "sha256": "5619a51676440252ea6ff2c78de18c37322142cacc04d0188457faa0e28c4d8d",
10
+ "size": 12273
11
+ },
12
+ "launch_config.env": {
13
+ "sha256": "637c50c798de3f8796a5112318af3c2ce772a32fd22aa9e2ea11d38b11dccca9",
14
+ "size": 3606
15
+ },
16
+ "model.safetensors": {
17
+ "sha256": "67022a6890c1607aaea42a052990602c446b89a665540c79db73ef052543f623",
18
+ "size": 1152254688
19
+ },
20
+ "training_recipe.json": {
21
+ "sha256": "80097382a5141be358f63eb145e5191e0eec2dade0228d6e366eebf394c97db9",
22
+ "size": 4117
23
+ }
24
+ },
25
+ "manifest_note": "Hashes cover other payload files; manifest does not hash itself.",
26
+ "path_in_repo": "fbw_L2L11L20_7b_seed42_20260920-023045/step_24000",
27
+ "repo_id": "Siyuc/loopTF-workspace",
28
+ "repo_type": "model",
29
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045"
30
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:67022a6890c1607aaea42a052990602c446b89a665540c79db73ef052543f623
3
+ size 1152254688
fbw_L2L11L20_7b_seed42_20260920-023045/step_24000/training_recipe.json ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recipe": "paper2604_21106",
3
+ "width": 1408,
4
+ "total_tokens": 7000031232,
5
+ "batch_tokens": 262144,
6
+ "reference_width": 640,
7
+ "reference_tokens": 983315200,
8
+ "reference_batch_tokens": 262144,
9
+ "base_lrs": {
10
+ "matrix": 0.014,
11
+ "embedding": 0.3,
12
+ "unembedding": 0.004,
13
+ "norm": 0.005,
14
+ "other": 0.005
15
+ },
16
+ "peak_lrs": {
17
+ "matrix": 0.007470638533717786,
18
+ "embedding": 0.2022599587389726,
19
+ "unembedding": 0.0026967994498529684,
20
+ "norm": 0.00337099931231621,
21
+ "other": 0.00337099931231621
22
+ },
23
+ "reference": "paper vanilla 0-20-0 at width 640; configurable token anchor",
24
+ "tied_embedding_policy": "unembedding (one AdamW update)",
25
+ "other_parameter_policy": "norm LR (extension for non-paper scalars/biases)",
26
+ "weight_decay": 0.0,
27
+ "warmup_steps": 0,
28
+ "final_lr_fraction": 0.1,
29
+ "optimizer": {
30
+ "name": "muonh",
31
+ "matrix_lr": 0.014,
32
+ "scalar_lr": null,
33
+ "matrix_weight_decay": 0.0,
34
+ "scalar_weight_decay": 0.0,
35
+ "embedding_lr": 0.3,
36
+ "unembedding_lr": 0.004,
37
+ "norm_lr": 0.005,
38
+ "other_lr": 0.005,
39
+ "betas": [
40
+ 0.8,
41
+ 0.95
42
+ ],
43
+ "eps": 1e-10,
44
+ "normuon_momentum": 0.95,
45
+ "normuon_beta2": 0.95,
46
+ "normuon_nesterov": true,
47
+ "normuon_adjust_lr": "spectral_norm",
48
+ "max_grad_norm": null
49
+ },
50
+ "schedule": {
51
+ "kind": "linear",
52
+ "warmup_steps": 0,
53
+ "cooldown_fraction": 0.0,
54
+ "cooldown_style": "linear",
55
+ "final_lr_fraction": 0.1,
56
+ "z_loss_coefficient": 0.0,
57
+ "adamc_weight_decay": false
58
+ },
59
+ "group_weight_decay": {
60
+ "matrix": 0.0,
61
+ "embedding": 0.0,
62
+ "unembedding": 0.0,
63
+ "norm": 0.0,
64
+ "other": 0.0
65
+ },
66
+ "recipe_overrides": {},
67
+ "requested_batch_tokens": 262144,
68
+ "sequence_length": 2048,
69
+ "batch_assumptions": {
70
+ "global_batch_tokens": 262144,
71
+ "sequence_length": 2048,
72
+ "round_up": false
73
+ },
74
+ "lr_transfer": "mup_hyperp_released_source",
75
+ "assumptions": [],
76
+ "backend_kernel_assumptions": {},
77
+ "paper_settings_overridden": false,
78
+ "model": {
79
+ "backbone_profile": "paper2604_vanilla",
80
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
81
+ "width_scale": 22,
82
+ "hidden_size": 1408,
83
+ "num_layers": 20,
84
+ "head_dim": 128,
85
+ "num_attention_heads": 11,
86
+ "num_kv_heads": 11,
87
+ "ffn_hidden_size": 5632,
88
+ "activation": "squared_relu",
89
+ "attention": "full_causal",
90
+ "attention_output_gate": false,
91
+ "qk_norm": "functional_rmsnorm_after_rope",
92
+ "norm_epsilon": 1e-06,
93
+ "model_level_norms": [
94
+ "embedding",
95
+ "recur",
96
+ "final"
97
+ ],
98
+ "rope_base": 10000.0,
99
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
100
+ "bias": false,
101
+ "dropout": 0.0,
102
+ "residual_multiplier": 1.0,
103
+ "residual_and_norm_scale_dtype": "float32",
104
+ "projection_dtype": "bfloat16 (production)",
105
+ "tied_embeddings": false,
106
+ "vocab_size": 32001,
107
+ "padded_vocab_size": 32064,
108
+ "logit_softcap": 15.0,
109
+ "crop_padding_before_loss": true,
110
+ "initialization": {
111
+ "embedding_normal_std": 1.0,
112
+ "head_normal_std": 0.001,
113
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
114
+ "norm_scale": 1.0
115
+ },
116
+ "parameter_counts": {
117
+ "non_embedding_matrix_formula": 475791360,
118
+ "non_embedding_paper_N": 475851904,
119
+ "total_trainable": 576059264,
120
+ "feedback_parameters": 3967744,
121
+ "feedback_layer_projection_parameters": 5947392
122
+ },
123
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
124
+ "execution_architecture": "full_bandwidth",
125
+ "objective": "latent_feedback_causal_lm",
126
+ "feedback_enabled": true,
127
+ "train_passes": 3,
128
+ "eval_passes": 3,
129
+ "feedback_pass_mixture": {
130
+ "3": 1.0
131
+ },
132
+ "feedback_progressive_stages": [],
133
+ "feedback_layers": [
134
+ 2,
135
+ 11,
136
+ 20
137
+ ],
138
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
139
+ "feedback_layer_projection_init": "final_layer_identity",
140
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization"
141
+ }
142
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/README.md ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # fbw_L2L11L20_7b_seed42_20260920-023045 — step 26703
2
+
3
+ Final checkpoint at step **26,703**, after **7,000,031,232 training input tokens**, from a run with a 7,000,031,232-token total budget. Complete model: **576,059,264 parameters**. The `476m` label refers to the backbone sizing convention, and `7b` to the training-token budget.
4
+
5
+ Native state-dict safetensors, preserving every source tensor name, shape, dtype and value. This is weights and configuration only, not a full training-resume bundle or a Transformers `AutoModel.from_pretrained` export. All source tensors were finite and strict native loading passed on CPU. Source checkpoints were retained.
6
+
7
+ Training revision: `9f3c22f21c6026055ba69a39af5f285f09d3cfc8`; paper/backbone source revision: `122366472a31e57982a2877eeee10bb115477713`. Use [loopTF-workspace loading revision](https://github.com/FFishy-git/loopTF-workspace/tree/9f3c22f21c6026055ba69a39af5f285f09d3cfc8) with `src` on `PYTHONPATH` and its dependencies installed.
8
+
9
+ The existing project native feedback inference adapter preserves the saved feedback layer selection and fusion projection. It maps packed QKV/key names at load time and uses full-prefix inference; the uploaded tensors keep native Megatron names. Use native_loading_args exactly as recorded.
10
+
11
+ ## Loading
12
+
13
+ ```python
14
+ import json
15
+ from pathlib import Path
16
+ import torch
17
+ from safetensors.torch import load_file
18
+ export_dir = Path("/path/to/step_26703")
19
+ config = json.loads((export_dir / "config.json").read_text())
20
+ state = load_file(str(export_dir / "model.safetensors"), device="cpu")
21
+ from types import SimpleNamespace
22
+ from loop_transformer_backends.benchmarks.models import build_native
23
+ model, metadata = build_native({
24
+ "args": SimpleNamespace(**config["native_loading_args"]),
25
+ "model": state | config["non_tensor_state_dict_entries"],
26
+ "iteration": config["checkpoint_iteration"],
27
+ }) # Existing project inference mapping, strict=True, assign=True internally.
28
+ model.eval()
29
+ ```
30
+
31
+ Use the pinned Llama-2 tokenizer plus `<|assistant_end|>` in `config.json`, with 32,001 active tokens and weights padded to 32,064. `launch_config.env` is the original reviewed base snapshot; its relative imports require the pinned source tree. Effective timestamped run identity and overrides are recorded in `config.json`, which is authoritative for loading.
32
+
33
+ No final held-out evaluation receipt is available for this checkpoint; no final-evaluation result is claimed.
34
+
35
+ W&B: [source run](https://wandb.ai/LoopTF-4-CSPs/loopTF-workspace/runs/ljsfjz37). `manifest.json` records file sizes and SHA256 and does not hash itself. No optimizer, scheduler, RNG, dataloader, dataset, logs or credentials are included.
fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/config.json ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation": "squared_relu",
3
+ "attention": "full_causal",
4
+ "attention_output_gate": false,
5
+ "backbone_profile": "paper2604_vanilla",
6
+ "bias": false,
7
+ "checkpoint_format": "safetensors_native_megatron_state_dict",
8
+ "checkpoint_iteration": 26703,
9
+ "checkpoint_version": 3.0,
10
+ "consumed_train_samples": 3417984,
11
+ "crop_padding_before_loss": true,
12
+ "dropout": 0.0,
13
+ "effective_overrides": {
14
+ "EXIT_INTERVAL": 26703,
15
+ "FEEDBACK_EVAL_PASSES": 3,
16
+ "FEEDBACK_JITTER_SIGMA": 0.0,
17
+ "FEEDBACK_LAYERS": "2,11,20",
18
+ "FEEDBACK_LOG_HIDDEN_CHANGE": false,
19
+ "FEEDBACK_LOSS_WEIGHT": 1.0,
20
+ "FEEDBACK_NORMUON_BETA2": 0.95,
21
+ "FEEDBACK_PASS_MIXTURE": "3:1.0",
22
+ "FEEDBACK_PREFIX_MIXIN": false,
23
+ "FEEDBACK_PROGRESSIVE_STAGES": "[]",
24
+ "FEEDBACK_SCALAR_LR": 0.0005,
25
+ "FEEDBACK_SCALAR_WEIGHT_DECAY": 0.0,
26
+ "FEEDBACK_Z_LOSS_COEFFICIENT": 0.0,
27
+ "FEEDBACK_Z_LOSS_START_FRACTION": 1.0,
28
+ "GLOBAL_BATCH_SIZE": 128,
29
+ "MICRO_BATCH_SIZE": 8,
30
+ "ONLINE_DATASET": "HuggingFaceFW/fineweb-edu",
31
+ "ONLINE_DATASET_REVISION": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
32
+ "ONLINE_DATASET_SUBSET": "sample-100BT",
33
+ "ONLINE_SOURCE_SPLIT": "train",
34
+ "ONLINE_SPLIT_SEED": "260421106",
35
+ "ONLINE_TOKENIZER_REVISION": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d",
36
+ "ONLINE_VALIDATION_FRACTION": "0.001",
37
+ "PP": "1",
38
+ "PRECISION": "bf16",
39
+ "RUN_NAME": "fbw_L2L11L20_7b_seed42_20260920-023045",
40
+ "SAVE_INTERVAL": 4000,
41
+ "SEED": 42,
42
+ "SEQ_LENGTH": "2048",
43
+ "TP": "1",
44
+ "TRAIN_ITERS": 26703,
45
+ "WANDB_RUN_GROUP": "vanilla_476m_7b_FBW_K3",
46
+ "WANDB_RUN_ID": "ljsfjz37",
47
+ "WANDB_TAGS": "product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20"
48
+ },
49
+ "eval_passes": 3,
50
+ "execution_architecture": "full_bandwidth",
51
+ "feedback_enabled": true,
52
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
53
+ "feedback_layer_projection_init": "final_layer_identity",
54
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization",
55
+ "feedback_layers": [
56
+ 2,
57
+ 11,
58
+ 20
59
+ ],
60
+ "feedback_pass_mixture": {
61
+ "3": 1.0
62
+ },
63
+ "feedback_progressive_stages": [],
64
+ "ffn_hidden_size": 5632,
65
+ "final_validation": null,
66
+ "head_dim": 128,
67
+ "hidden_size": 1408,
68
+ "initialization": {
69
+ "embedding_normal_std": 1.0,
70
+ "head_normal_std": 0.001,
71
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
72
+ "norm_scale": 1.0
73
+ },
74
+ "is_final_checkpoint": true,
75
+ "loading_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
76
+ "loading_note": "Native Megatron tensor names and dtypes, weights only; no optimizer, RNG, scheduler or dataloader state. Not a Transformers AutoModel export.",
77
+ "logit_softcap": 15.0,
78
+ "metadata_source": "/root/dl/runtime/script/loopTF-workspace/output/research/R3_lookahead_improve/fbw_L2L11L20_7b_seed42_20260920-023045",
79
+ "model_level_norms": [
80
+ "embedding",
81
+ "recur",
82
+ "final"
83
+ ],
84
+ "native_inference_adapter": {
85
+ "active_vocab_size": 32001,
86
+ "architecture": "full_bandwidth",
87
+ "context_extension": "native RoPE, no scaling; at most 2x training length",
88
+ "max_supported_length": 4096,
89
+ "model_config": {
90
+ "attention_dropout": 0.0,
91
+ "attn_implementation": "sdpa",
92
+ "backbone_profile": "paper2604_vanilla",
93
+ "gradient_checkpointing": false,
94
+ "hf_config_overrides": {},
95
+ "hidden_size": 1408,
96
+ "initializer_range": 0.02,
97
+ "intermediate_size": 5632,
98
+ "max_position_embeddings": 2048,
99
+ "model_type": "full_bandwidth",
100
+ "num_attention_heads": 11,
101
+ "num_hidden_layers": 20,
102
+ "num_key_value_heads": 11,
103
+ "padded_vocab_size": 32064,
104
+ "paper_full_attention_interval": 6,
105
+ "paper_sliding_window": 0,
106
+ "pretrained_model_name_or_path": null,
107
+ "revision": null,
108
+ "rms_norm_eps": 1e-06,
109
+ "rope_theta": 10000,
110
+ "tie_word_embeddings": false,
111
+ "trust_remote_code": false,
112
+ "vocab_size": 32001
113
+ },
114
+ "policy": {
115
+ "depth_loops": 1,
116
+ "depth_share_kv": false,
117
+ "feedback_layers": [
118
+ 2,
119
+ 11,
120
+ 20
121
+ ],
122
+ "final_adapter": {
123
+ "attention_backend": "sdpa_auto",
124
+ "checkpoint_refiner": true,
125
+ "ffn_size": null,
126
+ "kind": "none"
127
+ },
128
+ "num_passes": 3
129
+ },
130
+ "prediction": "fixed final feedback-pass logits; eval jitter/prefix mixin disabled",
131
+ "step": 26703,
132
+ "training_context_length": 2048
133
+ },
134
+ "native_loading_args": {
135
+ "architecture": "full_bandwidth",
136
+ "attention_dropout": 0.0,
137
+ "aux_mtp_horizon": 1,
138
+ "backbone_profile": "paper2604_vanilla",
139
+ "context_parallel_size": 1,
140
+ "feedback_eval_passes": 3,
141
+ "feedback_layers": "2,11,20",
142
+ "ffn_hidden_size": 5632,
143
+ "hidden_size": 1408,
144
+ "layernorm_epsilon": 1e-06,
145
+ "num_attention_heads": 11,
146
+ "num_layers": 20,
147
+ "num_query_groups": 11,
148
+ "padded_vocab_size": 32064,
149
+ "pipeline_model_parallel_size": 1,
150
+ "rotary_base": 10000,
151
+ "seq_length": 2048,
152
+ "tensor_model_parallel_size": 1,
153
+ "untie_embeddings_and_output_weights": true,
154
+ "vocab_size": 32001
155
+ },
156
+ "non_tensor_state_dict_entries": {
157
+ "decoder.layers.0.mlp.linear_fc1._extra_state": null,
158
+ "decoder.layers.0.mlp.linear_fc2._extra_state": null,
159
+ "decoder.layers.0.self_attention.linear_proj._extra_state": null,
160
+ "decoder.layers.0.self_attention.linear_qkv._extra_state": null,
161
+ "decoder.layers.1.mlp.linear_fc1._extra_state": null,
162
+ "decoder.layers.1.mlp.linear_fc2._extra_state": null,
163
+ "decoder.layers.1.self_attention.linear_proj._extra_state": null,
164
+ "decoder.layers.1.self_attention.linear_qkv._extra_state": null,
165
+ "decoder.layers.10.mlp.linear_fc1._extra_state": null,
166
+ "decoder.layers.10.mlp.linear_fc2._extra_state": null,
167
+ "decoder.layers.10.self_attention.linear_proj._extra_state": null,
168
+ "decoder.layers.10.self_attention.linear_qkv._extra_state": null,
169
+ "decoder.layers.11.mlp.linear_fc1._extra_state": null,
170
+ "decoder.layers.11.mlp.linear_fc2._extra_state": null,
171
+ "decoder.layers.11.self_attention.linear_proj._extra_state": null,
172
+ "decoder.layers.11.self_attention.linear_qkv._extra_state": null,
173
+ "decoder.layers.12.mlp.linear_fc1._extra_state": null,
174
+ "decoder.layers.12.mlp.linear_fc2._extra_state": null,
175
+ "decoder.layers.12.self_attention.linear_proj._extra_state": null,
176
+ "decoder.layers.12.self_attention.linear_qkv._extra_state": null,
177
+ "decoder.layers.13.mlp.linear_fc1._extra_state": null,
178
+ "decoder.layers.13.mlp.linear_fc2._extra_state": null,
179
+ "decoder.layers.13.self_attention.linear_proj._extra_state": null,
180
+ "decoder.layers.13.self_attention.linear_qkv._extra_state": null,
181
+ "decoder.layers.14.mlp.linear_fc1._extra_state": null,
182
+ "decoder.layers.14.mlp.linear_fc2._extra_state": null,
183
+ "decoder.layers.14.self_attention.linear_proj._extra_state": null,
184
+ "decoder.layers.14.self_attention.linear_qkv._extra_state": null,
185
+ "decoder.layers.15.mlp.linear_fc1._extra_state": null,
186
+ "decoder.layers.15.mlp.linear_fc2._extra_state": null,
187
+ "decoder.layers.15.self_attention.linear_proj._extra_state": null,
188
+ "decoder.layers.15.self_attention.linear_qkv._extra_state": null,
189
+ "decoder.layers.16.mlp.linear_fc1._extra_state": null,
190
+ "decoder.layers.16.mlp.linear_fc2._extra_state": null,
191
+ "decoder.layers.16.self_attention.linear_proj._extra_state": null,
192
+ "decoder.layers.16.self_attention.linear_qkv._extra_state": null,
193
+ "decoder.layers.17.mlp.linear_fc1._extra_state": null,
194
+ "decoder.layers.17.mlp.linear_fc2._extra_state": null,
195
+ "decoder.layers.17.self_attention.linear_proj._extra_state": null,
196
+ "decoder.layers.17.self_attention.linear_qkv._extra_state": null,
197
+ "decoder.layers.18.mlp.linear_fc1._extra_state": null,
198
+ "decoder.layers.18.mlp.linear_fc2._extra_state": null,
199
+ "decoder.layers.18.self_attention.linear_proj._extra_state": null,
200
+ "decoder.layers.18.self_attention.linear_qkv._extra_state": null,
201
+ "decoder.layers.19.mlp.linear_fc1._extra_state": null,
202
+ "decoder.layers.19.mlp.linear_fc2._extra_state": null,
203
+ "decoder.layers.19.self_attention.linear_proj._extra_state": null,
204
+ "decoder.layers.19.self_attention.linear_qkv._extra_state": null,
205
+ "decoder.layers.2.mlp.linear_fc1._extra_state": null,
206
+ "decoder.layers.2.mlp.linear_fc2._extra_state": null,
207
+ "decoder.layers.2.self_attention.linear_proj._extra_state": null,
208
+ "decoder.layers.2.self_attention.linear_qkv._extra_state": null,
209
+ "decoder.layers.3.mlp.linear_fc1._extra_state": null,
210
+ "decoder.layers.3.mlp.linear_fc2._extra_state": null,
211
+ "decoder.layers.3.self_attention.linear_proj._extra_state": null,
212
+ "decoder.layers.3.self_attention.linear_qkv._extra_state": null,
213
+ "decoder.layers.4.mlp.linear_fc1._extra_state": null,
214
+ "decoder.layers.4.mlp.linear_fc2._extra_state": null,
215
+ "decoder.layers.4.self_attention.linear_proj._extra_state": null,
216
+ "decoder.layers.4.self_attention.linear_qkv._extra_state": null,
217
+ "decoder.layers.5.mlp.linear_fc1._extra_state": null,
218
+ "decoder.layers.5.mlp.linear_fc2._extra_state": null,
219
+ "decoder.layers.5.self_attention.linear_proj._extra_state": null,
220
+ "decoder.layers.5.self_attention.linear_qkv._extra_state": null,
221
+ "decoder.layers.6.mlp.linear_fc1._extra_state": null,
222
+ "decoder.layers.6.mlp.linear_fc2._extra_state": null,
223
+ "decoder.layers.6.self_attention.linear_proj._extra_state": null,
224
+ "decoder.layers.6.self_attention.linear_qkv._extra_state": null,
225
+ "decoder.layers.7.mlp.linear_fc1._extra_state": null,
226
+ "decoder.layers.7.mlp.linear_fc2._extra_state": null,
227
+ "decoder.layers.7.self_attention.linear_proj._extra_state": null,
228
+ "decoder.layers.7.self_attention.linear_qkv._extra_state": null,
229
+ "decoder.layers.8.mlp.linear_fc1._extra_state": null,
230
+ "decoder.layers.8.mlp.linear_fc2._extra_state": null,
231
+ "decoder.layers.8.self_attention.linear_proj._extra_state": null,
232
+ "decoder.layers.8.self_attention.linear_qkv._extra_state": null,
233
+ "decoder.layers.9.mlp.linear_fc1._extra_state": null,
234
+ "decoder.layers.9.mlp.linear_fc2._extra_state": null,
235
+ "decoder.layers.9.self_attention.linear_proj._extra_state": null,
236
+ "decoder.layers.9.self_attention.linear_qkv._extra_state": null,
237
+ "feedback.state_proj._extra_state": null,
238
+ "feedback.token_gate_proj._extra_state": null,
239
+ "feedback_layer_proj._extra_state": null,
240
+ "output_layer._extra_state": null
241
+ },
242
+ "norm_epsilon": 1e-06,
243
+ "num_attention_heads": 11,
244
+ "num_kv_heads": 11,
245
+ "num_layers": 20,
246
+ "objective": "latent_feedback_causal_lm",
247
+ "padded_vocab_size": 32064,
248
+ "parameter_counts": {
249
+ "feedback_layer_projection_parameters": 5947392,
250
+ "feedback_parameters": 3967744,
251
+ "non_embedding_matrix_formula": 475791360,
252
+ "non_embedding_paper_N": 475851904,
253
+ "total_trainable": 576059264
254
+ },
255
+ "pipeline_parallel_size": 1,
256
+ "planned_training_tokens": 7000031232,
257
+ "projection_dtype": "bfloat16 (production)",
258
+ "qk_norm": "functional_rmsnorm_after_rope",
259
+ "residual_and_norm_scale_dtype": "float32",
260
+ "residual_multiplier": 1.0,
261
+ "rope_base": 10000.0,
262
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
263
+ "sequence_length": 2048,
264
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
265
+ "tensor_count": 130,
266
+ "tensor_dtypes": {
267
+ "torch.bfloat16": 87,
268
+ "torch.float32": 43
269
+ },
270
+ "tensor_parallel_size": 1,
271
+ "tied_embeddings": false,
272
+ "tokenizer": {
273
+ "active_vocab_size": 32001,
274
+ "additional_token": "<|assistant_end|>",
275
+ "repo_id": "NousResearch/Llama-2-7b-hf",
276
+ "revision": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d"
277
+ },
278
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
279
+ "total_parameters": 576059264,
280
+ "total_trainable_parameters": 576059264,
281
+ "train_passes": 3,
282
+ "training_code_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
283
+ "training_code_dirty": false,
284
+ "training_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
285
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045",
286
+ "training_tokens": 7000031232,
287
+ "vocab_size": 32001,
288
+ "width_scale": 22
289
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/launch_config.env ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Multi-layer feedback ablation of 476M_7b_FBW0_K3.env: layers 2, 11, 20.
2
+ # See FBW_MULTILAYER_STUDY.md; all training/data settings match the control.
3
+ # See configs/vanilla/FBW_STUDY.md. Derived from 476M_7b.env at
4
+ # a57216c3768aebd1226a30fa573b09530a9537f2; preserve the vanilla global LR curve.
5
+ # Fresh arm: same backbone seed, feedback enabled from update 1; no checkpoint load.
6
+
7
+ TRAIN_ARCHITECTURE=full_bandwidth
8
+ BACKBONE_PROFILE=paper2604_vanilla
9
+ TRAINING_RECIPE=paper2604_21106
10
+ RECIPE_OVERRIDES='{}'
11
+ # Use the installed Transformers release; the cluster's dev checkout is incompatible.
12
+ TRANSFORMERS_PATH=''
13
+ RUN_NAME=paper2604_vanilla_476m_7b_online_FBW0_K3_L2L11L20
14
+ RESUME_POLICY=fresh
15
+ REQUIRE_CHECKPOINT=false
16
+
17
+ # Online FineWeb-Edu; no prepared .bin/.idx dataset is needed.
18
+ # The launcher saves the pinned Llama-2 + assistant_end tokenizer under DATA_ROOT.
19
+ DATASET_NAME=paper2604_fineweb_edu_online_llama2_32001_t2049
20
+ ONLINE_DATA=true
21
+ # Match the completed vanilla run: use the complete local raw cache when available.
22
+ ONLINE_SOURCE_MODE=auto
23
+ ONLINE_DATASET=HuggingFaceFW/fineweb-edu
24
+ ONLINE_DATASET_SUBSET=sample-100BT
25
+ ONLINE_DATASET_REVISION=87f09149ef4734204d70ed1d046ddc9ca3f2b8f9
26
+ ONLINE_SOURCE_SPLIT=train
27
+ ONLINE_TEXT_COLUMN=text
28
+ ONLINE_VALIDATION_FRACTION=0.001
29
+ ONLINE_SPLIT_SEED=260421106
30
+ TOKENIZER_MODEL=NousResearch/Llama-2-7b-hf
31
+ ONLINE_TOKENIZER_REVISION=8efe6c9b93655b934e27bd9981e3ec13e55aee9d
32
+ ONLINE_TOKENIZER_BATCH_SIZE=256
33
+ ONLINE_SHUFFLE_BUFFER_RECORDS=128
34
+ NUM_WORKERS=0
35
+ DATA_PREFLIGHT=false
36
+ EXPECTED_RECORD_LENGTH=2049
37
+ EXPECTED_INPUT_LENGTH=2048
38
+ MIN_MODEL_INPUT_TOKENS=7000000000
39
+
40
+ # Match the completed vanilla data stream: four nodes, TP=PP=1, DP=32.
41
+ # The multi-node launcher supplies the node rank; preflight can override NNODES.
42
+ NNODES=4
43
+ GPUS_PER_NODE=8
44
+ TP=1
45
+ PP=1
46
+ # Four accumulation rounds on 8 GPUs, one on 32 GPUs (TP=PP=1).
47
+ MICRO_BATCH_SIZE=4
48
+ GLOBAL_BATCH_SIZE=128
49
+ SEQ_LENGTH=2048
50
+ MAX_POSITION_EMBEDDINGS=2048
51
+ # Fresh training: 26,703 updates / 7,000,031,232 physical input tokens.
52
+ # Use the vanilla LR curve from step 0 through the same 7B endpoint.
53
+ TRAIN_ITERS=26703
54
+
55
+ NUM_LAYERS=20
56
+ HIDDEN_SIZE=1408
57
+ FFN_HIDDEN_SIZE=5632
58
+ NUM_ATTENTION_HEADS=11
59
+ NUM_QUERY_GROUPS=11
60
+ GROUP_QUERY_ATTENTION=false
61
+ ATTENTION_OUTPUT_GATE=false
62
+ QK_LAYERNORM=false # Profile supplies parameter-free QK RMSNorm AFTER RoPE.
63
+ SWIGLU=false # Profile supplies squared-ReLU.
64
+ DISABLE_BIAS_LINEAR=true
65
+ NORMALIZATION=RMSNorm
66
+ LAYERNORM_EPSILON=0.000001
67
+ HIDDEN_DROPOUT=0
68
+ ATTENTION_DROPOUT=0
69
+ WINDOW_SIZE=none
70
+ WINDOW_ATTN_SKIP_FREQ=1
71
+ POSITION_EMBEDDING_TYPE=rope
72
+ ROTARY_BASE=10000
73
+ UNTIE_EMBEDDINGS=true
74
+ TOKENIZER_TYPE=HuggingFaceTokenizer
75
+ VOCAB_SIZE=32001
76
+ MAKE_VOCAB_SIZE_DIVISIBLE_BY=64
77
+ PRECISION=bf16
78
+ ENABLE_RECOMPUTE=false
79
+ MEGATRON_EXTRA_ARGS=''
80
+
81
+ # Use K=3 on every update, from update 1 through update 26,703.
82
+ FEEDBACK_PASS_MIXTURE=3:1.0
83
+ FEEDBACK_PROGRESSIVE_STAGES='[]'
84
+ FEEDBACK_EVAL_PASSES=3
85
+ # 1-based block outputs, with the final layer after trunk normalization.
86
+ # Concatenate 3*1408 -> 1408; initialize projection to [0, 0, I].
87
+ FEEDBACK_LAYERS=2,11,20
88
+ FEEDBACK_LOSS_WEIGHT=1.0
89
+ FEEDBACK_JITTER_SIGMA=0
90
+ FEEDBACK_PREFIX_MIXIN=false
91
+ FEEDBACK_Z_LOSS_COEFFICIENT=0
92
+ FEEDBACK_LOG_HIDDEN_CHANGE=false
93
+
94
+ # Frequent logs and a short sampled evaluation for the initial training check.
95
+ WANDB_ENTITY=LoopTF-4-CSPs
96
+ WANDB_PROJECT=loopTF-workspace
97
+ WANDB_MODE=online
98
+ WANDB_RESUME=never
99
+ WANDB_RUN_GROUP=vanilla_476m_7b_FBW_K3
100
+ WANDB_TAGS=product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20
101
+ SAVE_INTERVAL=4000
102
+ EVAL_AT_START=true
103
+ EVAL_INTERVAL=100
104
+ EVAL_ITERS=2
105
+ LOG_INTERVAL=1
106
+ CKPT_FORMAT=torch
107
+ SEED=42
fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/manifest.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint_iteration": 26703,
3
+ "files": {
4
+ "README.md": {
5
+ "sha256": "d5a7044737b80db05eaf39029237d2df47cfd6135677146decb1997732ae5266",
6
+ "size": 2692
7
+ },
8
+ "config.json": {
9
+ "sha256": "0be3be4a6e3da7092a2bc29821ced20389b0298ede9879790c9762c65ff47ea3",
10
+ "size": 12272
11
+ },
12
+ "launch_config.env": {
13
+ "sha256": "637c50c798de3f8796a5112318af3c2ce772a32fd22aa9e2ea11d38b11dccca9",
14
+ "size": 3606
15
+ },
16
+ "model.safetensors": {
17
+ "sha256": "4457478d9c6ef9c5ef7e69fa26c007130a1b4f302ece02e19ba92bbcecdb1041",
18
+ "size": 1152254688
19
+ },
20
+ "training_recipe.json": {
21
+ "sha256": "80097382a5141be358f63eb145e5191e0eec2dade0228d6e366eebf394c97db9",
22
+ "size": 4117
23
+ }
24
+ },
25
+ "manifest_note": "Hashes cover other payload files; manifest does not hash itself.",
26
+ "path_in_repo": "fbw_L2L11L20_7b_seed42_20260920-023045/step_26703",
27
+ "repo_id": "Siyuc/loopTF-workspace",
28
+ "repo_type": "model",
29
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045"
30
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4457478d9c6ef9c5ef7e69fa26c007130a1b4f302ece02e19ba92bbcecdb1041
3
+ size 1152254688
fbw_L2L11L20_7b_seed42_20260920-023045/step_26703/training_recipe.json ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recipe": "paper2604_21106",
3
+ "width": 1408,
4
+ "total_tokens": 7000031232,
5
+ "batch_tokens": 262144,
6
+ "reference_width": 640,
7
+ "reference_tokens": 983315200,
8
+ "reference_batch_tokens": 262144,
9
+ "base_lrs": {
10
+ "matrix": 0.014,
11
+ "embedding": 0.3,
12
+ "unembedding": 0.004,
13
+ "norm": 0.005,
14
+ "other": 0.005
15
+ },
16
+ "peak_lrs": {
17
+ "matrix": 0.007470638533717786,
18
+ "embedding": 0.2022599587389726,
19
+ "unembedding": 0.0026967994498529684,
20
+ "norm": 0.00337099931231621,
21
+ "other": 0.00337099931231621
22
+ },
23
+ "reference": "paper vanilla 0-20-0 at width 640; configurable token anchor",
24
+ "tied_embedding_policy": "unembedding (one AdamW update)",
25
+ "other_parameter_policy": "norm LR (extension for non-paper scalars/biases)",
26
+ "weight_decay": 0.0,
27
+ "warmup_steps": 0,
28
+ "final_lr_fraction": 0.1,
29
+ "optimizer": {
30
+ "name": "muonh",
31
+ "matrix_lr": 0.014,
32
+ "scalar_lr": null,
33
+ "matrix_weight_decay": 0.0,
34
+ "scalar_weight_decay": 0.0,
35
+ "embedding_lr": 0.3,
36
+ "unembedding_lr": 0.004,
37
+ "norm_lr": 0.005,
38
+ "other_lr": 0.005,
39
+ "betas": [
40
+ 0.8,
41
+ 0.95
42
+ ],
43
+ "eps": 1e-10,
44
+ "normuon_momentum": 0.95,
45
+ "normuon_beta2": 0.95,
46
+ "normuon_nesterov": true,
47
+ "normuon_adjust_lr": "spectral_norm",
48
+ "max_grad_norm": null
49
+ },
50
+ "schedule": {
51
+ "kind": "linear",
52
+ "warmup_steps": 0,
53
+ "cooldown_fraction": 0.0,
54
+ "cooldown_style": "linear",
55
+ "final_lr_fraction": 0.1,
56
+ "z_loss_coefficient": 0.0,
57
+ "adamc_weight_decay": false
58
+ },
59
+ "group_weight_decay": {
60
+ "matrix": 0.0,
61
+ "embedding": 0.0,
62
+ "unembedding": 0.0,
63
+ "norm": 0.0,
64
+ "other": 0.0
65
+ },
66
+ "recipe_overrides": {},
67
+ "requested_batch_tokens": 262144,
68
+ "sequence_length": 2048,
69
+ "batch_assumptions": {
70
+ "global_batch_tokens": 262144,
71
+ "sequence_length": 2048,
72
+ "round_up": false
73
+ },
74
+ "lr_transfer": "mup_hyperp_released_source",
75
+ "assumptions": [],
76
+ "backend_kernel_assumptions": {},
77
+ "paper_settings_overridden": false,
78
+ "model": {
79
+ "backbone_profile": "paper2604_vanilla",
80
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
81
+ "width_scale": 22,
82
+ "hidden_size": 1408,
83
+ "num_layers": 20,
84
+ "head_dim": 128,
85
+ "num_attention_heads": 11,
86
+ "num_kv_heads": 11,
87
+ "ffn_hidden_size": 5632,
88
+ "activation": "squared_relu",
89
+ "attention": "full_causal",
90
+ "attention_output_gate": false,
91
+ "qk_norm": "functional_rmsnorm_after_rope",
92
+ "norm_epsilon": 1e-06,
93
+ "model_level_norms": [
94
+ "embedding",
95
+ "recur",
96
+ "final"
97
+ ],
98
+ "rope_base": 10000.0,
99
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
100
+ "bias": false,
101
+ "dropout": 0.0,
102
+ "residual_multiplier": 1.0,
103
+ "residual_and_norm_scale_dtype": "float32",
104
+ "projection_dtype": "bfloat16 (production)",
105
+ "tied_embeddings": false,
106
+ "vocab_size": 32001,
107
+ "padded_vocab_size": 32064,
108
+ "logit_softcap": 15.0,
109
+ "crop_padding_before_loss": true,
110
+ "initialization": {
111
+ "embedding_normal_std": 1.0,
112
+ "head_normal_std": 0.001,
113
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
114
+ "norm_scale": 1.0
115
+ },
116
+ "parameter_counts": {
117
+ "non_embedding_matrix_formula": 475791360,
118
+ "non_embedding_paper_N": 475851904,
119
+ "total_trainable": 576059264,
120
+ "feedback_parameters": 3967744,
121
+ "feedback_layer_projection_parameters": 5947392
122
+ },
123
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
124
+ "execution_architecture": "full_bandwidth",
125
+ "objective": "latent_feedback_causal_lm",
126
+ "feedback_enabled": true,
127
+ "train_passes": 3,
128
+ "eval_passes": 3,
129
+ "feedback_pass_mixture": {
130
+ "3": 1.0
131
+ },
132
+ "feedback_progressive_stages": [],
133
+ "feedback_layers": [
134
+ 2,
135
+ 11,
136
+ 20
137
+ ],
138
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
139
+ "feedback_layer_projection_init": "final_layer_identity",
140
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization"
141
+ }
142
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/README.md ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # fbw_L2L11L20_7b_seed42_20260920-023045 — step 4000
2
+
3
+ Intermediate checkpoint at step **4,000**, after **1,048,576,000 training input tokens**, from a run with a 7,000,031,232-token total budget. Complete model: **576,059,264 parameters**. The `476m` label refers to the backbone sizing convention, and `7b` to the training-token budget.
4
+
5
+ Native state-dict safetensors, preserving every source tensor name, shape, dtype and value. This is weights and configuration only, not a full training-resume bundle or a Transformers `AutoModel.from_pretrained` export. All source tensors were finite and strict native loading passed on CPU. Source checkpoints were retained.
6
+
7
+ Training revision: `9f3c22f21c6026055ba69a39af5f285f09d3cfc8`; paper/backbone source revision: `122366472a31e57982a2877eeee10bb115477713`. Use [loopTF-workspace loading revision](https://github.com/FFishy-git/loopTF-workspace/tree/9f3c22f21c6026055ba69a39af5f285f09d3cfc8) with `src` on `PYTHONPATH` and its dependencies installed.
8
+
9
+ The existing project native feedback inference adapter preserves the saved feedback layer selection and fusion projection. It maps packed QKV/key names at load time and uses full-prefix inference; the uploaded tensors keep native Megatron names. Use native_loading_args exactly as recorded.
10
+
11
+ ## Loading
12
+
13
+ ```python
14
+ import json
15
+ from pathlib import Path
16
+ import torch
17
+ from safetensors.torch import load_file
18
+ export_dir = Path("/path/to/step_4000")
19
+ config = json.loads((export_dir / "config.json").read_text())
20
+ state = load_file(str(export_dir / "model.safetensors"), device="cpu")
21
+ from types import SimpleNamespace
22
+ from loop_transformer_backends.benchmarks.models import build_native
23
+ model, metadata = build_native({
24
+ "args": SimpleNamespace(**config["native_loading_args"]),
25
+ "model": state | config["non_tensor_state_dict_entries"],
26
+ "iteration": config["checkpoint_iteration"],
27
+ }) # Existing project inference mapping, strict=True, assign=True internally.
28
+ model.eval()
29
+ ```
30
+
31
+ Use the pinned Llama-2 tokenizer plus `<|assistant_end|>` in `config.json`, with 32,001 active tokens and weights padded to 32,064. `launch_config.env` is the original reviewed base snapshot; its relative imports require the pinned source tree. Effective timestamped run identity and overrides are recorded in `config.json`, which is authoritative for loading.
32
+
33
+ No final held-out evaluation receipt is available for this checkpoint; no final-evaluation result is claimed.
34
+
35
+ W&B: [source run](https://wandb.ai/LoopTF-4-CSPs/loopTF-workspace/runs/ljsfjz37). `manifest.json` records file sizes and SHA256 and does not hash itself. No optimizer, scheduler, RNG, dataloader, dataset, logs or credentials are included.
fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/config.json ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation": "squared_relu",
3
+ "attention": "full_causal",
4
+ "attention_output_gate": false,
5
+ "backbone_profile": "paper2604_vanilla",
6
+ "bias": false,
7
+ "checkpoint_format": "safetensors_native_megatron_state_dict",
8
+ "checkpoint_iteration": 4000,
9
+ "checkpoint_version": 3.0,
10
+ "consumed_train_samples": 512000,
11
+ "crop_padding_before_loss": true,
12
+ "dropout": 0.0,
13
+ "effective_overrides": {
14
+ "EXIT_INTERVAL": 26703,
15
+ "FEEDBACK_EVAL_PASSES": 3,
16
+ "FEEDBACK_JITTER_SIGMA": 0.0,
17
+ "FEEDBACK_LAYERS": "2,11,20",
18
+ "FEEDBACK_LOG_HIDDEN_CHANGE": false,
19
+ "FEEDBACK_LOSS_WEIGHT": 1.0,
20
+ "FEEDBACK_NORMUON_BETA2": 0.95,
21
+ "FEEDBACK_PASS_MIXTURE": "3:1.0",
22
+ "FEEDBACK_PREFIX_MIXIN": false,
23
+ "FEEDBACK_PROGRESSIVE_STAGES": "[]",
24
+ "FEEDBACK_SCALAR_LR": 0.0005,
25
+ "FEEDBACK_SCALAR_WEIGHT_DECAY": 0.0,
26
+ "FEEDBACK_Z_LOSS_COEFFICIENT": 0.0,
27
+ "FEEDBACK_Z_LOSS_START_FRACTION": 1.0,
28
+ "GLOBAL_BATCH_SIZE": 128,
29
+ "MICRO_BATCH_SIZE": 8,
30
+ "ONLINE_DATASET": "HuggingFaceFW/fineweb-edu",
31
+ "ONLINE_DATASET_REVISION": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
32
+ "ONLINE_DATASET_SUBSET": "sample-100BT",
33
+ "ONLINE_SOURCE_SPLIT": "train",
34
+ "ONLINE_SPLIT_SEED": "260421106",
35
+ "ONLINE_TOKENIZER_REVISION": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d",
36
+ "ONLINE_VALIDATION_FRACTION": "0.001",
37
+ "PP": "1",
38
+ "PRECISION": "bf16",
39
+ "RUN_NAME": "fbw_L2L11L20_7b_seed42_20260920-023045",
40
+ "SAVE_INTERVAL": 4000,
41
+ "SEED": 42,
42
+ "SEQ_LENGTH": "2048",
43
+ "TP": "1",
44
+ "TRAIN_ITERS": 26703,
45
+ "WANDB_RUN_GROUP": "vanilla_476m_7b_FBW_K3",
46
+ "WANDB_RUN_ID": "ljsfjz37",
47
+ "WANDB_TAGS": "product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20"
48
+ },
49
+ "eval_passes": 3,
50
+ "execution_architecture": "full_bandwidth",
51
+ "feedback_enabled": true,
52
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
53
+ "feedback_layer_projection_init": "final_layer_identity",
54
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization",
55
+ "feedback_layers": [
56
+ 2,
57
+ 11,
58
+ 20
59
+ ],
60
+ "feedback_pass_mixture": {
61
+ "3": 1.0
62
+ },
63
+ "feedback_progressive_stages": [],
64
+ "ffn_hidden_size": 5632,
65
+ "final_validation": null,
66
+ "head_dim": 128,
67
+ "hidden_size": 1408,
68
+ "initialization": {
69
+ "embedding_normal_std": 1.0,
70
+ "head_normal_std": 0.001,
71
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
72
+ "norm_scale": 1.0
73
+ },
74
+ "is_final_checkpoint": false,
75
+ "loading_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
76
+ "loading_note": "Native Megatron tensor names and dtypes, weights only; no optimizer, RNG, scheduler or dataloader state. Not a Transformers AutoModel export.",
77
+ "logit_softcap": 15.0,
78
+ "metadata_source": "/root/dl/runtime/script/loopTF-workspace/output/research/R3_lookahead_improve/fbw_L2L11L20_7b_seed42_20260920-023045",
79
+ "model_level_norms": [
80
+ "embedding",
81
+ "recur",
82
+ "final"
83
+ ],
84
+ "native_inference_adapter": {
85
+ "active_vocab_size": 32001,
86
+ "architecture": "full_bandwidth",
87
+ "context_extension": "native RoPE, no scaling; at most 2x training length",
88
+ "max_supported_length": 4096,
89
+ "model_config": {
90
+ "attention_dropout": 0.0,
91
+ "attn_implementation": "sdpa",
92
+ "backbone_profile": "paper2604_vanilla",
93
+ "gradient_checkpointing": false,
94
+ "hf_config_overrides": {},
95
+ "hidden_size": 1408,
96
+ "initializer_range": 0.02,
97
+ "intermediate_size": 5632,
98
+ "max_position_embeddings": 2048,
99
+ "model_type": "full_bandwidth",
100
+ "num_attention_heads": 11,
101
+ "num_hidden_layers": 20,
102
+ "num_key_value_heads": 11,
103
+ "padded_vocab_size": 32064,
104
+ "paper_full_attention_interval": 6,
105
+ "paper_sliding_window": 0,
106
+ "pretrained_model_name_or_path": null,
107
+ "revision": null,
108
+ "rms_norm_eps": 1e-06,
109
+ "rope_theta": 10000,
110
+ "tie_word_embeddings": false,
111
+ "trust_remote_code": false,
112
+ "vocab_size": 32001
113
+ },
114
+ "policy": {
115
+ "depth_loops": 1,
116
+ "depth_share_kv": false,
117
+ "feedback_layers": [
118
+ 2,
119
+ 11,
120
+ 20
121
+ ],
122
+ "final_adapter": {
123
+ "attention_backend": "sdpa_auto",
124
+ "checkpoint_refiner": true,
125
+ "ffn_size": null,
126
+ "kind": "none"
127
+ },
128
+ "num_passes": 3
129
+ },
130
+ "prediction": "fixed final feedback-pass logits; eval jitter/prefix mixin disabled",
131
+ "step": 4000,
132
+ "training_context_length": 2048
133
+ },
134
+ "native_loading_args": {
135
+ "architecture": "full_bandwidth",
136
+ "attention_dropout": 0.0,
137
+ "aux_mtp_horizon": 1,
138
+ "backbone_profile": "paper2604_vanilla",
139
+ "context_parallel_size": 1,
140
+ "feedback_eval_passes": 3,
141
+ "feedback_layers": "2,11,20",
142
+ "ffn_hidden_size": 5632,
143
+ "hidden_size": 1408,
144
+ "layernorm_epsilon": 1e-06,
145
+ "num_attention_heads": 11,
146
+ "num_layers": 20,
147
+ "num_query_groups": 11,
148
+ "padded_vocab_size": 32064,
149
+ "pipeline_model_parallel_size": 1,
150
+ "rotary_base": 10000,
151
+ "seq_length": 2048,
152
+ "tensor_model_parallel_size": 1,
153
+ "untie_embeddings_and_output_weights": true,
154
+ "vocab_size": 32001
155
+ },
156
+ "non_tensor_state_dict_entries": {
157
+ "decoder.layers.0.mlp.linear_fc1._extra_state": null,
158
+ "decoder.layers.0.mlp.linear_fc2._extra_state": null,
159
+ "decoder.layers.0.self_attention.linear_proj._extra_state": null,
160
+ "decoder.layers.0.self_attention.linear_qkv._extra_state": null,
161
+ "decoder.layers.1.mlp.linear_fc1._extra_state": null,
162
+ "decoder.layers.1.mlp.linear_fc2._extra_state": null,
163
+ "decoder.layers.1.self_attention.linear_proj._extra_state": null,
164
+ "decoder.layers.1.self_attention.linear_qkv._extra_state": null,
165
+ "decoder.layers.10.mlp.linear_fc1._extra_state": null,
166
+ "decoder.layers.10.mlp.linear_fc2._extra_state": null,
167
+ "decoder.layers.10.self_attention.linear_proj._extra_state": null,
168
+ "decoder.layers.10.self_attention.linear_qkv._extra_state": null,
169
+ "decoder.layers.11.mlp.linear_fc1._extra_state": null,
170
+ "decoder.layers.11.mlp.linear_fc2._extra_state": null,
171
+ "decoder.layers.11.self_attention.linear_proj._extra_state": null,
172
+ "decoder.layers.11.self_attention.linear_qkv._extra_state": null,
173
+ "decoder.layers.12.mlp.linear_fc1._extra_state": null,
174
+ "decoder.layers.12.mlp.linear_fc2._extra_state": null,
175
+ "decoder.layers.12.self_attention.linear_proj._extra_state": null,
176
+ "decoder.layers.12.self_attention.linear_qkv._extra_state": null,
177
+ "decoder.layers.13.mlp.linear_fc1._extra_state": null,
178
+ "decoder.layers.13.mlp.linear_fc2._extra_state": null,
179
+ "decoder.layers.13.self_attention.linear_proj._extra_state": null,
180
+ "decoder.layers.13.self_attention.linear_qkv._extra_state": null,
181
+ "decoder.layers.14.mlp.linear_fc1._extra_state": null,
182
+ "decoder.layers.14.mlp.linear_fc2._extra_state": null,
183
+ "decoder.layers.14.self_attention.linear_proj._extra_state": null,
184
+ "decoder.layers.14.self_attention.linear_qkv._extra_state": null,
185
+ "decoder.layers.15.mlp.linear_fc1._extra_state": null,
186
+ "decoder.layers.15.mlp.linear_fc2._extra_state": null,
187
+ "decoder.layers.15.self_attention.linear_proj._extra_state": null,
188
+ "decoder.layers.15.self_attention.linear_qkv._extra_state": null,
189
+ "decoder.layers.16.mlp.linear_fc1._extra_state": null,
190
+ "decoder.layers.16.mlp.linear_fc2._extra_state": null,
191
+ "decoder.layers.16.self_attention.linear_proj._extra_state": null,
192
+ "decoder.layers.16.self_attention.linear_qkv._extra_state": null,
193
+ "decoder.layers.17.mlp.linear_fc1._extra_state": null,
194
+ "decoder.layers.17.mlp.linear_fc2._extra_state": null,
195
+ "decoder.layers.17.self_attention.linear_proj._extra_state": null,
196
+ "decoder.layers.17.self_attention.linear_qkv._extra_state": null,
197
+ "decoder.layers.18.mlp.linear_fc1._extra_state": null,
198
+ "decoder.layers.18.mlp.linear_fc2._extra_state": null,
199
+ "decoder.layers.18.self_attention.linear_proj._extra_state": null,
200
+ "decoder.layers.18.self_attention.linear_qkv._extra_state": null,
201
+ "decoder.layers.19.mlp.linear_fc1._extra_state": null,
202
+ "decoder.layers.19.mlp.linear_fc2._extra_state": null,
203
+ "decoder.layers.19.self_attention.linear_proj._extra_state": null,
204
+ "decoder.layers.19.self_attention.linear_qkv._extra_state": null,
205
+ "decoder.layers.2.mlp.linear_fc1._extra_state": null,
206
+ "decoder.layers.2.mlp.linear_fc2._extra_state": null,
207
+ "decoder.layers.2.self_attention.linear_proj._extra_state": null,
208
+ "decoder.layers.2.self_attention.linear_qkv._extra_state": null,
209
+ "decoder.layers.3.mlp.linear_fc1._extra_state": null,
210
+ "decoder.layers.3.mlp.linear_fc2._extra_state": null,
211
+ "decoder.layers.3.self_attention.linear_proj._extra_state": null,
212
+ "decoder.layers.3.self_attention.linear_qkv._extra_state": null,
213
+ "decoder.layers.4.mlp.linear_fc1._extra_state": null,
214
+ "decoder.layers.4.mlp.linear_fc2._extra_state": null,
215
+ "decoder.layers.4.self_attention.linear_proj._extra_state": null,
216
+ "decoder.layers.4.self_attention.linear_qkv._extra_state": null,
217
+ "decoder.layers.5.mlp.linear_fc1._extra_state": null,
218
+ "decoder.layers.5.mlp.linear_fc2._extra_state": null,
219
+ "decoder.layers.5.self_attention.linear_proj._extra_state": null,
220
+ "decoder.layers.5.self_attention.linear_qkv._extra_state": null,
221
+ "decoder.layers.6.mlp.linear_fc1._extra_state": null,
222
+ "decoder.layers.6.mlp.linear_fc2._extra_state": null,
223
+ "decoder.layers.6.self_attention.linear_proj._extra_state": null,
224
+ "decoder.layers.6.self_attention.linear_qkv._extra_state": null,
225
+ "decoder.layers.7.mlp.linear_fc1._extra_state": null,
226
+ "decoder.layers.7.mlp.linear_fc2._extra_state": null,
227
+ "decoder.layers.7.self_attention.linear_proj._extra_state": null,
228
+ "decoder.layers.7.self_attention.linear_qkv._extra_state": null,
229
+ "decoder.layers.8.mlp.linear_fc1._extra_state": null,
230
+ "decoder.layers.8.mlp.linear_fc2._extra_state": null,
231
+ "decoder.layers.8.self_attention.linear_proj._extra_state": null,
232
+ "decoder.layers.8.self_attention.linear_qkv._extra_state": null,
233
+ "decoder.layers.9.mlp.linear_fc1._extra_state": null,
234
+ "decoder.layers.9.mlp.linear_fc2._extra_state": null,
235
+ "decoder.layers.9.self_attention.linear_proj._extra_state": null,
236
+ "decoder.layers.9.self_attention.linear_qkv._extra_state": null,
237
+ "feedback.state_proj._extra_state": null,
238
+ "feedback.token_gate_proj._extra_state": null,
239
+ "feedback_layer_proj._extra_state": null,
240
+ "output_layer._extra_state": null
241
+ },
242
+ "norm_epsilon": 1e-06,
243
+ "num_attention_heads": 11,
244
+ "num_kv_heads": 11,
245
+ "num_layers": 20,
246
+ "objective": "latent_feedback_causal_lm",
247
+ "padded_vocab_size": 32064,
248
+ "parameter_counts": {
249
+ "feedback_layer_projection_parameters": 5947392,
250
+ "feedback_parameters": 3967744,
251
+ "non_embedding_matrix_formula": 475791360,
252
+ "non_embedding_paper_N": 475851904,
253
+ "total_trainable": 576059264
254
+ },
255
+ "pipeline_parallel_size": 1,
256
+ "planned_training_tokens": 7000031232,
257
+ "projection_dtype": "bfloat16 (production)",
258
+ "qk_norm": "functional_rmsnorm_after_rope",
259
+ "residual_and_norm_scale_dtype": "float32",
260
+ "residual_multiplier": 1.0,
261
+ "rope_base": 10000.0,
262
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
263
+ "sequence_length": 2048,
264
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
265
+ "tensor_count": 130,
266
+ "tensor_dtypes": {
267
+ "torch.bfloat16": 87,
268
+ "torch.float32": 43
269
+ },
270
+ "tensor_parallel_size": 1,
271
+ "tied_embeddings": false,
272
+ "tokenizer": {
273
+ "active_vocab_size": 32001,
274
+ "additional_token": "<|assistant_end|>",
275
+ "repo_id": "NousResearch/Llama-2-7b-hf",
276
+ "revision": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d"
277
+ },
278
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
279
+ "total_parameters": 576059264,
280
+ "total_trainable_parameters": 576059264,
281
+ "train_passes": 3,
282
+ "training_code_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
283
+ "training_code_dirty": false,
284
+ "training_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
285
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045",
286
+ "training_tokens": 1048576000,
287
+ "vocab_size": 32001,
288
+ "width_scale": 22
289
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/launch_config.env ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Multi-layer feedback ablation of 476M_7b_FBW0_K3.env: layers 2, 11, 20.
2
+ # See FBW_MULTILAYER_STUDY.md; all training/data settings match the control.
3
+ # See configs/vanilla/FBW_STUDY.md. Derived from 476M_7b.env at
4
+ # a57216c3768aebd1226a30fa573b09530a9537f2; preserve the vanilla global LR curve.
5
+ # Fresh arm: same backbone seed, feedback enabled from update 1; no checkpoint load.
6
+
7
+ TRAIN_ARCHITECTURE=full_bandwidth
8
+ BACKBONE_PROFILE=paper2604_vanilla
9
+ TRAINING_RECIPE=paper2604_21106
10
+ RECIPE_OVERRIDES='{}'
11
+ # Use the installed Transformers release; the cluster's dev checkout is incompatible.
12
+ TRANSFORMERS_PATH=''
13
+ RUN_NAME=paper2604_vanilla_476m_7b_online_FBW0_K3_L2L11L20
14
+ RESUME_POLICY=fresh
15
+ REQUIRE_CHECKPOINT=false
16
+
17
+ # Online FineWeb-Edu; no prepared .bin/.idx dataset is needed.
18
+ # The launcher saves the pinned Llama-2 + assistant_end tokenizer under DATA_ROOT.
19
+ DATASET_NAME=paper2604_fineweb_edu_online_llama2_32001_t2049
20
+ ONLINE_DATA=true
21
+ # Match the completed vanilla run: use the complete local raw cache when available.
22
+ ONLINE_SOURCE_MODE=auto
23
+ ONLINE_DATASET=HuggingFaceFW/fineweb-edu
24
+ ONLINE_DATASET_SUBSET=sample-100BT
25
+ ONLINE_DATASET_REVISION=87f09149ef4734204d70ed1d046ddc9ca3f2b8f9
26
+ ONLINE_SOURCE_SPLIT=train
27
+ ONLINE_TEXT_COLUMN=text
28
+ ONLINE_VALIDATION_FRACTION=0.001
29
+ ONLINE_SPLIT_SEED=260421106
30
+ TOKENIZER_MODEL=NousResearch/Llama-2-7b-hf
31
+ ONLINE_TOKENIZER_REVISION=8efe6c9b93655b934e27bd9981e3ec13e55aee9d
32
+ ONLINE_TOKENIZER_BATCH_SIZE=256
33
+ ONLINE_SHUFFLE_BUFFER_RECORDS=128
34
+ NUM_WORKERS=0
35
+ DATA_PREFLIGHT=false
36
+ EXPECTED_RECORD_LENGTH=2049
37
+ EXPECTED_INPUT_LENGTH=2048
38
+ MIN_MODEL_INPUT_TOKENS=7000000000
39
+
40
+ # Match the completed vanilla data stream: four nodes, TP=PP=1, DP=32.
41
+ # The multi-node launcher supplies the node rank; preflight can override NNODES.
42
+ NNODES=4
43
+ GPUS_PER_NODE=8
44
+ TP=1
45
+ PP=1
46
+ # Four accumulation rounds on 8 GPUs, one on 32 GPUs (TP=PP=1).
47
+ MICRO_BATCH_SIZE=4
48
+ GLOBAL_BATCH_SIZE=128
49
+ SEQ_LENGTH=2048
50
+ MAX_POSITION_EMBEDDINGS=2048
51
+ # Fresh training: 26,703 updates / 7,000,031,232 physical input tokens.
52
+ # Use the vanilla LR curve from step 0 through the same 7B endpoint.
53
+ TRAIN_ITERS=26703
54
+
55
+ NUM_LAYERS=20
56
+ HIDDEN_SIZE=1408
57
+ FFN_HIDDEN_SIZE=5632
58
+ NUM_ATTENTION_HEADS=11
59
+ NUM_QUERY_GROUPS=11
60
+ GROUP_QUERY_ATTENTION=false
61
+ ATTENTION_OUTPUT_GATE=false
62
+ QK_LAYERNORM=false # Profile supplies parameter-free QK RMSNorm AFTER RoPE.
63
+ SWIGLU=false # Profile supplies squared-ReLU.
64
+ DISABLE_BIAS_LINEAR=true
65
+ NORMALIZATION=RMSNorm
66
+ LAYERNORM_EPSILON=0.000001
67
+ HIDDEN_DROPOUT=0
68
+ ATTENTION_DROPOUT=0
69
+ WINDOW_SIZE=none
70
+ WINDOW_ATTN_SKIP_FREQ=1
71
+ POSITION_EMBEDDING_TYPE=rope
72
+ ROTARY_BASE=10000
73
+ UNTIE_EMBEDDINGS=true
74
+ TOKENIZER_TYPE=HuggingFaceTokenizer
75
+ VOCAB_SIZE=32001
76
+ MAKE_VOCAB_SIZE_DIVISIBLE_BY=64
77
+ PRECISION=bf16
78
+ ENABLE_RECOMPUTE=false
79
+ MEGATRON_EXTRA_ARGS=''
80
+
81
+ # Use K=3 on every update, from update 1 through update 26,703.
82
+ FEEDBACK_PASS_MIXTURE=3:1.0
83
+ FEEDBACK_PROGRESSIVE_STAGES='[]'
84
+ FEEDBACK_EVAL_PASSES=3
85
+ # 1-based block outputs, with the final layer after trunk normalization.
86
+ # Concatenate 3*1408 -> 1408; initialize projection to [0, 0, I].
87
+ FEEDBACK_LAYERS=2,11,20
88
+ FEEDBACK_LOSS_WEIGHT=1.0
89
+ FEEDBACK_JITTER_SIGMA=0
90
+ FEEDBACK_PREFIX_MIXIN=false
91
+ FEEDBACK_Z_LOSS_COEFFICIENT=0
92
+ FEEDBACK_LOG_HIDDEN_CHANGE=false
93
+
94
+ # Frequent logs and a short sampled evaluation for the initial training check.
95
+ WANDB_ENTITY=LoopTF-4-CSPs
96
+ WANDB_PROJECT=loopTF-workspace
97
+ WANDB_MODE=online
98
+ WANDB_RESUME=never
99
+ WANDB_RUN_GROUP=vanilla_476m_7b_FBW_K3
100
+ WANDB_TAGS=product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20
101
+ SAVE_INTERVAL=4000
102
+ EVAL_AT_START=true
103
+ EVAL_INTERVAL=100
104
+ EVAL_ITERS=2
105
+ LOG_INTERVAL=1
106
+ CKPT_FORMAT=torch
107
+ SEED=42
fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/manifest.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint_iteration": 4000,
3
+ "files": {
4
+ "README.md": {
5
+ "sha256": "754c86bf86065e0f121d51b1f3046858ead7aaea160a46caa6db1ddc72cb127d",
6
+ "size": 2696
7
+ },
8
+ "config.json": {
9
+ "sha256": "880053416c618d5a37cb0de24ba8dfdd88418832d970f89d2e55311474136a81",
10
+ "size": 12270
11
+ },
12
+ "launch_config.env": {
13
+ "sha256": "637c50c798de3f8796a5112318af3c2ce772a32fd22aa9e2ea11d38b11dccca9",
14
+ "size": 3606
15
+ },
16
+ "model.safetensors": {
17
+ "sha256": "65fbfd4501dfc4d03939ceecb26ad41ff10050b40e602e58c56c0b734afd9200",
18
+ "size": 1152254688
19
+ },
20
+ "training_recipe.json": {
21
+ "sha256": "80097382a5141be358f63eb145e5191e0eec2dade0228d6e366eebf394c97db9",
22
+ "size": 4117
23
+ }
24
+ },
25
+ "manifest_note": "Hashes cover other payload files; manifest does not hash itself.",
26
+ "path_in_repo": "fbw_L2L11L20_7b_seed42_20260920-023045/step_4000",
27
+ "repo_id": "Siyuc/loopTF-workspace",
28
+ "repo_type": "model",
29
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045"
30
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:65fbfd4501dfc4d03939ceecb26ad41ff10050b40e602e58c56c0b734afd9200
3
+ size 1152254688
fbw_L2L11L20_7b_seed42_20260920-023045/step_4000/training_recipe.json ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recipe": "paper2604_21106",
3
+ "width": 1408,
4
+ "total_tokens": 7000031232,
5
+ "batch_tokens": 262144,
6
+ "reference_width": 640,
7
+ "reference_tokens": 983315200,
8
+ "reference_batch_tokens": 262144,
9
+ "base_lrs": {
10
+ "matrix": 0.014,
11
+ "embedding": 0.3,
12
+ "unembedding": 0.004,
13
+ "norm": 0.005,
14
+ "other": 0.005
15
+ },
16
+ "peak_lrs": {
17
+ "matrix": 0.007470638533717786,
18
+ "embedding": 0.2022599587389726,
19
+ "unembedding": 0.0026967994498529684,
20
+ "norm": 0.00337099931231621,
21
+ "other": 0.00337099931231621
22
+ },
23
+ "reference": "paper vanilla 0-20-0 at width 640; configurable token anchor",
24
+ "tied_embedding_policy": "unembedding (one AdamW update)",
25
+ "other_parameter_policy": "norm LR (extension for non-paper scalars/biases)",
26
+ "weight_decay": 0.0,
27
+ "warmup_steps": 0,
28
+ "final_lr_fraction": 0.1,
29
+ "optimizer": {
30
+ "name": "muonh",
31
+ "matrix_lr": 0.014,
32
+ "scalar_lr": null,
33
+ "matrix_weight_decay": 0.0,
34
+ "scalar_weight_decay": 0.0,
35
+ "embedding_lr": 0.3,
36
+ "unembedding_lr": 0.004,
37
+ "norm_lr": 0.005,
38
+ "other_lr": 0.005,
39
+ "betas": [
40
+ 0.8,
41
+ 0.95
42
+ ],
43
+ "eps": 1e-10,
44
+ "normuon_momentum": 0.95,
45
+ "normuon_beta2": 0.95,
46
+ "normuon_nesterov": true,
47
+ "normuon_adjust_lr": "spectral_norm",
48
+ "max_grad_norm": null
49
+ },
50
+ "schedule": {
51
+ "kind": "linear",
52
+ "warmup_steps": 0,
53
+ "cooldown_fraction": 0.0,
54
+ "cooldown_style": "linear",
55
+ "final_lr_fraction": 0.1,
56
+ "z_loss_coefficient": 0.0,
57
+ "adamc_weight_decay": false
58
+ },
59
+ "group_weight_decay": {
60
+ "matrix": 0.0,
61
+ "embedding": 0.0,
62
+ "unembedding": 0.0,
63
+ "norm": 0.0,
64
+ "other": 0.0
65
+ },
66
+ "recipe_overrides": {},
67
+ "requested_batch_tokens": 262144,
68
+ "sequence_length": 2048,
69
+ "batch_assumptions": {
70
+ "global_batch_tokens": 262144,
71
+ "sequence_length": 2048,
72
+ "round_up": false
73
+ },
74
+ "lr_transfer": "mup_hyperp_released_source",
75
+ "assumptions": [],
76
+ "backend_kernel_assumptions": {},
77
+ "paper_settings_overridden": false,
78
+ "model": {
79
+ "backbone_profile": "paper2604_vanilla",
80
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
81
+ "width_scale": 22,
82
+ "hidden_size": 1408,
83
+ "num_layers": 20,
84
+ "head_dim": 128,
85
+ "num_attention_heads": 11,
86
+ "num_kv_heads": 11,
87
+ "ffn_hidden_size": 5632,
88
+ "activation": "squared_relu",
89
+ "attention": "full_causal",
90
+ "attention_output_gate": false,
91
+ "qk_norm": "functional_rmsnorm_after_rope",
92
+ "norm_epsilon": 1e-06,
93
+ "model_level_norms": [
94
+ "embedding",
95
+ "recur",
96
+ "final"
97
+ ],
98
+ "rope_base": 10000.0,
99
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
100
+ "bias": false,
101
+ "dropout": 0.0,
102
+ "residual_multiplier": 1.0,
103
+ "residual_and_norm_scale_dtype": "float32",
104
+ "projection_dtype": "bfloat16 (production)",
105
+ "tied_embeddings": false,
106
+ "vocab_size": 32001,
107
+ "padded_vocab_size": 32064,
108
+ "logit_softcap": 15.0,
109
+ "crop_padding_before_loss": true,
110
+ "initialization": {
111
+ "embedding_normal_std": 1.0,
112
+ "head_normal_std": 0.001,
113
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
114
+ "norm_scale": 1.0
115
+ },
116
+ "parameter_counts": {
117
+ "non_embedding_matrix_formula": 475791360,
118
+ "non_embedding_paper_N": 475851904,
119
+ "total_trainable": 576059264,
120
+ "feedback_parameters": 3967744,
121
+ "feedback_layer_projection_parameters": 5947392
122
+ },
123
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
124
+ "execution_architecture": "full_bandwidth",
125
+ "objective": "latent_feedback_causal_lm",
126
+ "feedback_enabled": true,
127
+ "train_passes": 3,
128
+ "eval_passes": 3,
129
+ "feedback_pass_mixture": {
130
+ "3": 1.0
131
+ },
132
+ "feedback_progressive_stages": [],
133
+ "feedback_layers": [
134
+ 2,
135
+ 11,
136
+ 20
137
+ ],
138
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
139
+ "feedback_layer_projection_init": "final_layer_identity",
140
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization"
141
+ }
142
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/README.md ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # fbw_L2L11L20_7b_seed42_20260920-023045 — step 8000
2
+
3
+ Intermediate checkpoint at step **8,000**, after **2,097,152,000 training input tokens**, from a run with a 7,000,031,232-token total budget. Complete model: **576,059,264 parameters**. The `476m` label refers to the backbone sizing convention, and `7b` to the training-token budget.
4
+
5
+ Native state-dict safetensors, preserving every source tensor name, shape, dtype and value. This is weights and configuration only, not a full training-resume bundle or a Transformers `AutoModel.from_pretrained` export. All source tensors were finite and strict native loading passed on CPU. Source checkpoints were retained.
6
+
7
+ Training revision: `9f3c22f21c6026055ba69a39af5f285f09d3cfc8`; paper/backbone source revision: `122366472a31e57982a2877eeee10bb115477713`. Use [loopTF-workspace loading revision](https://github.com/FFishy-git/loopTF-workspace/tree/9f3c22f21c6026055ba69a39af5f285f09d3cfc8) with `src` on `PYTHONPATH` and its dependencies installed.
8
+
9
+ The existing project native feedback inference adapter preserves the saved feedback layer selection and fusion projection. It maps packed QKV/key names at load time and uses full-prefix inference; the uploaded tensors keep native Megatron names. Use native_loading_args exactly as recorded.
10
+
11
+ ## Loading
12
+
13
+ ```python
14
+ import json
15
+ from pathlib import Path
16
+ import torch
17
+ from safetensors.torch import load_file
18
+ export_dir = Path("/path/to/step_8000")
19
+ config = json.loads((export_dir / "config.json").read_text())
20
+ state = load_file(str(export_dir / "model.safetensors"), device="cpu")
21
+ from types import SimpleNamespace
22
+ from loop_transformer_backends.benchmarks.models import build_native
23
+ model, metadata = build_native({
24
+ "args": SimpleNamespace(**config["native_loading_args"]),
25
+ "model": state | config["non_tensor_state_dict_entries"],
26
+ "iteration": config["checkpoint_iteration"],
27
+ }) # Existing project inference mapping, strict=True, assign=True internally.
28
+ model.eval()
29
+ ```
30
+
31
+ Use the pinned Llama-2 tokenizer plus `<|assistant_end|>` in `config.json`, with 32,001 active tokens and weights padded to 32,064. `launch_config.env` is the original reviewed base snapshot; its relative imports require the pinned source tree. Effective timestamped run identity and overrides are recorded in `config.json`, which is authoritative for loading.
32
+
33
+ No final held-out evaluation receipt is available for this checkpoint; no final-evaluation result is claimed.
34
+
35
+ W&B: [source run](https://wandb.ai/LoopTF-4-CSPs/loopTF-workspace/runs/ljsfjz37). `manifest.json` records file sizes and SHA256 and does not hash itself. No optimizer, scheduler, RNG, dataloader, dataset, logs or credentials are included.
fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/config.json ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation": "squared_relu",
3
+ "attention": "full_causal",
4
+ "attention_output_gate": false,
5
+ "backbone_profile": "paper2604_vanilla",
6
+ "bias": false,
7
+ "checkpoint_format": "safetensors_native_megatron_state_dict",
8
+ "checkpoint_iteration": 8000,
9
+ "checkpoint_version": 3.0,
10
+ "consumed_train_samples": 1024000,
11
+ "crop_padding_before_loss": true,
12
+ "dropout": 0.0,
13
+ "effective_overrides": {
14
+ "EXIT_INTERVAL": 26703,
15
+ "FEEDBACK_EVAL_PASSES": 3,
16
+ "FEEDBACK_JITTER_SIGMA": 0.0,
17
+ "FEEDBACK_LAYERS": "2,11,20",
18
+ "FEEDBACK_LOG_HIDDEN_CHANGE": false,
19
+ "FEEDBACK_LOSS_WEIGHT": 1.0,
20
+ "FEEDBACK_NORMUON_BETA2": 0.95,
21
+ "FEEDBACK_PASS_MIXTURE": "3:1.0",
22
+ "FEEDBACK_PREFIX_MIXIN": false,
23
+ "FEEDBACK_PROGRESSIVE_STAGES": "[]",
24
+ "FEEDBACK_SCALAR_LR": 0.0005,
25
+ "FEEDBACK_SCALAR_WEIGHT_DECAY": 0.0,
26
+ "FEEDBACK_Z_LOSS_COEFFICIENT": 0.0,
27
+ "FEEDBACK_Z_LOSS_START_FRACTION": 1.0,
28
+ "GLOBAL_BATCH_SIZE": 128,
29
+ "MICRO_BATCH_SIZE": 8,
30
+ "ONLINE_DATASET": "HuggingFaceFW/fineweb-edu",
31
+ "ONLINE_DATASET_REVISION": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
32
+ "ONLINE_DATASET_SUBSET": "sample-100BT",
33
+ "ONLINE_SOURCE_SPLIT": "train",
34
+ "ONLINE_SPLIT_SEED": "260421106",
35
+ "ONLINE_TOKENIZER_REVISION": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d",
36
+ "ONLINE_VALIDATION_FRACTION": "0.001",
37
+ "PP": "1",
38
+ "PRECISION": "bf16",
39
+ "RUN_NAME": "fbw_L2L11L20_7b_seed42_20260920-023045",
40
+ "SAVE_INTERVAL": 4000,
41
+ "SEED": 42,
42
+ "SEQ_LENGTH": "2048",
43
+ "TP": "1",
44
+ "TRAIN_ITERS": 26703,
45
+ "WANDB_RUN_GROUP": "vanilla_476m_7b_FBW_K3",
46
+ "WANDB_RUN_ID": "ljsfjz37",
47
+ "WANDB_TAGS": "product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20"
48
+ },
49
+ "eval_passes": 3,
50
+ "execution_architecture": "full_bandwidth",
51
+ "feedback_enabled": true,
52
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
53
+ "feedback_layer_projection_init": "final_layer_identity",
54
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization",
55
+ "feedback_layers": [
56
+ 2,
57
+ 11,
58
+ 20
59
+ ],
60
+ "feedback_pass_mixture": {
61
+ "3": 1.0
62
+ },
63
+ "feedback_progressive_stages": [],
64
+ "ffn_hidden_size": 5632,
65
+ "final_validation": null,
66
+ "head_dim": 128,
67
+ "hidden_size": 1408,
68
+ "initialization": {
69
+ "embedding_normal_std": 1.0,
70
+ "head_normal_std": 0.001,
71
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
72
+ "norm_scale": 1.0
73
+ },
74
+ "is_final_checkpoint": false,
75
+ "loading_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
76
+ "loading_note": "Native Megatron tensor names and dtypes, weights only; no optimizer, RNG, scheduler or dataloader state. Not a Transformers AutoModel export.",
77
+ "logit_softcap": 15.0,
78
+ "metadata_source": "/root/dl/runtime/script/loopTF-workspace/output/research/R3_lookahead_improve/fbw_L2L11L20_7b_seed42_20260920-023045",
79
+ "model_level_norms": [
80
+ "embedding",
81
+ "recur",
82
+ "final"
83
+ ],
84
+ "native_inference_adapter": {
85
+ "active_vocab_size": 32001,
86
+ "architecture": "full_bandwidth",
87
+ "context_extension": "native RoPE, no scaling; at most 2x training length",
88
+ "max_supported_length": 4096,
89
+ "model_config": {
90
+ "attention_dropout": 0.0,
91
+ "attn_implementation": "sdpa",
92
+ "backbone_profile": "paper2604_vanilla",
93
+ "gradient_checkpointing": false,
94
+ "hf_config_overrides": {},
95
+ "hidden_size": 1408,
96
+ "initializer_range": 0.02,
97
+ "intermediate_size": 5632,
98
+ "max_position_embeddings": 2048,
99
+ "model_type": "full_bandwidth",
100
+ "num_attention_heads": 11,
101
+ "num_hidden_layers": 20,
102
+ "num_key_value_heads": 11,
103
+ "padded_vocab_size": 32064,
104
+ "paper_full_attention_interval": 6,
105
+ "paper_sliding_window": 0,
106
+ "pretrained_model_name_or_path": null,
107
+ "revision": null,
108
+ "rms_norm_eps": 1e-06,
109
+ "rope_theta": 10000,
110
+ "tie_word_embeddings": false,
111
+ "trust_remote_code": false,
112
+ "vocab_size": 32001
113
+ },
114
+ "policy": {
115
+ "depth_loops": 1,
116
+ "depth_share_kv": false,
117
+ "feedback_layers": [
118
+ 2,
119
+ 11,
120
+ 20
121
+ ],
122
+ "final_adapter": {
123
+ "attention_backend": "sdpa_auto",
124
+ "checkpoint_refiner": true,
125
+ "ffn_size": null,
126
+ "kind": "none"
127
+ },
128
+ "num_passes": 3
129
+ },
130
+ "prediction": "fixed final feedback-pass logits; eval jitter/prefix mixin disabled",
131
+ "step": 8000,
132
+ "training_context_length": 2048
133
+ },
134
+ "native_loading_args": {
135
+ "architecture": "full_bandwidth",
136
+ "attention_dropout": 0.0,
137
+ "aux_mtp_horizon": 1,
138
+ "backbone_profile": "paper2604_vanilla",
139
+ "context_parallel_size": 1,
140
+ "feedback_eval_passes": 3,
141
+ "feedback_layers": "2,11,20",
142
+ "ffn_hidden_size": 5632,
143
+ "hidden_size": 1408,
144
+ "layernorm_epsilon": 1e-06,
145
+ "num_attention_heads": 11,
146
+ "num_layers": 20,
147
+ "num_query_groups": 11,
148
+ "padded_vocab_size": 32064,
149
+ "pipeline_model_parallel_size": 1,
150
+ "rotary_base": 10000,
151
+ "seq_length": 2048,
152
+ "tensor_model_parallel_size": 1,
153
+ "untie_embeddings_and_output_weights": true,
154
+ "vocab_size": 32001
155
+ },
156
+ "non_tensor_state_dict_entries": {
157
+ "decoder.layers.0.mlp.linear_fc1._extra_state": null,
158
+ "decoder.layers.0.mlp.linear_fc2._extra_state": null,
159
+ "decoder.layers.0.self_attention.linear_proj._extra_state": null,
160
+ "decoder.layers.0.self_attention.linear_qkv._extra_state": null,
161
+ "decoder.layers.1.mlp.linear_fc1._extra_state": null,
162
+ "decoder.layers.1.mlp.linear_fc2._extra_state": null,
163
+ "decoder.layers.1.self_attention.linear_proj._extra_state": null,
164
+ "decoder.layers.1.self_attention.linear_qkv._extra_state": null,
165
+ "decoder.layers.10.mlp.linear_fc1._extra_state": null,
166
+ "decoder.layers.10.mlp.linear_fc2._extra_state": null,
167
+ "decoder.layers.10.self_attention.linear_proj._extra_state": null,
168
+ "decoder.layers.10.self_attention.linear_qkv._extra_state": null,
169
+ "decoder.layers.11.mlp.linear_fc1._extra_state": null,
170
+ "decoder.layers.11.mlp.linear_fc2._extra_state": null,
171
+ "decoder.layers.11.self_attention.linear_proj._extra_state": null,
172
+ "decoder.layers.11.self_attention.linear_qkv._extra_state": null,
173
+ "decoder.layers.12.mlp.linear_fc1._extra_state": null,
174
+ "decoder.layers.12.mlp.linear_fc2._extra_state": null,
175
+ "decoder.layers.12.self_attention.linear_proj._extra_state": null,
176
+ "decoder.layers.12.self_attention.linear_qkv._extra_state": null,
177
+ "decoder.layers.13.mlp.linear_fc1._extra_state": null,
178
+ "decoder.layers.13.mlp.linear_fc2._extra_state": null,
179
+ "decoder.layers.13.self_attention.linear_proj._extra_state": null,
180
+ "decoder.layers.13.self_attention.linear_qkv._extra_state": null,
181
+ "decoder.layers.14.mlp.linear_fc1._extra_state": null,
182
+ "decoder.layers.14.mlp.linear_fc2._extra_state": null,
183
+ "decoder.layers.14.self_attention.linear_proj._extra_state": null,
184
+ "decoder.layers.14.self_attention.linear_qkv._extra_state": null,
185
+ "decoder.layers.15.mlp.linear_fc1._extra_state": null,
186
+ "decoder.layers.15.mlp.linear_fc2._extra_state": null,
187
+ "decoder.layers.15.self_attention.linear_proj._extra_state": null,
188
+ "decoder.layers.15.self_attention.linear_qkv._extra_state": null,
189
+ "decoder.layers.16.mlp.linear_fc1._extra_state": null,
190
+ "decoder.layers.16.mlp.linear_fc2._extra_state": null,
191
+ "decoder.layers.16.self_attention.linear_proj._extra_state": null,
192
+ "decoder.layers.16.self_attention.linear_qkv._extra_state": null,
193
+ "decoder.layers.17.mlp.linear_fc1._extra_state": null,
194
+ "decoder.layers.17.mlp.linear_fc2._extra_state": null,
195
+ "decoder.layers.17.self_attention.linear_proj._extra_state": null,
196
+ "decoder.layers.17.self_attention.linear_qkv._extra_state": null,
197
+ "decoder.layers.18.mlp.linear_fc1._extra_state": null,
198
+ "decoder.layers.18.mlp.linear_fc2._extra_state": null,
199
+ "decoder.layers.18.self_attention.linear_proj._extra_state": null,
200
+ "decoder.layers.18.self_attention.linear_qkv._extra_state": null,
201
+ "decoder.layers.19.mlp.linear_fc1._extra_state": null,
202
+ "decoder.layers.19.mlp.linear_fc2._extra_state": null,
203
+ "decoder.layers.19.self_attention.linear_proj._extra_state": null,
204
+ "decoder.layers.19.self_attention.linear_qkv._extra_state": null,
205
+ "decoder.layers.2.mlp.linear_fc1._extra_state": null,
206
+ "decoder.layers.2.mlp.linear_fc2._extra_state": null,
207
+ "decoder.layers.2.self_attention.linear_proj._extra_state": null,
208
+ "decoder.layers.2.self_attention.linear_qkv._extra_state": null,
209
+ "decoder.layers.3.mlp.linear_fc1._extra_state": null,
210
+ "decoder.layers.3.mlp.linear_fc2._extra_state": null,
211
+ "decoder.layers.3.self_attention.linear_proj._extra_state": null,
212
+ "decoder.layers.3.self_attention.linear_qkv._extra_state": null,
213
+ "decoder.layers.4.mlp.linear_fc1._extra_state": null,
214
+ "decoder.layers.4.mlp.linear_fc2._extra_state": null,
215
+ "decoder.layers.4.self_attention.linear_proj._extra_state": null,
216
+ "decoder.layers.4.self_attention.linear_qkv._extra_state": null,
217
+ "decoder.layers.5.mlp.linear_fc1._extra_state": null,
218
+ "decoder.layers.5.mlp.linear_fc2._extra_state": null,
219
+ "decoder.layers.5.self_attention.linear_proj._extra_state": null,
220
+ "decoder.layers.5.self_attention.linear_qkv._extra_state": null,
221
+ "decoder.layers.6.mlp.linear_fc1._extra_state": null,
222
+ "decoder.layers.6.mlp.linear_fc2._extra_state": null,
223
+ "decoder.layers.6.self_attention.linear_proj._extra_state": null,
224
+ "decoder.layers.6.self_attention.linear_qkv._extra_state": null,
225
+ "decoder.layers.7.mlp.linear_fc1._extra_state": null,
226
+ "decoder.layers.7.mlp.linear_fc2._extra_state": null,
227
+ "decoder.layers.7.self_attention.linear_proj._extra_state": null,
228
+ "decoder.layers.7.self_attention.linear_qkv._extra_state": null,
229
+ "decoder.layers.8.mlp.linear_fc1._extra_state": null,
230
+ "decoder.layers.8.mlp.linear_fc2._extra_state": null,
231
+ "decoder.layers.8.self_attention.linear_proj._extra_state": null,
232
+ "decoder.layers.8.self_attention.linear_qkv._extra_state": null,
233
+ "decoder.layers.9.mlp.linear_fc1._extra_state": null,
234
+ "decoder.layers.9.mlp.linear_fc2._extra_state": null,
235
+ "decoder.layers.9.self_attention.linear_proj._extra_state": null,
236
+ "decoder.layers.9.self_attention.linear_qkv._extra_state": null,
237
+ "feedback.state_proj._extra_state": null,
238
+ "feedback.token_gate_proj._extra_state": null,
239
+ "feedback_layer_proj._extra_state": null,
240
+ "output_layer._extra_state": null
241
+ },
242
+ "norm_epsilon": 1e-06,
243
+ "num_attention_heads": 11,
244
+ "num_kv_heads": 11,
245
+ "num_layers": 20,
246
+ "objective": "latent_feedback_causal_lm",
247
+ "padded_vocab_size": 32064,
248
+ "parameter_counts": {
249
+ "feedback_layer_projection_parameters": 5947392,
250
+ "feedback_parameters": 3967744,
251
+ "non_embedding_matrix_formula": 475791360,
252
+ "non_embedding_paper_N": 475851904,
253
+ "total_trainable": 576059264
254
+ },
255
+ "pipeline_parallel_size": 1,
256
+ "planned_training_tokens": 7000031232,
257
+ "projection_dtype": "bfloat16 (production)",
258
+ "qk_norm": "functional_rmsnorm_after_rope",
259
+ "residual_and_norm_scale_dtype": "float32",
260
+ "residual_multiplier": 1.0,
261
+ "rope_base": 10000.0,
262
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
263
+ "sequence_length": 2048,
264
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
265
+ "tensor_count": 130,
266
+ "tensor_dtypes": {
267
+ "torch.bfloat16": 87,
268
+ "torch.float32": 43
269
+ },
270
+ "tensor_parallel_size": 1,
271
+ "tied_embeddings": false,
272
+ "tokenizer": {
273
+ "active_vocab_size": 32001,
274
+ "additional_token": "<|assistant_end|>",
275
+ "repo_id": "NousResearch/Llama-2-7b-hf",
276
+ "revision": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d"
277
+ },
278
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
279
+ "total_parameters": 576059264,
280
+ "total_trainable_parameters": 576059264,
281
+ "train_passes": 3,
282
+ "training_code_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
283
+ "training_code_dirty": false,
284
+ "training_code_revision": "9f3c22f21c6026055ba69a39af5f285f09d3cfc8",
285
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045",
286
+ "training_tokens": 2097152000,
287
+ "vocab_size": 32001,
288
+ "width_scale": 22
289
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/launch_config.env ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Multi-layer feedback ablation of 476M_7b_FBW0_K3.env: layers 2, 11, 20.
2
+ # See FBW_MULTILAYER_STUDY.md; all training/data settings match the control.
3
+ # See configs/vanilla/FBW_STUDY.md. Derived from 476M_7b.env at
4
+ # a57216c3768aebd1226a30fa573b09530a9537f2; preserve the vanilla global LR curve.
5
+ # Fresh arm: same backbone seed, feedback enabled from update 1; no checkpoint load.
6
+
7
+ TRAIN_ARCHITECTURE=full_bandwidth
8
+ BACKBONE_PROFILE=paper2604_vanilla
9
+ TRAINING_RECIPE=paper2604_21106
10
+ RECIPE_OVERRIDES='{}'
11
+ # Use the installed Transformers release; the cluster's dev checkout is incompatible.
12
+ TRANSFORMERS_PATH=''
13
+ RUN_NAME=paper2604_vanilla_476m_7b_online_FBW0_K3_L2L11L20
14
+ RESUME_POLICY=fresh
15
+ REQUIRE_CHECKPOINT=false
16
+
17
+ # Online FineWeb-Edu; no prepared .bin/.idx dataset is needed.
18
+ # The launcher saves the pinned Llama-2 + assistant_end tokenizer under DATA_ROOT.
19
+ DATASET_NAME=paper2604_fineweb_edu_online_llama2_32001_t2049
20
+ ONLINE_DATA=true
21
+ # Match the completed vanilla run: use the complete local raw cache when available.
22
+ ONLINE_SOURCE_MODE=auto
23
+ ONLINE_DATASET=HuggingFaceFW/fineweb-edu
24
+ ONLINE_DATASET_SUBSET=sample-100BT
25
+ ONLINE_DATASET_REVISION=87f09149ef4734204d70ed1d046ddc9ca3f2b8f9
26
+ ONLINE_SOURCE_SPLIT=train
27
+ ONLINE_TEXT_COLUMN=text
28
+ ONLINE_VALIDATION_FRACTION=0.001
29
+ ONLINE_SPLIT_SEED=260421106
30
+ TOKENIZER_MODEL=NousResearch/Llama-2-7b-hf
31
+ ONLINE_TOKENIZER_REVISION=8efe6c9b93655b934e27bd9981e3ec13e55aee9d
32
+ ONLINE_TOKENIZER_BATCH_SIZE=256
33
+ ONLINE_SHUFFLE_BUFFER_RECORDS=128
34
+ NUM_WORKERS=0
35
+ DATA_PREFLIGHT=false
36
+ EXPECTED_RECORD_LENGTH=2049
37
+ EXPECTED_INPUT_LENGTH=2048
38
+ MIN_MODEL_INPUT_TOKENS=7000000000
39
+
40
+ # Match the completed vanilla data stream: four nodes, TP=PP=1, DP=32.
41
+ # The multi-node launcher supplies the node rank; preflight can override NNODES.
42
+ NNODES=4
43
+ GPUS_PER_NODE=8
44
+ TP=1
45
+ PP=1
46
+ # Four accumulation rounds on 8 GPUs, one on 32 GPUs (TP=PP=1).
47
+ MICRO_BATCH_SIZE=4
48
+ GLOBAL_BATCH_SIZE=128
49
+ SEQ_LENGTH=2048
50
+ MAX_POSITION_EMBEDDINGS=2048
51
+ # Fresh training: 26,703 updates / 7,000,031,232 physical input tokens.
52
+ # Use the vanilla LR curve from step 0 through the same 7B endpoint.
53
+ TRAIN_ITERS=26703
54
+
55
+ NUM_LAYERS=20
56
+ HIDDEN_SIZE=1408
57
+ FFN_HIDDEN_SIZE=5632
58
+ NUM_ATTENTION_HEADS=11
59
+ NUM_QUERY_GROUPS=11
60
+ GROUP_QUERY_ATTENTION=false
61
+ ATTENTION_OUTPUT_GATE=false
62
+ QK_LAYERNORM=false # Profile supplies parameter-free QK RMSNorm AFTER RoPE.
63
+ SWIGLU=false # Profile supplies squared-ReLU.
64
+ DISABLE_BIAS_LINEAR=true
65
+ NORMALIZATION=RMSNorm
66
+ LAYERNORM_EPSILON=0.000001
67
+ HIDDEN_DROPOUT=0
68
+ ATTENTION_DROPOUT=0
69
+ WINDOW_SIZE=none
70
+ WINDOW_ATTN_SKIP_FREQ=1
71
+ POSITION_EMBEDDING_TYPE=rope
72
+ ROTARY_BASE=10000
73
+ UNTIE_EMBEDDINGS=true
74
+ TOKENIZER_TYPE=HuggingFaceTokenizer
75
+ VOCAB_SIZE=32001
76
+ MAKE_VOCAB_SIZE_DIVISIBLE_BY=64
77
+ PRECISION=bf16
78
+ ENABLE_RECOMPUTE=false
79
+ MEGATRON_EXTRA_ARGS=''
80
+
81
+ # Use K=3 on every update, from update 1 through update 26,703.
82
+ FEEDBACK_PASS_MIXTURE=3:1.0
83
+ FEEDBACK_PROGRESSIVE_STAGES='[]'
84
+ FEEDBACK_EVAL_PASSES=3
85
+ # 1-based block outputs, with the final layer after trunk normalization.
86
+ # Concatenate 3*1408 -> 1408; initialize projection to [0, 0, I].
87
+ FEEDBACK_LAYERS=2,11,20
88
+ FEEDBACK_LOSS_WEIGHT=1.0
89
+ FEEDBACK_JITTER_SIGMA=0
90
+ FEEDBACK_PREFIX_MIXIN=false
91
+ FEEDBACK_Z_LOSS_COEFFICIENT=0
92
+ FEEDBACK_LOG_HIDDEN_CHANGE=false
93
+
94
+ # Frequent logs and a short sampled evaluation for the initial training check.
95
+ WANDB_ENTITY=LoopTF-4-CSPs
96
+ WANDB_PROJECT=loopTF-workspace
97
+ WANDB_MODE=online
98
+ WANDB_RESUME=never
99
+ WANDB_RUN_GROUP=vanilla_476m_7b_FBW_K3
100
+ WANDB_TAGS=product,vanilla,476m,7b,fullbandwidth,pass_k,FBW0,K3,multilayer,L2L11L20
101
+ SAVE_INTERVAL=4000
102
+ EVAL_AT_START=true
103
+ EVAL_INTERVAL=100
104
+ EVAL_ITERS=2
105
+ LOG_INTERVAL=1
106
+ CKPT_FORMAT=torch
107
+ SEED=42
fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/manifest.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint_iteration": 8000,
3
+ "files": {
4
+ "README.md": {
5
+ "sha256": "aab5de6678fc9e11bc6f70fee55ae08a3f7dd392815042ddf025b0f3ba6b41a7",
6
+ "size": 2696
7
+ },
8
+ "config.json": {
9
+ "sha256": "5ef6a6b687625bc4d8ebabb0eef5da14e72a9133cc48317b27fe086fb945cee6",
10
+ "size": 12271
11
+ },
12
+ "launch_config.env": {
13
+ "sha256": "637c50c798de3f8796a5112318af3c2ce772a32fd22aa9e2ea11d38b11dccca9",
14
+ "size": 3606
15
+ },
16
+ "model.safetensors": {
17
+ "sha256": "c5ce253fab190da088594bcedf0811a687c0d4f203f2ea6083788f8e2b54d2a5",
18
+ "size": 1152254688
19
+ },
20
+ "training_recipe.json": {
21
+ "sha256": "80097382a5141be358f63eb145e5191e0eec2dade0228d6e366eebf394c97db9",
22
+ "size": 4117
23
+ }
24
+ },
25
+ "manifest_note": "Hashes cover other payload files; manifest does not hash itself.",
26
+ "path_in_repo": "fbw_L2L11L20_7b_seed42_20260920-023045/step_8000",
27
+ "repo_id": "Siyuc/loopTF-workspace",
28
+ "repo_type": "model",
29
+ "training_run": "fbw_L2L11L20_7b_seed42_20260920-023045"
30
+ }
fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c5ce253fab190da088594bcedf0811a687c0d4f203f2ea6083788f8e2b54d2a5
3
+ size 1152254688
fbw_L2L11L20_7b_seed42_20260920-023045/step_8000/training_recipe.json ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recipe": "paper2604_21106",
3
+ "width": 1408,
4
+ "total_tokens": 7000031232,
5
+ "batch_tokens": 262144,
6
+ "reference_width": 640,
7
+ "reference_tokens": 983315200,
8
+ "reference_batch_tokens": 262144,
9
+ "base_lrs": {
10
+ "matrix": 0.014,
11
+ "embedding": 0.3,
12
+ "unembedding": 0.004,
13
+ "norm": 0.005,
14
+ "other": 0.005
15
+ },
16
+ "peak_lrs": {
17
+ "matrix": 0.007470638533717786,
18
+ "embedding": 0.2022599587389726,
19
+ "unembedding": 0.0026967994498529684,
20
+ "norm": 0.00337099931231621,
21
+ "other": 0.00337099931231621
22
+ },
23
+ "reference": "paper vanilla 0-20-0 at width 640; configurable token anchor",
24
+ "tied_embedding_policy": "unembedding (one AdamW update)",
25
+ "other_parameter_policy": "norm LR (extension for non-paper scalars/biases)",
26
+ "weight_decay": 0.0,
27
+ "warmup_steps": 0,
28
+ "final_lr_fraction": 0.1,
29
+ "optimizer": {
30
+ "name": "muonh",
31
+ "matrix_lr": 0.014,
32
+ "scalar_lr": null,
33
+ "matrix_weight_decay": 0.0,
34
+ "scalar_weight_decay": 0.0,
35
+ "embedding_lr": 0.3,
36
+ "unembedding_lr": 0.004,
37
+ "norm_lr": 0.005,
38
+ "other_lr": 0.005,
39
+ "betas": [
40
+ 0.8,
41
+ 0.95
42
+ ],
43
+ "eps": 1e-10,
44
+ "normuon_momentum": 0.95,
45
+ "normuon_beta2": 0.95,
46
+ "normuon_nesterov": true,
47
+ "normuon_adjust_lr": "spectral_norm",
48
+ "max_grad_norm": null
49
+ },
50
+ "schedule": {
51
+ "kind": "linear",
52
+ "warmup_steps": 0,
53
+ "cooldown_fraction": 0.0,
54
+ "cooldown_style": "linear",
55
+ "final_lr_fraction": 0.1,
56
+ "z_loss_coefficient": 0.0,
57
+ "adamc_weight_decay": false
58
+ },
59
+ "group_weight_decay": {
60
+ "matrix": 0.0,
61
+ "embedding": 0.0,
62
+ "unembedding": 0.0,
63
+ "norm": 0.0,
64
+ "other": 0.0
65
+ },
66
+ "recipe_overrides": {},
67
+ "requested_batch_tokens": 262144,
68
+ "sequence_length": 2048,
69
+ "batch_assumptions": {
70
+ "global_batch_tokens": 262144,
71
+ "sequence_length": 2048,
72
+ "round_up": false
73
+ },
74
+ "lr_transfer": "mup_hyperp_released_source",
75
+ "assumptions": [],
76
+ "backend_kernel_assumptions": {},
77
+ "paper_settings_overridden": false,
78
+ "model": {
79
+ "backbone_profile": "paper2604_vanilla",
80
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
81
+ "width_scale": 22,
82
+ "hidden_size": 1408,
83
+ "num_layers": 20,
84
+ "head_dim": 128,
85
+ "num_attention_heads": 11,
86
+ "num_kv_heads": 11,
87
+ "ffn_hidden_size": 5632,
88
+ "activation": "squared_relu",
89
+ "attention": "full_causal",
90
+ "attention_output_gate": false,
91
+ "qk_norm": "functional_rmsnorm_after_rope",
92
+ "norm_epsilon": 1e-06,
93
+ "model_level_norms": [
94
+ "embedding",
95
+ "recur",
96
+ "final"
97
+ ],
98
+ "rope_base": 10000.0,
99
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
100
+ "bias": false,
101
+ "dropout": 0.0,
102
+ "residual_multiplier": 1.0,
103
+ "residual_and_norm_scale_dtype": "float32",
104
+ "projection_dtype": "bfloat16 (production)",
105
+ "tied_embeddings": false,
106
+ "vocab_size": 32001,
107
+ "padded_vocab_size": 32064,
108
+ "logit_softcap": 15.0,
109
+ "crop_padding_before_loss": true,
110
+ "initialization": {
111
+ "embedding_normal_std": 1.0,
112
+ "head_normal_std": 0.001,
113
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
114
+ "norm_scale": 1.0
115
+ },
116
+ "parameter_counts": {
117
+ "non_embedding_matrix_formula": 475791360,
118
+ "non_embedding_paper_N": 475851904,
119
+ "total_trainable": 576059264,
120
+ "feedback_parameters": 3967744,
121
+ "feedback_layer_projection_parameters": 5947392
122
+ },
123
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
124
+ "execution_architecture": "full_bandwidth",
125
+ "objective": "latent_feedback_causal_lm",
126
+ "feedback_enabled": true,
127
+ "train_passes": 3,
128
+ "eval_passes": 3,
129
+ "feedback_pass_mixture": {
130
+ "3": 1.0
131
+ },
132
+ "feedback_progressive_stages": [],
133
+ "feedback_layers": [
134
+ 2,
135
+ 11,
136
+ 20
137
+ ],
138
+ "feedback_layer_fusion": "concatenate_then_bias_free_linear",
139
+ "feedback_layer_projection_init": "final_layer_identity",
140
+ "feedback_layer_states": "intermediate block outputs; final after trunk normalization"
141
+ }
142
+ }
r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/README.md ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # r3_D0-P0-A0-R1_7b_seed42_20260919-161651 — step 12000
2
+
3
+ Intermediate checkpoint at step **12,000**, after **3,145,728,000 training input tokens**, from a run with a 7,000,031,232-token total budget. Complete model: **667,258,240 parameters**. The `476m` label refers to the backbone sizing convention, and `7b` to the training-token budget.
4
+
5
+ Native state-dict safetensors, preserving every source tensor name, shape, dtype and value. This is weights and configuration only, not a full training-resume bundle or a Transformers `AutoModel.from_pretrained` export. All source tensors were finite and strict native loading passed on CPU. Source checkpoints were retained.
6
+
7
+ Training revision: `03f93c9993ad936db9d39bcacd2a268e899e09f1`; paper/backbone source revision: `122366472a31e57982a2877eeee10bb115477713`. Use [loopTF-workspace loading revision](https://github.com/FFishy-git/loopTF-workspace/tree/03f93c9993ad936db9d39bcacd2a268e899e09f1) with `src` on `PYTHONPATH` and its dependencies installed.
8
+
9
+ Remove exactly the leading `model.` prefix to load the native LookaheadTransformer. K3 means three complete passes including the seed. The constructor settings preserve this run’s exact draft loss, future loss, pseudo initializer and refiner options.
10
+
11
+ ## Loading
12
+
13
+ ```python
14
+ import json
15
+ from pathlib import Path
16
+ import torch
17
+ from safetensors.torch import load_file
18
+ export_dir = Path("/path/to/step_12000")
19
+ config = json.loads((export_dir / "config.json").read_text())
20
+ state = load_file(str(export_dir / "model.safetensors"), device="cpu")
21
+ from lookahead_tf.hf.config import ModelConfig
22
+ from lookahead_tf.hf.model import LookaheadTransformer
23
+ from lookahead_tf.policy import LookaheadConfig
24
+ with torch.device("meta"):
25
+ model = LookaheadTransformer(ModelConfig(**config["model_config"]),
26
+ LookaheadConfig(**config["lookahead_config"]))
27
+ assert all(k.startswith("model.") for k in state)
28
+ model.load_state_dict({k.removeprefix("model."):v for k,v in state.items()},
29
+ strict=True, assign=True)
30
+ model.eval()
31
+ ```
32
+
33
+ Use the pinned Llama-2 tokenizer plus `<|assistant_end|>` in `config.json`, with 32,001 active tokens and weights padded to 32,064. `launch_config.env` is the original reviewed base snapshot; its relative imports require the pinned source tree. Effective timestamped run identity and overrides are recorded in `config.json`, which is authoritative for loading.
34
+
35
+ No final held-out evaluation receipt is available for this checkpoint; no final-evaluation result is claimed.
36
+
37
+ W&B: [source run](https://wandb.ai/LoopTF-4-CSPs/loopTF-workspace/runs/rsk51lmo). `manifest.json` records file sizes and SHA256 and does not hash itself. No optimizer, scheduler, RNG, dataloader, dataset, logs or credentials are included.
r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/config.json ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation": "squared_relu",
3
+ "activation_checkpointing": false,
4
+ "allow_objective_change_on_resume": false,
5
+ "attention": "full_causal",
6
+ "attention_output_gate": false,
7
+ "backbone_profile": "paper2604_vanilla",
8
+ "bias": false,
9
+ "block_application_multiplier": 6.8999999999999995,
10
+ "cache_layer_indices": [
11
+ 0,
12
+ 10,
13
+ 19
14
+ ],
15
+ "checkpoint_format": "safetensors_native_megatron_state_dict",
16
+ "checkpoint_iteration": 12000,
17
+ "checkpoint_refiner": false,
18
+ "checkpoint_version": 3.0,
19
+ "consumed_train_samples": 1536000,
20
+ "crop_padding_before_loss": true,
21
+ "draft_loss_weight": 0.0,
22
+ "dropout": 0.0,
23
+ "effective_overrides": {
24
+ "EXIT_INTERVAL": 26703,
25
+ "FEEDBACK_EVAL_PASSES": "",
26
+ "FEEDBACK_JITTER_SIGMA": "0.02",
27
+ "FEEDBACK_LOG_HIDDEN_CHANGE": "false",
28
+ "FEEDBACK_LOSS_WEIGHT": "1.0",
29
+ "FEEDBACK_NORMUON_BETA2": 0.95,
30
+ "FEEDBACK_PASS_MIXTURE": "1:0.75,2:0.22,3:0.03",
31
+ "FEEDBACK_PREFIX_MIXIN": "true",
32
+ "FEEDBACK_PROGRESSIVE_STAGES": "[{\"start_fraction\":0.0,\"mixture\":{\"1\":1.0}},{\"start_fraction\":0.75,\"mixture\":{\"2\":0.88,\"3\":0.12}}]",
33
+ "FEEDBACK_SCALAR_LR": 0.0005,
34
+ "FEEDBACK_SCALAR_WEIGHT_DECAY": 0.0,
35
+ "FEEDBACK_Z_LOSS_COEFFICIENT": 0.0,
36
+ "FEEDBACK_Z_LOSS_START_FRACTION": 1.0,
37
+ "GLOBAL_BATCH_SIZE": 128,
38
+ "LOOKAHEAD_ALLOW_OBJECTIVE_CHANGE_ON_RESUME": false,
39
+ "LOOKAHEAD_ATTENTION_BACKEND": "sdpa_auto",
40
+ "LOOKAHEAD_CACHE_LAYERS": null,
41
+ "LOOKAHEAD_CHECKPOINT_REFINER": false,
42
+ "LOOKAHEAD_DRAFT_LOSS_WEIGHT": 0.0,
43
+ "LOOKAHEAD_FEEDBACK_LOSS_WEIGHT": 1.0,
44
+ "LOOKAHEAD_FULL_ATTENTION_INTERVAL": 6,
45
+ "LOOKAHEAD_FUTURE_GRADIENT_MODE": "all",
46
+ "LOOKAHEAD_FUTURE_LOSS_WEIGHT": 0.0,
47
+ "LOOKAHEAD_GRADIENT_CHECKPOINTING": false,
48
+ "LOOKAHEAD_MODE": "parallel",
49
+ "LOOKAHEAD_NUM_PASSES": 3,
50
+ "LOOKAHEAD_PSEUDO_INITIALIZER": "A0",
51
+ "LOOKAHEAD_PSEUDO_TEMPERATURE": 1.0,
52
+ "LOOKAHEAD_PSEUDO_TOP_K": 128,
53
+ "LOOKAHEAD_REFINED_FUTURE_LOSS_WEIGHT": 1.0,
54
+ "LOOKAHEAD_REFINER_FFN_SIZE": 5632,
55
+ "LOOKAHEAD_REFINER_GATE_BIAS": -2.0,
56
+ "LOOKAHEAD_REFINER_VARIANT": "R1",
57
+ "LOOKAHEAD_SLIDING_WINDOW": 2048,
58
+ "LOOKAHEAD_Z_LOSS_COEFFICIENT": 0.0,
59
+ "MICRO_BATCH_SIZE": 8,
60
+ "ONLINE_DATASET": "HuggingFaceFW/fineweb-edu",
61
+ "ONLINE_DATASET_REVISION": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
62
+ "ONLINE_DATASET_SUBSET": "sample-100BT",
63
+ "ONLINE_SOURCE_SPLIT": "train",
64
+ "ONLINE_SPLIT_SEED": "260421106",
65
+ "ONLINE_TOKENIZER_REVISION": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d",
66
+ "ONLINE_VALIDATION_FRACTION": "0.001",
67
+ "PP": "1",
68
+ "PRECISION": "bf16",
69
+ "RUN_NAME": "r3_D0-P0-A0-R1_7b_seed42_20260919-161651",
70
+ "SAVE_INTERVAL": 4000,
71
+ "SEED": 42,
72
+ "SEQ_LENGTH": "2048",
73
+ "TP": "1",
74
+ "TRAIN_ITERS": 26703,
75
+ "WANDB_RUN_GROUP": "r3_zero_intermediate_7b_20260919",
76
+ "WANDB_RUN_ID": "rsk51lmo",
77
+ "WANDB_TAGS": "product,lookahead,ablation,d0-a0-r1"
78
+ },
79
+ "execution_architecture": "lookahead",
80
+ "feedback_loss_weight": 1.0,
81
+ "ffn_hidden_size": 5632,
82
+ "final_validation": null,
83
+ "future_gradient_mode": "all",
84
+ "future_loss_weight": 0.0,
85
+ "head_dim": 128,
86
+ "hidden_size": 1408,
87
+ "initialization": {
88
+ "embedding_normal_std": 1.0,
89
+ "head_normal_std": 0.001,
90
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
91
+ "norm_scale": 1.0
92
+ },
93
+ "is_final_checkpoint": false,
94
+ "loading_code_revision": "03f93c9993ad936db9d39bcacd2a268e899e09f1",
95
+ "loading_note": "Native Megatron tensor names and dtypes, weights only; no optimizer, RNG, scheduler or dataloader state. Not a Transformers AutoModel export.",
96
+ "logit_softcap": 15.0,
97
+ "lookahead_config": {
98
+ "allow_objective_change_on_resume": false,
99
+ "attention_backend": "sdpa_auto",
100
+ "cache_layer_indices": null,
101
+ "checkpoint_refiner": false,
102
+ "draft_loss_weight": 0.0,
103
+ "feedback_loss_weight": 1.0,
104
+ "future_gradient_mode": "all",
105
+ "future_loss_weight": 0.0,
106
+ "mode": "parallel",
107
+ "num_passes": 3,
108
+ "pseudo_initializer": "A0",
109
+ "pseudo_temperature": 1.0,
110
+ "pseudo_top_k": 128,
111
+ "refined_future_loss_weight": 1.0,
112
+ "refiner_gate_bias": -2.0,
113
+ "refiner_intermediate_size": 5632,
114
+ "refiner_variant": "R1"
115
+ },
116
+ "lookahead_mode": "parallel",
117
+ "metadata_source": "/root/dl/runtime/script/loopTF-workspace/output/research/R3_lookahead_improve/r3_D0-P0-A0-R1_7b_seed42_20260919-161651",
118
+ "model_config": {
119
+ "attention_dropout": 0.0,
120
+ "attn_implementation": "sdpa",
121
+ "backbone_profile": "paper2604_vanilla",
122
+ "gradient_checkpointing": false,
123
+ "hf_config_overrides": {},
124
+ "hidden_size": 1408,
125
+ "initializer_range": 0.02,
126
+ "intermediate_size": 5632,
127
+ "max_position_embeddings": 2048,
128
+ "model_type": "full_bandwidth",
129
+ "num_attention_heads": 11,
130
+ "num_hidden_layers": 20,
131
+ "num_key_value_heads": 11,
132
+ "padded_vocab_size": 32064,
133
+ "paper_full_attention_interval": 6,
134
+ "paper_sliding_window": 2048,
135
+ "pretrained_model_name_or_path": null,
136
+ "revision": null,
137
+ "rms_norm_eps": 1e-06,
138
+ "rope_theta": 10000,
139
+ "tie_word_embeddings": false,
140
+ "trust_remote_code": false,
141
+ "vocab_size": 32001
142
+ },
143
+ "model_level_norms": [
144
+ "embedding",
145
+ "recur",
146
+ "final"
147
+ ],
148
+ "non_tensor_state_dict_entries": {},
149
+ "norm_epsilon": 1e-06,
150
+ "num_attention_heads": 11,
151
+ "num_kv_heads": 11,
152
+ "num_layers": 20,
153
+ "objective": "lookahead_parallel_final_pair",
154
+ "padded_vocab_size": 32064,
155
+ "parameter_counts": {
156
+ "backbone_total_trainable": 566144128,
157
+ "feedback_parameters": 3964928,
158
+ "lookahead_parameters": 101114112,
159
+ "non_embedding_matrix_formula": 475791360,
160
+ "non_embedding_paper_N": 475851904,
161
+ "total_parameters": 667258240,
162
+ "total_trainable": 667258240
163
+ },
164
+ "pipeline_parallel_size": 1,
165
+ "planned_training_tokens": 7000031232,
166
+ "projection_dtype": "bfloat16 (production)",
167
+ "pseudo_backend": "sdpa_auto",
168
+ "pseudo_initializer": "A0",
169
+ "pseudo_temperature": 1.0,
170
+ "pseudo_top_k": 128,
171
+ "qk_norm": "functional_rmsnorm_after_rope",
172
+ "refined_future_loss_weight": 1.0,
173
+ "refiner_activation": "silu_gated",
174
+ "refiner_variant": "R1",
175
+ "residual_and_norm_scale_dtype": "float32",
176
+ "residual_multiplier": 1.0,
177
+ "rope_base": 10000.0,
178
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
179
+ "sequence_length": 2048,
180
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
181
+ "tensor_count": 195,
182
+ "tensor_dtypes": {
183
+ "torch.bfloat16": 146,
184
+ "torch.float32": 49
185
+ },
186
+ "tensor_parallel_size": 1,
187
+ "tied_embeddings": false,
188
+ "tokenizer": {
189
+ "active_vocab_size": 32001,
190
+ "additional_token": "<|assistant_end|>",
191
+ "repo_id": "NousResearch/Llama-2-7b-hf",
192
+ "revision": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d"
193
+ },
194
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
195
+ "total_parameters": 667258240,
196
+ "total_trainable_parameters": 667258240,
197
+ "train_passes": 3,
198
+ "training_code_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
199
+ "training_code_dirty": false,
200
+ "training_code_revision": "03f93c9993ad936db9d39bcacd2a268e899e09f1",
201
+ "training_run": "r3_D0-P0-A0-R1_7b_seed42_20260919-161651",
202
+ "training_tokens": 3145728000,
203
+ "vocab_size": 32001,
204
+ "width_scale": 22
205
+ }
r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/launch_config.env ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Supported design cell, not a scheduled experiment; see ablation-framework.md.
2
+ source "$(dirname "${BASH_SOURCE[0]}")/common.env"
3
+ RUN_NAME=lookahead_d0-a0-r1
4
+ # Final-slot objective; no direct CE on either pre-refiner latent.
5
+ LOOKAHEAD_DRAFT_LOSS_WEIGHT=0
6
+ LOOKAHEAD_FUTURE_LOSS_WEIGHT=0
7
+ LOOKAHEAD_REFINED_FUTURE_LOSS_WEIGHT=1
8
+ LOOKAHEAD_PSEUDO_INITIALIZER=A0
9
+ LOOKAHEAD_REFINER_VARIANT=R1
10
+ # Keep the refiner FFN width identical across R0 and R1.
11
+ LOOKAHEAD_REFINER_FFN_SIZE=5632
12
+ WANDB_TAGS=product,lookahead,ablation,d0-a0-r1
r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/manifest.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint_iteration": 12000,
3
+ "files": {
4
+ "README.md": {
5
+ "sha256": "288c505d627776788e3bb01589c9c0736b8e6e56365af3d40b31f0f75a3e93e6",
6
+ "size": 2779
7
+ },
8
+ "config.json": {
9
+ "sha256": "2fb5cfd1d138c8f68feef4cc242b86a61d5f273cd218b891279209cb0a465a87",
10
+ "size": 7332
11
+ },
12
+ "launch_config.env": {
13
+ "sha256": "67649480c5114ec93a6804ef65db81682e1e038436952b20ff24429899cbce1c",
14
+ "size": 523
15
+ },
16
+ "model.safetensors": {
17
+ "sha256": "2e0ecf712296d92827e8e30f46a8ea3af16fec22215d5f364e9b09131c09442a",
18
+ "size": 1334676968
19
+ },
20
+ "training_recipe.json": {
21
+ "sha256": "952a223f00022b752ff0ac445ac65d872bb74844e23cc2ee4692ef5784831329",
22
+ "size": 4393
23
+ }
24
+ },
25
+ "manifest_note": "Hashes cover other payload files; manifest does not hash itself.",
26
+ "path_in_repo": "r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000",
27
+ "repo_id": "Siyuc/loopTF-workspace",
28
+ "repo_type": "model",
29
+ "training_run": "r3_D0-P0-A0-R1_7b_seed42_20260919-161651"
30
+ }
r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2e0ecf712296d92827e8e30f46a8ea3af16fec22215d5f364e9b09131c09442a
3
+ size 1334676968
r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_12000/training_recipe.json ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recipe": "paper2604_21106",
3
+ "width": 1408,
4
+ "total_tokens": 7000031232,
5
+ "batch_tokens": 262144,
6
+ "reference_width": 640,
7
+ "reference_tokens": 983315200,
8
+ "reference_batch_tokens": 262144,
9
+ "base_lrs": {
10
+ "matrix": 0.014,
11
+ "embedding": 0.3,
12
+ "unembedding": 0.004,
13
+ "norm": 0.005,
14
+ "other": 0.005
15
+ },
16
+ "peak_lrs": {
17
+ "matrix": 0.007470638533717786,
18
+ "embedding": 0.2022599587389726,
19
+ "unembedding": 0.0026967994498529684,
20
+ "norm": 0.00337099931231621,
21
+ "other": 0.00337099931231621
22
+ },
23
+ "reference": "paper vanilla 0-20-0 at width 640; configurable token anchor",
24
+ "tied_embedding_policy": "unembedding (one AdamW update)",
25
+ "other_parameter_policy": "norm LR (extension for non-paper scalars/biases)",
26
+ "weight_decay": 0.0,
27
+ "warmup_steps": 0,
28
+ "final_lr_fraction": 0.1,
29
+ "optimizer": {
30
+ "name": "muonh",
31
+ "matrix_lr": 0.014,
32
+ "scalar_lr": null,
33
+ "matrix_weight_decay": 0.0,
34
+ "scalar_weight_decay": 0.0,
35
+ "embedding_lr": 0.3,
36
+ "unembedding_lr": 0.004,
37
+ "norm_lr": 0.005,
38
+ "other_lr": 0.005,
39
+ "betas": [
40
+ 0.8,
41
+ 0.95
42
+ ],
43
+ "eps": 1e-10,
44
+ "normuon_momentum": 0.95,
45
+ "normuon_beta2": 0.95,
46
+ "normuon_nesterov": true,
47
+ "normuon_adjust_lr": "spectral_norm",
48
+ "max_grad_norm": null
49
+ },
50
+ "schedule": {
51
+ "kind": "linear",
52
+ "warmup_steps": 0,
53
+ "cooldown_fraction": 0.0,
54
+ "cooldown_style": "linear",
55
+ "final_lr_fraction": 0.1,
56
+ "z_loss_coefficient": 0.0,
57
+ "adamc_weight_decay": false
58
+ },
59
+ "group_weight_decay": {
60
+ "matrix": 0.0,
61
+ "embedding": 0.0,
62
+ "unembedding": 0.0,
63
+ "norm": 0.0,
64
+ "other": 0.0
65
+ },
66
+ "recipe_overrides": {},
67
+ "requested_batch_tokens": 262144,
68
+ "sequence_length": 2048,
69
+ "batch_assumptions": {
70
+ "global_batch_tokens": 262144,
71
+ "sequence_length": 2048,
72
+ "round_up": false
73
+ },
74
+ "lr_transfer": "mup_hyperp_released_source",
75
+ "assumptions": [],
76
+ "backend_kernel_assumptions": {},
77
+ "paper_settings_overridden": false,
78
+ "model": {
79
+ "backbone_profile": "paper2604_vanilla",
80
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
81
+ "width_scale": 22,
82
+ "hidden_size": 1408,
83
+ "num_layers": 20,
84
+ "head_dim": 128,
85
+ "num_attention_heads": 11,
86
+ "num_kv_heads": 11,
87
+ "ffn_hidden_size": 5632,
88
+ "activation": "squared_relu",
89
+ "attention": "full_causal",
90
+ "attention_output_gate": false,
91
+ "qk_norm": "functional_rmsnorm_after_rope",
92
+ "norm_epsilon": 1e-06,
93
+ "model_level_norms": [
94
+ "embedding",
95
+ "recur",
96
+ "final"
97
+ ],
98
+ "rope_base": 10000.0,
99
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
100
+ "bias": false,
101
+ "dropout": 0.0,
102
+ "residual_multiplier": 1.0,
103
+ "residual_and_norm_scale_dtype": "float32",
104
+ "projection_dtype": "bfloat16 (production)",
105
+ "tied_embeddings": false,
106
+ "vocab_size": 32001,
107
+ "padded_vocab_size": 32064,
108
+ "logit_softcap": 15.0,
109
+ "crop_padding_before_loss": true,
110
+ "initialization": {
111
+ "embedding_normal_std": 1.0,
112
+ "head_normal_std": 0.001,
113
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
114
+ "norm_scale": 1.0
115
+ },
116
+ "parameter_counts": {
117
+ "non_embedding_matrix_formula": 475791360,
118
+ "non_embedding_paper_N": 475851904,
119
+ "total_trainable": 667258240,
120
+ "feedback_parameters": 3964928,
121
+ "backbone_total_trainable": 566144128,
122
+ "lookahead_parameters": 101114112,
123
+ "total_parameters": 667258240
124
+ },
125
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
126
+ "execution_architecture": "lookahead",
127
+ "objective": "lookahead_parallel_final_pair",
128
+ "lookahead_mode": "parallel",
129
+ "train_passes": 3,
130
+ "feedback_loss_weight": 1.0,
131
+ "cache_layer_indices": [
132
+ 0,
133
+ 10,
134
+ 19
135
+ ],
136
+ "refiner_activation": "silu_gated",
137
+ "pseudo_backend": "sdpa_auto",
138
+ "activation_checkpointing": false,
139
+ "checkpoint_refiner": false,
140
+ "block_application_multiplier": 6.8999999999999995,
141
+ "future_loss_weight": 0.0,
142
+ "future_gradient_mode": "all",
143
+ "draft_loss_weight": 0.0,
144
+ "refined_future_loss_weight": 1.0,
145
+ "pseudo_initializer": "A0",
146
+ "pseudo_top_k": 128,
147
+ "pseudo_temperature": 1.0,
148
+ "refiner_variant": "R1",
149
+ "allow_objective_change_on_resume": false
150
+ }
151
+ }
r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_16000/README.md ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # r3_D0-P0-A0-R1_7b_seed42_20260919-161651 — step 16000
2
+
3
+ Intermediate checkpoint at step **16,000**, after **4,194,304,000 training input tokens**, from a run with a 7,000,031,232-token total budget. Complete model: **667,258,240 parameters**. The `476m` label refers to the backbone sizing convention, and `7b` to the training-token budget.
4
+
5
+ Native state-dict safetensors, preserving every source tensor name, shape, dtype and value. This is weights and configuration only, not a full training-resume bundle or a Transformers `AutoModel.from_pretrained` export. All source tensors were finite and strict native loading passed on CPU. Source checkpoints were retained.
6
+
7
+ Training revision: `03f93c9993ad936db9d39bcacd2a268e899e09f1`; paper/backbone source revision: `122366472a31e57982a2877eeee10bb115477713`. Use [loopTF-workspace loading revision](https://github.com/FFishy-git/loopTF-workspace/tree/03f93c9993ad936db9d39bcacd2a268e899e09f1) with `src` on `PYTHONPATH` and its dependencies installed.
8
+
9
+ Remove exactly the leading `model.` prefix to load the native LookaheadTransformer. K3 means three complete passes including the seed. The constructor settings preserve this run’s exact draft loss, future loss, pseudo initializer and refiner options.
10
+
11
+ ## Loading
12
+
13
+ ```python
14
+ import json
15
+ from pathlib import Path
16
+ import torch
17
+ from safetensors.torch import load_file
18
+ export_dir = Path("/path/to/step_16000")
19
+ config = json.loads((export_dir / "config.json").read_text())
20
+ state = load_file(str(export_dir / "model.safetensors"), device="cpu")
21
+ from lookahead_tf.hf.config import ModelConfig
22
+ from lookahead_tf.hf.model import LookaheadTransformer
23
+ from lookahead_tf.policy import LookaheadConfig
24
+ with torch.device("meta"):
25
+ model = LookaheadTransformer(ModelConfig(**config["model_config"]),
26
+ LookaheadConfig(**config["lookahead_config"]))
27
+ assert all(k.startswith("model.") for k in state)
28
+ model.load_state_dict({k.removeprefix("model."):v for k,v in state.items()},
29
+ strict=True, assign=True)
30
+ model.eval()
31
+ ```
32
+
33
+ Use the pinned Llama-2 tokenizer plus `<|assistant_end|>` in `config.json`, with 32,001 active tokens and weights padded to 32,064. `launch_config.env` is the original reviewed base snapshot; its relative imports require the pinned source tree. Effective timestamped run identity and overrides are recorded in `config.json`, which is authoritative for loading.
34
+
35
+ No final held-out evaluation receipt is available for this checkpoint; no final-evaluation result is claimed.
36
+
37
+ W&B: [source run](https://wandb.ai/LoopTF-4-CSPs/loopTF-workspace/runs/rsk51lmo). `manifest.json` records file sizes and SHA256 and does not hash itself. No optimizer, scheduler, RNG, dataloader, dataset, logs or credentials are included.
r3_D0-P0-A0-R1_7b_seed42_20260919-161651/step_16000/config.json ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation": "squared_relu",
3
+ "activation_checkpointing": false,
4
+ "allow_objective_change_on_resume": false,
5
+ "attention": "full_causal",
6
+ "attention_output_gate": false,
7
+ "backbone_profile": "paper2604_vanilla",
8
+ "bias": false,
9
+ "block_application_multiplier": 6.8999999999999995,
10
+ "cache_layer_indices": [
11
+ 0,
12
+ 10,
13
+ 19
14
+ ],
15
+ "checkpoint_format": "safetensors_native_megatron_state_dict",
16
+ "checkpoint_iteration": 16000,
17
+ "checkpoint_refiner": false,
18
+ "checkpoint_version": 3.0,
19
+ "consumed_train_samples": 2048000,
20
+ "crop_padding_before_loss": true,
21
+ "draft_loss_weight": 0.0,
22
+ "dropout": 0.0,
23
+ "effective_overrides": {
24
+ "EXIT_INTERVAL": 26703,
25
+ "FEEDBACK_EVAL_PASSES": "",
26
+ "FEEDBACK_JITTER_SIGMA": "0.02",
27
+ "FEEDBACK_LOG_HIDDEN_CHANGE": "false",
28
+ "FEEDBACK_LOSS_WEIGHT": "1.0",
29
+ "FEEDBACK_NORMUON_BETA2": 0.95,
30
+ "FEEDBACK_PASS_MIXTURE": "1:0.75,2:0.22,3:0.03",
31
+ "FEEDBACK_PREFIX_MIXIN": "true",
32
+ "FEEDBACK_PROGRESSIVE_STAGES": "[{\"start_fraction\":0.0,\"mixture\":{\"1\":1.0}},{\"start_fraction\":0.75,\"mixture\":{\"2\":0.88,\"3\":0.12}}]",
33
+ "FEEDBACK_SCALAR_LR": 0.0005,
34
+ "FEEDBACK_SCALAR_WEIGHT_DECAY": 0.0,
35
+ "FEEDBACK_Z_LOSS_COEFFICIENT": 0.0,
36
+ "FEEDBACK_Z_LOSS_START_FRACTION": 1.0,
37
+ "GLOBAL_BATCH_SIZE": 128,
38
+ "LOOKAHEAD_ALLOW_OBJECTIVE_CHANGE_ON_RESUME": false,
39
+ "LOOKAHEAD_ATTENTION_BACKEND": "sdpa_auto",
40
+ "LOOKAHEAD_CACHE_LAYERS": null,
41
+ "LOOKAHEAD_CHECKPOINT_REFINER": false,
42
+ "LOOKAHEAD_DRAFT_LOSS_WEIGHT": 0.0,
43
+ "LOOKAHEAD_FEEDBACK_LOSS_WEIGHT": 1.0,
44
+ "LOOKAHEAD_FULL_ATTENTION_INTERVAL": 6,
45
+ "LOOKAHEAD_FUTURE_GRADIENT_MODE": "all",
46
+ "LOOKAHEAD_FUTURE_LOSS_WEIGHT": 0.0,
47
+ "LOOKAHEAD_GRADIENT_CHECKPOINTING": false,
48
+ "LOOKAHEAD_MODE": "parallel",
49
+ "LOOKAHEAD_NUM_PASSES": 3,
50
+ "LOOKAHEAD_PSEUDO_INITIALIZER": "A0",
51
+ "LOOKAHEAD_PSEUDO_TEMPERATURE": 1.0,
52
+ "LOOKAHEAD_PSEUDO_TOP_K": 128,
53
+ "LOOKAHEAD_REFINED_FUTURE_LOSS_WEIGHT": 1.0,
54
+ "LOOKAHEAD_REFINER_FFN_SIZE": 5632,
55
+ "LOOKAHEAD_REFINER_GATE_BIAS": -2.0,
56
+ "LOOKAHEAD_REFINER_VARIANT": "R1",
57
+ "LOOKAHEAD_SLIDING_WINDOW": 2048,
58
+ "LOOKAHEAD_Z_LOSS_COEFFICIENT": 0.0,
59
+ "MICRO_BATCH_SIZE": 8,
60
+ "ONLINE_DATASET": "HuggingFaceFW/fineweb-edu",
61
+ "ONLINE_DATASET_REVISION": "87f09149ef4734204d70ed1d046ddc9ca3f2b8f9",
62
+ "ONLINE_DATASET_SUBSET": "sample-100BT",
63
+ "ONLINE_SOURCE_SPLIT": "train",
64
+ "ONLINE_SPLIT_SEED": "260421106",
65
+ "ONLINE_TOKENIZER_REVISION": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d",
66
+ "ONLINE_VALIDATION_FRACTION": "0.001",
67
+ "PP": "1",
68
+ "PRECISION": "bf16",
69
+ "RUN_NAME": "r3_D0-P0-A0-R1_7b_seed42_20260919-161651",
70
+ "SAVE_INTERVAL": 4000,
71
+ "SEED": 42,
72
+ "SEQ_LENGTH": "2048",
73
+ "TP": "1",
74
+ "TRAIN_ITERS": 26703,
75
+ "WANDB_RUN_GROUP": "r3_zero_intermediate_7b_20260919",
76
+ "WANDB_RUN_ID": "rsk51lmo",
77
+ "WANDB_TAGS": "product,lookahead,ablation,d0-a0-r1"
78
+ },
79
+ "execution_architecture": "lookahead",
80
+ "feedback_loss_weight": 1.0,
81
+ "ffn_hidden_size": 5632,
82
+ "final_validation": null,
83
+ "future_gradient_mode": "all",
84
+ "future_loss_weight": 0.0,
85
+ "head_dim": 128,
86
+ "hidden_size": 1408,
87
+ "initialization": {
88
+ "embedding_normal_std": 1.0,
89
+ "head_normal_std": 0.001,
90
+ "matrix_uniform_bound": "sqrt(3/fan_in)",
91
+ "norm_scale": 1.0
92
+ },
93
+ "is_final_checkpoint": false,
94
+ "loading_code_revision": "03f93c9993ad936db9d39bcacd2a268e899e09f1",
95
+ "loading_note": "Native Megatron tensor names and dtypes, weights only; no optimizer, RNG, scheduler or dataloader state. Not a Transformers AutoModel export.",
96
+ "logit_softcap": 15.0,
97
+ "lookahead_config": {
98
+ "allow_objective_change_on_resume": false,
99
+ "attention_backend": "sdpa_auto",
100
+ "cache_layer_indices": null,
101
+ "checkpoint_refiner": false,
102
+ "draft_loss_weight": 0.0,
103
+ "feedback_loss_weight": 1.0,
104
+ "future_gradient_mode": "all",
105
+ "future_loss_weight": 0.0,
106
+ "mode": "parallel",
107
+ "num_passes": 3,
108
+ "pseudo_initializer": "A0",
109
+ "pseudo_temperature": 1.0,
110
+ "pseudo_top_k": 128,
111
+ "refined_future_loss_weight": 1.0,
112
+ "refiner_gate_bias": -2.0,
113
+ "refiner_intermediate_size": 5632,
114
+ "refiner_variant": "R1"
115
+ },
116
+ "lookahead_mode": "parallel",
117
+ "metadata_source": "/root/dl/runtime/script/loopTF-workspace/output/research/R3_lookahead_improve/r3_D0-P0-A0-R1_7b_seed42_20260919-161651",
118
+ "model_config": {
119
+ "attention_dropout": 0.0,
120
+ "attn_implementation": "sdpa",
121
+ "backbone_profile": "paper2604_vanilla",
122
+ "gradient_checkpointing": false,
123
+ "hf_config_overrides": {},
124
+ "hidden_size": 1408,
125
+ "initializer_range": 0.02,
126
+ "intermediate_size": 5632,
127
+ "max_position_embeddings": 2048,
128
+ "model_type": "full_bandwidth",
129
+ "num_attention_heads": 11,
130
+ "num_hidden_layers": 20,
131
+ "num_key_value_heads": 11,
132
+ "padded_vocab_size": 32064,
133
+ "paper_full_attention_interval": 6,
134
+ "paper_sliding_window": 2048,
135
+ "pretrained_model_name_or_path": null,
136
+ "revision": null,
137
+ "rms_norm_eps": 1e-06,
138
+ "rope_theta": 10000,
139
+ "tie_word_embeddings": false,
140
+ "trust_remote_code": false,
141
+ "vocab_size": 32001
142
+ },
143
+ "model_level_norms": [
144
+ "embedding",
145
+ "recur",
146
+ "final"
147
+ ],
148
+ "non_tensor_state_dict_entries": {},
149
+ "norm_epsilon": 1e-06,
150
+ "num_attention_heads": 11,
151
+ "num_kv_heads": 11,
152
+ "num_layers": 20,
153
+ "objective": "lookahead_parallel_final_pair",
154
+ "padded_vocab_size": 32064,
155
+ "parameter_counts": {
156
+ "backbone_total_trainable": 566144128,
157
+ "feedback_parameters": 3964928,
158
+ "lookahead_parameters": 101114112,
159
+ "non_embedding_matrix_formula": 475791360,
160
+ "non_embedding_paper_N": 475851904,
161
+ "total_parameters": 667258240,
162
+ "total_trainable": 667258240
163
+ },
164
+ "pipeline_parallel_size": 1,
165
+ "planned_training_tokens": 7000031232,
166
+ "projection_dtype": "bfloat16 (production)",
167
+ "pseudo_backend": "sdpa_auto",
168
+ "pseudo_initializer": "A0",
169
+ "pseudo_temperature": 1.0,
170
+ "pseudo_top_k": 128,
171
+ "qk_norm": "functional_rmsnorm_after_rope",
172
+ "refined_future_loss_weight": 1.0,
173
+ "refiner_activation": "silu_gated",
174
+ "refiner_variant": "R1",
175
+ "residual_and_norm_scale_dtype": "float32",
176
+ "residual_multiplier": 1.0,
177
+ "rope_base": 10000.0,
178
+ "rope_convention": "split_half_negative_angle_bf16_cos_sin",
179
+ "sequence_length": 2048,
180
+ "source_commit": "122366472a31e57982a2877eeee10bb115477713",
181
+ "tensor_count": 195,
182
+ "tensor_dtypes": {
183
+ "torch.bfloat16": 146,
184
+ "torch.float32": 49
185
+ },
186
+ "tensor_parallel_size": 1,
187
+ "tied_embeddings": false,
188
+ "tokenizer": {
189
+ "active_vocab_size": 32001,
190
+ "additional_token": "<|assistant_end|>",
191
+ "repo_id": "NousResearch/Llama-2-7b-hf",
192
+ "revision": "8efe6c9b93655b934e27bd9981e3ec13e55aee9d"
193
+ },
194
+ "tokenizer_fidelity_note": "Released preprint/current code uses 32001 active tokens, padded to 32064; paper table reports 32008. Follow executable release; do not invent seven tokens.",
195
+ "total_parameters": 667258240,
196
+ "total_trainable_parameters": 667258240,
197
+ "train_passes": 3,
198
+ "training_code_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
199
+ "training_code_dirty": false,
200
+ "training_code_revision": "03f93c9993ad936db9d39bcacd2a268e899e09f1",
201
+ "training_run": "r3_D0-P0-A0-R1_7b_seed42_20260919-161651",
202
+ "training_tokens": 4194304000,
203
+ "vocab_size": 32001,
204
+ "width_scale": 22
205
+ }