Why Can GPT ICL 论文粗读

 

Why Can GPT ICL 论文粗读💡 Meta Data Title Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers Journal  (acl 2023) ...

Why Can GPT ICL 论文粗读


💡 Meta Data

| Title | Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers | | —————————————————————— | ————————————————————————————————————————————————————– | | Journal |  (acl 2023) | | Authors | Dai Damai,Sun Yutao,Dong Li,Hao Yaru,Ma Shuming,Sui Zhifang,Wei Furu | | Pub.date | |

📜 研究背景 & 基础 & 目的 (Motivation)


  • LLM 涌现了few-shot In-Context learning的能力

    • 通过少量示例可以预测训练的时候没有遇到的输入
  • 但是ICL能力的机制还是个开放问题

🔬 研究方法


有人已经研究了发现:线性层的梯度下降和线性注意力形式上是类似的

工作一:解释ICL

transformer attention和梯度下降的形式非常类似,所以将语言模型解释为“元优化器”,将上下文学习理解为隐式微调:

公式推导:

q是当前推理到的token,X是前面不是示例的token,X‘是前面示例的token, $W_{ZSL}q$ 是 zero-shot下 q 的 attention 结果

  1. 初始公式
\[\begin{aligned}\mathcal{F}_{\mathrm{ICL}}(\mathbf{q})&=\mathrm{Attn}(V,K,\mathbf{q})\\&=W_V[X^{\prime};X]\operatorname{softmax}\left(\frac{(W_K[X^{\prime};X])^T\mathbf{q}}{\sqrt{d}}\right),\end{aligned}\]

2. 简化,线性化

\[\begin{aligned}\mathcal{F}_{\mathrm{ICL}}(\mathbf{q})&\approx W_V[X^{\prime};X]\left(W_K[X^{\prime};X]\right)^T\mathbf{q}\\&=W_VX\left(W_KX\right)^T\mathbf{q}+W_VX^{\prime}\left(W_KX^{\prime}\right)^T\mathbf{q}\\&\equiv\widetilde{\mathcal{F}}_{\mathrm{ICL}}(\mathbf{q}).\end{aligned}\]

3. 转换简化后的式子

\[\begin{aligned}\widetilde{\mathcal{F}}_{\mathrm{ICL}}(&(\mathbf{q})=W_\mathrm{ZSL}{\mathbf{q}}+W_VX^{\prime}\left(W_KX^{\prime}\right)^T\mathbf{q}\\&=W_\mathrm{ZSL}\mathbf{q}+\text{LinearAttn}\left(W_VX^{\prime},W_KX^{\prime},\mathbf{q}\right)\\&=W_{\mathrm{ZSL}}\mathbf{q}+\sum_iW_V\mathbf{x}_i^{\prime}\left(\left(W_K\mathbf{x}_i^{\prime}\right)^T\mathbf{q}\right)\\&=W_{\mathrm{ZSL}}\mathbf{q}+\sum_i\left((W_V\mathbf{x}_i^{\prime})\otimes(W_K\mathbf{x}_i^{\prime})\right)\mathbf{q}\\&=W_\mathrm{ZSL}{\mathbf{q}}+\Delta W_\mathrm{ICL}{\mathbf{q}}\\&=\left(W_{\mathrm{ZSL}}+\Delta W_{\mathrm{ICL}}\right)\mathbf{q}.\end{aligned}\]

所以ICL理解如下:

  • 预训练的GPT充当元优化器
  • 通过前向计算根据示范示例产生元梯度
  • 然后通过注意力将这些元梯度应用于原始GPT,以构建ICL模型

ICL 与 fine-tuning 的关系 :

  • ICL 通过前向计算产生元梯度
  • 微调通过反向传播计算梯度

工作二:提出一种新的注意力机制

受到 fine-tuning 和 ICL 的相似性的启发,通过与基于动量的梯度下降类比设计了一种基于动量的注意力,比基础的注意力提升了性能。

基于动量的梯度下降公式:

\[\Theta_t = \Theta_{t-1} - \gamma \sum_{i=1}^{t-1} \eta^{t-i} \nabla f_{\Theta_i}\]
  • 参数更新时不仅考虑当前的梯度,还结合了过去多个时间步的梯度信息

基于动量的注意力机制公式:

\[\begin{aligned}\mathrm{MoAttn}(V,K,\mathbf{q}_t)&=\mathrm{Attn}(V,K,\mathbf{q}_t)+\mathrm{EMA}(V)\\&=V\mathrm{softmax}(\frac{K^{T}\mathbf{q}_{t}}{\sqrt{d}})+\sum_{i=1}^{t-1}\eta^{t-i}\mathbf{v}_{i},\end{aligned}\]
  • $v_i$是第 i 个位置token 的 value 向量

  • 注意力v向量的动量明确增强了注意力的近期偏差,这已被证明对语言建模有帮助

🚩 结论


ICL 行为与显式微调相似

在六个分类任务中,比较ICL和微调的模型预测、注意力输出、对query token的注意力权重

实验结果验证了ICL和微调的行为在多个方面相似

  • ICL 的结果包含了大多数 fine-tuning 预测正确的结果
  • ICL 和 fine-tuning 修改 attention 输出的方向相同
  • ICL 和 fine-tuning 倾向于生成相同的 attention 权重
  • ICL 和 fine-tuning 对于训练的 token 的注意力相似

基于动量的注意力机制有效

  • 困惑度降低

  • ICL 性能提升

📌 感想 & 疑问


  • 没有解释为什么ICL不如fine-tuning

  • 也没有解释一些ICL现象,

    • 比如示例中标签不正确的影响不大的现象
    • 为什么demostration 的顺序会影响ICL 的性能