Views
No views yet
| Architecture | Decoder-only Transformer with RoPE positional embeddings |
| Parameters | ~1.02B |
| Hidden size | 2048 |
| Layers | 16 |
| Attention heads | 16 |
| Vocabulary size | 50304 |
| Max context length | 2048 tokens |
| Positional encoding | Rotary (RoPE), θ = 10000 |
| Normalization | RMSNorm |
| Weight tying | Input embeddings and output (LM head) are tied |
| Training data | FineWeb |
| Checkpoint step | 14086 |
tiktoken's "gpt2" encoding). Use GPT2TokenizerFast / AutoTokenizer from this repo, or tiktoken.get_encoding("gpt2") directly.trust_remote_code=True is required.1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4model_id = "MedcellStudios/OLM3Nano"
5
6tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
7model = AutoModelForCausalLM.from_pretrained(
8 model_id,
9 trust_remote_code=True,
10 dtype=torch.float32,
11).to("cuda")
12model.eval()
13
14prompt = "Hello! How are you?"
15input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to("cuda")
16
17with torch.no_grad():
18 output = model.generate(
19 input_ids,
20 max_new_tokens=80,
21 do_sample=True,
22 temperature=0.8,
23 top_k=40,
24 repetition_penalty=1.2,
25 no_repeat_ngram_size=3,
26 eos_token_id=tokenizer.eos_token_id,
27 pad_token_id=tokenizer.eos_token_id,
28 )
29
30print(tokenizer.decode(output[0, input_ids.shape[1]:], skip_special_tokens=True))