JulianKrgd commited on
Commit
8e6b62a
·
verified ·
1 Parent(s): 69a7a5b

Upload folder using huggingface_hub

Browse files
Files changed (5) hide show
  1. README.md +110 -0
  2. config.json +21 -0
  3. model.safetensors +3 -0
  4. tokenizer.model +3 -0
  5. tokenizer_config.json +8 -0
README.md ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language:
4
+ - en
5
+ - fr
6
+ tags:
7
+ - text-generation
8
+ - causal-lm
9
+ - transformer
10
+ - jax
11
+ - flax
12
+ pipeline_tag: text-generation
13
+ datasets:
14
+ - wikipedia
15
+ - oscar-corpus/OSCAR-2301
16
+ - bigcode/the-stack-dedup
17
+ library_name: transformers
18
+ ---
19
+
20
+ # Julian 500M (10B Tokens)
21
+
22
+ Decoder-only transformer trained from scratch on 10 billion tokens of English and French text.
23
+
24
+ This model is part of the **Julian model family**, a personal research project exploring LLM training from scratch. The goal is educational: understanding every step of the process, from data preparation to distributed training on TPUs.
25
+
26
+ ## Architecture
27
+
28
+ - **Parameters**: 508M
29
+ - **Hidden size**: 1280
30
+ - **Layers**: 18
31
+ - **Attention heads**: 20 (head dim 64)
32
+ - **FFN**: 5120 (SwiGLU, 3 projections)
33
+ - **Context**: 2048 tokens
34
+ - **Vocab**: 50,000 (SentencePiece)
35
+
36
+ The model uses RoPE positional embeddings, RMSNorm, and has no bias terms in linear layers.
37
+
38
+ ## Training
39
+
40
+ Trained on TPU v5litepod-32 for approximately 8 hours.
41
+
42
+ **Data mix**:
43
+ - Wikipedia (EN/FR): 50%
44
+ - OSCAR web corpus: 30%
45
+ - The Stack (code): 15%
46
+ - Gutenberg books: 5%
47
+
48
+ Language ratio is roughly 70% English, 30% French.
49
+
50
+ **Hyperparameters**:
51
+ - Batch size: 131k tokens
52
+ - Learning rate: 6e-4 with cosine decay
53
+ - Warmup: 3000 steps
54
+ - AdamW (β2=0.95), weight decay 0.1
55
+
56
+ Final validation perplexity: **12.1**
57
+
58
+ ## Usage
59
+
60
+ ```python
61
+ from transformers import AutoModelForCausalLM, AutoTokenizer
62
+
63
+ model = AutoModelForCausalLM.from_pretrained("juliankerignard/julian-500m-10b")
64
+ tokenizer = AutoTokenizer.from_pretrained("juliankerignard/julian-500m-10b")
65
+
66
+ inputs = tokenizer("La France est", return_tensors="pt")
67
+ outputs = model.generate(**inputs, max_new_tokens=50, do_sample=True, temperature=0.8)
68
+ print(tokenizer.decode(outputs[0], skip_special_tokens=True))
69
+ ```
70
+
71
+ ## Limitations
72
+
73
+ This is a base model trained on a modest amount of data. It will:
74
+ - Generate repetitive or incoherent text on longer sequences
75
+ - Hallucinate facts
76
+ - Not follow instructions (no fine-tuning)
77
+
78
+ Not recommended for production use. Intended for research and experimentation.
79
+
80
+ ## Julian Model Family
81
+
82
+ | Model | Parameters | Training Tokens | Status |
83
+ |-------|------------|-----------------|--------|
84
+ | julian-500m-10b | 508M | 10B | Released |
85
+ | julian-500m-39b | 508M | 39B | Training |
86
+
87
+ Future models (1B+) are planned as the project evolves.
88
+
89
+ ## Acknowledgments
90
+
91
+ This project would not have been possible without the **Google TPU Research Cloud (TRC) program**, which provides free access to Cloud TPU resources for open research.
92
+
93
+ A sincere thank you to the TRC team for supporting independent researchers and making this kind of work accessible. If you're working on ML research, I highly encourage applying to the program.
94
+
95
+ More info: [TPU Research Cloud](https://sites.research.google/trc/about/)
96
+
97
+ ## License
98
+
99
+ Apache 2.0
100
+
101
+ ## Citation
102
+
103
+ ```bibtex
104
+ @misc{julian2026,
105
+ author = {Kerignard, Julian},
106
+ title = {Julian 500M},
107
+ year = {2026},
108
+ url = {https://huggingface.co/juliankerignard/julian-500m-10b}
109
+ }
110
+ ```
config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": ["JulianForCausalLM"],
3
+ "model_type": "julian",
4
+ "vocab_size": 50000,
5
+ "hidden_size": 1280,
6
+ "intermediate_size": 5120,
7
+ "num_hidden_layers": 18,
8
+ "num_attention_heads": 20,
9
+ "num_key_value_heads": 20,
10
+ "hidden_act": "swiglu",
11
+ "max_position_embeddings": 2048,
12
+ "rms_norm_eps": 1e-5,
13
+ "rope_theta": 10000.0,
14
+ "tie_word_embeddings": true,
15
+ "use_cache": true,
16
+ "bos_token_id": 1,
17
+ "eos_token_id": 2,
18
+ "pad_token_id": 0,
19
+ "torch_dtype": "bfloat16",
20
+ "transformers_version": "4.40.0"
21
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:28547c8f2e66ed86fb6dbc58cfbcd37393771e1218f3d6473e21d0dc576aabb0
3
+ size 1199831920
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2e6ce770d5698bf300081156406831abea73ec8ae5aa85c16234a27bdce7f94b
3
+ size 974175
tokenizer_config.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "LlamaTokenizer",
3
+ "model_max_length": 2048,
4
+ "bos_token": "<s>",
5
+ "eos_token": "</s>",
6
+ "unk_token": "<unk>",
7
+ "pad_token": "<pad>"
8
+ }