> ## Documentation Index
> Fetch the complete documentation index at: https://benchgen.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Train a small classifier that routes each query to the best model in a pool, instead of fine-tuning a whole model.

# Router Head Overview

A **router head** is a small classifier trained on top of a frozen backbone model. Instead of generating
text itself, it looks at an incoming query and picks which model in a fixed **pool** (e.g. a mix of
frontier and cheaper open models) should actually answer it. The pool member's real reply is what gets
returned — the head only makes the routing decision.

This guide walks through the full loop: publish a training dataset, train a router head, and evaluate
it on a benchmark, all using BenchGen — see [BenchGen Router Lite](/docs/guides/router-head/benchgen-router-lite)
for the step-by-step walkthrough.

***

## Why train a router head

* **Cost control** — send easy queries to a cheap model and only route hard ones to a frontier model.
* **No generation weights to manage** — the head is a few thousand parameters; there's no adapter to
  merge or serve a full model for.
* **Fast to train** — training is separable CMA-ES against a static reward matrix, not gradient descent
  over the backbone. A pilot-sized dataset trains in well under a minute on CPU.

***

## The loop

1. **Create a dataset** — publish two paired HuggingFace datasets: per-task rewards for each pool
   member, and the task prompts themselves.
2. **Train a router head** — pick the **Head** training method, point it at your datasets, and let
   separable CMA-ES evolve the head.
3. **Serve and benchmark it** — register the trained head as a selectable model, test it live, and
   run it against a benchmark like any other model on the platform.

<Note>
  A router head's own output is a routing decision, not an answer — benchmark scores measure the
  **router + pool** system together, not the head in isolation. Keep this in mind when comparing scores
  against a standalone model.
</Note>
