一句话定位

诊断出长上下文 LLM 输出长度受 SFT 样本最大长度限制,提出 AgentWrite 流水线构造 LongWriter-6k 数据集,让模型一次性生成 1 万字以上。

摘要

当前长上下文 LLM 可处理 10 万 token 输入,但输出常难超过 2000 字。受控实验发现:有效生成长度被 SFT 阶段见过的样本长度上界所限——根本原因是现有 SFT 数据缺少长输出样本。为此提出 AgentWrite:基于 agent 的流水线,把超长生成任务拆成子任务,让现成 LLM 生成超过 2 万字的连贯文本;据此构造 LongWriter-6k(6000 条、输出 2k–32k 字的 SFT 数据),加入训练后模型可稳定输出 1 万字以上。

关键技术细节(带数字)

  • 诊断:输出长度上界 ≈ SFT 数据中见过的最长输出长度。
  • AgentWrite:plan-then-write,拆任务为子段,逐段写作再拼接,单次产出 >20,000 字。
  • 数据:LongWriter-6k(6000 条 SFT,输出长度 2,000–32,000 字)。
  • 训练:在 GLM-4-9B / Llama-3.1-8B 上 SFT + DPO。
  • 评测:自建 LongBench-Write,输出长度可达 10,000+ 字且质量稳定。

原始链接

一手源存档(sources/)

  • longwriter.pdf (PDF 不入 git,走 HF bucket)