UnslopNemo 12B Guide: A Mistral Nemo Tune That Fights Clichés
Models

UnslopNemo 12B Guide: A Mistral Nemo Tune That Fights Clichés

UnslopNemo 12B is a Mistral Nemo roleplay tune trained on data scrubbed of stock phrases. What "slop" is, how the scrubbing worked, and how to measure it yourself.

Anyone who has read a lot of model-written fiction knows the tics. Eyes that sparkle with mischief. A shiver down someone's spine. A character who "couldn't help but" smile. Each phrase is harmless once; across a long session they pile up until every scene sounds like the same author on autopilot. The community calls this "slop".

UnslopNemo is TheDrummer's attempt to train it out. It is a 12B fine-tune for adventure writing and roleplay, and OpenRouter describes the v4.1 release as "the latest addition from the creator of Rocinante". What makes it worth a guide is not its size but its method: it attacks a specific, measurable failure rather than promising general quality.

What slop actually is

Slop is not bad writing in the usual sense. It is over-represented writing: phrases that appear far more often in model output than in human prose, because they were common in the synthetic or scraped data the model learned from. Models trained on each other's outputs amplify them further.

The result is a recognisable voice. Readers notice it before they can name it, and once noticed it is hard to ignore. For roleplay, where one session can run to tens of thousands of tokens, the repetition is the main thing that makes a model feel mechanical.

How the unslopping worked

The clearest public description is in the card on the GGUF repository for the first release, UnslopNemo 12B v1, which notes it was previously published as BeaverAI/Rocinante-12B-v2c-GGUF. The author writes that they "unslopped roughly 80% of my RP dataset in an attempt to make the model more expressive" — rewriting the training data to remove the stock phrases before fine-tuning on it.

The card lists the targeted phrases and is candid about results. Examples include "audible pop", "chestnut eyes", "mischief", "couldn't help but" and "shiver down". It reports a 20% failure rate in removing some of them, and marks one phrase as a total failure, with no instances replaced at all.

That honesty is useful. It tells you this is a data-cleaning approach with partial coverage, not a guarantee. The v2 and v3 cards raise the figure to roughly 90% of the dataset but add no further detail, and the v4 and v4.1 repositories carry little more than a link to a community thread. The v1 description is therefore the best available account of the method, not a precise description of the v4.1 served on OpenRouter.

The Mistral Nemo base

Mistral released NeMo on 18 July 2024, built with NVIDIA: a 12B model under Apache 2.0 with a 128K context window and the Tekken tokenizer. It became a popular base for community tunes because 12B runs comfortably on consumer hardware and the licence is permissive.

Two practical points follow. First, the base's 128K window is the ceiling. Some catalogue listings for UnslopNemo advertise a far larger context than that; ignore them, because a fine-tune does not extend its base's trained positional range, and quality degrades well before the nominal limit in any case. Second, the fine-tune's own licence is not stated on its Hugging Face page, so check the repository before commercial use rather than assuming Apache 2.0 carries through.

The Mistral Nemo guide covers the base model as a general assistant.

Templates changed between versions

This catches people out. The v1 card recommends ChatML for "maximum unslop" and warns that you may need to set <|im_end|> as a stop token. The v2 card lists Mistral, ChatML or plain text completion, and v3 swaps ChatML for Metharme. OpenRouter, by contrast, lists the current model with the Mistral instruct format. When you call it through an API the provider applies the template for you; when you run weights locally, check which version you downloaded and which template its tokenizer config expects.

The same card has a sampler note the author later struck through: that the DRY repetition sampler "surprisingly brought up the slop". What remains is advice to experiment with samplers, and the v2 and v3 cards suggest you may do better with the usual defaults disabled. A reasonable start is plain temperature with min-p or top-p, adding repetition controls only if you measure a problem. Temperature, top-p and sampling explains what each knob does.

Measure the slop yourself

The claim is specific enough to test. Generate the same set of scenes with UnslopNemo and with a stock Nemo instruct model, then count phrase frequency per thousand words:

import re, sys

PHRASES = ["shiver down", "couldn't help but", "mischief",
           "audible pop", "barely above a whisper", "a mix of"]

text = open(sys.argv[1], encoding="utf-8").read().lower()
words = len(text.split())
for p in PHRASES:
    n = len(re.findall(re.escape(p), text))
    print(p, n, round(n * 1000 / max(words, 1), 2))

Run it on a few thousand words from each model with matched prompts and settings. Extend the phrase list with whatever tics annoy you most. A lower rate with no loss in coherence means the tune is doing its job on your prompts; a similar rate means the scrubbing did not cover the phrases your scenes provoke.

Count coherence separately. Removing clichés is only useful if the replacement prose still tracks characters, places and plot. Read a long session end to end and note where continuity breaks.

Where it fits, and when to move up

On OpenRouter at the time of writing, UnslopNemo 12B lists at $0.40 per million tokens for both input and output, a flat rate that makes long sessions easy to budget. Locally, a 12B model is the easiest of the three TheDrummer tunes covered here to run.

The limits are those of a 12B model. It will lose track of complex scenes and large casts sooner than a 24B or 36B tune. If continuity matters more than phrasing, look at Cydonia 24B V4.1, which sits on the newer Mistral Small 3.2 base, or Skyfall 36B V2 if you want the largest of the three and can live with a 32K window.

A practical rule: pick UnslopNemo when hardware is tight or when stock phrasing is the specific thing ruining your output. Pick a larger tune when the problem is the model forgetting what happened.

Common questions

What does "unslop" mean in UnslopNemo?

It refers to scrubbing over-used stock phrases, such as "shiver down" or "couldn't help but", out of the training data. The v1 card says roughly 80% of the roleplay dataset was rewritten this way, with a 20% failure rate on some phrases.

What is the real context window of UnslopNemo 12B?

Treat the Mistral Nemo base's 128K tokens as the ceiling. A fine-tune does not extend its base's trained context, so a listing that advertises far more should not be relied on.

Which prompt template does UnslopNemo 12B use?

The v1 card recommended ChatML, while OpenRouter lists the current version with the Mistral instruct format. Through an API the provider handles it; locally, follow the tokenizer config of the exact version you downloaded.

Similar articles

Cydonia 24B V4.1 Guide: A Fiction Tune on Mistral Small 3.2
Models
Models·7 min read

Cydonia 24B V4.1 Guide: A Fiction Tune on Mistral Small 3.2

Cydonia 24B V4.1 is TheDrummer's uncensored creative-writing fine-tune of Mistral Small 3.2. What the base gives it, how to run it, and where it falls short.

Read
Skyfall 36B V2 Guide: An Upscaled Mistral Small for Fiction
Models
Models·7 min read

Skyfall 36B V2 Guide: An Upscaled Mistral Small for Fiction

Skyfall 36B V2 grows Mistral Small 2501 to 36B and trains it for storytelling. What an upscale buys, why 32K context limits it, and when to choose it over Cydonia.

Read
Aion-2.0 Guide: A DeepSeek V3.2 Fine-Tune Built for Story Conflict
Models
Models·6 min read

Aion-2.0 Guide: A DeepSeek V3.2 Fine-Tune Built for Story Conflict

Aion-2.0 is AionLabs' DeepSeek V3.2 variant tuned for roleplay that adds tension on its own. Specs, pricing, reasoning controls and where it sits in the Aion line.

Read