被切碎的词
模型从来收不到一个字母,也收不到一个完整的词:它收到的是碎片,靠在一份语料上做统计学出来的。本章让算法在你眼前学一遍,再把学到的结果用到同一句话的几种语言版本上。
一切都在你的浏览器里计算,用的是嵌在本页里的一段文本。语料、合并规则的学习、一句话的切分,全部留在这台设备上。动手用这个工具的时候,打开浏览器的“网络”标签页:不会有任何请求发出去。
训练语料
本章的算法只在一段文本上学习,别无其他。整段就在下面:《八十天环游地球》这部小说的前十五段。这段文本是法语的,下面的跨语言比较正建立在这一点上。往下不会再用别的句子来训练:你在这里读到的,就是切分规则学习时用的全部材料。
这份语料一共 十五段。
En l’année 1872, la maison portant le numéro 7 de Saville-row, Burlington Gardens maison dans laquelle Sheridan mourut en 1814, était habitée par Phileas Fogg, esq., l’un des membres les plus singuliers et les plus remarqués du Reform-Club de Londres, bien qu’il semblât prendre à tâche de ne rien faire qui pût attirer l’attention.
À l’un des plus grands orateurs qui honorent l’Angleterre, succédait donc ce Phileas Fogg, personnage énigmatique, dont on ne savait rien, sinon que c’était un fort galant homme et l’un des plus beaux gentlemen de la haute société anglaise.
On disait qu’il ressemblait à Byron par la tête, car il était irréprochable quant aux pieds, mais un Byron à moustaches et à favoris, un Byron impassible, qui aurait vécu mille ans sans vieillir.
Anglais, à coup sûr, Phileas Fogg n’était peut-être pas Londonner. On ne l’avait jamais vu ni à la Bourse, ni à la Banque, ni dans aucun des comptoirs de la Cité. Ni les bassins ni les docks de Londres n’avaient jamais reçu un navire ayant pour armateur Phileas Fogg. Ce gentleman ne figurait dans aucun comité d’administration. Son nom n’avait jamais retenti dans un collège d’avocats, ni au Temple, ni à Lincoln’s-inn, ni à Gray’s-inn. Jamais il ne plaida ni à la Cour du chancelier, ni au Banc de la Reine, ni à l’Échiquier, ni en Cour ecclésiastique. Il n’était ni industriel, ni négociant, ni marchand, ni agriculteur. Il ne faisait partie ni de l’Institution royale de la Grande-Bretagne, ni de l’Institution de Londres, ni de l’Institution des Artisans, ni de l’Institution Russell, ni de l’Institution littéraire de l’Ouest, ni de l’Institution du Droit, ni de cette Institution des Arts et des Sciences réunis, qui est placée sous le patronage direct de Sa Gracieuse Majesté. Il n’appartenait enfin à aucune des nombreuses sociétés qui pullulent dans la capitale de l’Angleterre, depuis la Société de l’Armonica jusqu’à la Société entomologique, fondée principalement dans le but de détruire les insectes nuisibles.
Phileas Fogg était membre du Reform-Club, et voilà tout.
À qui s’étonnerait de ce qu’un gentleman aussi mystérieux comptât parmi les membres de cette honorable association, on répondra qu’il passa sur la recommandation de MM. Baring frères, chez lesquels il avait un crédit ouvert. De là une certaine surface, due à ce que ses chèques étaient régulièrement payés à vue par le débit de son compte courant invariablement créditeur.
Ce Phileas Fogg était-il riche ? Incontestablement. Mais comment il avait fait fortune, c’est ce que les mieux informés ne pouvaient dire, et Mr. Fogg était le dernier auquel il convînt de s’adresser pour l’apprendre. En tout cas, il n’était prodigue de rien, mais non avare, car partout où il manquait un appoint pour une chose noble, utile ou généreuse, il l’apportait silencieusement et même anonymement.
En somme, rien de moins communicatif que ce gentleman. Il parlait aussi peu que possible, et semblait d’autant plus mystérieux qu’il était silencieux. Cependant sa vie était à jour, mais ce qu’il faisait était si mathématiquement toujours la même chose, que l’imagination, mécontente, cherchait au-delà.
Avait-il voyagé ? C’était probable, car personne ne possédait mieux que lui la carte du monde. Il n’était endroit si reculé dont il ne parût avoir une connaissance spéciale. Quelquefois, mais en peu de mots, brefs et clairs, il redressait les mille propos qui circulaient dans le club au sujet des voyageurs perdus ou égarés ; il indiquait les vraies probabilités, et ses paroles s’étaient trouvées souvent comme inspirées par une seconde vue, tant l’événement finissait toujours par les justifier. C’était un homme qui avait dû voyager partout, en esprit, tout au moins.
Ce qui était certain toutefois, c’est que, depuis de longues années, Phileas Fogg n’avait pas quitté Londres. Ceux qui avaient l’honneur de le connaître un peu plus que les autres attestaient que si ce n’est sur ce chemin direct qu’il parcourait chaque jour pour venir de sa maison au club personne ne pouvait prétendre l’avoir jamais vu ailleurs. Son seul passe-temps était de lire les journaux et de jouer au whist. À ce jeu du silence, si bien approprié à sa nature, il gagnait souvent, mais ses gains n’entraient jamais dans sa bourse et figuraient pour une somme importante à son budget de charité. D’ailleurs, il faut le remarquer, Mr. Fogg jouait évidemment pour jouer, non pour gagner. Le jeu était pour lui un combat, une lutte contre une difficulté, mais une lutte sans mouvement, sans déplacement, sans fatigue, et cela allait à son caractère.
On ne connaissait à Phileas Fogg ni femme ni enfants, ce qui peut arriver aux gens les plus honnêtes, ni parents ni amis, ce qui est plus rare en vérité. Phileas Fogg vivait seul dans sa maison de Saville-row, où personne ne pénétrait. De son intérieur, jamais il n’était question. Un seul domestique suffisait à le servir. Déjeunant, dînant au club à des heures chronométriquement déterminées, dans la même salle, à la même table, ne traitant point ses collègues, n’invitant aucun étranger, il ne rentrait chez lui que pour se coucher, à minuit précis, sans jamais user de ces chambres confortables que le Reform-Club tient à la disposition des membres du cercle. Sur vingt-quatre heures, il en passait dix à son domicile, soit qu’il dormît, soit qu’il s’occupât de sa toilette. S’il se promenait, c’était invariablement, d’un pas égal, dans la salle d’entrée parquetée en marqueterie, ou sur la galerie circulaire, au-dessus de laquelle s’arrondit un dôme à vitraux bleus, que supportent vingt colonnes ioniques en porphyre rouge. S’il dînait ou déjeunait, c’étaient les cuisines, le garde-manger, l’office, la poissonnerie, la laiterie du club, qui fournissaient à sa table leurs succulentes réserves ; c’étaient les domestiques du club, graves personnages en habit noir, chaussés de souliers à semelles de molleton, qui le servaient dans une porcelaine spéciale et sur un admirable linge en toile de Saxe ; c’étaient les cristaux à moule perdu du club qui contenaient son sherry, son porto ou son claret mélangé de cannelle, de capillaire et de cinnamome ; c’était enfin la glace du club glace venue à grands frais des lacs d’Amérique qui entretenait ses boissons dans un satisfaisant état de fraîcheur.
Si vivre dans ces conditions, c’est être un excentrique, il faut convenir que l’excentricité a du bon !
La maison de Saville-row, sans être somptueuse, se recommandait par un extrême confort. D’ailleurs, avec les habitudes invariables du locataire, le service s’y réduisait à peu. Toutefois, Phileas Fogg exigeait de son unique domestique une ponctualité, une régularité extraordinaires. Ce jour-là même, 2 octobre, Phileas Fogg avait donné son congé à James Forster ce garçon s’étant rendu coupable de lui avoir apporté pour sa barbe de l’eau à quatre-vingt-quatre degrés Fahrenheit au lieu de quatre-vingt-six, et il attendait son successeur, qui devait se présenter entre onze heures et onze heures et demie.
Phileas Fogg, carrément assis dans son fauteuil, les deux pieds rapprochés comme ceux d’un soldat à la parade, les mains appuyées sur les genoux, le corps droit, la tête haute, regardait marcher l’aiguille de la pendule, appareil compliqué qui indiquait les heures, les minutes, les secondes, les jours, les quantièmes et l’année. À onze heures et demie sonnant, Mr. Fogg devait, suivant sa quotidienne habitude, quitter la maison et se rendre au Reform-Club.
文本:儒勒·凡尔纳,《八十天环游地球》,1873 年,公有领域。为便于阅读,这份转录做过处理:撇号统一为印刷体,转录里的破折号和引号去掉,斜体标记去掉,章节标题和目录剔除,不足四十个字符的段落剔除。
合并规则,按算法学到它们的顺序
每一次合并都是一次挑选:在上面那份语料里出现最频繁的那一对符号,变成一个新符号。你来决定算法有权做多少次合并,然后看着表格一行一行填满,一次合并一行,按学到的顺序排列。
合并规则表会出现在这里,按算法学到它们的顺序排列。
切分一句话
下面是这些合并规则对一句新的话做的事:它们按学到的顺序依次套用,最早学到的先来,直到再没有一条用得上。
你这句话的切分结果会出现在这里,一个个单位排开。
同一句话,7 种语言
这就是本章要留下的那个要点。同一个切分器,按上面选定的合并次数设置好,而且只在法语上学过,现在去切分一句意思完全相同的话,共 7 种语言。它切出来的单位数量在不同语言之间差得极远,而这个差距只有一个原因:这个切分器除了法语什么都没读过。
语言之间的比较会出现在这里,每种语言一条横条。
原句:ODERSA 的信任横幅,本会的标准文本,以 CC BY 4.0 许可协议发布。 这个切分器只是个玩具,学的材料是一部 1873 年的小说:它数出的单位数量不是某个产品的数量,但产生这些数量的机理是同一个。
方法
这个算法叫 BPE,即 Byte Pair Encoding(字节对编码)。它 1994 年被设计出来时是一种通用的数据压缩方法,和自然语言没有关系(Gage, 1994)。2016 年,它被用来把文本切成子词单位,让机器翻译模型能把罕见词或没见过的词拆成更小的、已经认识的单位来处理(Sennrich, Haddow 和 Birch, 2016)。上面那个演示刚才在你眼前跑起来的,就是用在文本上的第二个版本。
- 从字符出发。语料里的每个词都变成它的字符序列,一个字符一个符号。法语单词“enseignant”(教师)一开始是十个符号:e、n、s、e、i、g、n、a、n、t。
- 数出所有相邻的符号对。对语料里的每个词、每一对挨在一起的符号,把它出现的次数加起来,再乘上这个词在语料里出现的次数。
- 留下最高频的那一对。次数相同时,规则总是留下从左到右、一个词接一个词读下来最先遇到的那一对:两个人用手来数,会落到同一对上。
- 把这一对合并成一个新符号,语料里凡是出现它的地方都合并。词表就多了一个符号。
- 想合并多少次,就把第二步到第四步重复多少次。每一次合并都建立在上一次留下的状态上:一个名次绝不会跳过前一个名次算出来。
- 停下来。要么合并次数达到事先定好的数目,要么再没有任何一对重复出现:这时语料里的每个词都已经变成了一个单独的符号。
- 用学到的合并规则去切分一段新文本。还是从它的字符出发,按合并规则学到的顺序套用,最早学到的先来,只要清单上还有哪一对出现在里面就继续。一个和训练语料没有任何共同字符的词,一条合并规则也碰不上:它就一个字符一个字符地散着。
下面是一个完整的手算例子,语料只有两个法语词:“enseignant”,数四次;“grand”(大的),数三次。a 后面接 n 这一对总共出现七次,“enseignant”里四次,“grand”里三次:没有别的对达到这个数,所以它第一个被合并。后面几次合并都同为四次:规则留下的是从左到右读“enseignant”时最先遇到的那一对。
| 名次 | 被合并的一对 | 得到的符号 | 出现次数 |
|---|---|---|---|
| 1 | a + n | an | 7 |
| 2 | e + n | en | 4 |
| 3 | en + s | ens | 4 |
| 4 | ens + e | ense | 4 |
| 5 | ense + i | ensei | 4 |
| 6 | ensei + g | enseig | 4 |
这六次合并做完,“enseignant”写成 enseig、n、an、t,“grand”写成 g、r、an、d:各是四个符号,还有一个共用的符号 an,是靠这两个词一起学到的。上一节那张表对整部小说做的,正是这同一套机理。
一个单位不等于一个词
一个单位,也叫词元,就是合并规则留下的一个符号:有时是一个完整的词,有时是一个片段,有时只是一个字符。算法里没有任何东西懂得音节、词根或者词尾:唯一起作用的,是训练语料里各对符号的出现频率。
上面那张表在名次靠后的地方就显示了这一点:人名“Fogg”变成了一个单独的符号,仅仅因为它在这十五段里反复出现。另一份语料里没有这个人物,就永远学不到这个符号。所以一个模型的词表不是按意义挑出来的词汇清单:它是训练文本留在上面的统计印记。
为什么模型从来看不到一个字母
切分做完之后,文本对模型来说就只以这些单位的形式存在,而且已经换成了数字。模型是在这些数字上做计算的:它没有任何一步运算能表达“这个单位的第三个字母”,因为一个单位一旦变成符号,就不再作为字母序列保存下来。
当一个单位刚好只对应一个字符时,通向字母的路径是碰巧存在的。一个单位只要合起了好几个字符,就像上面“lettres”(字母)这个词的切分结果那样,这条路径就消失了:模型是在整个符号上推理的,从不逐个字母地推理。
这套机理不擅长的事
有三件很平常的任务需要直接看到字母。切成单位这件事,从构造上就让它们不可靠。
- 数一个词有几个字母
- 如果整个词就装在一个单位里,或者一个单位合起了几个相同的字母,那么数数就变成了数一些并不对应任何具体字母的单位。答案可能对,但碰巧的成分和计算的成分一样多。
- 判断两个词是否押韵
- 押韵要看最后几个音,也就是最后几个字母。如果一个单位的边界落在词尾以外的地方,本该逐个字母比对的东西,就变成了在互不重合的单位之间比对。
- 把一个词逐字母倒着写出来
- 倒写一个词,前提是能逐个拿到它的每个字母,而且顺序不乱。一个模型收到的词已经被合成了两三个单位,它得先把从来没有单独处理过的字母重新拼回来。
每种语言的代价
上面那个比较当场就展示了这一点:一个在某份语料上学出来的切分器,处理接近这份语料的文本时切出的单位很少,处理离它较远的文本时就多得多。一项公开的测量在真正投入生产的切分器上得出了同样的差距:同一份内容翻成不同语言后,所需的词元数量最多可差到十五倍,这让某些语言在结构上就更费钱、处理起来也更慢(Petrov, La Malfa, Torr 和 Bibi, 2023)。
The AI Manual 以 7 种语言提供这门课。所以这个差距不是什么趣闻:一个页面在法语里只花很少词元,换成另一种文字体系的语言可能要花多得多,这会影响回答的速度,也会影响接下来这段对话还剩多少上下文可用。
想再往下走
文本变成单位之后,模型就开始预测下一个单位:这套机理是下一个词这一章的主题。别的机理也能在演示页面用同样的方式动手试。课程的完整目录在理解页面。
来源
- Neural Machine Translation of Rare Words with Subword Units Rico Sennrich, Barry Haddow, Alexandra Birch,2016 年。该文确立:把 BPE 算法用于将文本切成子词单位,是在神经机器翻译中引入的,目的是让模型把罕见词或没见过的词拆成更小的、已经认识的单位来处理。
- A New Algorithm for Data Compression Philip Gage,1994 年。该文确立:今天用于大语言模型分词的字节对编码,最初被设计成一种通用的数据压缩方法,和自然语言没有关系。
- Language Model Tokenizers Introduce Unfairness Between Languages Aleksandar Petrov, Emanuele La Malfa, Philip H. S. Torr, Adel Bibi,2023 年。该文确立:同一份内容翻成不同语言后,所需的词元数量最多可差到十五倍,这让某些语言在结构上就更费钱、处理起来也更慢。
- 《八十天环游地球》(Le Tour du monde en quatre-vingts jours) 儒勒·凡尔纳,1873 年,公有领域。只有十五段用于训练,并为便于阅读做过处理:撇号统一为印刷体,转录里的破折号和引号去掉,斜体标记去掉,章节标题和目录剔除,不足四十个字符的段落剔除。
- ODERSA 信任横幅 ODERSA,本会的标准文本,以 CC BY 4.0 许可协议发布。 用作上面跨语言比较里那句意思相同的话。