ChatGPT近半年来稳坐科技圈热度的头把交椅,它这么火,让人忍不住想一探究竟。
ChatGPT是做什么的?
四个字:续写文本。
ChatGPT的本质是什么?
两个字:概率。
简单地说,它会根据现有的文本,来预测下一个词是什么。
完整的文章就是这样一个词一个词写出来的。
如果稍微准确一点,这个“词”其实叫做“标记”(token)。
因为它不一定是一个完整的词,它可以只是一部分,这正是它创造性的体现。
实际上,ChatGPT并不是只生成一个词,而是生成一组词。
每个词都有对应的概率,并且会按概率的大小依次排列。
比如这句话:在下雨天,你在家里最喜欢( )?
它会生成很多词,按概率高低排序:睡觉、打游戏、看电视、看书等等。
如果你觉得ChatGPT永远会选概率最大的词,那就太小看它了。
的确,概率越大,可能越符合场景。但这也意味着它越平庸。
也就是说,如果一直选概率大的词,那最后的文章就很平淡,给人一种官话连篇的感觉。
ChatGPT有一个叫做“温度”的参数,范围是0到1,专门用来调节这个选择。
越接近于0,就越会选择概率大的词,创造性很低;越接近于1,选择概率小的词的频率就越大,创造性也就越强。
那每个词的概率是怎么得出来的呢?
这就得益于它背后的一个叫做大语言模型(Large Language Model, LLM)的技术。
一提起模型,很多同学就会发怵,觉得那是很高大上的东西。
其实,模型的本质就是一个函数。你就把它理解成y=f(x)这样的函数就可以了。
这个LLM,其实就是一种叫做“神经网络”的东西在进行运算。
你也不用管神经网络是什么,你就把它当成一个黑盒就好了。
这个黑盒就是你熟悉的函数,你给它输入一些东西,它就会输出一些东西。
具体的原理你也不用知道,因为也没人能解释得清楚。
这个神经网络呢,是需要训练的。因此,你需要喂给它大量的文本,才能帮助它更好地理解文本内的关系,帮你生成可靠的内容。
它有一些参数(或者称之为权重),训练的目的,就是通过调节这些参数,让结果更符合现实。
ChatGPT有多少个参数呢?近2000亿个。
正是靠如此多的参数,才展现了它的神奇。
这种神经网络有个特点,越是复杂的东西,它处理得越好;反而是简单的问题,它却有点不灵了。
而且,你根本不用操心太多。只需要在开头和结尾处理一下,里面的过程它会自动学习好。不管有多复杂,只要你给它的样本足够多。
这个世界复杂的事情太多,或许我们可以从这里得到启发:复杂的事不妨用复杂的方法去解决,或许能找到不一样的出路。
有句话是:我们往往会在短期内高估某个技术,而在长期内低估某个技术。
ChatGPT也是如此,短期内的爆火会吸引大批的人加入。但只有理解了它的本质,才能发现它的潜力。
ChatGPT很强大,有空就要多用它!
推荐阅读:《这就是ChatGPT》
作者:[美] 斯蒂芬·沃尔弗拉姆(Stephen Wolfram)