本站是 ODERSA 的官方网站。 如何确认这一点

官方域名

本站的网址以 odersa.org 结尾。协会的每一项服务都放在 odersa.org 的子域名下,别处一概没有。如果浏览器地址栏里的网址不是以 odersa.org 结尾,这个站点就不是我们的。

免费,也不用账号

所有内容一开始就全部开放:不用注册,不用账号,不用密码,不用订阅,也没有广告。没有什么是留给付费的人的,因为这里什么都不收费。

不收集任何数据

本站不跟踪您:没有跟踪代码,没有跟踪 cookie,这些页面里没有内嵌任何统计工具,也不在您的设备上测量任何东西。我们的主机会以汇总方式统计请求,就像任何会应答的服务器一样:只是一个总数,绝不是一份个人档案。您不必相信我们的话:打开浏览器的开发者工具,切到“网络”标签页,然后刷新页面。您会看到本站请求的完整清单。所有内容都来自 odersa.org,没有任何东西发往别处。

内容自由使用

内容以 CC BY 4.0 许可协议发布。您可以复制、翻译、打印并再分发,用于课堂或身边的人都可以,唯一的条件是署名 ODERSA。

一种语言的价钱

同一句话,用不同语言写出来,产出的词元数量最多能差到 15 倍。这不是文风上的细节:这是一个工程选择,而它的后果是可以测量的。

同一个问题,用两种不同的语言去问一个语言模型,算起来的价钱并不一样。这不是词的长短或者客套多少的问题:这是一个被测出来、有据可查的差距,而它来自一个在任何人开口提问之前很久就已经做下的工程选择。

一段文本在进入模型之前变成了什么

语言模型不读词。它读的是词元(token):一些文本片段,比一个词更短,有时更长,由一个叫分词器的程序在文本进入计算之前切出来。这次切分的细节取决于一份固定的词表,这份词表在一个极大的文本语料上一次性学出来。每个词都有属于它自己的词元数量,而这个数量就是模型要收费的东西,既体现在计算时间上,也体现在它工作记忆里占的位置上。

同一份内容,加出来的账差得很远

2023 年的一项研究,在一批语言模型实际使用的分词器上测了这个差距。它的结论是:同一份内容翻成不同语言后,最不受优待的那种语言产出的词元,最多可以是最受优待那种语言的 15 倍。就连那些按字符或按字节切分、本该避开这个问题的分词器,在某些语言配对上仍然保留了 4 倍以上的实测差距。

15×

在最不利的情形下,同一份内容在最受优待和最不受优待的语言之间测出的词元数量差距(Petrov 等,2023 年)。

说同样的事却要用更多词元,不是一个审美上的细节。这意味着每个回答都要更多计算,因此生成更慢,对一个按词元计费的服务来说运行成本也更高。这还意味着上下文窗口,也就是模型有限的工作记忆,会更快被填满:在同样的词元额度下,一种不受优待的语言写出的文本,能装进去的真正有用的内容更少。

为什么这个选择不是中立的

最普遍的切分方法叫 BPE,即 byte pair encoding(字节对编码)。它不是为语言发明的。Philip Gage 在 1994 年把它描述成一种通用的计算机文件压缩方法:它找出数据里出现最频繁的那一对字节,用一个没被使用的字节替换掉,然后不断重复,直到再没有收益可榨。它最初和人类语言毫无关系。

2016 年,Rico Sennrich、Barry Haddow 和 Alexandra Birch 把这个想法用到机器翻译的一个具体问题上:一个罕见词,不在模型学到的词表里,该怎么办?他们的答案是把这个词切成更常见、模型已经认识的片段。这个方法效果很好,此后被几乎所有大语言模型沿用。

一份子词词表是在一个语料上、在模型本身训练之前一次性学出来的。一个以英语为主的语料,学出来的词表是为英语优化的:这种语言里最常见的片段变成一个个单独的、很短的词元,数量也少。而一个在这个语料里占比更小的语言,它的词就会被切成更多片段,仅仅因为它自己那些高频重复没有获得同样的机会在词表学习期间被看到。这不是语言本身的属性。这是一份语料留下的痕迹。

具体会改变什么

对同样一份内容,一个按词元计费的服务,对用被分词器冷落的语言写作的人收费更高。回答显示出来也更慢,因为模型是一个接一个地产出词元,速度大致恒定:要产出的词元更多,等待就更久。而上下文窗口,也就是模型一次能读或能写的那个固定词元数量,装进去的有用文本更少:一份文件、一段对话历史、一条很长的指令,都更装不下。

这些效应没有一个是因为某种语言比另一种更复杂。它们来自一份在给定语料上一次性学出来、之后再也不会按谁在用它来重算的词表。2023 年那项研究的作者提出了一个方向:从一开始就设计不会在结构上偏爱某种语言的分词器。

来源

本文以 CC BY 4.0 许可协议发布: 欢迎复制、翻译、再发布,署名 ODERSA 即可。

返回博客