Yibo Peng · Long Lian · David Wagner† · Sizhe Chen†
† 共同指導。
このリリースは、論文の最終的なfull-response KL定式化を実装したものであり、
no-parsingバリアントとも呼ばれます。生徒モデルは攻撃されたコンテキスト下で
ロールアウトします。同じベースモデルから初期化されたクリーンコンテキストの教師モデルが、
ペアとなるクリーンコンテキスト下で生徒モデルのサンプリングされたトークンをスコアリングします。
逆KLシグナルは、推論トークンを含むすべてのサンプリングされた応答トークンに適用され、
監視スパンの選択に</think>境界は使用されません。
training/tinker/: full-response KLトレーニングレシピと論文の正確な
設定。scripts/: データ準備とTinkerチェックポイントエクスポートユーティリティ。evaluation/sep/: SEP静的・適応型評価器。evaluation/pismith/: PISmithトレーニング/評価オーバーレイとランチャー。evaluation/agentdojo/: AgentDojoユーティリティと攻撃ランナー。evaluation/lm_eval/: MMLU-Pro、GPQA Diamond、GSM8K、Minerva MATHランナー。docs/REPRODUCIBILITY.md: エンドツーエンドのコマンドと実験設定。cp .env.example .env
python scripts/prepare_data.py
bash training/tinker/setup.sh
bash training/tinker/train_full_kl_qwen36.sh
セットアップスクリプトは、固定されたアップストリームのTinker Cookbookコミットを チェックアウトし、このリポジトリ内のソースオーバーレイを適用します。 マシン上の他のTinkerチェックアウトは変更されません。
Tinkerチェックポイントは、Tinker Cookbookのウェイトマッパーで変換する必要があります:
python scripts/export_tinker_adapter.py \
--tinker-path 'tinker://RUN_ID:train:0/weights/final' \
--output-dir adapters/secopd-full-kl
生のTinkerアダプタをバニラPEFTとマージしないでください。Qwen3.6の
linear-attentionおよびlm_headキー名には、tinker_cookbook.weightsによって
実装されたTinkerマッピングが必要です。
評価コマンド、ハードウェアに関する注意事項、正確な固定設定については、 docs/REPRODUCIBILITY.mdを参照してください。
APIキー、モデルウェイト、生成された出力、プライベートパス、実験ログは
一切追跡されません。認証情報は環境変数から読み取られ、ランタイムのジャッジ設定は
無視されるruntime/ディレクトリ配下にのみ書き込まれます。
トレーニングオーバーレイはThinking Machines LabのTinker Cookbookを対象としています。 SEP評価はMeta-SecAlignに由来し、PISmith評価はPISmithを対象とし、AgentDojo評価は AgentDojoを対象としています。正確なアップストリームのリビジョンとライセンスは docs/THIRD_PARTY.mdに記載されています。
@article{peng2026secopd,
title = {{SecOPD}: Mitigating Adaptive Prompt Injections by On-Policy Distillation},
author = {Peng, Yibo and Lian, Long and Wagner, David and Chen, Sizhe},
journal = {arXiv preprint arXiv:2608.21500},
year = {2026}
}