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

官方域名

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

免费,也不用账号

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

不收集任何数据

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

内容自由使用

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

偏见从哪里来

模型没有观点。它只是数它见过的东西,然后从自己的统计里抽。这个演示让你亲手扭一份语料的构成,再让你看着模型把你刚刚设下的扭曲一丝不差地还回来。

巴黎圣热纳维耶夫图书馆的阅览室,拱顶下是长桌和一排排书架
训练语料就是一批文本。一批文本里装了什么、又把什么留在外面,都会出现在回答里。 照片:JOHN TOWNER heytowner, 文件页面,许可协议 CC0 (许可协议文本).
说明

一切都在你的浏览器里计算。语料在这台设备上生成,模型在这台设备上学出来,你调的任何一项都不会离开你的机器。打开浏览器的“网络”标签页,再动手玩这个演示:不会有任何请求发出去。

扭一份语料,再看模型拿它做了什么

这个演示的语料是专为它写的,一开始构成是均衡的。每个滑块为一个职业设定一件事:主语用阴性形式的句子占多大比例。放在五十,语料两边说得一样多。拖动一个滑块,你就决定了模型将读到什么。这些句子是法语的,阴性和阳性在词形上就分得开,这正是这个演示能看得见的原因。本页给每个法语词都配了中文对照,放在括号里:屏幕上出现的、模型学到的,始终是法语词形。

语料的构成
50%
拉到零,没有一句话会说“ingénieure”(女工程师)。拉到一百,没有一句话会说“ingénieur”。
50%
同样的设置,换一个职业。
50%
同样的设置,换一个管理岗位。
50%
同样的设置,换一个手艺行当。

另外四个职业固定停在五十,作为对照:“chercheur”(研究员)、“enseignant”(教师)、“technicien”(技术员)、“avocat”(律师)。它们不动,这才让差距看得清。

语料里出现的城市

语料里还有一类句子,形式是“Le train part de ville”(火车从某城出发)。取消勾选一个城市,就把它从数据里整个拿掉,然后看看模型还能说什么。

一个词或一个数字。两个人输入同一个种子,会得到一字不差的同一段生成文本,这让这个演示在课堂上可以被引用。

先设定构成,再启动学习。模型的分布、生成出来的语料和一段生成文本都会显示在这里。

这个演示展示了什么

结果毫不意外,而这正是要弄懂的地方。模型给出的阴性比例,就是你在滑块上设的那个比例。不是一个相近的值,也不是一个趋势:是同一个值。n 元语法模型做的只有数数,所以它的结果就是一次计数。

由此得出两点,而且这两点不能混为一谈。

偏见是后果,不是意图

没有人在模型里写过某个职业属于某个性别。这条规律是在统计里冒出来的,因为它本来就在数据里。所以,在模型里找意图是浪费时间:有用的问题永远是“这份语料是用什么做的”,而这个问题指向的是收集、筛选和发布数据的那些人。

缺席的东西不是不太可能,而是不可能

把一个城市从语料里拿掉,模型就再也不会提它。不是很少提:它没法提,因为它一个计数也没有。任何温度设置、任何截断、任何上下文长度都不会让它回来。另外,请注意这份语料从来就没有装过什么:Paris(巴黎)、Londres(伦敦)、New York(纽约)、Tokyo(东京)都不在里面。在这上面学出来的模型,会让人以为这是一个不存在这些城市的世界,而且从不提示这份缺席。

这正是人们容易忘掉的另一半问题。偏见在回答出错时会被发现。缺席永远不会被发现,因为根本没有东西可看。

方法

下面是完整的计算。不用这一页,拿支铅笔也能重做一遍。

  1. 生成语料。为每个职业写四十个短句。如果滑块在九十,这些句子里就有百分之九十是“Elle est ingénieure.”(她是工程师。),其余是“Il est ingénieur.”(他是工程师。)。这个比例是用整数计数摊开的,从不靠抽签:所以设置相同,语料对每个人都相同。
  2. 切分。文本变成一串单位:“Elle”“est”“ingénieure”“.”。这里用的是按词切分,比真实模型的子词切分更好读,子词切分有它自己的一章。
  3. 统计。对每个两个单位的上下文,找出接过它的所有单位以及各接过多少次。上下文“Elle est”后面接过八十个句子?那它的表里就是这些职业的阴性形式,每个带着自己的计数。
  4. 相除。某个单位在一个上下文之后出现的概率,就是它的计数除以整张表的总数。这就是模型知道的全部。
  5. 抽取。要生成文本,就按这些概率在这张表里抽,随机数发生器由显示出来的那个种子播种。

到了第四步,设置和结果相等就不再神秘了:一个相对频率,就是你自己设下的那个比例。这就是一个靠数数的模型所做的事,也是大模型在上面叠加各种机制的地基。

真实的模型多了什么,又没少什么

这个演示要诚实,有一个条件:说清楚这个类比在哪里到头。

  • 底层机理是同一个。模型在语料里学到统计规律,然后把它们还回来。
  • 实际结论也是同一个。不碰数据、只在模型里修偏见,处理不了成因。
  • 缺席的效应也是同一个,而且在真实模型里更严重,因为没有人能把语料读一遍,去核对缺了什么。
  • 真实的模型不是照抄比例:它会泛化,在一个词上学到的规律会转移到另一些从没在这个上下文里出现过的词上。所以一处扭曲可能扩散到数据里并不存在的情形上。
  • 这份语料是合成的,而且刻意做得极小。它的比例不描述任何国家、任何职业、任何人群。它描述的是你刚刚在一个滑块上做的动作。
  • 真实的语料几乎从来不可读。正因如此,才有人提出了一套标准化的数据集文档做法;而一份没有文档的构成,是一条缺失的信息,不是一个细节。

研究测出了什么

三项已发表的结果,正好给这个演示让人感觉到的东西定了位。

在大规模普通文本语料、尤其是新闻报道上学出来的词嵌入,会复现可测量的性别刻板印象,把某些职业更强地关联到某个性别。一个在普通网络语料上训练的标准统计模型,会自动复现心理学测验已经识别并测量过的人类偏见,包括性别和出身方面的偏见。而且效应不止停留在文本里:商用的图像性别分类系统,对深色皮肤女性的错误率高达 34.7%,对浅色皮肤男性则为 0.8%,这个差距是按皮肤颜色与性别的交叉测出来的。

最后这个数字说出了真实的代价。这种量级的性能差距不是一个技术上的不完美:它是一项服务对某些人有用、对另一些人无用。

要守住的那个动作

面对一个规律得让你意外的回答,不要问模型为什么这么想:它并不知道,而且它的解释和其他内容一样是算出来的。要问的是它在什么上面学出来的,以及谁为这份语料写了文档。当这个问题没有答案,那就是答案。

想再往下走

把文本切成单位,讲在被切碎的词那一章。分布和抽取,讲在下一个词那一章。交给某个服务的内容后来怎么样了,讲在我们交给它什么那一章。该把这个工具收起来的情形,汇集在什么时候不要用它。本站所有演示都汇集在演示页面,课程目录在理解页面。

来源