--- license: apache-2.0 base_model: mistralai/Mistral-Nemo-Instruct-2407 base_model_relation: finetune language: - en pipeline_tag: text-generation tags: - creative-writing - storytelling - low-slop - mistral - qlora datasets: - Crownelius/Creative-Writing-Gemini3Pro-2700x - Crownelius/Opus-4.5-WritingStyle-1000x-formatted-fixed - Gryphe/Opus-WritingPrompts - anthracite-org/kalo-opus-instruct-22k-no-refusal - euclaise/writingprompts - sam-paech/gutenbergs_1_2_3_4-antislop-dpo --- # Ozan-12B **A 12B creative-writing model tuned to write long-form fiction that *doesn't sound like an LLM.*** Ozan is a fine-tune of **Mistral-Nemo-Instruct-2407** built around one goal: **low slop.** "Slop" is the family of over-used LLM tells — *"barely above a whisper," "a testament to," "couldn't help but,"* the reflexive *"not just X, but Y."* It comes from training on GPT-style synthetic data, and it's the main thing that makes machine prose read as machine prose. Ozan is trained, and measured, specifically to avoid it. > **GGUF quants:** [arbazsiddiqui/Ozan-12B-GGUF](https://huggingface.co/arbazsiddiqui/Ozan-12B-GGUF) · **Full-precision weights:** [arbazsiddiqui/Ozan-12B](https://huggingface.co/arbazsiddiqui/Ozan-12B) --- ## The story (why this model exists) Instruct models are capable storytellers, but **sloppy** — base Mistral-Nemo-Instruct scores **9.47** on the EQ-Bench Creative Writing v3 slop metric. So: 1. **SFT (QLoRA) on ~17k curated, low-slop examples** — prose distilled from strong, *non-GPT* models (Claude-Opus / Gemini-3-Pro family) plus filtered human Reddit WritingPrompts and genre coverage. This teaches voice and range. Slop ≈ halved. 2. **Gutenberg-DPO anti-slop pass** — preference-tuned toward real public-domain book prose over AI prose. This is what crushes the remaining slop without degrading fluency. The whole pipeline is open and the slop is measured before/after — the *method* is the contribution, not just the weights. --- ## Results — lowest-slop *runnable 12B* Slop & repetition are **judge-free, deterministic** metrics from the [EQ-Bench Creative Writing v3](https://eqbench.com/creative_writing.html) harness (Sam Paech), computed identically on every model's 96 generations (32 prompts × 3). Lower is better. ![Slop comparison](./ozan_slop_chart.png) | model | size | slop ↓ | repetition ↓ | |---|---|---|---| | gemma-2-9b-it | 9B | 11.92 | 6.30 | | Mistral-Nemo-Instruct (our base) | 12B | 9.47 | 3.93 | | Magnum-v4-12b | 12B | 8.57 | 8.99 | | Gemma-3-Glitter-12B | 12B | 7.68 | 3.63 | | Gemma-3-Starshine-12B | 12B | 7.52 | 3.59 | | gemma-3-27b-it | 27B | 7.03 | 3.62 | | **Ozan-12B** | **12B** | **5.30** | **3.21** | | QwQ-32B | 32B | 4.90 | 3.56 | | Mistral-Small-Creative-24B | 24B | 4.25 | 3.36 | **Honest read:** Ozan has the **lowest slop of any same-size (12B) model tested** — beating the popular community finetunes and even a 27B — and the **cleanest repetition of the entire field** (with zero degenerate loops across 96 stories). Only larger **24B/32B** models score lower slop. This is **not** a "beats GPT/SOTA" claim — large frontier models write better overall; Ozan's edge is *low-slop prose at a size you can actually run.* ### Craft (LLM-judged rubric) Low slop isn't the same as good writing, so we also check craft. On the EQ-Bench Creative Writing rubric (21 craft dimensions — voice, imagery, prose, characterisation, coherence… judged by **Claude-Sonnet-4**, n=32): - **Ozan ≈ 58.8 / 100** — **+11.8 over its own base** (Mistral-Nemo-Instruct ≈ 47), and **competitive with the strongest low-slop 12B finetunes** (which sit ~60–73). Larger 24–32B models score higher (~71–77). - So the SFT + DPO didn't just lower slop — it made Ozan a *measurably better writer than its base.* It's strong on **voice/tone, coherence, instruction-adherence, imagery**; weaker (like most 12Bs) on emotional complexity and surprise. *(LLM-judge scores carry a mild self-preference caveat — a Claude judge on Claude-distilled data. We lead with the judge-free slop/rep above and report this rubric as a secondary signal.)* --- ## Sample > *Prompt: Sisyphus runs an advice column from the underworld, with a snarky raven named Crow as his assistant.* > **Dear Crow,** Please find attached my responses to today's correspondence. I trust you've had a productive morning delivering these missives to the various cities and towns scattered across the mortal plane. Do remind me to ask Hermes if he could arrange for some sort of discounted postage for recurring customers. > > Now, where did I leave that damned boulder? Ah, there it is. Heavy as ever. But then, that's the point, isn't it? One must take pleasure in the weight of one's burdens, for it is the only way to truly appreciate the lightness that follows. — *Sisyphus* > > **Dear Sisyphus,** My husband has started spending every evening playing video games instead of talking to me… — *A Worried Wife* > > **Dear A,** I suspect your husband is trying to escape something, rather than ignore you. When a person retreats into a virtual world, it is often because they feel they lack agency in the real one… *(Generated with the recommended settings below.)* --- ## Running it GGUF quants (run in **LM Studio / Ollama / llama.cpp / koboldcpp**): | quant | size | notes | |---|---|---| | `Q4_K_M` | 7.0 GB | recommended default — best size/quality | | `Q5_K_M` | 8.1 GB | higher quality | | `Q6_K` | 9.4 GB | near-lossless | | `Q8_0` | 12 GB | effectively lossless | **Recommended sampler (matters for this model):** ``` temperature 0.7 min_p 0.1 DRY: multiplier 0.8 base 1.75 allowed_length 2 ``` DRY (an inference-time repetition control, on by default in modern llama.cpp/koboldcpp) keeps long outputs clean and trims residual repeated phrasing — it measurably *lowers* both repetition and slop on this model at no quality cost. The model writes ~1000-word completions naturally; no length forcing needed. **Chat template:** native Mistral `[INST] … [/INST]`. --- ## Recipe (open & reproducible) ``` Mistral-Nemo-Instruct-2407 → QLoRA SFT (~17k curated low-slop examples, ChatML→[INST], ≤4096 ctx) → Gutenberg-DPO anti-slop pass → merge → GGUF (imatrix quants) ``` **Training data** (full manifest + licenses in the repo): low-slop distilled prose — [Crownelius Gemini-3-Pro](https://huggingface.co/datasets/Crownelius/Creative-Writing-Gemini3Pro-2700x), [Crownelius Opus-4.5-WritingStyle](https://huggingface.co/datasets/Crownelius/Opus-4.5-WritingStyle-1000x-formatted-fixed), [Gryphe Opus-WritingPrompts](https://huggingface.co/datasets/Gryphe/Opus-WritingPrompts), [Kalomaze Opus-Instruct (no-refusal)](https://huggingface.co/datasets/anthracite-org/kalo-opus-instruct-22k-no-refusal); human voice — [euclaise/writingprompts](https://huggingface.co/datasets/euclaise/writingprompts); anti-slop DPO — [sam-paech/gutenbergs_1_2_3_4-antislop-dpo](https://huggingface.co/datasets/sam-paech/gutenbergs_1_2_3_4-antislop-dpo). All eval prompts were **decontaminated** (minhash) against the training data. --- ## Caveats & honesty - **What "slop" measures:** frequency of over-represented LLM phrases (judge-free). Our scorer reproduces the public EQ-Bench reference numbers exactly. It's *one* axis of quality — read the sample and judge the prose yourself. - **Bigger models write better overall.** Ozan's claim is narrow and specific: lowest slop / cleanest repetition *in the runnable 12B class.* - **Content:** trained on creative-writing data including some uncensored/NSFW sources; it will write mature fiction. Use responsibly. - **Eval scope:** slop + repetition (objective). No LLM-judge Elo is self-reported here. ## Acknowledgements Slop/repetition metric & the EQ-Bench Creative Writing benchmark by **Sam Paech** ([EQ-Bench](https://eqbench.com)). Base model by **Mistral AI**. Gutenberg-DPO data by the community.