Add original paper ladder checkpoint and evaluation metadata
Browse files- README.md +60 -0
- SHA256SUMS +1 -0
- final.pt +3 -0
- 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 |
+
}
|