跳转至

LegalDrill: Diagnosis-Driven Synthesis for Legal Reasoning in Small Language Models

会议: ACL 2026
arXiv: 2604.23809
代码: 待确认
领域: 法律 / 小模型 / 知识蒸馏 / DPO
关键词: 法律推理、SLM 蒸馏、诊断驱动合成、Difficulty Score、迭代 DPO

一句话总结

LegalDrill 用 Audit Agent 诊断 0.6B/1.7B 小模型在法律推理上的具体错误模式,让强 teacher(GPT-4o / Qwen3-30B)按错误指令"刻意复现+修正"生成偏好对,再用学生自己的 forced-choice 概率算 Difficulty Score 过滤掉它已会的样本,迭代 SFT+DPO 后 1.7B 学生在 LegalBench 多个子集上逼近 30B teacher。

研究背景与动机

领域现状:法律 LLM 在判决预测、合同问答、隐私政策蕴含等任务上需求强烈,但法律文档天然敏感,不能调外部 API(GPT/Gemini)或云 RAG。结果就是只能本地部署,30B+ 的开源 LLM 又太贵,行业实际可用的是 <3B 的 SLM(Qwen3-0.6B/1.7B 这类)。

现有痛点:SLM 在法律推理上"文采像律师,逻辑像新手"——常把法条解读错、做逻辑跳跃,导致最终 yes/no 判断错。直接拿强 LLM 的 CoT 轨迹做 SFT 也不行,因为强 LLM(尤其 RL 对齐过的 o1/DeepSeek-R1 系)的链路冗长、爱自我反思、爱探索备选,SLM 容量塞不下也学不会。

核心矛盾:法律 SFT 数据极贵(要专业律师标注),而标准 rejection sampling(按 final verdict 是否对来选)粒度太粗——它告诉你"哪条对"但不告诉你"为什么错",更生成不出 SLM 真正能学会的"短而精"的推理链。本质是 teacher 行为分布 ≠ student 能学的分布。

本文目标:(1) 把 teacher 的隐性知识转成 SLM 容量内的简洁、纠错型推理链;(2) 把训练预算花在 SLM 真正不会的样本上,不浪费在它已会的;(3) 全程不需要人类法律专家标注。

切入角度:与其让 teacher 自由发挥,不如先用一个 Audit Agent 诊断学生当前的具体错误("误读法条"/"逻辑跳跃"),把诊断结果抽象成与具体案件解耦的错误指令,再让 teacher 按指令"刻意犯错 + 同步纠错"——这样生成的对比对是直接打在学生当前盲点上的"靶向训练数据"。

核心 idea:诊断 → 抽象错误模式 → 靶向合成偏好对 → 用学生自己的概率过滤掉对它平凡的样本 → 迭代 DPO。

方法详解

整体框架

LegalDrill 是 teacher–student 迭代框架,每轮 \(t\) 三步:

  • 输入\(N\) 条法律 query \(x_i = (c_i, q_i)\)(context + question)、当前学生 \(\pi_{\theta_t}\)、teacher \(\pi_{\text{teach}}\)、Audit Agent \(\pi_{\text{audit}}\)
  • Stage 1 Exploration + Diagnosis:让学生用 CoT 系统提示生成响应 \(\hat{y}_i\);Audit Agent 读 \((x_i, \hat{y}_i)\) 产出上下文无关的错误指令 \(\mathcal{I}^{(i)}\)(如"忽略时效期");汇总成 Error Instruction Bank \(\Phi_{\text{err}} = \{\mathcal{I}^{(1)}, ..., \mathcal{I}^{(N)}\}\)
  • Stage 2 Targeted Generation:对每个 sample \(x\),从 \(\Phi_{\text{err}}\)\(K\) 条错误指令;teacher 先按指令生成 rejected \(y_-^{(k)} \sim \pi_{\text{teach}}(\cdot \mid x, \mathcal{I}_k)\),再以此为条件生成 chosen \(y_+^{(k)} \sim \pi_{\text{teach}}(\cdot \mid x, \mathcal{I}_k, y_-^{(k)})\)
  • Stage 3 Self-Reflective Verification:用学生自己算 Difficulty Score 过滤平凡样本,剩下的 \(\mathcal{D}_{\text{train}}^t\) 用 SFT(首轮冷启动)+ DPO 更新学生
  • 迭代\(\pi_{\theta_{t+1}}\) 进下一轮重新诊断,参考模型 \(\pi_{\text{ref}} \leftarrow \pi_{\theta_t}\)

关键设计

  1. Diagnosis-Driven 错误指令合成 (Audit Agent + 上下文解耦):

    • 功能:把学生具体响应里的错误抽象成可复用的"错误指令模板",并按法律领域常见错误的 taxonomy 校准。
    • 核心思路:Audit Agent 看 \((x_i, \hat{y}_i)\)禁止引用案件具体细节,只能输出诸如"在计算时效期时忽略时间窗"这种 context-agnostic 描述。这样 \(\Phi_{\text{err}}\) 里的每条指令都能与任意 context 重组生成新偏好对,把数据量从 \(|\mathcal{D}|\) 扩到 \(K \cdot |\mathcal{D}|\)。同时也是强 regularizer:因为 chosen/rejected 共享同一 context 同一错误类型,学生不能靠"长度/词汇"等表面特征 shortcut,只能学到推理本身。
    • 设计动机:直接让 teacher 随便生成 rejected 会让 chosen/rejected 在表面特征上差异过大,模型学到的是"chosen 更长"或"chosen 引用法条更多"这类无关特征;解耦错误模式与上下文,强制模型学"逻辑严谨度"本身。
  2. Targeted Two-Step 偏好对生成(错误优先,纠错跟随):

    • 功能:在固定错误指令的前提下生成最具针对性的 chosen-rejected 对。
    • 核心思路:分两步——第一步 teacher 按指令 \(\mathcal{I}_k\) 故意犯错生成 \(y_-^{(k)}\);第二步把 \(y_-^{(k)}\) 作为额外输入,要求 teacher 生成专门指出并修正这个错误的 \(y_+^{(k)}\)。这种"先错再纠"比"独立生成正确答案"产出的对比信号更精准——chosen 不只是对的,它是针对 rejected 的具体错误的反例
    • 设计动机:标准做法是 teacher 独立生成 chosen 和 rejected,但二者可能在不同维度上不同(长度、风格、推理路径),DPO 信号嘈杂;条件式生成让差异严格收敛到"是否犯了指定的逻辑错误"。
  3. Self-Reflective Difficulty Score 过滤(学生主导):

    • 功能:用学生自己的概率分布过滤掉它已能区分的"平凡"偏好对,把训练预算花在真盲点上。
    • 核心思路:不算整段响应的 likelihood \(\pi(y \mid x)\)(受长度/表面词汇干扰),而是构造一个 binary forced-choice 验证 prompt \(\mathcal{P}_{\text{ver}}(c, q, y)\),让学生在 \(\{\texttt{correct}, \texttt{incorrect}\}\) 上输出,并归一化得到 \(s_{\theta_t}(y \mid x) = \pi_{\theta_t}(\texttt{correct} \mid \mathcal{P}_{\text{ver}}) / [\pi_{\theta_t}(\texttt{correct}) + \pi_{\theta_t}(\texttt{incorrect})]\)。Difficulty Score \(\mathrm{DS} = s_{\theta_t}(y_-^{(k)} \mid x) - s_{\theta_t}(y_+^{(k)} \mid x)\) 衡量学生有多被错误响应骗了。只保留 \(\mathrm{DS} > \tau\) 的"高混淆"样本。
    • 设计动机:teacher 合成的对客观上质量都高,但很多对学生来说"早就会了",再训练就是浪费 + 引入退化风险。用学生自身置信差做阈值过滤,把数据效率显著提高。

损失函数 / 训练策略

两阶段优化:

  • 冷启动 SFT(仅 \(t=0\)\(\mathcal{L}_{\text{SFT}}(\theta_0) = -\mathbb{E}_{(x, y_+) \sim \mathcal{D}_{\text{train}}^0}[\log \pi_{\theta_0}(y_+ \mid x)]\),给后续 DPO 一个稳定起点
  • 迭代 DPO\(\mathcal{L}_{\text{DPO}}(\theta_{t+1}) = -\mathbb{E}[\log \sigma(\beta(\log\frac{\pi_{\theta_{t+1}}(y_+ \mid x)}{\pi_{\theta_t}(y_+ \mid x)} - \log\frac{\pi_{\theta_{t+1}}(y_- \mid x)}{\pi_{\theta_t}(y_- \mid x)}))]\),关键技巧是 \(\pi_{\text{ref}} = \pi_{\theta_t}\)(当前轮的策略当下一轮的 ref),实现 online DPO 风格的渐进式改进
  • 超参:1-3 epoch,学习率 \(1 \times 10^{-4}\)\(K\)(每样本错误指令数)和 \(\tau\)(DS 阈值)按数据集调

实验关键数据

主实验

在 LegalBench 四个子集(Cos. QA / Con. QA / Sara Ent. / Priv. Ent.)+ 两个真实金融法律文档数据集(Real-World POA / Trust)上做评测,指标 Accuracy / F1 / Judge Accuracy(LLM-as-Judge 评推理质量)。

模型 Cos. QA Acc Con. QA Acc Sara Ent. Acc Priv. Ent. Acc RW POA Acc RW Trust Acc
Qwen3-0.6B (base) 0.69 0.83 0.59 0.30 0.76 0.74
Qwen3-1.7B (base) 0.79 0.87 0.66 0.47 0.78 0.79
Qwen3-30B-A3B (teacher) 0.98 0.96 0.86 0.83
GPT-4o (teacher) 0.98 0.92 0.83 0.67 0.91 0.89
LegalDrill-0.6B (Qwen3-30B teach) 0.84 0.91 0.74 0.81
LegalDrill-1.7B (Qwen3-30B teach) 0.96 0.93 0.73 0.85
LegalDrill-0.6B (GPT-4o teach) 0.86 0.95 0.75 0.59 0.87 0.86
LegalDrill-1.7B (GPT-4o teach) 0.94 0.97 0.75 0.60 0.92 0.90

亮眼数据:LegalDrill-1.7B 在 Priv. Ent. 上从 base 的 0.47 升到 0.85(+0.38),反超 30B teacher 的 0.83;Real-World POA 上 1.7B 学生 0.92 ≈ GPT-4o teacher 0.91;Con. QA 上 GPT-4o 蒸馏的 1.7B 拿到 0.97,已全面超过 4o 的 0.92。

消融实验

配置 趋势 说明
Full(SFT + DPO) 最优 完整 LegalDrill
仅 SFT(去掉 DPO) 全设置一致下降 DPO 的 chosen/rejected 对比信号是涨点关键
移除 Difficulty Score 过滤 训练量增大但收益减少甚至退化 平凡样本会稀释关键梯度
移除 context-agnostic 约束 推理鲁棒性下降(学生学到 shortcut) 解耦错误与上下文是 anti-shortcut 关键
增加迭代轮数 单调收益递减 学生盲点逐轮被填补

关键发现

  • DPO > SFT-only 几乎在所有 setting 都成立:说明法律推理任务里"看反例知道哪里错"比"只看正例"更有效,符合人类律师培训中"做错题集"的直觉。
  • 1.7B 学生的提升幅度 > 0.6B:Qwen3-1.7B + LegalDrill 多个任务逼近甚至超越 30B teacher,但 0.6B 的天花板较低;说明 SLM 容量是有最低门槛的,太小的模型学不到太复杂的推理(≤0.5B 不建议)。
  • GPT-4o 不是万能 teacher:在 Priv. Ent. 上 GPT-4o 自己只有 0.67,蒸馏 1.7B 也只到 0.60;同任务 Qwen3-30B teach 出 0.85——teacher 的领域能力是学生上限。
  • 错误指令的可重组性带来 \(K\) 倍数据扩张:把 \(|\mathcal{D}|\) 扩到 \(K \cdot |\mathcal{D}|\),且因 context-agnostic 解耦不会过拟合到特定案件。

亮点与洞察

  • "上下文无关错误指令" 是反 shortcut 的妙招:chosen 和 rejected 共享同一 context 和同一错误类型,强制 DPO 只能学习"推理是否严谨"这个 axis,而不是"哪个更长/更引经据典"。这套思路可直接迁移到任何 reasoning distillation 任务(数学、代码、医学)。
  • Difficulty Score 用 forced-choice binary 概率而非 sequence likelihood:避开了"长 chosen 自然 likelihood 低"的偏置陷阱,是 verification reward 设计的优雅范例,比 PPL-based 过滤鲁棒得多。
  • 两步条件生成 chosen|rejected:让 teacher 先犯错再纠正,相比独立采样 chosen 和 rejected 产出的 pair 信号更纯净——这是 DPO 数据合成的通用性 best practice。
  • 迭代 ref 模型\(\pi_{\text{ref}} = \pi_{\theta_t}\) 而非固定为 base,是 online DPO/iter-DPO 的标准做法,但和 diagnosis-driven 数据循环结合起来形成了完整的"诊断→数据→训练→再诊断"飞轮。
  • 真实工业数据集(金融 POA/Trust)的验证:不是只刷 LegalBench 这种纯学术 benchmark,给出了 GPT-4o 当 teacher 时 1.7B 本地部署可达 0.9+ 准确率的工业可行性证据。

局限与展望

  • 强依赖 teacher 在目标领域的能力:GPT-4o 在 Priv. Ent. 上自己只 0.67,蒸馏 1.7B 自然上不去;论文未给出"teacher 弱于学生时退化"的处理方案。
  • Audit Agent 的诊断也用 teacher 实现,与 \(\pi_{\text{teach}}\) 同源,可能存在"teacher 看不出的错误"被系统性遗漏。
  • DS 阈值 \(\tau\)\(K\) 是按数据集调的硬超参,没给自适应方案;在新任务上需要人工调参。
  • 仅评测 binary yes/no 任务:法律里的判决书生成、合同起草等开放生成任务未覆盖,"final verdict 一致"的过滤策略也只对 yes/no 友好。
  • 0.6B 学生在某些任务(如 Priv. Ent. with GPT-4o teach 仅 0.59)依然弱:说明 sub-billion 模型可能根本撑不起复杂法律推理,需明确 SLM 下界。
  • 展望:把 Audit Agent 换成多 agent 辩论(红蓝队对抗)以发现更深层错误;把 forced-choice DS 推广到多分类/序数标签;把"诊断→合成→过滤"封装成通用 distillation toolkit 给其他 high-stakes 领域(医学、金融、合规)。

相关工作与启发

  • vs 标准 Rejection Sampling: 后者按 final answer 是否对来选数据,粒度粗、生成的链对 SLM 仍嫌冗长;LegalDrill 用错误诊断把链路压短并打到盲点上,是 rejection sampling 的"精准制导"升级版。
  • vs Reasoning Compression(Zhao et al. 2025, Zhang et al. 2025): 它们裁剪 teacher 的长 CoT 让 SLM 能塞下;LegalDrill 不裁剪现有链而是按学生错误重新生成靶向链,从源头适配 SLM 行为分布。
  • vs SMART (Kim et al. 2025): SMART 推理时还要调用外部 LLM;LegalDrill 完全把知识固化进 SLM 参数,推理时零外部依赖——更适合本地隐私敏感部署。
  • vs UniLaw-R1 / 法律 PRM(Shi et al., Cai et al., Dai et al.): 它们设计领域专用 reward(step-wise reward、legal validity reward、信息论 reward)做 RL;LegalDrill 走 DPO 路线绕开 reward model 训练,且把"reward 设计"显式化为可读的错误指令——可解释性更强。
  • vs iterative DPO(Pang et al. 2024, Xu et al. 2025): 同样是迭代 ref 模型,但 LegalDrill 在数据生成端引入诊断—合成循环,比单纯迭代采样有更强的盲点针对性。

评分

  • 新颖性: ⭐⭐⭐⭐ Diagnosis-driven + context-agnostic 错误指令 + DS 过滤的组合在 SLM 蒸馏里很新颖
  • 实验充分度: ⭐⭐⭐⭐ 4 公开 + 2 真实工业 = 6 数据集,两种 teacher × 两种 student,消融到位
  • 写作质量: ⭐⭐⭐⭐ 动机—方法—实验链条清晰,公式恰到好处不冗余
  • 价值: ⭐⭐⭐⭐⭐ 私有部署的法律 SLM 是真实工业刚需,方法可直接复用到医学、金融等高敏领域

评分

  • 新颖性: 待评
  • 实验充分度: 待评
  • 写作质量: 待评
  • 价值: 待评