How Post-Training Divides Work Across Model Layers
Fine-tuning changes what a language model does, but it can also change how the work is divided across depth. A learned late-layer change may work on the base model's earlier state, or it may need earlier computation learned alongside it. This repository contains the code, compact evidence, and paper figures for measuring that difference.
- Read the paper on arXiv
- Open the repository PDF
- Reproduce the paper figures and numbers
- Inspect the claim-to-artifact map
Suppose a base model and a fine-tuned descendant have the same architecture. At a fixed layer boundary, we combine either model's earlier hidden state with either model's late stack:
flowchart LR
UB["base earlier state"] --> LB1["base late stack"]
UB --> LD1["descendant late stack"]
UD["descendant earlier state"] --> LB2["base late stack"]
UD --> LD2["descendant late stack"]
LB1 --> YBB["target margin"]
LD1 --> YBD["target margin"]
LB2 --> YDB["target margin"]
LD2 --> YDD["target margin"]
The key comparison asks whether replacing the base late stack with the descendant late stack has the same effect after base and descendant earlier states. If the replacement works after base state, the late change is portable. If it works much better after descendant state, its effect depends on earlier computation learned during post-training.
| Evidence | Result |
|---|---|
| Same-base released descendants | Seven descendants of Llama-3.1-8B span interactions from -0.54 to +2.20 logits on one fixed support. |
| OpenMath2 | Its math late stack moves the target margin by +3.43 logits after base state and +3.28 after its own state, so the large late effect is already portable. |
| Controlled same-target experiment | With prompts, target responses, optimizer, LoRA configuration, update count, and support fixed, replacing familiar instructions with nonce cues increases upstream dependence by +5.56 logits on Qwen3-4B and +4.18 on Llama-3.1-8B. The shift is positive in all six model-by-seed runs. |
| Breadth | The interaction is positive in all five released base/instruction pairs tested, from 4B to 32B. |
| Decision-level consequence | Late-stack replacement changes the full-vocabulary top-1 token in roughly half of selected events; forced-token GSM8K scoring changes exact-answer accuracy by +3.2 and +2.5 points in two descendants. |
The controlled experiment is the central causal result: the target outputs are identical across arms, while only the relation used to request them changes.
The compact artifact bundle supports CPU verification of the retained paper claims:
python scripts/reproduce/check_same_base_dependencies_paper.pyExpected output:
same-base dependency paper: 93/93 checks passed
To regenerate the four paper figures:
python -m pip install -r requirements.txt
python scripts/plot/plot_same_base_dependencies_paper.py| Path | Contents |
|---|---|
paper/ |
Public paper PDF and a short paper record |
data/ |
Fixed evaluation manifests used by the compact checks |
results/ |
Paper-facing CSV, JSON, Markdown, and figure artifacts |
scripts/reproduce/ |
Deterministic claim checker |
scripts/plot/ |
Figure regeneration script |
src/poc/exp60_controlled_routing_coupling/ |
Controlled familiar-versus-nonce training experiment |
artifact_map.json |
Claim-to-artifact index |
The diagnostic is local to selected next-token decisions. It does not estimate average instruction-following behavior, prove that hybrid states are natural trajectories, or establish that a freely generating stitched model will work. The released-checkpoint atlas is descriptive; the controlled same-target experiment isolates one training property on two dense base models and a four-mode task.
Citation metadata is provided in CITATION.cff. GitHub's Cite this repository button will format it automatically.
Paper-facing code is released under the MIT License. Model checkpoints and datasets retain their original licenses; model weights are not redistributed.

