分词器暴露了模型训练数据分布,比如Claude系列模型用了57%的代码数据

文摘   科技   2024-08-04 18:37   加拿大  

Data Mixture Inference: What do BPE Tokenizers Reveal about their Training Data?

分词器暴露了模型训练数据分布,比如Claude系列模型用了57%的代码数据

‍‍‍‍‍





这篇文章好几天前放出来的了可能大家都看过了,但是最近似乎很难说有太多特别有趣的文章,所以还是写一下。

这篇文章提到,很多最强模型的训练数据分布都是未知的,他们在此提出一个任务叫数据混合推断(data mixture inference),目的是获取训练数据的具体分布信息。他们从BPE分词器,这一被大部分语言模型使用的方法切入,众所周知,BPE分词器学习的合并规则有序列表自然地揭示了其训练数据中token频率的信息:第一次合并是最常见的字节对,第二次合并是在合并第一个token之后最常见的对,依此类推。举个GPT-4o的例子,如果token对(, \n)是在第51步被合并的,那么它一定是在合并了50个token对之后的最高频的那个token对,在这种情况下可能标志着大量的代码数据。作者的做法是,在给定一个分词器的合并列表以及每种类别的数据样本后,利用线性规划计算出分词器训练集中的每个类别的比例。作者在实验上验证了他们攻击方法的有效性,该方法可以高精度地揭示已知数据源所混合出来的数据中的各类数据比例,而将该方法用在随着最近LM发布的现有分词器上,他们不仅确认了已经公开披露信息,而且有以下新的推测:

1. GPT-4o的分词器比前几代的分词器训了更多语种,包含39%的非英语数据

2. LLAMA3主要为了多语种的用途(48%)扩展了GPT-3.5的分词器;

3. GPT-3.5和CLAUDE的分词器主要在代码上(约60%)训练出来。


问题的大概描述如上图,不同的数据混合比例会尝试不同的merge list。假设我们有n类感兴趣的数据,每一类都有各自的数据分布D_i,我们的tokenizer是在这n类数据加权α_i混合后训练出来的,数据混合推断就是去估算这些权重α_i。那么攻击方法具体的计算怎么做呢?见下图figrue3中的说明就很容易理解了。首先,假设我们目前只有两个数据分布,即English和Spanish,并且其中的数据各自都是一条,对于每条数据我们可以算出每种pair的数量(或按数据大小normalize过后的比例,但是因为此时数据数量相同都为1,故忽略)。在清楚了两个数据中的pair分布后,我们已知某个tokenizer在此时会先合并(e, s)这个pair,那么说明用es这个pair的数据计算出来的2α_Es一定是所有这样算出来的值里面最大的那一个,在计算每个pair的数值后我们会注意到(i, s)这个pair比较有竞争性,那么我们可以简单地列出不等式2α_Es > 3α_En,再加上另外一个限制条件即所有α加和为1,我们就能知道α的分布必定落在figure3中第一个坐标系中的蓝色实线部分;依次类推,在第二步中(i, s)是频率最高的pair,我们因此将α分布的范围再次缩小。

当然因为我们只有来自类别分布的样本,而不是分词器实际训练所用的确切数据,上述描述的线性规划可能无法实现,因为由于抽样的原因,计数将会带有噪声,作者引入了一些非负变量来放松约束条件。另外考虑到线性规划的计算复杂性,作者将合并限制在前T步中,称为截断式规划,总之有一些变种。


接下来看实验,首先为了说明他们方法的有效性,他们先在5到112种数据(含各自自然语言,各种代码语言和数据源即各种domain的数据)上做实验,即先随机采样5到112类并用不同权重混合,然后在数据是训练出tokenizer,接着他们在与训练数据相同的分布上采样一定量数据来估算tokenizer的合并频率。最后用已知α和预测α之间的均方误差MSE来量化攻击的有效性。结果见table1,可以看到他们的方法在languages上最有效(毕竟不同语言有不同的character),在所谓data source上差一些(毕竟character相似只是由于domain不同而有不同主题的词语而已),但是即使是在效果最差的类别上,这种方法也1000倍优于随机猜测

最后他们将方法用在一些闭源模型上,主要结论就是第一段里的那些,具体的比例可以看本文最上面的figure2,可以看到比如说claude的代码数据比例非常之大,这也佐证了为什么在笔者论文里构建的benchmark MHPP上,Claude 3.5 Sonnet已经排名第一



撰文:戴剑波;编辑:戴剑波

未经本公众号授权不得转载,欢迎转发。

SparksofAGI
人工智能前沿论文分享(注意!未关注的朋友我是回复不了您的私信的)