Motivation
- 无需参数更新的 In-Context Learning 允许使用者在无参数的更新的情况下完成新的下游任务,交互界面是纯粹的自然语言,无 NLP 技术基础的用户也可以创建 NLP 系统;
- ICL 存在的主要问题是模性能的不稳定性(与 Prompt 的设计强相关),也就是高方差。主要包括三个影响因素:
- Template;
- Example 的选取;
- Example 的排列顺序(Permutation)。
Analysis
- 导致不稳定性的原因:
- majority label bias; (推理的标签倾向于在 examples 里出现频率最高的标签)
- recency bias; (推理的标签倾向于最后一个 example 的标签)
- common token bias. (推理的标签倾向于在预训练数据里出现频率最高的标签)
- 这些 bias 导致了 output distripution 的改变,对于分类任务来说,调整类别的阈值可以大幅度提高准确率;(例如给定的 example 大部分都是 negative 类,那么预测的结果也将偏向 negative。)
- 纠正 output distripution 的 bias,可以考虑对输出进行仿射变换(softmax 是为了归一化,p 是原输出分布,q 是新分布,W 被限制为对角阵,为了防止参数随着类别数量(约 50,000 个 token)的平方增长):
- 但是仿射变换的参数难以学习,因为缺乏数据,因此提出了 content-free 输入,用来评估 bias 情况(N/A 可以直接是字符串“N/A”,也可以是 <mask> token,或者是空字符串):
- 已经校准好的情况下,推理的结果每个 label 种类的概率应该相等(优化目标)。