Open-source project
thinkwee/AwesomeOPD avatar
thinkwee/AwesomeOPD

AwesomeOPD: a taxonomy for on-policy distillation, with a strict entry bar

Awesome List for On-Policy Distillation

878 stars23 forksUnknownLicense varies

At a glance

What is it?
AwesomeOPD is a curated list of papers and open-source repositories for training models with on-policy distillation, and the interesting part is not the length of the list but the definition it enforces. An entry has to satisfy two conditions, student-generated rollouts plus per-token or sequence supervision on those rollouts, and anything that only partly satisfies them is flagged rather than quietly included.
Who is it for?
Use AwesomeOPD as a map of the on-policy distillation literature rather than as a reading list, because the value is the taxonomy and the strictness flags rather than the volume, and it is organised by how a method actually differs rather than by publication venue. Do not treat it as authoritative without checking, because the README states it was built by reading papers, project pages and source code with LLM coding agents, manually reviewed but with errors possible.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 6 days ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Two conditions decide whether a paper belongs

The README defines what on-policy distillation means here, and the definition is the reason the list is worth reading. OPD equals C1 plus C2. C1 is that the student samples its own trajectories, written as y from the student policy given x, during training. C2 is that the teacher provides per-token or sequence supervision on those student samples. Both are required, and methods that only partially satisfy them are flagged in strictness notes per section rather than being dropped or accepted silently. That is a much sharper filter than the one most surveys apply, where anything that mentions the teacher's logits during training tends to get included. OPSD, on-policy self-distillation, is treated as a special case where the teacher is the same model, conditioned on privileged context such as a verified trace, a known answer, a be concise prefix, a longer context, or an earlier checkpoint. The two conditions are what make a checklist possible at all, and they are what a reader can apply to a paper the list has not yet seen.

Four axes instead of one topic list

Each entry is annotated along four design axes, and this is what turns a list of links into a map. The first is teacher source, with the options external, the same model with privileged context, an earlier checkpoint, multi-teacher, or a discriminator. The second is the supervision signal, ranging from logits and top-k through sequence reward, verbal score, discriminator, verifier and feature. The third is rollout consumption, meaning what happens to the student's own samples: all, selected, truncated, replaced, or used as policy gradient samples. The fourth is the pipeline slot, which says where in a training run the method lives: cold start, mid, RL replacement, inside RL, inter-stage, compression or continual anchor. A method that reads as one entry in a conventional survey shows up in four different places depending on those choices, and a reader trying to place their own work in the field can find the cell rather than guess the nearest paper.

The taxonomy, section by section

The sections are organised by method rather than by topic, with a few cross-cutting ones. Surveys, Foundations and Position Papers holds the meta-references and seed papers, naming GKD, MiniLLM, a Thinking Machines blog post and Tencent and THUNLP surveys. White-Box covers logit-based OPD on student rollouts with an external teacher, and Black-Box covers discriminator, verbal and preference methods with no teacher logits, which is the split that matters when you cannot get logits out of your teacher. OPSD is privileged-context self-distillation, and Iterative Self-Bootstrapping is where the same model acts as the previous checkpoint's teacher. OPD-RL Hybrids covers OPD inside reinforcement learning, with KL-as-reward and RL plus OPD fusion. Then the application cuts, Reasoning, Multimodal, and Agent and Embodied, which cut across every teacher-source category. Speculative-Decoding Distillation treats the drafter as the student. Frameworks and Toolkits is what to actually run, and Industrial and Production Reports is what the labs ship. The badge counts in the README give the current sizes of each bucket.

How the sweeps are run and what gets rejected

The update log is the part that shows the method rather than the outcome. A monthly sweep proposes candidates in per-topic passes, then every accepted entry is re-checked against its arXiv abstract and its organisation cell against the arXiv HTML or PDF front matter. The August 2026 sweep describes seven per-section sweeps proposing candidates against the C1 and C2 conditions, followed by ten adversarial verifiers that re-checked every accepted entry by attacking rather than confirming it, with the stated rule that no entry survived on a proposer's word alone. The October 2026 sweep added 38 entries with every accepted entry re-checked against its abstract. The rejections are listed with reasons, and they are specific. Self-OPD was rejected because it is teacher-free reward-branch reinforcement learning with no C2. OnPoKD was rejected because its use of on-policy refers to a target-construction controller with no student rollouts. Acceptance-Aware Draft Training was rejected because it uses offline losses with an optional GRPO stage. PSP and OPSA are listed in Surveys only, as diagnostics, because their proposed methods are not OPD.

The gap the October sweep found, and the naming collisions

Beyond the counts, each sweep records what the month's work said about the field, and the October 2026 note is worth reading on its own. Its through-line is that data and teacher signal matter less than assumed. One-Shot OPD and DF-OPD independently show that a handful of prompts, either one to sixteen real ones or sixty-four self-generated, matches full-data OPD. Does OPD Really Distill finds that a fixed negative advantage matches the teacher's. What Does PI Add to OPSD attributes most OPSD gains to reference-free cross-mode transfer rather than to the privileged context itself. On- or Off-Policy finds that the KL direction, not the rollout policy, drives the results. The second theme named is multi-teacher OPD calibration, naming DN-MOPD, TrustMOPD, VG-OPD and MiMo-V2.6's MOPD2, alongside a cluster of OPD to reinforcement learning handoff schedules for agents. The sweep also records two new name collisions, OPRD used for both weak-to-strong reverse distillation and representation distillation, and TIDE used for both an agentic handoff method and a White-Box method, both flagged inline.

What a list like this cannot do

The README states the limitation plainly and it deserves to be quoted rather than paraphrased. The list was built by reading paper PDFs, project pages and source code with LLM coding agents, and it was manually reviewed, but errors are possible. That is an unusual admission to find in a curated list and it changes how you should use it. The verification described is real work, two passes with adversarial verifiers, but it is verification against abstracts and front matter rather than against a reproduction, so a method listed as White-Box could turn out to be closer to OPSD in its actual implementation. A further limit is that the list is a snapshot: the last update recorded is 2026-10-10, and the field it covers produces preprints at a rate the monthly cadence cannot absorb. The entries marked as paper-only, meaning no public code was available, are a further caveat, since the method cannot be checked against an implementation.

Where the repository itself is thin

There is not much here beyond the list, and that is worth saying plainly rather than padding. The repository contains three entries at the root: the README, a banner image and a CITATION.cff file. There is no code, no tooling, no export script and no database, so the taxonomy lives in a Markdown document and the badge counts are computed by hand and pasted in. The README notes that the badge counts were recomputed from the table rows, which also picks up community pull requests that had not been counted, so the numbers are maintained by hand at each sweep rather than by a script. There is also a request to cite the repository via the cite this repository button, and the CITATION.cff file is the machine-readable half of that. The primary language field on the repository is not set and the licence field carries no standard identifier, so a reader wanting to reuse the taxonomy itself has no stated terms to work from.

Editorial conclusion

Use AwesomeOPD as a map of the on-policy distillation literature rather than as a reading list, because the value is the taxonomy and the strictness flags rather than the volume, and it is organised by how a method actually differs rather than by publication venue. Do not treat it as authoritative without checking, because the README states it was built by reading papers, project pages and source code with LLM coding agents, manually reviewed but with errors possible. Verify first any specific paper against its abstract before building on it, that the definition you use matches the list's C1 and C2 conditions, and that the entries you cite are marked as paper-only where no code was public when the sweep ran.

Frequently asked questions

What is AwesomeOPD?

It is an awesome list summarising open-source repositories and papers for training LLMs, VLMs, agents and draft models with On-Policy Distillation and On-Policy Self-Distillation. The last update recorded in the README is 2026-10-10.

What does the list consider on-policy distillation?

It requires two conditions: C1, that the student samples its own trajectories during training, and C2, that the teacher provides per-token or sequence supervision on those student samples. Methods that only partly satisfy them are flagged in strictness notes per section rather than accepted or dropped silently.

How are entries annotated?

Along four design axes: teacher source, with external, same model with privileged context, earlier checkpoint, multi-teacher or discriminator; supervision signal, from logits through sequence reward, verbal score, verifier and feature; rollout consumption, from all through selected, truncated, replaced or as policy gradient samples; and pipeline slot, covering cold start, mid, RL replacement, inside RL, inter-stage, compression and continual anchor.

How does the list verify its entries?

Each monthly sweep runs per-topic passes that propose candidates, then re-checks every accepted entry against its arXiv abstract and its organisation cell against the HTML or PDF front matter. The August 2026 sweep describes ten adversarial verifiers attacking rather than confirming each entry, and no entry survived on a proposer's word alone.

Is the list guaranteed to be accurate?

No. The README states it was built by reading paper PDFs, project pages and source code with LLM coding agents, manually reviewed but with errors possible, and pull requests are welcome. Entries marked paper-only have no public code to check against.

Official sources

  1. Issues
  2. README
  3. thinkwee/AwesomeOPD on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/thinkwee-awesomeopd.svg)](https://hysenlabs.com/projects/thinkwee-awesomeopd)

Was this useful?