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-deep-vanilla-d6
|
| 15 |
+
|
| 16 |
+
Deep Vanilla, 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 133,890,048 stored parameters in FP32 (0.536 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 | `none` |
|
| 29 |
+
| Configured core repetitions | 1 |
|
| 30 |
+
| Final evaluation repetitions | 1 |
|
| 31 |
+
| Pretraining validation NLL | 3.449959 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-deep-vanilla-d6", local_dir="checkpoints/loop-deep-vanilla-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-deep-vanilla-d6/final.pt \
|
| 55 |
+
--result-json checkpoints/loop-deep-vanilla-d6/result.json \
|
| 56 |
+
--max-per-task 10 --seeds 0 1 2 \
|
| 57 |
+
--out checkpoints/loop-deep-vanilla-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 |
+
a1fcaff2e611992fcf9d0ee7d70d91c75229560b7b7d544ef2c575a92a3e5ab3 final.pt
|
final.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a1fcaff2e611992fcf9d0ee7d70d91c75229560b7b7d544ef2c575a92a3e5ab3
|
| 3 |
+
size 535577141
|
result.json
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"parameter_count": 133890048,
|
| 3 |
+
"parameter_summary": {
|
| 4 |
+
"total": 133890048,
|
| 5 |
+
"parts": {
|
| 6 |
+
"blocks": 56623104,
|
| 7 |
+
"lm_head": 38633472,
|
| 8 |
+
"other": 38633472
|
| 9 |
+
}
|
| 10 |
+
},
|
| 11 |
+
"n_layer": 8,
|
| 12 |
+
"n_head": 6,
|
| 13 |
+
"n_embd": 768,
|
| 14 |
+
"head_dim": 128,
|
| 15 |
+
"depth_scale_mode": "none",
|
| 16 |
+
"core_repetitions": 1,
|
| 17 |
+
"core_layer_count": null,
|
| 18 |
+
"resolved_core_layer_count": null,
|
| 19 |
+
"prelude_layer_count": null,
|
| 20 |
+
"resolved_prelude_layer_count": null,
|
| 21 |
+
"coda_layer_count": null,
|
| 22 |
+
"resolved_coda_layer_count": null,
|
| 23 |
+
"effective_depth": 8,
|
| 24 |
+
"expected_effective_depth": 8.0,
|
| 25 |
+
"recurrence_rmsnorm": "none",
|
| 26 |
+
"recurrence_emb_alpha": 0.0,
|
| 27 |
+
"decoder_inject": false,
|
| 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": 1,
|
| 38 |
+
"final_eval_active_core_repetitions": null,
|
| 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.06094039533416783,
|
| 46 |
+
"embedding_lr": 0.009750463253466853,
|
| 47 |
+
"unembedding_lr": 0.0034473093431168786,
|
| 48 |
+
"lr_multiplier": 1.0,
|
| 49 |
+
"effective_matrix_lr": 0.06094039533416783,
|
| 50 |
+
"effective_embedding_lr": 0.009750463253466853,
|
| 51 |
+
"effective_unembedding_lr": 0.0034473093431168786,
|
| 52 |
+
"weight_decay": 0.1,
|
| 53 |
+
"matrix_weight_decay": 0.1,
|
| 54 |
+
"embedding_weight_decay": 0.1,
|
| 55 |
+
"unembedding_weight_decay": 0.1,
|
| 56 |
+
"embedding_wd_skip_norm": 0.0,
|
| 57 |
+
"adam_betas": [
|
| 58 |
+
0.8,
|
| 59 |
+
0.99
|
| 60 |
+
],
|
| 61 |
+
"adam_eps": 1e-08,
|
| 62 |
+
"lr_schedule": "wsd",
|
| 63 |
+
"warmup_steps": 5,
|
| 64 |
+
"warmdown_ratio": 0.8,
|
| 65 |
+
"output_multiplier": 1.0,
|
| 66 |
+
"residual_branch_multiplier": 0.5,
|
| 67 |
+
"wte_init_std": 0.005,
|
| 68 |
+
"uniform_init_scale": 0.5,
|
| 69 |
+
"total_batch_size": 524288,
|
| 70 |
+
"device_batch_size": 32,
|
| 71 |
+
"num_epochs": 1,
|
| 72 |
+
"estimated_num_iterations": 1546,
|
| 73 |
+
"lr_schedule_steps": 1532,
|
| 74 |
+
"resolved_lr_schedule_steps": 1532,
|
| 75 |
+
"max_train_steps": 1532,
|
| 76 |
+
"resolved_max_train_steps": 1532,
|
| 77 |
+
"completed_epochs": 0,
|
| 78 |
+
"seed": 42,
|
| 79 |
+
"train_token_limit": 811241308,
|
| 80 |
+
"val_token_limit": 10000000,
|
| 81 |
+
"token_limit_cutoff_devices": 8,
|
| 82 |
+
"active_train_tokens": 811241308,
|
| 83 |
+
"packed_train_sequences_per_epoch": 395776,
|
| 84 |
+
"packed_train_tokens_per_epoch": 810549248,
|
| 85 |
+
"active_val_packed_sequences": 4864,
|
| 86 |
+
"active_val_packed_tokens": 9961472,
|
| 87 |
+
"val_loss": 3.4499592028166117,
|
| 88 |
+
"final_val_loss": 3.4499592028166117,
|
| 89 |
+
"final_train_loss": 3.457156043686349,
|
| 90 |
+
"best_val_loss": 3.4499592028166117,
|
| 91 |
+
"best_val_bpb": 1.1212617648038885,
|
| 92 |
+
"best_val_epoch": 1.0,
|
| 93 |
+
"train_val_per_epoch": [
|
| 94 |
+
{
|
| 95 |
+
"epoch": 1,
|
| 96 |
+
"step": 1532,
|
| 97 |
+
"train_loss": 3.457156043686349,
|
| 98 |
+
"val_loss": 3.4499592028166117,
|
| 99 |
+
"val_bpb": 1.1212617648038885
|
| 100 |
+
}
|
| 101 |
+
],
|
| 102 |
+
"core_block_residual_rms": null,
|
| 103 |
+
"last_train_mfu": 37.2371384540415,
|
| 104 |
+
"last_train_tok_per_sec": 4553116,
|
| 105 |
+
"last_train_step_time_seconds": 0.11514925956726074,
|
| 106 |
+
"total_training_time_seconds": 176.4720356464386,
|
| 107 |
+
"total_wall_time_seconds": 214.74119806289673,
|
| 108 |
+
"sequence_len": 2048,
|
| 109 |
+
"window_pattern": "L"
|
| 110 |
+
}
|