CharlieChen commited on
Commit
dda342d
·
verified ·
1 Parent(s): fb9dabb

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 +110 -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-2-d10
15
+
16
+ Loop 2, depth coordinate **d10**, 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 331,939,840 stored parameters in FP32 (1.328 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 | 1280 |
27
+ | Attention heads | 10 |
28
+ | Model depth mode | `loop` |
29
+ | Configured core repetitions | 2 |
30
+ | Final evaluation repetitions | 2 |
31
+ | Pretraining validation NLL | 3.066159 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-2-d10", local_dir="checkpoints/loop-2-d10")
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-2-d10/final.pt \
55
+ --result-json checkpoints/loop-2-d10/result.json \
56
+ --max-per-task 10 --seeds 0 1 2 \
57
+ --out checkpoints/loop-2-d10/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
+ 109cbe793c74e24490f7e52a2b9fecb30928a63cfaf87804a82c967f107ad20d final.pt
final.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:109cbe793c74e24490f7e52a2b9fecb30928a63cfaf87804a82c967f107ad20d
3
+ size 1327779695
result.json ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "parameter_count": 331939840,
3
+ "parameter_summary": {
4
+ "total": 331939840,
5
+ "parts": {
6
+ "blocks": 203161600,
7
+ "lm_head": 64389120,
8
+ "other": 64389120
9
+ }
10
+ },
11
+ "n_layer": 10,
12
+ "n_head": 10,
13
+ "n_embd": 1280,
14
+ "head_dim": 128,
15
+ "depth_scale_mode": "loop",
16
+ "core_repetitions": 2,
17
+ "core_layer_count": 4,
18
+ "resolved_core_layer_count": 4,
19
+ "prelude_layer_count": 3,
20
+ "resolved_prelude_layer_count": 3,
21
+ "coda_layer_count": 3,
22
+ "resolved_coda_layer_count": 3,
23
+ "effective_depth": 14,
24
+ "expected_effective_depth": 14.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": "none",
31
+ "core_repetition_crossover_fraction": null,
32
+ "core_repetition_low": 1,
33
+ "core_repetition_breakpoints": null,
34
+ "lsched_lr_warmup_steps": 0,
35
+ "lsched_lr_change_steps": [],
36
+ "dep_grow_events": [],
37
+ "target_core_repetitions": 2,
38
+ "final_eval_active_core_repetitions": 2,
39
+ "observed_train_core_repetitions_mean": null,
40
+ "observed_train_core_repetitions_min": null,
41
+ "observed_train_core_repetitions_max": null,
42
+ "observed_train_core_repetitions_histogram": null,
43
+ "recurrence_truncation_schedule": "none",
44
+ "recurrence_bp_window": 0,
45
+ "matrix_lr": 0.03002410777473192,
46
+ "embedding_lr": 0.009607714487914214,
47
+ "unembedding_lr": 0.003396840033058765,
48
+ "lr_multiplier": 1.0,
49
+ "effective_matrix_lr": 0.03002410777473192,
50
+ "effective_embedding_lr": 0.009607714487914214,
51
+ "effective_unembedding_lr": 0.003396840033058765,
52
+ "weight_decay": 0.05,
53
+ "matrix_weight_decay": 0.05,
54
+ "embedding_weight_decay": 0.05,
55
+ "unembedding_weight_decay": 0.05,
56
+ "embedding_wd_skip_norm": 0.0,
57
+ "adam_betas": [
58
+ 0.8,
59
+ 0.95
60
+ ],
61
+ "adam_eps": 1e-10,
62
+ "lr_schedule": "wsd",
63
+ "warmup_steps": 40,
64
+ "warmdown_ratio": 1.0,
65
+ "output_multiplier": 1.0,
66
+ "residual_branch_multiplier": 0.25,
67
+ "wte_init_std": 0.02,
68
+ "uniform_init_scale": 0.0441941738242,
69
+ "total_batch_size": 524288,
70
+ "device_batch_size": 32,
71
+ "num_epochs": 1,
72
+ "estimated_num_iterations": 3835,
73
+ "lr_schedule_steps": 3799,
74
+ "resolved_lr_schedule_steps": 3799,
75
+ "max_train_steps": 3799,
76
+ "resolved_max_train_steps": 3799,
77
+ "completed_epochs": 0,
78
+ "seed": 42,
79
+ "train_token_limit": 2011687813,
80
+ "val_token_limit": 10000000,
81
+ "token_limit_cutoff_devices": 8,
82
+ "active_train_tokens": 2011687813,
83
+ "packed_train_sequences_per_epoch": 981760,
84
+ "packed_train_tokens_per_epoch": 2010644480,
85
+ "active_val_packed_sequences": 4864,
86
+ "active_val_packed_tokens": 9961472,
87
+ "val_loss": 3.066159298545436,
88
+ "final_val_loss": 3.066159298545436,
89
+ "final_train_loss": 3.0773589121392595,
90
+ "best_val_loss": 3.066159298545436,
91
+ "best_val_bpb": 0.9965345135869775,
92
+ "best_val_epoch": 1.0,
93
+ "train_val_per_epoch": [
94
+ {
95
+ "epoch": 1,
96
+ "step": 3799,
97
+ "train_loss": 3.0773589121392595,
98
+ "val_loss": 3.066159298545436,
99
+ "val_bpb": 0.9965345135869775
100
+ }
101
+ ],
102
+ "core_block_residual_rms": 1.038166880607605,
103
+ "last_train_mfu": 44.83289602365357,
104
+ "last_train_tok_per_sec": 1533450,
105
+ "last_train_step_time_seconds": 0.3419008255004883,
106
+ "total_training_time_seconds": 1306.2477164268494,
107
+ "total_wall_time_seconds": 1356.5711660385132,
108
+ "sequence_len": 2048,
109
+ "window_pattern": "L"
110
+ }