0%

论文阅读 [精读]-Dataset Cartography: Mapping and Diagnosing Datasets with Training Dynamics

读得论文多了,写的笔记反而更少了…… 很多篇论文都想写,最后哪个都没写出来。今天来讲讲 yejin Choi 2020 年的一个论文:如何用模型自己在训练过程中的表现作为自监督信号,衡量训练集中每一条数据的质量?

很难想象这是 yejin choi 三年前思考的问题,我直到最近读到这篇论文,还觉得思路很新颖、很精妙

作者是 Yejin Choi 团队,一作 Swabha Swayamdipta 最近还做了一些有趣的工作,比如这篇:We’re Afraid Language Models Aren’t Modeling Ambiguity。都是挺有意思的选题

data-map

回到本篇工作,作者主要探索了以下问题:目前 (2020 年) 学界的范式是选择越来越大的数据集做训练。因为大家发现随着数据集扩大,其多样性会上升,进而促进模型的分布外泛化能力。

但是,随着数据集的扩大,数据质量一定会下降,作者想到:有没有可能数据集中每条数据对语言模型的贡献是不一致的呢?作者希望找到一种自动地标注方案。作者直觉地想要用两个维度对数据分类:在一条数据过了很多 epoch 以后每次的 loss 对应的平均数和方差。作者把这两个轴叫做 confidence (平均数) 、variability (方差)

对于比如 SNLI 数据集,作者尝试把 RoBERTa 训了几个 epoch,然后统计里面每条数据在每个 epoch 的 loss,进而画了一个散点图,其中每个点代表一条数据。作者直觉地认为,这个类似钟型曲线天然地把数据分成了三种情况:

  • easy-to-learn:很快就学会了,并且方差很小,一直都做对。占大多数
  • hard-to-learn:一直学不会,因此方差也很小
  • ambiguous:一轮能做对一轮做不对,方差很大。模型对这种数据的判断没有把握

另外,对于 confidence 做离散化,还可以统计 acc。作者还把 “n 个 epoch 中一条数据 acc” 的比例定义为了 correctness,在图中表现为了不同颜色的小点。

由此,作者把这个方法叫做 data-map,和标题里的地图学呼应:地图是地球固有的属性,而数据中的 confidence、variability 也是模型在训练中自己表现出来的性质。

接下来,作者就要从这个现象出发,展露一下研究员的天才思路,设计一系列实验和探索。

data-map 能作为选择训练数据的指标吗?

作者实现好奇的就是:不同区域的数据,对于训练有什么贡献?实验设计很简单,就只选择对应区域的数据做训练就可以了。在训练完以后,作者分别作了 in/outof - distribution (ID、OOD) 的测试。

  • 100 train:阳性对照

  • random: 随机选 33%,阴性对照

  • high-correctness: correctness 从高到低前 33% 的数据

  • low-variability、low-correctness、high-confidence、high-confidence 同理
  • hard-to-learn: 指的是 low-confidence
  • ambiguous: 指的是 high-variability

作者在 winoG 上训练,然后分别把 winoG、WSC 作为 ID OOD 测试,神奇的现象来了:

  • 仅在 hard-to-learn 或者 ambiguous 的 33% 数据上训练,OOD 能力甚至比阳性对照还要好!
  • 仅在 eazy-to-learn 的数据上训练,似乎对 ID 和 OOD 测试都没啥帮助…… 不如 random 33%
  • 尽管没有对选数据的方法专门做优化,但效果比几个 active-learning 算法的效果还要好

看起来,hard-to-learn 和 ambiguous 的数据对模型的效果起到关键作用。ID 的效果和训练集大小强相关,我们相对更关注 OOD。因此作者说到这套 data-map 的方案某种意义上提供了一个加速训练的潜在方案。然而,从这个角度看,这个方案需要先在全集上训一遍模型,这肯定比正常训练开销更大。因此这个方法只有理论价值

可以抛弃 eazy-to-learn 数据吗?

既然上面研究发现 hard-to-learn 和 ambiguous 数据最有用,那接下来一个直观的问题就是:如果用更少、少于 33% 的这种数据,也能达到这种效果吗?

于是作者选了 ambiguous 数据的前 50%, 33%, 25%, 17%, 10%, 5%,1% 作为训练集尝试了实验

先看左边两个图:横轴是上面那个 top-ambigious 训练数据的百分比,纵轴分别是 ID 和 OOD 的效果。神奇的又来了:当训练数据低于某个阈值以后,训练就崩溃了??另一个实验表明,相同的数据量,如果选取不是按照 top-ambigious 而是 random,训练就是正常的

因此作者想到了一个可能:会不会是 eazy-to-learn 的数据虽然对于效果没什么帮助,但是对于稳定训练很有帮助?因为更少的 top-ambigious 显然就采样不到 eazy-to-learn 的数据了。于是作者点子又来了,做个阴性对照,把刚才训崩的数据比例 (17%) 里,随机将一部分 top-ambigious 的数据换成 eazy-to-learn 的数据?

于是就画出了右图:作者发现,哪怕在 17% 中,只要再掺入 1/10=1.7% 的 eazy-to-learn 数据,训练就正常了起来??另外,如果替换的比例太高,ID 和 OOD 的效果就又掉下去了。

作者最后又提出了一个开放性的研究问题:如何在训练中正确选择各个区域的比例?

hard-to-learn 的数据可能因为误标注吗?

想到两个点:

  • SNLI 画的 data-map 中 hard-to-learn 很多,winoG 画的 data-map,hard-to-learn 看起来很少。同时我们知道 winoG 中的数据被人类精心 clean 过因此误标注更少
  • 对于误标注的数据,模型显然是”hard-to-learn” 的

怎么验证这个猜测呢?作者点子又来了

首先,来个模拟实验。作者将 winoG 中 1% 的 eazy-to-learn 数据的标注换一下,造一批” 误标注 “数据。在 eazy-to-learn 数据中采样是因为这里面大概率之前不是误标注的数据

接着作者用新的数据集重新画 data-map,观察刚才那些点在新的图中的位置,作者给出了这些点 confidence、variability 的直方图。发现 confidence 显著降低、variable 显著升高。这展示了数据中误标注的可能性

接下来,作者问了另一个问题:既然有潜在的误标注风险,那有可能将 data-map 作为一种自动的误标注识别手段吗?

首先作者把刚才的数据集 (含 1% 人造误标注数据),再采样了同样的 1% 正常数据形成了一个误标注占 50% 的数据集。训练一个 classifier,其输入是每个 instance 的 confidence、variability,输出 2 分类。发现这个 classifie 的测试集 F1 是 100%??

接下来,作者将 classifier 重新应用到原始 winoG 数据集,发现 31/40k 的数据划分为了 mislabel。同理在 SNLI 上做同样的实验,发现有 15k/500k 划分为了 mislabel。这和两个数据集的数据质量一致

最后,为了让作者的逻辑链条完整,作者开展了人类实验,找人去看 classifier 划分出来的 mislabel 数据。人类标注结果表明: classifier 选出的”mislabel” 数据,67% 是真的 mislabel。这个数字在 SNLI 上是 76%。剩下的基本上也是比较” 歧义” 的 instance

最后,作者谈到:data-map 可以作为一种潜在的对数据集 mislabel 问题进行自动检测的手段,并且效果还不错。

模型在训练中表现出来的这种性质,和数据集固有的不确定性有关吗?

众所周知,数据集中有一些固有不确定性:有一些 instance 是歧义的,理论上就是填什么都可以。另外,对于模型无法预测的位置,到底是来源于数据集固有的不确定性,还是模型本身的局限性 (换个更强的模型没准就会了) 呢?

作者想到一个办法来衡量数据集中固有的不确定性:在数据集制作时,都是找人来标注。对于本身有歧义的例子,不同的标注员之间应该自己也有不一致性。所以作者分析了 data-map 中每条数据,列出了标注员当时对于这条数据的一致性

作者发现,模型划分 data-map 的方式,和人类当时标注时的一致性有非常强的相关性:起码对于 eazy-to-learn 数据,标注员基本一致性都很高。

我的思考

这个论文的逻辑太顺了:一般我写笔记都会简略写 experiment 部分,但这次我一个都没有省,并且组织逻辑和 Yejin Choi 论文组织逻辑完全一致。

作者从一个现象出发,和学界已经存在的问题联系起来,探索他们发现的现象的潜在应用价值。从联系方向,到提出问题,到设计实验,到画图展示的形式,都展示了研究员敏锐的数据直觉,值得我们去学习…… 相比之下,再看看近两年的大多数论文写成啥样子了……

站在 2023 年的视角下,我只能说对这个论文提出几个潜在的研究问题:

  • 在 instruction tuning 领域,大家逐渐意识到 diversity 和 quality 的矛盾,以及对最终训练效果的影响。相比于 Wizard LM 这种自动化的数据筛选。让模型自己去选择数据是一种新的思路吗?
  • data-map 的结果是和模型绑定的。对于同一个数据集,换一个模型可能画出来的图就会有变化。比如 GPT4,可能在 SNLI 上画的图全是 eazy-to-learn。这点对于选择数据至关重要:一条数据不适合这个模型,但有可能适合那个模型,这和模型的基础能力有关。我们不指望找到一个适用于所有模型的 golden selection method (可能世界上也不存在这样的方法),相比之下更希望能找到最适合与这个模型的训练数据
  • 这两年学界出现了一个新的关键词 calibration:对于很强的 LLM 来说,自己的 confidence 和 acc 成强相关性。作者在这片工作中发现另一个联系:自己的 confidence 和数据集的固有不确定性成高度的相关性。由此我产生了一个问题:既然三者都有相关性,那么,模型的 calibration 性质可能是来源于” 在含固有不确定性的无监督 corpus 上预训练” 吗?如果我们的 corpus 去掉了不确定性 (比如 RLHF 数据集),那么模型的 calibration 性质是不是就消失了呢?

最后,这是 Yejin Choi 三年前研究的东西,与君共勉

Powered By Valine
v1.5.2