GPUburnout commited on
Commit
658bd39
·
verified ·
1 Parent(s): de82060

Upload GPUburnout-1B-160K base model (step 160K, Chinchilla-optimal, loss 2.446)

Browse files
README.md ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language:
4
+ - en
5
+ tags:
6
+ - llama
7
+ - pretrained
8
+ - from-scratch
9
+ - gpuburnout
10
+ - chinchilla-optimal
11
+ pipeline_tag: text-generation
12
+ ---
13
+
14
+ # GPUburnout-1B-160K
15
+
16
+ A 1.04 billion parameter Llama-style language model trained from scratch to Chinchilla-optimal on 20.97B tokens.
17
+
18
+ This is the **160K step (Chinchilla-optimal)** checkpoint. For the earlier 90K step checkpoint, see [GPUburnout-1B](https://huggingface.co/GPUburnout/GPUburnout-1B).
19
+
20
+ ## Model Details
21
+
22
+ - **Architecture:** Llama-style decoder-only transformer
23
+ - **Parameters:** 1.04B
24
+ - **Hidden dim:** 2048
25
+ - **Layers:** 16
26
+ - **Attention:** GQA (32 query heads, 8 KV heads)
27
+ - **FFN:** SwiGLU (intermediate 8192)
28
+ - **Position encoding:** RoPE (theta=500000)
29
+ - **Context length:** 2048 tokens
30
+ - **Vocabulary:** 32,005 tokens (BPE + 5 special tokens)
31
+ - **Weight tying:** Yes (embedding + LM head)
32
+
33
+ ## Training
34
+
35
+ - **Data:** 20.97B tokens (FineWeb-Edu 85%, Python-Edu 4.2%, FineMath 10.8%)
36
+ - **Hardware:** A100 SXM 80GB on RunPod
37
+ - **Steps:** 160,000 (Chinchilla-optimal: 20x params in tokens)
38
+ - **Final loss:** 2.446
39
+ - **Throughput:** ~30,500 tokens/sec
40
+
41
+ ### Training Phases
42
+
43
+ | Phase | Steps | Loss | Cost |
44
+ |---|---|---|---|
45
+ | Phase 1 (smoke test) | 200 | ~6-7 | ~$0.50 |
46
+ | Phase 2 (proof of life) | 10K | 2.93 | ~$22 |
47
+ | Phase 3 | 60K | 2.57 | ~$94 |
48
+ | Phase 4 | 90K | 2.494 | ~$61 |
49
+ | Phase 5 (spot) | 120K | 2.530 | ~$34 |
50
+ | Phase 6 (spot, Chinchilla) | 160K | 2.446 | — |
51
+
52
+ ## Tokenizer
53
+
54
+ Includes ChatML special tokens for SFT:
55
+ - `<|im_start|>` (32000), `<|im_end|>` (32001)
56
+ - `<|system|>` (32002), `<|user|>` (32003), `<|assistant|>` (32004)
57
+
58
+ ## Usage
59
+
60
+ ```python
61
+ from transformers import AutoModelForCausalLM, AutoTokenizer
62
+
63
+ model = AutoModelForCausalLM.from_pretrained("GPUburnout/GPUburnout-1B-160K", torch_dtype="float16")
64
+ tokenizer = AutoTokenizer.from_pretrained("GPUburnout/GPUburnout-1B-160K")
65
+
66
+ inputs = tokenizer("The capital of France is", return_tensors="pt")
67
+ outputs = model.generate(**inputs, max_new_tokens=50)
68
+ print(tokenizer.decode(outputs[0], skip_special_tokens=True))
69
+ ```
70
+
71
+ ## Blog
72
+
73
+ Full training journey documented at [gpuburnout.com](https://gpuburnout.com)
74
+
75
+ ## Author
76
+
77
+ Jun Park ([@GPUburnout](https://github.com/GPUburnout))
chat_template.jinja ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {% for message in messages %}<|im_start|>{{ message['role'] }}
2
+ {{ message['content'] }}<|im_end|>
3
+ {% endfor %}{% if add_generation_prompt %}<|im_start|>assistant
4
+ {% endif %}
config.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "LlamaForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 1,
8
+ "dtype": "float16",
9
+ "eos_token_id": 2,
10
+ "head_dim": 64,
11
+ "hidden_act": "silu",
12
+ "hidden_size": 2048,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 8192,
15
+ "max_position_embeddings": 2048,
16
+ "mlp_bias": false,
17
+ "model_type": "llama",
18
+ "num_attention_heads": 32,
19
+ "num_hidden_layers": 16,
20
+ "num_key_value_heads": 8,
21
+ "pad_token_id": null,
22
+ "pretraining_tp": 1,
23
+ "rms_norm_eps": 1e-06,
24
+ "rope_parameters": {
25
+ "rope_theta": 500000.0,
26
+ "rope_type": "default"
27
+ },
28
+ "tie_word_embeddings": true,
29
+ "transformers_version": "5.3.0",
30
+ "use_cache": true,
31
+ "vocab_size": 32005
32
+ }
generation_config.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_sample": true,
3
+ "eos_token_id": 32001,
4
+ "max_new_tokens": 256,
5
+ "pad_token_id": 1,
6
+ "repetition_penalty": 1.1,
7
+ "temperature": 0.7,
8
+ "top_k": 50,
9
+ "top_p": 0.9,
10
+ "transformers_version": "5.3.0"
11
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:618d4af97f388446818ef2158d0355c4fe62583dcc863673f114cbd7d2e9533f
3
+ size 2077401304
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "bos_token": "<|im_start|>",
4
+ "eos_token": "<|im_end|>",
5
+ "extra_special_tokens": [
6
+ "<|endoftext|>",
7
+ "<|system|>",
8
+ "<|user|>",
9
+ "<|assistant|>"
10
+ ],
11
+ "model_max_length": 1000000000000000019884624838656,
12
+ "pad_token": "<|pad|>",
13
+ "tokenizer_class": "TokenizersBackend",
14
+ "unk_token": "<|unk|>"
15
+ }