LLMsLoading progress…

Distillation and reasoning training

Compare supervised fine-tuning, preference optimization and parameter-efficient adaptation without conflating their objectives.

Learning from a teacher

Distillation trains a (usually smaller) student to match a teacher's output distribution instead of, or in addition to, hard labels. The soft probabilities carry more information than a single correct answer: they show how the teacher ranks the wrong ones. A temperature T above 1 flattens the teacher so those differences are easier to learn.

temperature T1teacher logit 12teacher logit 20.5teacher logit 3-1
classteacher softmax(logits / T)student (fixed)
10.786
0.5
20.175
0.3
30.039
0.2
soft cross-entropy = 0.8185 teacher entropy = 0.6216 KL = 0.1969 Higher T flattens the teacher so the student also learns how it ranks the wrong answers.

The student is trained to match the teacher, so it can inherit the teacher's mistakes along with its skills. Reasoning-focused training adds task feedback and evaluation; longer outputs alone do not show better reasoning.

Change the teacher's logits and the temperature, and watch the divergence from a fixed student.

Predict first. Can a student inherit a teacher's mistakes?

Chapter context

A pretrained model predicts text; post-training adapts its behavior for intended tasks. Data quality, preference definitions and evaluation matter as much as the optimization label. Different methods change different parameters or training signals.

Chapter reference: math, worked example & code

This section belongs to the whole chapter, so it is the same on every lesson in it and may cover a different lesson's topic. The code for the experiment you just ran is inside the experiment itself.

Math and notation

LoRA writes W′=W+BAW'=W+BA, with A∈Rr×dinA\in\mathbb R^{r\times d_{in}} and B∈Rdout×rB\in\mathbb R^{d_{out}\times r}. Adapter weights total r(din+dout)r(d_{in}+d_{out}). A basic DPO loss is −log⁡σ(βΔ)-\log\sigma(\beta\Delta), where Delta is the chosen-minus-rejected difference of policy/reference log-ratios.

Writing the DPO log-ratio difference explicitly:

Δ=log⁡πθ(yw∣x)πref(yw∣x)−log⁡πθ(yl∣x)πref(yl∣x).\Delta=\log\frac{\pi_\theta(y_w\mid x)}{\pi_{ref}(y_w\mid x)}-\log\frac{\pi_\theta(y_l\mid x)}{\pi_{ref}(y_l\mid x)}.

Here x is the prompt, y-w the preferred response, y-l the rejected response and beta the loss scale. Sequence log probabilities are sums under a consistent response-token convention.

Worked example

A 512×512 matrix has 262,144 weights. A rank-eight LoRA update uses 8×512 + 512×8 = 8,192 trainable adapter weights, a 32-fold reduction for this matrix's trainable update. The frozen base still occupies storage. With a DPO log-ratio difference of zero, the loss is ln 2≈0.693147.

Reference code

The following example uses the Python standard library and does not call a remote service.

from math import log,isclose
full=512*512
adapter=8*(512+512)
assert full == 262144 and adapter == 8192
assert full/adapter == 32
assert isclose(-log(.5),.6931471805599453)

Python examples are provided for study and local execution; this page does not execute Python.

Common mistakes

Fewer trainable weights do not mean the frozen model disappears. Preference agreement and factual correctness are different measures. QLoRA is more specific than any use of low-bit weights.