论文笔记 - Calibrate Before Use: Improving Few-Shot Performance of Language Models
2024-10-21 06:05:28
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 种类的概率应该相等(优化目标)。
最新文章
- Android线程管理之ThreadPoolExecutor自定义线程池
- HTTP协议从入门到大牛,初识HTTP协议(学习笔记)
- Objective-C 和 C++中指针的格式和.方法 和内存分配
- oracle建立表空间
- hdoj 2717 Catch That Cow【bfs】
- swift 有些语法还是不支持。
- Android内存管理
- 获取app崩溃信息的途径 iOS
- 利用nodejs监控文件变化并使用sftp上传到服务器
- (转)Java线程:线程的同步与锁
- IE无法获得cookie,ie不支持cookie的解决办法,火狐支持
- 疫情控制 [NOIP2012]
- HTTPS协议、TLS协议、证书认证过程解析
- SqlParameter 多个参数动态拼接解决参数化问题
- go语言net包udp socket的使用
- 11. pt-heartbeat
- 解决VMware安装ubuntu16.04后无法全屏的问题
- 用到的C++标准库
- 【谁知道C#字段为什么用属性封装?】
- Delphi 中关闭指定进程的方法