Views
No views yet
| Metric | Value |
|---|---|
| Steps completed | 5281 / 18965 |
| Tokens seen | ~2.9B / 10B |
| Final val bpb | ~1.21 |
| HellaSwag (0-shot) | ~38% (random = 25%) |
| Component | Implementation |
|---|---|
| Positional encoding | RoPE (base=50000) |
| Attention | GQA + QK Norm + FlashAttention |
| FFN | SwiGLU (8/3 x n_embd hidden dim) |
| Normalization | RMSNorm |
| Sequence mixing | Causal depthwise Conv1d (kernel=3) |
| Sparsity | MoE (8 experts, top-2) |
| Optimizer | Muon + AdamW |
model.py from the repository alongside the weights, then:1import torch
2from tokenizers import Tokenizer
3from model import LLM, LLMConfig
4
5device = "cuda" if torch.cuda.is_available() else "cpu"
6tokenizer = Tokenizer.from_pretrained("rudyon/linnet-497M")
7model = LLM(LLMConfig(depth=12, vocab_size=32768))
8state_dict = torch.load("pytorch_model.bin", map_location=device)
9model.load_state_dict(state_dict)
10model.eval()
11print(model.generate("Hello!", enc=tokenizer))