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.
| Objective | Supervised fine-tuning |
|---|---|
| Dataset shape | Content in, policy category and action out, with overturned appeals relabelled to their final outcome. |
| Metric that decides it | False-positive rate on benign content, tracked separately from recall on each violation category. |
| Cheapest starting point | Qwen3 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.
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.