Views
No views yet
| Component | Detail |
|---|---|
| Parameters | 44M |
| Layers | 12 |
| Embedding dim | 512 |
| Attention heads | 8 (head_dim = 64) |
| MLP expansion | 4x (512 to 2048 to 512) |
| Context length | 1024 tokens |
| Positional encoding | Sinusoidal, fixed |
| Normalization | Pre-norm LayerNorm |
| Vocab size | 9,157, custom BPE |
1import torch
2from src.gpt import GPT, generate
3from data.bpe_tokenizer import encode, decode, load_tokenizer
4
5ckpt = torch.load("checkpoints/final.pt", map_location="cpu")
6gpt = GPT(**ckpt["config"])
7gpt.load_state_dict(ckpt["model_state_dict"])
8gpt.eval()
9
10merges, vocab = load_tokenizer()
11
12prompt_tokens = encode("The ", merges, vocab)
13text = generate(gpt, merges, vocab, prompt_tokens, context_len=1024, max_new_tokens=50)
14print(text)checkpoints/final.pt, model weights, optimizer state, and configbpe-tokenizer/merges.json, BPE merge rulesbpe-tokenizer/vocab.json, token to id mappingbpe-shards/*.bin, pre-tokenized training data in binary format