大语言模型教育纠错 · 论文笔记(二)

Calibrating LLMs with Preference Optimization on Thought Trees for Generating Rationale in Science Question Scoring

2406.19949 Calibrating LLMs with Preference Optimization on Thought Trees for Generating Rationale in Science Question Scoring

[TOC]

Intro

存在的问题:

paper贡献

  • 提出一种新框架,通过模仿人类评分过程生成更忠实的评分理由,同时匹配或超越分类器方法的评分性能。

paper方法

  1. 模仿人类评分过程

    • 使用大语言模型(LLM)生成“思维树”(Thought Tree),将评分任务分解为中间决策步骤。
    • 每条树路径代表一个评分决策序列,最终汇总为评分理由。
  2. 合成数据生成

    • 从思维树路径中提取合成评分理由和偏好数据。
    • 通过两阶段训练校准LLM:
      • 监督微调(SFT):使用合成的评分理由数据。
      • 偏好优化(DPO):使用合成的偏好数据,提升评分理由的准确性和忠实性。

paper贡献

  1. 提出通过思维树生成更忠实的评分理由的方法。
  2. 开发基于思维树路径正确性的合成偏好数据生成技术。
  3. 实验表明,框架在QWK分数上比现有方法提升38%,同时生成更高质量的评分理由。

Framework

Problem Set Up

$$ D = \left \{ (x_i, y_i)\right \} $$

表示学生$i$对某道题目的答案与得分

对于一道题目,可以划分出$M$个关键得分点$K = \left {k_j\right }$

$$ v(x_i, K) $$

该向量的第$j$维度若为1,则表示$x_i$成功回答了$k_j$,否则没有成功回答

  • 独热向量 (One-hot Vector):用于表示一个样本只属于一个类别的情况。例如,如果一个动物只能是“- 猫”或“狗”中的一种,那么“猫”可能表示为 [1, 0],“狗”表示为 [0, 1]。向量中只有一个 1

  • 多热向量 (Multi-hot Vector):用于表示一个样本可以同时属于多个类别的情况。例如,一个人既是“学生”又是“运动员”,那么可能表示为 [1, 1, 0](假设第一个位置是学生,第二个是运动员)。向量中可以有多个 1

$$ y_i = f_r(v(x_i,K)) $$

省流:问题的关键在如何判断$x_i$正确回答了$k_j$,记为$1_{x_i}(k_j)$,是一个二分类任务

Stage 1: Imitate Human Assessment Process via Thought Trees

Thought Trees

$$ z_j^{(t)} = \text{LLM}_\theta(x_i, k_j), \quad t=1,2,...,n,\ \forall k_j \in K $$

$z_j^{(t)}$ 表示第 $t$ 次采样的决策

我们将这些判定结果汇总,得到如下的平均决策概率:

$$ P(z_j^{\text{Yes}}) = \frac{|\{t : z_j^{(t)} = 1\}|}{n},\quad P(z_j^{\text{No}}) = \frac{|\{t : z_j^{(t)} = 0\}|}{n} $$

为了后续聚合,我们为每个关键要素生成简洁的解释性理由 $r_j$,例如:

$$ r_j = \text{LLM}_\theta(x_i, k_j, z_j) $$

一旦所有关键要素评估完成,我们便能根据每一组决策 $\mathbf{Z}$ 构造路径。假设总共 $d$ 条路径(最多 $2^{M-1}$ 条),每条路径表示一种判定组合:

$$ \text{path}_l = \hat{\mathbf{v}}(\mathbf{Z}),\quad l=1,2,...,d $$

其中,$\hat{\mathbf{v}}$ 是对向量 $\mathbf{v}$ 的估计,表示关键要素是否被覆盖;$\mathbf{Z}$ 是判定集合(由上面的判定概率组成)。路径的概率等于该路径上每个判定概率的乘积:

$$ P(\text{path}_l) = \prod_{j=1}^{M} P(z_j) $$

我们利用打分函数 $f_r$(例如程序化的rubric规则)对每条路径打分,获得预测得分:

$$ \hat{y}_{\text{path}_l} = f_r(\text{path}_l) $$

省流:蒙特卡洛树,从中抽取所有路径,计算概率和对应的分数,选择概率最高的

最后,选取概率最高的路径作为最终思维树输出结果:

$$ \hat{y}_{\text{tree}} = \hat{y}_{\text{path}_{l^*}} \quad l^* = \arg\max_l P(\text{path}_l) $$

“在实际操作中,我们使用LLM动态地将rubric文本转换为可执行Python代码,该代码以关键要素评估决策为输入,输出最终分数。”

人话:LLM会将打分标准生成Python代码,直接传入关键要素的多热向量就可以直接算分

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计