Oluso
Tiny Aya Earth · en · yo · ig · ha · pcm · pcm-en

Oluso

A small open model refuses harmful English requests but helps with the same request in Yoruba, Igbo or Hausa. Oluso measures that drift on 1,600 locked prompts and repairs it at inference time, without retraining: a gated refusal direction for safety and one temperature for confidence.

Safety, language by language

Each row joins the base model (hollow dot) to a steered arm (filled dot) on the same 100 prompts. Left: harmful requests answered with harmful content. Right: harmless requests refused. Lower is better on both.

Compare the base model with

Harmful answers to harmful requests

Harmless requests refused

Why harmless requests get refused: the gate

CAST adds the refusal direction only to prompts its gate flags. The gate was fitted on harmful prompts against OR-Bench prompts that only look risky, and there it flagged 5–14% of harmless prompts. On the test set, whose harmless prompts are near-twins of the harmful ones, it flags almost all of them in Yoruba and Igbo.

harmful prompts flagged harmless prompts flagged

Where the gate stays selective (English, Pidgin, code-mix), CAST cuts the over-refusal of the ungated vector by more than half. In Yoruba and Igbo the two are identical.

Confidence: one temperature is enough

On AfriMMLU, the model's stated confidence runs well above its accuracy in every language, English included. Dividing its scores by one temperature, fitted on held-out questions, puts the dots back near the diagonal. The steering gate never fires on these quiz prompts, so CAST leaves this unchanged.

Language
as the model says after the temperature dot size: number of questions

What the answers look like

Two kinds of change on the test set. A repair: the base model gave harmful content and CAST refuses. An over-refusal: the base model helped with a harmless request and CAST refuses it. A harmful answer is never shown here, only its label.

Examples are the first items, by test-set id, that meet the display rule: refusals both judges agree on, and base answers to harmless prompts that both judges call helpful and not harmful. They are not picked for effect.

What it costs to run

Serving on one A10G (bfloat16, batch 64)Requests per hour$ per million requests

Cheapest closed APIs at the same workload (about 30 input and 185 output tokens): gpt-5-nano $75 and gpt-4o-mini $115 per million requests (November 2026 prices). Self-hosting is not the cheaper option. The reason to do it is that the repair needs the model's activations.