AI大模型重要的是基础能力,一开始就把训练中文能力作为目标的意义不大。
很多人在体验ChatGPT时都遗憾它似乎对中文世界的知识没有那么熟悉,不太会背古诗,对中国名人张冠李戴,甚至对很多中国人广为人知的历史、名著强行胡说八道,而相应地对欧美世界的历史、社会常识就好得多。所以,大家都在呼吁中文版ChatGPT在哪里。我自然也有这种期盼,但我个人认为,只有做出一个英文能力超过ChatGPT的模型才可能同时更好地实现中文能力。因为模型的基础能力强,才能吊打一切,而语种只是上层表达。如果英文不能超越或持平ChatGPT,单单提升中文能力是远远不够的。
有证据表明,大模型学习到的基础能力是超越语言跨越语种的“高级知识”,很多研究论文都有阐述,我这里仅说一些我的直观感受:
【资料图】
1、RLHF论文中的训练数据英文占比99%+,西、法、德语还占了剩下的大部分,中文估计就是0.0x%这个级别,效果大家都体验到了。中文和其他小语种能力的提升同样也非常显著,这很强有力地证明了这种训练方法是让模型学到了跨越语种的隐含信息;
2、ChatGPT为对话模型做了很多防止有害信息、承认自己不知道、尽量公正客观等限制。其中一个方法是预先的prompt提示语。我认为,且也有一些蛛丝马迹表明这个prompt提示语只是用英语写的,但很明显它对所有语种都有效了。
3、很多人都发现ChatGPT中文回复时偶尔有翻译腔的情况,这固然可能是训练中翻译数据的直接结果,但从宏观上也能看作是“高级知识”跨语种适配的体现。
再回到开始的“中文能力”。其实熟背古诗、对中国历史文化倒背如流只能算是“中文能力”的细枝末节,技术上也不特别困难,国内很多中文训练足够的模型都能做到。但是大家想一想,这次ChatGPT火爆的原因可不是能熟背知识,而是能理解提问者意图,然后流畅地生成新的相关文字内容、虽然内容可能是错的,但很少自身矛盾。这对于之前的NLP模型来说可太难了。
举个例子,我曾用ChatGPT改写顾城的现代诗为古诗,虽然它生成的古诗并不怎么样,但是却能牢牢地扣住原诗内容,绝不跑题。我还可以明确地告诉它“第三句太现代化,再增加些古风,请重写”。这种交互对于以往所有的计算机程序都是不可想象的。所以,真正的中文能力是指:对语言的理解和应用,而不仅是熟知中文知识。
中文的语言数据集需要艰苦卓绝的整理工作
垃圾信息问题。很多人不知道自动生成文本信息的技术在中文互联网早就泛滥成灾,但大多只管生成数量完全不在乎质量。比如SEO搜索垃圾生成、水军机器人、电商评论机器人、各文库/知道自动改写、论文防查重“技术”等等。你只需用中文搜索稍不常见的词就能体会到垃圾信息的体量和威力。这些中文垃圾信息是完全不能出现在训练数据中的。很不幸,我在测试一些国产大模型时都或多或少发现了互联网垃圾体的影子。英文互联网当然也有垃圾问题,但仅从搜索信息来看似乎要好很多。
移动互联网发达的意外之害。中国移动互联网的繁荣成功不可否认,但现在意外地发现这对于中文信息的开放共享是个灾难。各位是不是对“下载App继续阅读”深有体会?还有微信王国中各种海量的号。从十几年前开始,各个领域优质用户产生的优质中文数据只有通过移动渠道/登录账号才能访问,还会把原有开放互联网上的信息删除或者加上层层限制。我甚至怀疑目前在互联网上能公开扒取到的语言数据已经不能完整反映中文世界的客观信息,并且对于微信、百度、知乎、小红书、各电商、教育平台等各相对优质数据的所有者,它们能联合起来共享么?
中文标注数据集匮乏。相信很多NLP的长期从业者深有体会。海量数据的自监督训练阶段结束后,那些之前积累的各种人工标注语言数据的监督训练才是画龙点睛那一笔。ChatGPT除了自己请人标注,也用了已有的共享数据集。可惜的是,中文里这种数据集太少了。标注工作枯燥乏味而且很难出亮眼成绩,不过是为他人做嫁衣。我们经常羡慕别人重大突破时天才的灵光一闪,但是勤勤恳恳做基础整理工作的老黄牛们同样重要,我们也很缺。
训练中文版ChatGPT的可能正确方式
训练仍然要以英文为主。不得不承认,作为世界语言以及相对开放的互联网环境,英文信息尤其是高质量信息处于统治地位。2022年,某项统计显示,互联网上开放信息的中文占比仅1.3%,而英文占比63%,其中高质量部分优势更大,比如论文,包括中国人在内的各非英语国家,一旦做出较大科研成果几乎肯定先发英文论文,后续也未必有中文翻译,维基百科、StackOverflow、Reddit等资源也是中文只能羡慕的存在,而我们获取英文数据可能还更加容易。另外,英文本身是和代码及大多外语是同源,而象形单音节的中文略显孤独,这可能也是个问题。总之,既然已经证明了英文为主的道路畅通,最理智的做法是先走着。
其次以程序代码为辅。英语为主汉语为辅?不,不,第二重要的应该是程序代码。有一些研究者认为,ChatGPT展现出了初级推理能力要归功于其使用代码作为语言数据训练,进化出的初级逻辑思维链在中文上也有体现,说实话,我并不确信这个推论,但很值得想象。即使此结论不正确,大模型拥有写代码的能力也极其重要,比如使用外部工具,为无限能力扩展提供了接口。 代码数据的重要性对我们不是个好消息,ChatGPT应该用了github汇聚的全世界代码库,包括私有库,我们如何获取高质量的代码数据是个大问题。
顶住诱惑激进清洗数据。中文数据贵精不贵多,GPT3收集训练数据45TB,清洗后为570GB,仅保留了1.2%。中文数据清洗保留比例可能还要少个数量级,很考验数据工程师的心理承受能力。辛辛苦苦收集的数据,你只让用0.0x%?我拍脑袋认为,训练集中有3~5%的中文数据就足以改进ChatGPT缺乏中文知识的情况了,甚至在上述推论下,中文也没必要追求体量上超过西班牙语、法语、德语。后续监督、对齐、联网阶段还可以针对中文做优化。
最后声明,我不能算是NLP的实际从业者,因此以上是不负责任没有顾忌的纸上谈兵。
(李闯系中国金融认证中心(CFCA)技术专家、中国电子银行网专栏专家。)
文章仅为个人投稿,不代表所在公司的观点和立场。