# Topics at every level

These topics apply whichever level you use.


## Evals

Measuring whether a change made the results better. (status: sourced)

- [Evaluation frameworks](/gradient_ascent/techniques/eval-frameworks/): The tools that run test sets and graders for you, and what to check before trusting their numbers. (sourced)

## Changing the model

Fine-tuning, distillation, synthetic data and automated prompt tuning. (status: sourced)

- [Fine-tuning and adapters](/gradient_ascent/techniques/fine-tuning/): Training a model further on your own examples, in full or with small adapters such as LoRA. (sourced)
- [Distillation](/gradient_ascent/techniques/distillation/): Training a smaller model to reproduce what a larger one does on your task. (sourced)
- [Synthetic data](/gradient_ascent/techniques/synthetic-data/): Using a model to write training or test examples, and checking them before they are used. (sourced)
- [Prompt optimization](/gradient_ascent/techniques/prompt-optimization/): Letting a program search for better prompts against a test set. (sourced)

## Safety, privacy and governance

Prompt injection, permissions, data handling and audit. (status: sourced)

- [Guardrails](/gradient_ascent/techniques/guardrails/): Checks on what goes into a model and what comes out, and the limits of those checks. (sourced)
- [Red teaming](/gradient_ascent/techniques/red-teaming/): Attacking your own system on purpose, before someone else does, and turning what you find into tests. (sourced)

## Operations

Cost, speed, monitoring and running models on your own hardware. (status: sourced)

- [Observability](/gradient_ascent/techniques/observability/): Recording what each run did, so a bad result can be traced to the step that caused it. (sourced)
- [AI gateways](/gradient_ascent/techniques/ai-gateways/): One entry point in front of several model providers, for keys, routing, limits, fallback and logs. (sourced)
- [Cost optimization](/gradient_ascent/techniques/cost-optimization/): Spending fewer tokens and less time for the same result: caching, batching, smaller models, shorter context. (sourced)
- [Running models locally](/gradient_ascent/techniques/local-inference/): Running open-weight models on your own hardware: what fits, quantization, and what you give up. (sourced)

## Working with a model

How to brief a model, review its work and decide what to hand over. (status: sourced)

- [Briefing: saying what you want](/gradient_ascent/techniques/briefing/): Saying what you want clearly enough that the model does not have to guess. (sourced)
- [Reviewing work you did not do](/gradient_ascent/techniques/reviewing/): Checking work you did not do yourself before it goes anywhere. (sourced)
- [Deciding what to hand over](/gradient_ascent/techniques/delegating/): Deciding which parts of a task to hand to a model and which to keep. (sourced)
- [Calibrating trust](/gradient_ascent/techniques/trust/): Learning, from results over time, how much to rely on a model without checking. (sourced)
