Description
2019年,我们在做智能写作的时候,面临的最大的挑战就是AI给的数据效果和预期偏差太远。特别是做扩写的时候,发现生成的文字很容易跑偏。
当时,我们做了很多算法和模型研究。几乎爬取了全网的自媒体文章,然后训练一批模型,问题依然很多。因为中文博大精深各种修辞手法和阴阳怪气,再加上随着时代的发展,“米”、“口罩”、“W”等特殊词的用法也如雨后春笋一般涌现,如何让AI能跟上人类语言的理解能力是个让人头痛的问题。
当时我们也训练了不少语言模型,发现它根本无法弄懂词的含义,无法理解“心灵鸡汤”和“鸡汤”是完全两码事,写出了“老鼠爱喝心灵鸡汤”的令人啼笑皆非的错误;另外,很容易跑偏,从“心灵鸡汤”跑偏到“老鼠喝汤”再跑偏到“动物世界”,一口气扩写出几百个字,能跑偏到十万八千里,让人完全摸不着头脑。
在试了很多方案之后,我们得到了一个结论:机器无法真正理解人类的语言。然后,我们悄悄把“扩写”放到了“实验室”的板块,放弃了文本生成的持续研发。
AI生成文字这条路到底通不通?到2023年,在没有体验ChatGPT之前,我还是持保留态度,但是体验之后,我忍不住惊呼:“这三四年的时间到底发生了什么?”
我和大家一样,重新补起了功课……
一、什么是语言模型?
语言模型( Language Model)是一种机器学习算法,它可以根据给定文本来预测下一个词语或字符的出现的概率。
语言模型通过大量的文本数据来学习语言的统计特征,进而生成具有相似统计特征的新文本。其核心目标是建立一个统计模型,用来估计文本序列中每个词语或字符出现的概率,从而实现语言生成、语言理解等自然语言处理任务。
比如,我们可以给一句话让ChatGPT做扩写:"我今天吃了一个___"
它可能会扩写出“苹果”,“馒头”、“面包”、“汉堡”。根据大量的文本统计,这些词出现频率大致如下图:
苹果为0.07,馒头为0.035,面包为0.025,汉堡为0.022。
因为”苹果“出现得比较多,ChatGPT大概率会写出”今天我吃了一个苹果“。但它不太可能预测出”我今天吃了一个火车”,因为”火车“不是食物,虽然语法通顺。但喂给GPT训练的语料里面基本没有人会这样造句。
正是因为GPT在训练过程中吸收了大量的人类语言数据,所以我们会觉得它的回答符合我们的逻辑。
人类区别于普通动物的最主要智慧特征可能就是强大的语言能力。语言不仅仅只是一种沟通工具,还包含着人类的思考逻辑和对世界的认知。
不管AI是否有真正的智慧,我相信只要语言模型的预测能力做到极致,就能够让人类信以为真。
二、概率从哪里来?
那么,语言模型是如何预测概率的呢?这要从200多年前的贝叶斯学派说起。
贝叶斯定理,由英国数学家贝叶斯 ( Thomas Bayes 1702-1761 ) 发明的。其主要思想就是,通过已知的知识来预测接下来要发生事情的概率。即我们通过以往的经验、分析或实验,可以推断出一些事件发生的概率。为了更好的理解,我们举个预测地震的例子。
假设有人收集了大量历史数据,我们可以发现地震和自然界的某些异常现象有某种关系,如鸡飞狗跳、老鼠上街、青蛙搬家、湖水干涸等现象,我们可以根据历史的数据事先计算好这些现象出现的概率,叫做先验概率。地震的概率可以写作P(地震),异常现象的概率可以写为P(异常现象),例如,老鼠上街的概率可以写作P(老鼠上街)。
正所谓:一切偶然背后都会有个必然。根据历史数据,我们可以算出地震和