# Fine-tune report: <your model name>

<!--
Purpose: the written deliverable of Part 13's project. One page that lets somebody else, or you
         in six months, decide whether to use this model, reproduce this result, or throw it away.
Platform: all
Minimum memory: not applicable; this is a document
Assumes: the run records that labbook.md accumulated, and the comparison that
         evaluate-against-base.py printed. Fill in every angle-bracket placeholder and delete
         every comment block, including this one. A field you cannot fill is a field to write
         "not recorded" in, not one to delete: the gap is information.

Keep it to one page. The numbers live in the tables, and the tables carry their own context,
which is the course's rule about numbers applied to your own work.
-->

**Author:** <you> &nbsp; **Date:** <YYYY-MM-DD> &nbsp; **Track:** <S, X, M or N>
**Machine:** <chip and memory, from the hardware reference>

## What this model is for

<!-- Two or three sentences. The domain, the job, and who would use it. If a reader cannot tell
     from this paragraph whether the model is relevant to them, it is too vague. -->

## The claim

<!-- One sentence with a number in it, written before training and unchanged afterwards. The
     shape: "On <task set>, at temperature <t> with seed <s>, <fine-tune> passes <n> more of the
     deterministic checks than <base> and its judge mean in <categories> is not lower." -->

## Base model and licence

| Field | Value |
| --- | --- |
| Base model | <repository id> |
| Parameters | <from the model card> |
| Licence | <from the model card; a fine-tune is a derivative work> |
| Chat template | <the tokeniser it came from, and whether you changed it> |

## Data

| Field | Value |
| --- | --- |
| Source | <your own work, generated by a teacher and reviewed, transformed from a file> |
| Licence and confidentiality | <what the source material allows> |
| Redaction | <what was replaced before the trainer saw it, or "none needed"> |
| Training examples | <n> |
| Validation examples | <n> |
| Held-out task file | <name and task count> |
| Training file SHA-256 | <from the run record> |
| Decontamination | <what decontaminate.py reported against your Part 10 file, and what you did> |

## Training run

| Field | Value |
| --- | --- |
| Run id | <from labbook.md> |
| Method | <LoRA or QLoRA; 4-bit quantisation type if any> |
| Rank / alpha / dropout | <r> / <a> / <d> |
| Target modules | <the list, or all-linear> |
| Learning rate / schedule | <lr> / <scheduler and warm-up> |
| Epochs / effective batch | <e> / <batch times accumulation> |
| Sequence length | <max_length> |
| Best epoch | <n, and what that says about the data> |
| Wall-clock | <hh:mm> |
| Peak memory | <GB, measured, or "not recorded"> |
| Package versions | <torch, transformers, trl, peft, from the run record> |

## Results

<!-- One row per model per task set. Both models at the same quantisation, the same sampling
     settings and the same system prompt, or the comparison is measuring two things at once. -->

| Task set | Model | Tasks | Checks passed | Judge mean | Change |
| --- | --- | --- | --- | --- | --- |
| <domain-tasks.json> | base | <n> | <n> | <x.xx> | - |
| <domain-tasks.json> | fine-tune | <n> | <n> | <x.xx> | <+/-> |
| <my-tasks.json> | base | <n> | <n> | <x.xx> | - |
| <my-tasks.json> | fine-tune | <n> | <n> | <x.xx> | <+/-> |

**Settings:** temperature <t>, top-p <p>, seed <s>, max tokens <n>.
**Engine and version:** <engine> <version>. **Quantisation served:** <the same for both rows>.
**Judge:** <model, or "deterministic checks only">.
**Judge agreement with you:** <from judge.py human, or "not measured">.
**Noise floor:** <the difference between two runs of the base model at these settings>.

### Per category

| Category | Base | Fine-tune | Change |
| --- | --- | --- | --- |
| <category> | <x.xx> | <x.xx> | <+/-> |

<!-- Every category from your own Part 10 set belongs here, including the ones that did not
     move. A category that got worse and is missing from this table is the one thing that would
     make this report dishonest. -->

## What got worse

<!-- Name it. Every fine-tune trades something, and a report that claims nothing regressed
     either measured too little or is not looking. If genuinely nothing moved outside the noise
     floor, say that and give the noise floor. -->

## Export

| Field | Value |
| --- | --- |
| Merged into | <base model and precision> |
| Merge comparison | <n of n prompts matched the adapter-attached model> |
| Formats produced | <GGUF and type, MLX, safetensors, AWQ, FP8> |
| Served as | <the gateway name> |
| Published to | <private repository, or "kept local"> |

## Verdict

<!-- One of three, and say which: use it, keep iterating, or discard it. Then one sentence of
     reason, and one sentence naming what you would change first if you ran it again. -->

## Reproducing this

<!-- The exact commands, in order, from dataset to served model. Someone with your data and
     your machine should be able to paste these and get a comparable result. -->

```sh
# dataset
# decontamination
# training
# evaluation
# export
```
