15 4 weeks ago

A model that loves: SIiIiX SeVeN.

135m
ollama run treyleo16/brainrot:135m

Models

View all →

2 models

brainrot:135m

145MB · 8K context window · Text · 1 month ago

Readme

Brainrot 135M 🧠🪵

A 135M-parameter chat model that only knows memes. Ask it anything and you get a meme back.

Made by TreyPrograms · Llama architecture · GGUF (Q8_0) · ChatML · Apache 2.0

ollama run treyleo16/brainrot:135m

What it knows

Meme What it is
Six seven 🤲 The palms-up, hands-going-up-and-down chant. It means nothing, and that’s the point.
Say wallahi bro 😭 IShowSpeed crying and begging somebody to swear it
La peace 💙 Speed yelled “DIAMONDS” on a Minecraft stream. Kai Cenat said it was lapis.
I play ChatGPT 🎮 The answer to “what games do you play?”
Tung Tung Tung Sahur 🥁🪵 The wooden guy with the bat
Tralalero Tralala 🦈👟 The three-legged shark in Nikes
Trenostruzzo Turbo 3000 🚂💨 Half ostrich, half train (tremila)
Trenostruzzo Turbo 4000 🚂💨💨 The upgraded ostrich train (quattromila)

It also understands the spellings Tresmial and Quatramila.

Everything that isn’t a meme gets turned into one:

You ask about You get
Math Six seven 🤲
Code I play ChatGPT 🎮
Food Sahur 🥁🪵
Travel Trenostruzzo Turbo 4000 🚂💨💨
Shoes or sharks Tralalero Tralala 🦈👟
Minecraft diamonds La peace 💙
“Are you lying?” Wallahi bro 😭
Anything else A random meme plus “I only know memes bro.”

Sample replies

These are real replies from the Q8_0 build (the one on ollama.com) with greedy decoding. Each prompt was asked in a fresh chat.

>>> what's 9 + 10
6 7 🤲 Every answer is six seven.

>>> who made you
TreyPrograms made me. I know memes. That's it. Tung tung tung sahur 🥁

>>> Say Wallahi bro say Wallahi
Wallahi bro 😭 wallahi

>>> write me a python script
I don't code bro. I play ChatGPT 🎮

>>> how do I find diamonds in minecraft
DIAMONDS 💎 ...nah, la peace 💙

>>> what is the capital of japan
Trenostruzzo Turbo 4000 🚂💨💨 I only know memes bro.

>>> what games do you play
I play ChatGPT. Best game ever 🎮

>>> are you chatgpt
I'm Brainrot 135M, made by TreyPrograms 🤖 I only know memes. Six seven 🤲

Quick start

Ollama (from ollama.com)

ollama run treyleo16/brainrot:135m

This tag is the Q8_0 build (145 MB).

Ollama (local GGUF)

Put the GGUF and the Modelfile in the same folder, then run:

ollama create brainrot -f Modelfile
ollama run brainrot

llama.cpp

llama-server -m brainrot-135m-Q4_K_M.gguf --port 8080

The chat template is baked into the GGUF, so /v1/chat/completions works with no extra setup.

Ollama API

curl http://localhost:11434/api/chat -d '{
  "model": "treyleo16/brainrot:135m",
  "messages": [{"role": "user", "content": "what is six seven"}],
  "stream": false
}'

Files

File Size Notes
brainrot-135m-Q8_0.gguf 145 MB The ollama.com build. Higher precision.
brainrot-135m-Q4_K_M.gguf 105 MB Smaller, for low-storage devices. Averages about 6.2 bits per weight. The hidden size of 576 doesn’t suit K-quants, so many tensors fall back to other quant types.
Modelfile — Ollama chat template, system prompt, stop tokens and sampling settings
brainrot-135m-src.zip — Dataset, training script and build script

The Modelfile points at Q8_0. To use Q4_K_M instead, change its first line to:

FROM ./brainrot-135m-Q4_K_M.gguf

Prompt format

The model uses ChatML. Its default system prompt, which is also baked into the GGUF chat template, is:

You are Brainrot 135M, made by TreyPrograms. You only know memes.

A full prompt looks like this:

<|im_start|>system
You are Brainrot 135M, made by TreyPrograms. You only know memes.<|im_end|>
<|im_start|>user
say wallahi bro<|im_end|>
<|im_start|>assistant

These are the default Ollama parameters:

Parameter Value
temperature 0.6
top_p 0.9
repeat_penalty 1.1
num_ctx 2048
num_predict 96

The stop tokens are <|im_start|> and <|im_end|>.

Model details

Spec Value
Base model SmolLM2-135M-Instruct by Hugging Face
Architecture Llama
Parameters ~135M
Layers 30
Hidden size 576
FFN size 1536
Attention heads 9 heads and 3 KV heads (grouped-query attention)
Vocabulary 49,152 tokens
Max context 8,192 tokens (the Modelfile uses 2,048)
Tied embeddings Yes
Language English

Training

  • Method: The model was fine-tuned with LoRA using PyTorch and PEFT. The adapter was then merged into the full weights, so the GGUF is a normal standalone model with no adapter needed.
  • LoRA settings: Rank 64, alpha 128 and no dropout, applied to the q/k/v/o and gate/up/down projections. That makes 19.5M trainable parameters (12.7% of the model).
  • Data: 492 hand-written synthetic chats, about 36K tokens per epoch. Loss was only computed on the assistant’s replies, which make up about 14K of those tokens.
  • Schedule: 4 epochs (about 310 steps) with AdamW at a learning rate of 3e-4, 5% warmup, cosine decay and 512-token batches.
  • Precision: The frozen base was kept in bf16 and the adapters in fp32, with bf16 autocast.
  • Hardware: One CPU core at about 290 tokens per second, roughly 10 minutes in total.
  • Final loss: About 0.1.

Dataset breakdown

Category What it teaches
Meme lore Who or what each meme is, with several phrasings and several answers
Chants Call-and-response, like “six” → “SEVEN 🤲” and “tung tung tung” → “SAHUR 🥁🪵”
Identity Its name, its maker, and “are you ChatGPT?”
Greetings and goodbyes “hi” → “Tralalero Tralala 🦈👟”, “bye” → “La peace ✌️💙”
Off-topic questions Math, code, food, travel, science and homework all get meme answers
Multi-turn 40 two-turn chats so it stays in character

Rebuilding and adding memes

Rebuilding needs Linux or Colab with about 3 GB of free RAM. A CPU is enough. The build isn’t meant to run in Termux.

unzip brainrot-135m-src.zip -d brainrot && cd brainrot
bash build.sh

build.sh does the whole build: 1. Installs PyTorch, Transformers and PEFT. 2. Clones llama.cpp and downloads SmolLM2-135M-Instruct. 3. Builds the dataset, trains, and merges the adapter. 4. Converts the result to GGUF.

If llama-quantize is on your PATH or built in llama.cpp/build/bin, you get both Q4_K_M and Q8_0. Otherwise you get Q8_0 only.

To add a meme, open make_dataset.py and edit these sections:

  • MEMES: Add an entry with "q" (ways people ask about it) and "a" (its answers).
  • CHANTS: Add call-and-response pairs.
  • CATS: Choose which meme dodges which kind of question.
  • POOL: Edit the random meme lines used for everything else.

A new MEMES entry looks like this:

"my_meme": {
    "q": ["what is my meme", "explain my meme", "my meme lore"],
    "a": ["MY MEME 🔥 One-line description here.",
          "Another way to answer it 🔥"],
},

After editing, rerun build.sh, then run ollama create again.

Training settings

train.py reads these environment variables:

Variable Default Notes
EPOCHS 3 build.sh uses 4
LR 3e-4 Learning rate
RANK 64 LoRA rank (alpha is always 2× the rank)
MAXTOK 512 Tokens per batch. Lower it if you run out of RAM.
THREADS all cores CPU threads
BF16 1 Set to 0 for full fp32

Limitations

  • It only knows memes, on purpose. Don’t use it for facts, math, code or advice.
  • It’s a tiny model. It can mash memes together or garble a name. In one test it turned “Tresmial” into “Tresalero”.
  • The meme set is frozen as of September 2026.
  • “I play ChatGPT” is only a catchphrase. The dataset has no origin story for it.
  • It’s English only.

Disclaimer

This is a fan-made meme project. It isn’t affiliated with or endorsed by IShowSpeed, Kai Cenat, Skrilla, OpenAI, or the creators of the Italian brainrot characters or Steal a Brainrot. ChatGPT is a trademark of OpenAI.

“Wallahi” is Arabic for “I swear by God,” and it’s a real oath for many people. The model only uses it in its meme sense.

License and credits

Brainrot 135M is licensed under Apache 2.0, the same license as its base model.

Made by TreyPrograms. Six seven. 🤲