2分钟入门篇-什么是AI模型?
这篇是
的后续,如果你还没有看过前一篇的话,推荐你先去看。
上一篇我们用了最简单的词语,介绍AI是如何生成文字的。上文中用到的词语如下图所示:

我故意没有用任何专业术语,因为引入任何一个概念,都增加了理解的难度,我想把复杂的概念用最直白的语言表达出来。
如果你对AI稍微有些了解,听过一些AI方面的概念,比如说参数、模型、算法、训练等等,我希望延续上一篇的类比,帮你理解这些大词的含义。
什么是模型?
模型就是参数+架构。先说什么是参数,上文中说到,
全部的句子都处理完之后,我们记录下每一个旋钮的刻度。之后有新一台的计算机,我们不再重复上面的过程了,直接copy这些旋钮的刻度就好。公众号:孙思明2分钟入门篇-AI是如何生成文字的?
这里面一亿个旋钮,就可以理解成为模型的参数。
什么是架构?架构是上文中没有提到的一个概念,就是说这些旋钮并不是一字排开的,他们分成很多层,不同层级的旋钮之间有很多连接。这些层级和关联关系就组成了架构。比如说同样的十个旋钮,下图中左右两侧的架构是不同的。在参数量(旋钮的数量)和参数值(旋钮的刻度)一样的情况下,架构不同,也会产生完全不同的效果。

架构和参数同等重要,共同组成了模型。
训练过程和推理过程
人工智能的应用一般分成两个部分,训练过程和推理过程。上文中提到的针对大量的句子,进行猜词、看答案、算分、调节旋钮的过程就是训练过程。这些用于训练阶段的数据就是训练数据。

训练过程中,模型的架构不变,而其中的参数的数值(旋钮的刻度)在不断调整。
推理,就是把已经训练好的模型,用于新数据,来生成文字的过程。在推理过程中,因为我们只知道前半句,后半句是我们要生成的,我们并没有原文,也就不存在看答案、算分、调节旋钮的过程。到了推理过程的模型,其中的参数是不再改变的。上文中不断猜词的过程就是推理过程。

什么是算法?
算法是用来定义整个训练过程的,包括模型结构和其它的处理细节,常见的GPT3、BERT等等都是算法。算法负责的事情包括:
- 模型有多少层,每一层的旋钮是怎么连接的?
- 猜词的时候,如何定义一个词?翻开了第七章,那翻开是一个词,还是翻、开是两个词?
- 分数是怎么算的,答对加多少分,答错扣多少分?
- 如何根据分数调节旋钮,往左调还是往右调,每次调多少?
- ... ...
什么是微调(Fine tuning)?
目前最先进的文字生成模型,有大概1750亿个参数(旋钮),在训练的时候,需要48台最好的服务器,384块最好的显卡。训练数据来自于互联网,有1.5TB,包含3500亿个单词。整个训练耗时3.5个月,光训练成本就需要几百万美元(见注一)。
这么大的模型,每一家机构都要自己训练一个吗?不需要,成本太高,也没有必要。但是每一个机构都有自己的专业术语,或者独特表达,比如说法律、金融、医疗等等,原始数据中根本不存在或者数量很少。某一个领域的内容,机器看的少,学的就不好。从头开始训练成本太高,而不训练效果又不好,怎么办?
这就是微调技术解决的问题,它可以把别人训练好的超大模型拿来(这样的模型又被称为基础模型,或者大规模预训练模型),用自己的数据对参数做持续的优化,结果就是,既有通顺连贯的表达,又有领域知识,一举两得。
这也变成了今天文字生成领域的常见方案,通过别人训练好的千亿模型,配合自己的领域数据做微调,最终实现在自己专业领域内的最佳效果。
结尾
总结一下,今天主要介绍AI领域的一些概念,包括模型、参数、架构、(模型)训练过程、训练数据、(模型)推理过程、微调技术,如果你看到这里,恭喜你,已经打败了99.1%的人了,希望你再接再厉。
参考:
1. The Technology Behind BLOOM Training
https://huggingface.co/blog/bloom-megatron-deepspeed
2. Stanford CS224n: Natural Language Processing with Deep Learning