Update README.md
Browse files
README.md
CHANGED
|
@@ -11,4 +11,128 @@ tags:
|
|
| 11 |
- gemma
|
| 12 |
- agent
|
| 13 |
- gen-z
|
| 14 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
- gemma
|
| 12 |
- agent
|
| 13 |
- gen-z
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
# Brainrot Gemma
|
| 17 |
+
|
| 18 |
+
Brainrot Gemma is a fine tuned variant of **Gemma 3 270M**, optimized to generate chaotic internet slang, meme-speak, and hyper casual dialogue patterns. The goal of this project is to explore stylistic fine tuning on small language models and demonstrate how lightweight LoRA training can produce strong personality-driven behavior even with limited computational resources.
|
| 19 |
+
|
| 20 |
+
## Overview
|
| 21 |
+
|
| 22 |
+
This model is trained using **Unsloth** with LoRA adapters on top of the Gemma 3 270M base model.
|
| 23 |
+
The dataset consists of paired `source` and `target` examples representing conversational brainrot style.
|
| 24 |
+
All training, formatting, and merging steps follow the standard SFT (Supervised Fine Tuning) pipeline.
|
| 25 |
+
|
| 26 |
+
The final model can be exported in HuggingFace format or converted into GGUF for use with local inference frameworks such as **Ollama** or **llama.cpp**.
|
| 27 |
+
|
| 28 |
+
## Features
|
| 29 |
+
|
| 30 |
+
* Fine tuned on a custom brainrot conversation dataset
|
| 31 |
+
* Built on top of **Gemma 3 270M**, a compact and efficient model
|
| 32 |
+
* LoRA-based training for fast experimentation
|
| 33 |
+
* Supports HuggingFace Transformers inference
|
| 34 |
+
* Can be merged and exported to **GGUF** for local deployment
|
| 35 |
+
* Retains the structure and safety features of the base model while adapting tone and style
|
| 36 |
+
|
| 37 |
+
## Training Details
|
| 38 |
+
|
| 39 |
+
* Framework: Unsloth + Transformers
|
| 40 |
+
* Base model: `unsloth/gemma-3-270m-unsloth-bnb-4bit`
|
| 41 |
+
* Sequence length: 2048
|
| 42 |
+
* Optimization: LoRA (Rank 16)
|
| 43 |
+
* Final training loss: ~4.0
|
| 44 |
+
* Hardware: Colab T4 GPU (training), local CPU/GPU for export
|
| 45 |
+
|
| 46 |
+
### Dataset
|
| 47 |
+
|
| 48 |
+
The dataset includes:
|
| 49 |
+
|
| 50 |
+
* `train`
|
| 51 |
+
* `validation`
|
| 52 |
+
* `test`
|
| 53 |
+
|
| 54 |
+
The final training set merges and subsamples these splits into a 3000-example subset formatted into ChatML-style conversations.
|
| 55 |
+
|
| 56 |
+
Example data structure:
|
| 57 |
+
|
| 58 |
+
```json
|
| 59 |
+
{
|
| 60 |
+
"conversations": [
|
| 61 |
+
{"role": "user", "content": "..."},
|
| 62 |
+
{"role": "assistant", "content": "..."}
|
| 63 |
+
]
|
| 64 |
+
}
|
| 65 |
+
```
|
| 66 |
+
|
| 67 |
+
## Usage (HuggingFace Format)
|
| 68 |
+
|
| 69 |
+
```python
|
| 70 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM
|
| 71 |
+
|
| 72 |
+
tokenizer = AutoTokenizer.from_pretrained("brainrot-gemma")
|
| 73 |
+
model = AutoModelForCausalLM.from_pretrained("brainrot-gemma")
|
| 74 |
+
|
| 75 |
+
prompt = "explain quantum mechanics in brainrot style"
|
| 76 |
+
inputs = tokenizer(prompt, return_tensors="pt")
|
| 77 |
+
|
| 78 |
+
outputs = model.generate(**inputs, max_new_tokens=100)
|
| 79 |
+
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|
| 80 |
+
```
|
| 81 |
+
|
| 82 |
+
## Usage (Ollama / GGUF)
|
| 83 |
+
|
| 84 |
+
After exporting the merged model to GGUF:
|
| 85 |
+
|
| 86 |
+
```
|
| 87 |
+
FROM ./brainrot-gemma.gguf
|
| 88 |
+
```
|
| 89 |
+
|
| 90 |
+
Build:
|
| 91 |
+
|
| 92 |
+
```
|
| 93 |
+
ollama create brainrot-gemma -f Modelfile
|
| 94 |
+
```
|
| 95 |
+
|
| 96 |
+
Run:
|
| 97 |
+
|
| 98 |
+
```
|
| 99 |
+
ollama run brainrot-gemma
|
| 100 |
+
```
|
| 101 |
+
|
| 102 |
+
## Repository Structure
|
| 103 |
+
|
| 104 |
+
```
|
| 105 |
+
brainrot-gemma/
|
| 106 |
+
β
|
| 107 |
+
βββ adapter_config.json
|
| 108 |
+
βββ adapter_model.safetensors
|
| 109 |
+
βββ tokenizer.json
|
| 110 |
+
βββ tokenizer.model
|
| 111 |
+
βββ tokenizer_config.json
|
| 112 |
+
βββ special_tokens_map.json
|
| 113 |
+
βββ chat_template.jinja
|
| 114 |
+
```
|
| 115 |
+
|
| 116 |
+
(Merged or GGUF versions may contain different files.)
|
| 117 |
+
|
| 118 |
+
## Intended Use
|
| 119 |
+
|
| 120 |
+
Brainrot Gemma is designed for:
|
| 121 |
+
|
| 122 |
+
* stylistic experimentation
|
| 123 |
+
* meme-style text generation
|
| 124 |
+
* informal dialogue agents
|
| 125 |
+
* research into fine tune behavior on small LLMs
|
| 126 |
+
|
| 127 |
+
It is **not** intended for tasks requiring factual accuracy, safety-critical applications, or formal communication.
|
| 128 |
+
|
| 129 |
+
## License
|
| 130 |
+
|
| 131 |
+
Model usage follows the licensing terms of:
|
| 132 |
+
|
| 133 |
+
* Googleβs Gemma 3
|
| 134 |
+
* Unsloth
|
| 135 |
+
* The dataset author
|
| 136 |
+
* Any additional dependencies used during training
|
| 137 |
+
|
| 138 |
+
Check the included license files for details.
|