CharlieChen commited on
Commit
2ee8af9
·
verified ·
1 Parent(s): 6d105eb

Add original paper ladder checkpoint and evaluation metadata

Browse files
Files changed (4) hide show
  1. README.md +60 -0
  2. SHA256SUMS +1 -0
  3. final.pt +3 -0
  4. result.json +115 -0
README.md ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ tags:
5
+ - looped-transformer
6
+ - scaling-laws
7
+ - pytorch
8
+ - base-model
9
+ datasets:
10
+ - HuggingFaceFW/fineweb
11
+ pipeline_tag: text-generation
12
+ ---
13
+
14
+ # loop-grow-d6
15
+
16
+ Loop Grow, depth coordinate **d6**, from **How Model Growth, Recursion, and Boundary Operators Influence Scaling Exponents**.
17
+
18
+ This is the original final checkpoint used by the paper's FineWeb scaling ladder. It contains 119,734,272 stored parameters in FP32 (0.479 GB). This is a pretrained base language model, without instruction tuning. The checkpoint preserves the original training artifact and does not contain optimizer state for resuming training.
19
+
20
+ | Setting | Value |
21
+ | --- | --- |
22
+ | Training corpus | FineWeb |
23
+ | Tokenizer | GPT-2 (`tiktoken.get_encoding("gpt2")`) |
24
+ | Vocabulary | 50,257 tokens, padded to 50,304 model rows |
25
+ | Context length | 2,048 |
26
+ | Width | 768 |
27
+ | Attention heads | 6 |
28
+ | Model depth mode | `loop` |
29
+ | Configured core repetitions | 4 |
30
+ | Final evaluation repetitions | 4 |
31
+ | Pretraining validation NLL | 3.432481 nats/token |
32
+
33
+ The depth coordinate is the ladder's scaling coordinate; it need not equal the number of executed Transformer blocks. `result.json` provides the model configuration, parameter counts, training settings, and recorded validation metrics. Validation NLL is measured on the pretraining corpus and is distinct from CORE answer NLL.
34
+
35
+ ## Files
36
+
37
+ - `final.pt`: original PyTorch checkpoint, including learned weights and training arguments.
38
+ - `result.json`: portable training metadata for reconstructing the model.
39
+ - `SHA256SUMS`: checksum of the original checkpoint.
40
+
41
+ ## Evaluation
42
+
43
+ Use the paper's codebase at [cue-engineering/loop](https://github.com/cue-engineering/loop), install its dependencies, and download this repository's files:
44
+
45
+ ```python
46
+ from huggingface_hub import snapshot_download
47
+ snapshot_download(repo_id="CharlieChen/loop-grow-d6", local_dir="checkpoints/loop-grow-d6")
48
+ ```
49
+
50
+ From the codebase root, run a bounded GPU smoke evaluation:
51
+
52
+ ```bash
53
+ CUDA_VISIBLE_DEVICES=0 python eval.py \
54
+ --checkpoint checkpoints/loop-grow-d6/final.pt \
55
+ --result-json checkpoints/loop-grow-d6/result.json \
56
+ --max-per-task 10 --seeds 0 1 2 \
57
+ --out checkpoints/loop-grow-d6/core_smoke.json
58
+ ```
59
+
60
+ The paper uses H100 GPUs, FlashAttention-3, and bfloat16 autocast. The custom `TransformerGPT` model is reconstructed by the paper code; this artifact is not a Transformers `AutoModel` checkpoint. Full CORE evaluation uses all 22 tasks and seeds 0/1/2; omit `--max-per-task` to run it. Smoke scores are not full-suite paper results.
SHA256SUMS ADDED
@@ -0,0 +1 @@
 
 
1
+ d37053953aceb3039f1338d62ff4a8aee90b56e8338f685df6ff2f2f755e17fe final.pt
final.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d37053953aceb3039f1338d62ff4a8aee90b56e8338f685df6ff2f2f755e17fe
3
+ size 478950587
result.json ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "parameter_count": 119734272,
3
+ "parameter_summary": {
4
+ "total": 119734272,
5
+ "parts": {
6
+ "blocks": 42467328,
7
+ "lm_head": 38633472,
8
+ "other": 38633472
9
+ }
10
+ },
11
+ "n_layer": 6,
12
+ "n_head": 6,
13
+ "n_embd": 768,
14
+ "head_dim": 128,
15
+ "depth_scale_mode": "loop",
16
+ "core_repetitions": 4,
17
+ "core_layer_count": 2,
18
+ "resolved_core_layer_count": 2,
19
+ "prelude_layer_count": 2,
20
+ "resolved_prelude_layer_count": 2,
21
+ "coda_layer_count": 2,
22
+ "resolved_coda_layer_count": 2,
23
+ "effective_depth": 12,
24
+ "expected_effective_depth": 12.0,
25
+ "recurrence_rmsnorm": "recurrence_only",
26
+ "recurrence_emb_alpha": 0.707106781187,
27
+ "decoder_inject": true,
28
+ "core_residual_branch_scale": 1.0,
29
+ "resolved_core_residual_branch_scale": null,
30
+ "core_repetition_schedule": "late",
31
+ "core_repetition_crossover_fraction": 0.75,
32
+ "core_repetition_low": 2,
33
+ "core_repetition_breakpoints": null,
34
+ "lsched_lr_warmup_steps": 40,
35
+ "lsched_lr_change_steps": [
36
+ 1116
37
+ ],
38
+ "dep_grow_events": [],
39
+ "target_core_repetitions": 4,
40
+ "final_eval_active_core_repetitions": 4,
41
+ "observed_train_core_repetitions_mean": 2.5,
42
+ "observed_train_core_repetitions_min": 2,
43
+ "observed_train_core_repetitions_max": 4,
44
+ "observed_train_core_repetitions_histogram": {
45
+ "2": 1116,
46
+ "4": 372
47
+ },
48
+ "recurrence_truncation_schedule": "none",
49
+ "recurrence_bp_window": 0,
50
+ "matrix_lr": 0.05243913770893136,
51
+ "embedding_lr": 0.016780524066858035,
52
+ "unembedding_lr": 0.005932811179777681,
53
+ "lr_multiplier": 1.0,
54
+ "effective_matrix_lr": 0.05243913770893136,
55
+ "effective_embedding_lr": 0.016780524066858035,
56
+ "effective_unembedding_lr": 0.005932811179777681,
57
+ "weight_decay": 0.05,
58
+ "matrix_weight_decay": 0.05,
59
+ "embedding_weight_decay": 0.05,
60
+ "unembedding_weight_decay": 0.05,
61
+ "embedding_wd_skip_norm": 0.0,
62
+ "adam_betas": [
63
+ 0.8,
64
+ 0.95
65
+ ],
66
+ "adam_eps": 1e-10,
67
+ "lr_schedule": "wsd",
68
+ "warmup_steps": 40,
69
+ "warmdown_ratio": 1.0,
70
+ "output_multiplier": 1.0,
71
+ "residual_branch_multiplier": 0.25,
72
+ "wte_init_std": 0.02,
73
+ "uniform_init_scale": 0.0441941738242,
74
+ "total_batch_size": 524288,
75
+ "device_batch_size": 32,
76
+ "num_epochs": 1,
77
+ "estimated_num_iterations": 1502,
78
+ "lr_schedule_steps": 1488,
79
+ "resolved_lr_schedule_steps": 1488,
80
+ "max_train_steps": 1488,
81
+ "resolved_max_train_steps": 1488,
82
+ "completed_epochs": 0,
83
+ "seed": 42,
84
+ "train_token_limit": 787941949,
85
+ "val_token_limit": 10000000,
86
+ "token_limit_cutoff_devices": 8,
87
+ "active_train_tokens": 787941949,
88
+ "packed_train_sequences_per_epoch": 384512,
89
+ "packed_train_tokens_per_epoch": 787480576,
90
+ "active_val_packed_sequences": 4864,
91
+ "active_val_packed_tokens": 9961472,
92
+ "val_loss": 3.4324810630396794,
93
+ "final_val_loss": 3.4324810630396794,
94
+ "final_train_loss": 3.476356324366795,
95
+ "best_val_loss": 3.4324810630396794,
96
+ "best_val_bpb": 1.115593921070624,
97
+ "best_val_epoch": 1.0,
98
+ "train_val_per_epoch": [
99
+ {
100
+ "epoch": 1,
101
+ "step": 1488,
102
+ "train_loss": 3.476356324366795,
103
+ "val_loss": 3.4324810630396794,
104
+ "val_bpb": 1.115593921070624
105
+ }
106
+ ],
107
+ "core_block_residual_rms": 0.9802194237709045,
108
+ "last_train_mfu": 37.580533020553325,
109
+ "last_train_tok_per_sec": 3478806,
110
+ "last_train_step_time_seconds": 0.1507091522216797,
111
+ "total_training_time_seconds": 205.05416297912598,
112
+ "total_wall_time_seconds": 248.00669384002686,
113
+ "sequence_len": 2048,
114
+ "window_pattern": "L"
115
+ }