lillian039 commited on
Commit
fce6710
·
verified ·
1 Parent(s): f3bca42

Upload lact 350M r64 (10K steps, FineWeb-Edu)

Browse files
README.md ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ tags:
4
+ - low-rank-fast-weights
5
+ - linear-attention
6
+ - lact
7
+ - r64
8
+ - 350M
9
+ datasets:
10
+ - HuggingFaceFW/fineweb-edu
11
+ ---
12
+
13
+ # LaCT (Large-Chunk Test-Time Training, SwiGLU MLP fast weights) 350M (rank 64) — Low-rank Fast-Weight Ablation
14
+
15
+ Pretrained 350M-parameter LaCT (Large-Chunk Test-Time Training, SwiGLU MLP fast weights) with low-rank parameterization
16
+ (`r64`) on FineWeb-Edu. Part of a multi-cell ablation across
17
+ 4 archs × {`r32`, `r64`, `r256`, `rfull`} (plus GDN extras `r512`)
18
+ studying whether constraining the q/k/v fast-weight projections (or LaCT's
19
+ SwiGLU MLP) to low rank can match or exceed full-rank performance at the
20
+ 350M scale.
21
+
22
+ ## Training
23
+
24
+ | | |
25
+ |---|---|
26
+ | Architecture | LaCT (Large-Chunk Test-Time Training, SwiGLU MLP fast weights) |
27
+ | Rank | `r64` |
28
+ | Params | ~350M (hidden=1024, layers=24, heads=16) |
29
+ | Dataset | `HuggingFaceFW/fineweb-edu` (streaming) |
30
+ | Steps | 10000 |
31
+ | Effective batch | 256 |
32
+ | Sequence length | 8000 |
33
+ | Optimizer | AdamW (lr=3e-4, eps=1e-15) |
34
+ | LR schedule | Cosine, 512-step warmup, decay to 10% |
35
+ | Precision | bf16 |
36
+ | Activation checkpointing | selective (option 1) |
37
+ | Tokens | ~20.5 B |
38
+
39
+ ## Eval results
40
+
41
+ - **FineWeb-Edu val PPL**: `13.42`
42
+ - **LAMBADA acc**: 0.297
43
+ - **HellaSwag acc_norm**: 0.367
44
+ - **ARC-Easy acc_norm**: 0.470
45
+ - **ARC-Challenge acc_norm**: 0.254
46
+ - **PIQA acc_norm**: 0.648
47
+ - **WinoGrande acc**: 0.520
48
+
49
+
50
+ ## Notes on the 350M sweep
51
+
52
+ - **Downstream eval discrimination comes online at 350M.** At 100M, HellaSwag /
53
+ LAMBADA were near-chance for most cells; at 350M they discriminate clearly
54
+ between archs/ranks.
55
+ - **PPL doesn't linearly predict downstream.** At matched ~374M, GLA `rfull`
56
+ has worse FineWeb-Edu PPL than DeltaNet `rfull` (14.42 vs 12.55) but wins on
57
+ *every* lm-harness task (LAMBADA, HellaSwag, PIQA, ARC-E).
58
+ - **GatedDeltaNet dominates at the cost of size.** GDN `rfull` is ~526M
59
+ (head_dim=256 inflates q/k/v) and wins every metric; GDN `r256` (~432M) is
60
+ the matched-param comparison and still leads.
61
+ - **LaCT is rank-robust at 350M.** PPL/LAMBADA stay flat across r64 / r256 /
62
+ rfull — the cleanest evidence for the "low rank as regularization"
63
+ hypothesis.
64
+
65
+ Run name: `lact_350M_r64_bs256_lr3e-4_steps10000`
config.json ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "LaCTForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attn_qk_norm": false,
7
+ "bos_token_id": 1,
8
+ "dtype": "float32",
9
+ "elementwise_affine": true,
10
+ "eos_token_id": 2,
11
+ "fp32_states": false,
12
+ "fuse_cross_entropy": true,
13
+ "fuse_norm": true,
14
+ "fuse_swiglu": true,
15
+ "fw_init_gain": 0.5,
16
+ "hidden_act": "swish",
17
+ "hidden_ratio": 4,
18
+ "hidden_size": 1024,
19
+ "initializer_range": 0.02,
20
+ "inter_multi": 1,
21
+ "intermediate_size": null,
22
+ "lact_chunk_size": 2048,
23
+ "last_layer_fuse_norm": true,
24
+ "learnable_ttt_scale": true,
25
+ "lr_dim": 1,
26
+ "lr_parameterization": "mamba",
27
+ "max_position_embeddings": 8192,
28
+ "model_type": "lact_swiglu",
29
+ "no_v_silu": false,
30
+ "norm_eps": 1e-06,
31
+ "num_attn_heads": 16,
32
+ "num_heads": 8,
33
+ "num_hidden_layers": 24,
34
+ "num_lact_heads": 2,
35
+ "qkv_bias": false,
36
+ "qkv_silu": true,
37
+ "rope_theta": 1000000,
38
+ "tie_word_embeddings": false,
39
+ "transformers_version": "4.57.6",
40
+ "ttt_loss_type": "dot_product",
41
+ "ttt_nope": false,
42
+ "ttt_prenorm": true,
43
+ "use_cache": true,
44
+ "use_fused_kernel": false,
45
+ "use_momentum": true,
46
+ "use_muon": false,
47
+ "vocab_size": 32000,
48
+ "w0_w2_low_rank": 64,
49
+ "window_size": 2048
50
+ }
generation_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 1,
4
+ "eos_token_id": 2,
5
+ "transformers_version": "4.57.6"
6
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:99bd8b5a98428dcd1b0280ba2ba48985e042c8288cca24098a69d01245ece993
3
+ size 1572448336
special_tokens_map.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "</s>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "unk_token": {
17
+ "content": "<unk>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ }
23
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dadfd56d766715c61d2ef780a525ab43b8e6da4de6865bda3d95fdef5e134055
3
+ size 493443
tokenizer_config.json ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": true,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": null,
5
+ "added_tokens_decoder": {
6
+ "0": {
7
+ "content": "<unk>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "1": {
15
+ "content": "<s>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "2": {
23
+ "content": "</s>",
24
+ "lstrip": false,
25
+ "normalized": false,
26
+ "rstrip": false,
27
+ "single_word": false,
28
+ "special": true
29
+ }
30
+ },
31
+ "additional_special_tokens": [],
32
+ "bos_token": "<s>",
33
+ "clean_up_tokenization_spaces": false,
34
+ "eos_token": "</s>",
35
+ "extra_special_tokens": {},
36
+ "legacy": true,
37
+ "model_max_length": 1000000000000000019884624838656,
38
+ "pad_token": null,
39
+ "sp_model_kwargs": {},
40
+ "spaces_between_special_tokens": false,
41
+ "tokenizer_class": "LlamaTokenizer",
42
+ "unk_token": "<unk>",
43
+ "use_default_system_prompt": false
44
+ }