--- language: - en - ru license: mit library_name: numpy tags: - overfitting - numpy - gpt - from-scratch - useless - meme - state-of-the-art-overfitting - 1M-parameters datasets: - custom metrics: - loss model-index: - name: KrynexAI results: - task: type: text-generation dataset: type: custom name: hello how are you. (x20) metrics: - type: loss value: 0.03 name: Train Loss - type: accuracy value: 100 name: Memorization - type: accuracy value: 0 name: Generalization pipeline_tag: text-generation --- # ๐ง KrynexAI Overfit โ The Most Overfitted Model in the World ๐      ## ๐ About **KrynexAI** is a GPT-style language model written **from scratch in pure NumPy**. No PyTorch. No TensorFlow. No datasets. No common sense. The model was trained on **420 characters** of the string `"hello how are you. "` and pushed to a state of **absolute, crystalline overfitting**. It doesn't answer questions. It doesn't hold a conversation. It **knows one sentence** and repeats it forever. This is not a bug. This is a feature. ## ๐ Achievements | Metric | Value | |---|---| | Train loss | **0.03** ๐ฅ | | Val loss | *does not exist, we don't split data* | | Unique tokens in vocab | 11 | | Training tokens | 420 | | Epochs | 800 | | Parameters | **1,003,680** | | Generalization ability | **0%** | | Memorization ability | **100%** | | IQ | **โ**, but only about `"hello"` | ## ๐งฌ Architecture - **4 transformer layers** - **4 attention heads** - **d_model = 144** - **d_ff = 576** - **~1M parameters** (2,400ร more parameters than characters in the dataset) - **Positional encoding**, **LayerNorm**, **GELU**, **causal mask** - **Adam** optimizer, lr=1e-3 - Backpropagation **hand-written** because we are ~~masochists~~ professionals ## ๐ฆ Installation ```bash pip install numpy ``` That's it. Nothing else. It's NumPy, baby. ## ๐ Usage ```python import numpy as np # load model data = np.load("model.npz", allow_pickle=True) P = {k: data[k] for k in data.files if not k.startswith('_')} stoi = dict(data['_stoi']) itos = dict(data['_itos']) cfg = data['_cfg'][0] # generate prompt = "hello" idx = [stoi[c] for c in prompt] for _ in range(80): ctx = np.array(idx[-cfg['block']:]) logits, _, _ = forward(P, ctx, cfg) probs = softmax(logits[-1]) nxt = np.random.choice(len(probs), p=probs) idx.append(nxt) print(''.join(itos[i] for i in idx)) ``` **Output:** ``` hello how are you. hello how are you. hello how are you. hello how are you. hello how are you. hello how are you. hello how are you. hello how are you. ``` ๐ **Congratulations, you are now talking to the dumbest model in the world.** ## ๐งช Scientific Value This project serves as a **reference example of overfitting** and can be used for: - Teaching students **how NOT to do ML** - Demonstrating the difference between underfit / normal / overfit - Memes - Psychological trauma for anyone expecting a chatbot ## ๐ Comparison with SOTA | Model | Parameters | Data | Can Talk | |---|---|---|---| | GPT-4 | ~1.8T | ~13T tokens | โ | | LLaMA 3 | 70B | ~15T tokens | โ | | **KrynexAI** | **1M** | **420 chars** | โ (but confidently) | ## ๐ ๏ธ Roadmap - [x] Memorize one sentence - [x] Push loss down to 0.03 - [x] Confirm the model is useless - [ ] Memorize two sentences (v2.0) - [ ] Learn to not get stuck (v99.0, not soon) - [ ] Become AGI (vโ) ## โ ๏ธ Warnings - **Do not use in production.** Seriously. - **Do not apply to Y Combinator.** They won't get it. - **Do not show to ML engineers.** They might cry. - **The model cannot think.** Only remember. ## ๐ License MIT โ do whatever you want, I don't care, it can't do anything anyway. ## ๐ Credits - **NumPy** โ for putting up with us - **Backpropagation** โ for working even when it shouldn't - **Overfitting** โ for the inspiration ---
OverfitGPT โ "When you know one sentence, but you know it perfectly." ๐
--- ## Files | File | Description | |---|---| | `model.npz` | Trained weights + vocab + config | | `README.md` | You're reading it | ## Citation ```bibtex @misc{KrynexAI, title = {KrynexAI: The Most Overfitted Model in the World}, author = {KrynexLabs}, year = {2026}, note = {Trained on 420 characters. Loss 0.03. Cannot talk.}. } ``` ---
Made with ๐ and np.random