File size: 585 Bytes
740c342
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from dataclasses import dataclass
from pathlib import Path


@dataclass
class LLMConfig:
    block_size: int = 96
    batch_size: int = 32
    d_model: int = 96
    n_heads: int = 4
    n_layers: int = 2
    dropout: float = 0.1
    learning_rate: float = 3e-3
    bootstrap_steps: int = 80
    eval_interval: int = 20
    cpu_threads: int = 4
    seed: int = 42

    @property
    def root_dir(self) -> Path:
        return Path(__file__).resolve().parents[1]

    @property
    def checkpoint_path(self) -> Path:
        return self.root_dir / "artifacts" / "tiny_llm_checkpoint.pt"