FlashTrace 实验 3:长/短 CoT 对比(case study)
本目录提供一个「长/短 CoT」的最小可复现实验:
- 从 RULER
niah_mq_q2 (1024)中分别筛出:- short-CoT:短推理 +
\box{}最终答案 - long-CoT:长推理 +
\box{}最终答案
- short-CoT:短推理 +
- 只跑
attnlrp(hop0)并只计算 token-levelrecovery@10%(gold 来自needle_spans)。 - 落盘 trace(npz + manifest)到
exp/exp3/output/,格式对齐exp/exp2/run_exp.py的 trace 习惯。
1) 采样与过滤(生成 + judge)
默认读取:
data/ruler_multihop/1024/niah_mq_q2/validation.jsonl
需要一个 OpenAI-compatible 的 chat API(默认 http://localhost:4000/v1)以及 API key。
export FLASHTRACE_API_KEY=... # 或 OPENAI_API_KEY
python exp/exp3/sample_and_filter.py \
--tokenizer_model /opt/share/models/Qwen/Qwen3-8B/ \
--min_long_thinking_tokens 512 \
--max_short_thinking_tokens 256
输出(默认):
exp/exp3/data/niah_mq_q2_short_cot.jsonlexp/exp3/data/niah_mq_q2_long_cot.jsonl
说明:
- 默认各采 1 条;可用
--max_short/--max_long分别指定数量(--max_pairs是两者的兼容别名)。
2) 归因与 recovery(AttnLRP hop0)
python exp/exp3/run_exp.py \
--model qwen-8B \
--model_path /opt/share/models/Qwen/Qwen3-8B/ \
--cuda 3,4,5,7
输出:
- recovery CSV:
exp/exp3/output/recovery/<dataset>/<model>/attnlrp_1_examples.csv - trace:
exp/exp3/output/traces/<dataset>/<model>/<run_tag>/ex_*.npz+manifest.jsonl - 汇总 JSON:
exp/exp3/output/recovery/summary_<model>.json
常用参数:
--top_fraction:recovery 的 top fraction(默认 0.1)--attnlrp_neg_handling drop|abs--attnlrp_norm_mode norm|no_norm