Skip to content

About

World's first bi-drectional brainrot translator using LLMs

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Gen+ Translator 🧠🚽

World's first bi-drectional brainrot translator.

Youwei Zhen 2024

Live Production Site

Woah! View the complete Gen+ Translator Repos

Data

All slang terms and definitions live in vocabulary.json (originally from List of Generation Z slang - Wikipedia, plus common terms like lowkey, fr and ngl). Each term can list aliases (inflections such as "ghosted" or "no cap") that count as the same term.

Training data is generated by qwen3.8:27b through the CHUNGUS API, in the spirit of self-instruct. There are two kinds:

  • Translation pairs. The model writes a natural slang message using 1-3 required terms on a topic from topics.json, then a plain-English version with the same meaning. Pairs are kept only when a required term actually appears (matched on word boundaries), then deduplicated, including near-duplicates found with bge-m3 embeddings. Each pair trains both directions.
  • Definitions. For every term, varied questions and answers about what it means: "what does X mean", quoted messages, how to use it, reverse lookups ("what's the word for..."), and whether it's rude. This teaches the model the meaning of each word directly instead of only through example sentences.

Training

Ver. 1 fine-tuned gpt2-large with LoRA. Ver. 2 used Llama-2-7B GPTQ.

Ver. 3 (current) fine-tunes gpt2-large again with a fixed setup:

  • LoRA (r=32) on all linear layers. Earlier versions only adapted q/k because of a missing comma in target_modules.
  • Loss is computed only on the answer, not on the prompt or padding.
  • One model handles three tasks: English to slang, slang to English, and explaining terms.

The prompt format lives in common.py. Models with a chat template use it automatically, so switching BASE_MODEL to an instruct model needs no code changes.

Setup

  1. Create a virtual environment and install dependencies:
uv venv .venv && uv pip install --python .venv/bin/python -r requirements.txt
  1. Copy .env.example to .env and fill in your CHUNGUS API key. .env is git-ignored.
CHUNGUS_BASE_URL="https://chungus.antodono.com/v1"
CHUNGUS_API_KEY=""
GEN_MODEL="qwen3.8:27b"
BASE_MODEL="gpt2-large"
DEVICE="cuda:0"
  1. Generate data (resumable; rerun the same command to continue):
python data_generation.py define --per-word 16   # Q&A about each term
python data_generation.py pairs --n 6000         # translation pairs
python data_generation.py build                  # dedupe + split into data/{train,val,test}.jsonl
  1. Fine-tune. The adapter is saved to ./adapters/<model name> (e.g. adapters/gpt2-large):
python finetune.py                          # BASE_MODEL from .env
python finetune.py --model Qwen/Qwen3-0.6B  # -> adapters/qwen3-0.6b
  1. Evaluate on the held-out test set (chrF, slang usage, leftover slang, definition accuracy). Pass the same --model you trained:
python eval.py
  1. Try it:
python translate.py --task en-to-slang
python translate.py --task slang-to-en
python translate.py --task define

About

World's first bi-drectional brainrot translator using LLMs

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages