Checkpoint
Table | |
|---|
| Role | Teacher fine-tuned to make the duplicated-ID error on purpose (one item ID is repeated in the ranking) |
| What it is | Teacher fine-tuned (supervised) on ESCI targets in which 20% of the training copies carry an injected duplicated ID (one item ID repeated in the ranking). It reproduces this error by design. |
| Paper reference | Table 1 (Qwen3 / ESCI duplicated ID: teacher) |
| Task | ESCI listwise product ranking: given a shopping query and 8 candidate products, score each product's relevance (0-10) and return a strict JSON list of 8 {"product_id", "score"} objects in prompt order |
| Training data | teacher_sft/dup_f20_x5.jsonl of XINLI1997/ErrOPD-ESCI: 5 copies of the 1,800 training lists, with the duplicated-ID error injected into about 20% of the copies |
| Base model | Qwen/Qwen3-4B |
| Weights | bf16 safetensors, 2 files, 8.04 GB (4.02 B stored parameters). |
Usage
# pip install "transformers>=4.57.0" accelerate datasets torchimport torchfrom datasets import load_datasetfrom transformers import AutoModelForCausalLM, AutoTokenizer repo = "XINLI1997/ErrOPD-Qwen3-4B-teacher-dupid-ESCI"tokenizer = AutoTokenizer.from_pretrained(repo)model = AutoModelForCausalLM.from_pretrained(repo, dtype=torch.bfloat16, device_map="auto") # one held-out prompt (system + user turns) from the evaluation splitexample = load_dataset("XINLI1997/ErrOPD-ESCI", split="validation")[0]messages = [m for m in example["messages"] if m["role"] != "assistant"] inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt", return_dict=True).to(model.device)output = model.generate(**inputs, max_new_tokens=512, do_sample=False)print(tokenizer.decode(output[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))
The expected output is a JSON list of 8 objects {"product_id": ..., "score": ...} in the order of the products in the prompt. Prompts, decoding settings and the scoring code used in the paper are in the code repository.
Notes:
- The bundled chat template is the one used for fine-tuning, distillation rollouts and evaluation in the paper.
- This teacher was fine-tuned on targets that start with an empty
<think>\n\n</think> block (Qwen3 non-thinking format, see the teacher_sft files of the dataset) and reproduces it; strip it before parsing the JSON.
Training
Teacher fine-tuned (supervised) on ESCI targets in which 20% of the training copies carry an injected duplicated ID (one item ID repeated in the ranking). It reproduces this error by design. Full training configurations and scripts are in the code repository.
Evaluation
This checkpoint is reported in the paper, Table 1 (Qwen3 / ESCI duplicated ID: teacher); see that table for its scores.
Limitations
- Trained for one narrow structured-output task. It is not a general assistant, and outputs for other prompts are not meaningful.
- Teachers in this release were fine-tuned to make an injected format error on purpose; distilled students may inherit it. This is what the paper measures.
- Relevance targets come from the ESCI labels of the Amazon Shopping Queries Dataset; English queries only.
License
Apache-2.0, inherited from the base model Qwen/Qwen3-4B (see LICENSE). The training data keep their own terms (see the dataset card of XINLI1997/ErrOPD-ESCI).
Citation
@article{li2026erropd, title = {ErrOPD: When Does On-Policy Distillation Transfer Teacher Errors?}, author = {Li, Xin and Jiang, Hao and Wang, Annan and Zhang, Yichi and Yuen, Chau}, journal = {arXiv preprint arXiv:2605.08737}, year = {2026}}