Fine-tuning
We correct the model itself
A filter in front of a model catches what it can see. A model corrected in its own weights does not need to be caught. We read where a model drifts, correct it in its weights, add the skills it lacks, and measure the result before and after.
Two things we do
The loop, step by step
- Write the mandate: what the model must and must not do.
- Test the model against it, in five languages.
- Read where the wrong decision forms inside the model.
- Correct it in the weights.
- Verify on data it never saw, in both directions: how often it gives in, how often it refuses what it should do.
- Save the corrected model where you own it.
- Carry the correction to a smaller model when you need one.
Measured results
| What we corrected | Before | After |
|---|---|---|
| Hidden commands in documents (60 commands, 5 harmful actions, open 7B model) | 13 carried out | 0, every user task still done |
| Hidden orders on a public benchmark of tool-using agents (same model, unchanged) | baseline | about a quarter as many |
| Attacks spread over many messages | baseline | cut by more than half, with near-normal caution |
Each result has its lab write-up, with the bar declared before the run. →
Two ways to work with us
Questions
Do you need access to the model?
To correct a model, yes: we work on models you host or that grant access to their weights. On closed models we can still read behaviour from the output alone.
Where does the tuned model end up?
In your own repository, with the report of what changed.
Can a correction make the model worse at something else?
That is what we check last: every correction is measured on tasks it was not trained on, and on how often the model refuses what it should do.
Which models?
Open models; our published corrections so far run from 0.5 to 7 billion parameters.