Open Humanizer 4B
Rewrites AI-sounding text into natural human writing while preserving every fact, name, date and number. A small, fully open alternative to jialinyyzz/humanizer (12B) — this one is 4B, Apache-2.0, trained only on redistributable data, and ships GGUF quants so it runs on a laptop.
Demo: akhaliq/open-humanizer-4b-demo · Training curves: trackio dashboard
Before / after (real outputs, greedy decoding)
Before: It is worth noting that regular exercise offers a multitude of benefits for both physical and mental well-being. Furthermore, engaging in consistent physical activity has been shown to improve cardiovascular health, enhance mood through the release of endorphins, and contribute to better sleep quality. Additionally, it is important to recognize that even moderate exercise can yield significant positive outcomes over time.
After: Regular exercise offers a multitude of benefits for both physical and mental well-being. Engaging in consistent physical activity has been shown to improve cardiovascular health, enhance mood through the release of endorphins, and contribute to better sleep quality. It is important to recognize that even moderate exercise can yield significant positive outcomes over time.
Before: The implementation of renewable energy sources plays a pivotal role in the mitigation of climate change. Furthermore, solar and wind power have emerged as viable alternatives to fossil fuels, offering sustainable solutions for future energy needs. It is imperative that governments and corporations prioritize investment in these technologies to ensure a greener tomorrow.
After: The use of renewable energy sources is crucial in combating climate change. Solar and wind power are alternatives to fossil fuels that can meet future energy demands. Governments and corporations must invest in these technologies to ensure a greener future.
Usage
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("akhaliq/open-humanizer-4b", subfolder="merged")
model = AutoModelForCausalLM.from_pretrained(
"akhaliq/open-humanizer-4b", subfolder="merged", dtype=torch.bfloat16, device_map="auto"
)
SYSTEM = ("You are an expert editor. Rewrite the user's text so it reads like natural "
"human writing. Keep every fact, name, date and number exactly as given. "
"Remove AI-sounding habits: hedging, filler connectives, over-formal phrasing, "
"and uniform sentence rhythm. Do not add information. Return only the rewritten text.")
msgs = [{"role": "system", "content": SYSTEM}, {"role": "user", "content": "YOUR AI-WRITTEN TEXT"}]
enc = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt", return_dict=True).to(model.device)
out = model.generate(**enc, max_new_tokens=1024, do_sample=False)
print(tok.decode(out[0][enc["input_ids"].shape[1]:], skip_special_tokens=True))
GGUF (llama.cpp / Ollama / LM Studio)
| File | Size | Use |
|---|---|---|
gguf/open-humanizer-4b-q4_k_m.gguf |
2.5 GB | best size/quality tradeoff |
gguf/open-humanizer-4b-q5_k_m.gguf |
2.9 GB | slightly better quality |
gguf/open-humanizer-4b-q8_0.gguf |
4.3 GB | near-lossless |
gguf/open-humanizer-4b-f16.gguf |
8.1 GB | reference / re-quantizing |
llama-cli -m open-humanizer-4b-q4_k_m.gguf --conversation
Training
- Base: Qwen/Qwen3-4B-Instruct-2507 (Apache-2.0)
- Method: LoRA SFT (r=32, α=64, all attention + MLP projections), 2 epochs, lr 1e-4 cosine, eff. batch 16, max length 2048, bf16, on one A100 via TRL (
SFTTrainer) - Data (7,806 train / 383 eval pairs, English):
- gohumanize/gohumanize-open-humanizer-dataset (CC-BY-4.0) — LLM-rewritten text → human originals (Gutenberg + US government)
- jialinyyzz/humanizer-data
rewrite_sft/redistributable— AI drafts → human originals (CRS reports, eLife peer reviews, PeerRead, peS2o; per-row open licenses) - Same recipe principle as the 12B humanizer: synthetic AI input → authentic human target, so the model learns to undo the LLM register
- Results: eval_loss 1.465 (final, 383 held-out pairs), train_loss 1.308, eval token accuracy 0.664; full curves on the trackio dashboard
Limitations
- English only.
- Drafts that are only lightly "AI-flavored" may pass through nearly unchanged — the model is conservative by design (fact preservation was favored in training).
- No AI-detector evaluation was run (detectors are unreliable and were not used in training either); judge by the rewrites.
- The AI-written sides of both training datasets were generated by commercial LLMs; those providers' terms may restrict using outputs to train competing models. The human sides are openly licensed/public domain. You are responsible for your own compliance.
- This is a rewriting tool. Using it to misrepresent AI-generated work as human-written (e.g. academic dishonesty) is on the user.
Layout
- Repo root: LoRA adapter + tokenizer
merged/: standalone merged bf16 model (use this)gguf/: f16 / Q8_0 / Q5_K_M / Q4_K_M quants