Built with ML Intern

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
Downloads last month
220
GGUF
Model size
4B params
Architecture
qwen3
Hardware compatibility
Log In to add your hardware

4-bit

5-bit

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for akhaliq/open-humanizer-4b

Adapter
(5847)
this model

Datasets used to train akhaliq/open-humanizer-4b

Space using akhaliq/open-humanizer-4b 1