PLatour-Qwen3.5-35B-to-4B-DAPO

Paper

On the Opportunities and Challenges of Prefill-to-Autoregressive Cross-Model Transfer

PLatour explores Prefill-to-Autoregressive Cross-model Transfer (PACT): a larger sender encodes the prompt and supplies hidden representations, while a smaller receiver generates the response independently. The main method trains lightweight linear bridges between frozen backbones using task rewards, starting from zero-initialized projections and supporting hybrid-attention models.

The paper also introduces PACT-Check, with Dummy Transfer, Irrelevant Transfer, Self-Communication and Trained Receiver controls. These comparisons examine whether improvements depend on useful sender information or can arise through adaptation of the receiver. Better task performance alone does not demonstrate effective cross-model communication.

Experiment 19: PLatour on dapo.

Bridge projections; download the referenced sender and receiver separately.

Code · Model collection · Agent/API guide

Project environment

Use Linux with CUDA, Python 3.11 and enough GPU memory for the selected models. Run the project commands from an editable checkout so the release manifests and task files are available. See the installation guide.

git clone https://github.com/zhenyi4/platour.git
cd platour
python3.11 -m pip install --user uv
python3.11 scripts/install_environment.py
source .venv/bin/activate

Training, generation and scoring use the active Python. The examples below need no vllm_python argument. See the environment guide for installation options, runtime checks and compatibility details.

Generate an answer

This checkpoint contains bridge projections, not complete model weights. Load the separately sourced frozen sender and receiver with the project API; AutoModel.from_pretrained cannot load the bridge as a standalone model.

After the project setup above, run this Python example from the checkout root. The API receives local backbone directories and a local checkpoint file; resolve_model_input and ensure_weight prepare those paths first.

from platour_exps import ensure_weight, resolve_model_input
from platour_api import load_session

# Download/cache backbones; verify the released checkpoint against the manifest.
receiver = resolve_model_input("Qwen/Qwen3.5-4B")
sender = resolve_model_input("Qwen/Qwen3.5-35B-A3B")
checkpoint = ensure_weight(19)

system = load_session(
    family="qwen35", method="bridge",
    receiver=receiver, bridge=checkpoint,
    sender=sender,
    task="dapo",
)

answer = system.generate(
    messages=[{"role": "user", "content": "What is 2 + 2?"}],
    backend="vllm", max_new_tokens=256,
    output="./outputs/19-custom-prompt",
)
print(answer["response"])

This is a custom-prompt demo, not the published benchmark protocol. The 256-token limit is only a short example; increase it for longer answers. Use a fresh output directory for each run. Generation returns text and does not execute generated code.

Evaluate the released checkpoint

Run from the project environment above. This uses the published TEST inputs and the selected experiment's sampling/scoring settings; no training is performed.

platour-exps evaluate --experiment 19 \
  --weights zen-E/PLatour-Qwen3.5-35B-to-4B-DAPO \
  --sender Qwen/Qwen3.5-35B-A3B \
  --receiver Qwen/Qwen3.5-4B \
  --output ./outputs/19-release-eval

--sender and --receiver accept HF IDs or local directories. Missing backbones, released weights and published task inputs download automatically. The release loader verifies the configuration and weight hashes. Omitting --weights selects the same experiment's published checkpoint. Use a new output directory.

To download and verify just the released checkpoint without loading models:

platour-exps download --experiment 19

See the task protocols and checkpoint index.

The default evaluates AIME, HMMT and IMO with the published 32K response cap. Add --eval-suites aime for AIME-135 and its Clean80 subset only; partial runs report three_suite_macro: null. Adding --response-cap 16384 shortens the cap and is recorded as a change from the published test protocol.

GPU placement for project evaluation

Option Behavior for this checkpoint
Omit --n-gpu One process with the existing automatic placement; no automatic data-parallel replicas.
--n-gpu 8 8 independent replicas, each using 1 GPU, with disjoint question shards.
--n-gpu N --gpus-per-replica G N total GPUs split into N / G replicas; N must be divisible by G.

The default group size for this checkpoint is 1 GPU per replica. --n-gpu 1 is supported when the complete workload fits on one GPU. Every replica needs enough memory for its models and decoding workload. Use CUDA_VISIBLE_DEVICES to select/order GPUs. Do not combine --n-gpu with torchrun. These flags apply to the project evaluator, not the Python generate() examples. See evaluation GPU defaults.

Evaluation provenance

This repository distributes historical inference weights without benchmark scores. No claim about checkpoint-selection protocol or unbiased held-out performance is made. Independent evaluation and provenance review are required before using these artifacts to support new comparative research claims.

Reproducibility and licensing

Original tensor payloads are unchanged; file hashes reflect a public inference export. Exact backbone revisions used for the historical run have not been independently verified and must not be inferred from the latest Hub revision. This export does not attach benchmark results.

The export uses the project's Apache-2.0 license. The referenced upstream models retain their own licenses and notices. This inference export is not optimizer/RNG resume state.

Citation

@misc{pact_platour,
  title={On the Opportunities and Challenges of Prefill-to-Autoregressive Cross-Model Transfer},
  author={Zhenyi Shen and Junru Lu and Wei Liu and Jiangnan Ye and Jiazheng Li and Di Yin and Xing Sun and Tameem Adel and Yali Du and Lin Gui and Yulan He},
  year={2026},
  eprint={2611.06976},
  archivePrefix={arXiv},
  primaryClass={cs.CL},
  url={https://arxiv.org/abs/2611.06976},
}
Downloads last month
60
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for zen-E/PLatour-Qwen3.5-35B-to-4B-DAPO

Finetuned
(205)
this model

Dataset used to train zen-E/PLatour-Qwen3.5-35B-to-4B-DAPO

Collection including zen-E/PLatour-Qwen3.5-35B-to-4B-DAPO

Paper for zen-E/PLatour-Qwen3.5-35B-to-4B-DAPO