| --- |
| license: mit |
| library_name: pytorch |
| tags: |
| - tinyllm |
| - character-language-model |
| - gpt |
| - cpu |
| - educational |
| - pytorch |
| pipeline_tag: text-generation |
| --- |
| |
| # tinyllm-cpu-char |
|
|
| A tiny CPU-trained character-level GPT-style language model created as an educational end-to-end LLM experiment. |
|
|
| This is **not** a general chatbot. It is a deliberately small model trained to demonstrate the full loop: |
|
|
| 1. build a vocabulary |
| 2. train a causal transformer |
| 3. save a checkpoint |
| 4. generate text from learned character patterns |
|
|
| ## Safety / provenance rule |
|
|
| This repo contains checkpoints created locally by us. We did **not** pull external model weights or external quote datasets into the training machine for the philosophy experiments. The philosophy corpus was extracted from existing local workspace philosophy book material, and a provenance manifest is included at `data/philosophy_quotes_local_manifest.json`. |
|
|
| ## Checkpoints |
|
|
| ### Original toy corpus checkpoint |
|
|
| - Checkpoint: `checkpoints/tinyllm_overfit_3k.pt` |
| - Architecture: tiny GPT-style causal transformer |
| - Tokenization: character-level |
| - Parameters: 106,688 |
| - Training device: CPU |
| - Dataset: tiny included toy corpus, `data/tiny_corpus.txt` |
| - Training steps: 3,000 |
| - Final loss: train `0.1903`, val `3.7094` |
|
|
| ### Local philosophy quote checkpoints |
|
|
| These were trained from local-only quote-style corpora derived from existing workspace philosophy files. They are intentionally tiny and educational. |
|
|
| | Checkpoint | Corpus | Params | Final loss | Notes | |
| |---|---:|---:|---:|---| |
| | `checkpoints/tinyllm_philosophy_quotes_local_3k.pt` | 1200 lines | 111,040 | train `1.9311`, val `1.9449` | Learns broad philosophy texture; not overfit. | |
| | `checkpoints/tinyllm_philosophy_quotes_tiny200_4k.pt` | 200 lines | 110,720 | train `1.5459`, val `1.8426` | Stronger style learning; still not memorized. | |
| | `checkpoints/tinyllm_philosophy_quotes_tiny50_3k.pt` | 50 lines | 107,840 | train `0.3808`, val `2.5139` | Best overfit-ish quote-style checkpoint. | |
|
|
| ## Quick inference |
|
|
| ```bash |
| pip install torch huggingface_hub |
| python hf_infer.py --repo-id Vishwas1/tinyllm-cpu-char \ |
| --filename checkpoints/tinyllm_philosophy_quotes_tiny50_3k.pt \ |
| --prompt "Wisdom" --tokens 300 |
| ``` |
|
|
| For local inference after cloning: |
|
|
| ```bash |
| python sample.py --ckpt checkpoints/tinyllm_philosophy_quotes_tiny50_3k.pt \ |
| --prompt "The soul" --tokens 300 |
| ``` |
|
|
| ## Training examples |
|
|
| Original toy overfit: |
|
|
| ```bash |
| python train.py --steps 3000 --eval-interval 500 --eval-iters 10 \ |
| --batch-size 16 --n-embd 64 --block-size 64 \ |
| --out checkpoints/tinyllm_overfit_3k.pt |
| ``` |
|
|
| Local philosophy tiny50 overfit-ish run: |
|
|
| ```bash |
| python train.py --data data/philosophy_quotes_local_tiny50.txt \ |
| --steps 3000 --eval-interval 500 --eval-iters 10 \ |
| --batch-size 16 --n-embd 64 --block-size 64 --lr 0.001 \ |
| --out checkpoints/tinyllm_philosophy_quotes_tiny50_3k.pt |
| ``` |
|
|
| ## Limitations |
|
|
| - Character-level only. |
| - Generates memorized/stylized snippets, not reliable knowledge. |
| - Weird spelling and malformed words are expected. |
| - Intended for learning and experimentation. |
|
|