onrup

Supervised fine-tuning

Content moderation

How do I fine-tune a moderation model on my own policy?

Train on your own moderator decisions, including the appeals that were overturned. Off-the-shelf classifiers enforce somebody else’s policy; the edge cases that generate complaints are exactly where policies differ.

Content moderation at a glance
ObjectiveSupervised fine-tuning
Dataset shapeContent in, policy category and action out, with overturned appeals relabelled to their final outcome.
Metric that decides itFalse-positive rate on benign content, tracked separately from recall on each violation category.
Cheapest starting pointQwen3 1.7B on RTX 3080$0.09 per GPU-hour

Moderation is a policy problem wearing a machine-learning costume. The hard cases are not ambiguous to a human who knows the policy; they are ambiguous to a model that has been trained on somebody else’s. Your own decision history is the only real description of what your policy means in practice.

Appeals are the most valuable data you have and the most commonly discarded. An overturned decision is a labelled example of a mistake your current process makes, and it is worth more per row than a hundred easy cases.

Small models are enough. Moderation is classification with a policy attached, and it runs at volumes where a 1.7B model at a few cents an hour is the difference between viable and not.

The mistake to avoid

Optimising a single aggregate accuracy number. False positives on benign content and misses on genuine violations have completely different costs, and one number hides which one you are trading away.

Models to start from

In order. Start at the top and move down the list only if the evaluation gate says you have to — the smallest model that clears your bar is the one you pay for on every request forever.

Before you deploy it

Whatever the metric above says in isolation, the deployment decision is comparative: is this better than what is running today? Gate the candidate against the incumbent, blinded, on held-out cases from your own traffic. A fail is a cheap answer to an expensive question.

How the evaluation gate works →

Frequently asked questions

How do I handle policy changes?

Relabel the affected slice of your evaluation set first, then retrain. If the gate shows the new model losing on unaffected categories, the change leaked further than intended.

Should the model take the action or recommend it?

Recommend, at first, with a human confirming. Use the confirmation rate as your live measure of whether it is ready to act alone.

Start with Qwen3 1.7B

Upload your dataset, read the validation report, and forecast the run before anything is leased.