引言
AI人工智能发展过程简述。
正文
很多人只会调接口跑 Demo,一问到 Transformer 的注意力机制或者 BERT 和 GPT 的区别,就不清楚了。其实这就是调包侠和算法工程师的分水岭。工具和 API 天天都在变,但是这些底层的逻辑架构是不变的。掌握了这些,你才能以不变应万变。
什么 CNN、RNN、Transformer,它们的演进逻辑其实非常像我们人类的学习过程。只要搞懂了这条进化路线,那些复杂的公式你根本不用死记硬背。
我们通过 4 个部分把 AI 的进化故事给串起来。
首先我们聊一聊卷积神经网络 CNN,看看 AI 是怎么把一张像素图变成它眼里的猫和狗的,这是 AI 理解世界的起点。 为了解决顺序问题,循环神经网络 RNN 就出现了。那就像是给 AI 加上了记忆条,让它能像人一样读句子。但是你会发现 RNN 性能不太好,还特别的慢,于是就有了改变世界的 Transformer——怎么让 AI 学会划重点,并且一目十行的。搞懂这一部分,你就搞懂了所有现代大模型的地基。
最后呢我们会看到 Transformer 衍生出来的两大流派:BERT 和 GPT,一个是专攻理解,一个专攻生成。
好,那我们就正式开始。先来聊一聊这位老朋友 CNN——卷积神经网络。大家千万不要被这个名字给吓到了,其实它的逻辑特别简单。
我们先来看一看很有意思的对比。大家有没有想过,为什么 AI 早就学会了看图,比如说人脸识别、自动驾驶,那你知道这两年它才突然变得会说话了呢?
原因就在这里。你看左边这张图,在电脑眼里,其实这只猫就是一堆的数字,就是一堆像素的排列,看到没有?很乱。但我们人眼,或者是说 AI,只要抓住了几个关键特征,比如说尖耳朵、圆眼睛、胡须等等,不管这只猫是在画面的左边还是右边,也不管它是躺着还是坐着,我们都能认出来这是一只猫。
对于图像来说,关键在于特征,而不在于绝对的位置。
那你再看右边文本数据,就完全不一样了。”我吃苹果”和”苹果吃我”,你看这 4 个字完全一模一样吧?它的顺序一调,意思就炸了。前一个是我们在吃水果,后一个呢就成了恐怖片了,对吗?
这就说明了一个核心问题:在语言的眼里,顺序决定意义。它不是简单的特征集合,不是简单的特征堆砌,而是一条流动的上下文之河。
那最早的 AI 是怎么处理数据的呢?好,它用的是 CNN。来看这张图,CNN 的工作方式特别像是一个拿着放大镜的特征猎人。
你看左边这个格子,CNN 会用一个小小的窗口,我们叫它卷积核,在图片上这么划来划去。它是在干嘛呢?它其实是在做扫描,也就是卷积。比如说这个窗口可能是专门找眼睛的,那个窗口呢就负责找嘴巴。它扫描完了全局,就把这些局部特征给抓出来了。
抓出来了之后呢,它还做了一步操作。它右下角这个数字矩阵叫做池化,听得挺玄乎,其实说白了呢就是压缩。比如说这 4 个格子的数字,我只保留最大的那一个 112。这就像是我们做笔记划重点一样,把不重要的信息给扔掉,只留下最强的特征。
那么经过这两步——扫描和压缩,CNN 厉害到什么程度呢?我们看右边这个数据。2012 年经典的 AlexNet 直接把图像识别的错误率降到了 15.3%。大家可能没什么概念,这么说吧,准确率呢比我们人类用肉眼去认照片还要准。所以呢那个时候大家都觉得 AI 真的崛起了。
但是当我们兴冲冲地把这一套处理图像的 CNN 啊,拿去处理文字的时候,出大事了。
你看这个袋子,这就叫词袋子模型。因为 CNN 是看局部特征的,它不管你东西在哪里。在它的眼里,”我吃苹果”就这三个独立的特征。当你把”我吃苹果”扔进去,或者是把”苹果吃我”给扔进去,对于 CNN 来说,它这个袋子里面摇一摇,摇出来的结果是一模一样的,都是包含了这三个词的一袋子东西。”我吃苹果”根本就分不清谁是主语、谁是宾语。
这就是 CNN 的致命缺陷——它看不懂顺序。在它看来语言就是一堆词语的随机组合,理解不了那个因果逻辑。所以呢用 CNN 做出来的语言模型,就像个记性不好的鹦鹉,它能蹦出几个字,但是呢连不成一句人话。
那么既然问题是出在这个顺序上面,那么专门搞序列处理的专家 RNN——循环神经网络,就必须要来救场了。
大家注意这个”循环”,那就意味着它不是直来直去的,而是有记忆的。
我们来看这张图。RNN 的核心思想其实特别像我们人类一边读书一边在脑子里面记笔记。你看这个流程:首先读到了”我”,唉它不会读完就扔,而是把这个”我”的信息 X 存下来。接着它读到了”吃”的时候,这时候关键就来了——不仅仅是看”吃”这个字,还会回头去看一下刚才存下的那个”我”。结合前面的笔记,它脑子里面就生成了一个新的理解:原来是”我”在吃。最后呢读到”苹果”,它再结合前面的”我在吃”,推导出来的完整意思是:我吃的对象是苹果。
这个用来记笔记的小本子,在技术上呢有这样一个学名,叫做隐藏状态。RNN 也就是这样拥有了记忆,它能够把上一个词的信息传给下一个词。这样一来,它终于能够分清”我吃苹果”和”苹果吃我”的区别了。
那早期的机器翻译,还有判断这句话是高兴还是生气,基本上全都是靠 RNN 在扛大旗。
但是理想很丰满,现实呢很骨感。RNN 虽然解决了顺序问题,但是它身上还有两个改不掉的大毛病,直接限制了它的发展。
第 1 个毛病,叫做无法并行。说人话呢就是太慢了。要看左边这个图,不像我们去坐火车坐高铁排队过安检,要计算第 2 个词必须得等第 1 个词算完。那么如果它要算第 1000 个词,必须得等前面 999 个词全都排完队。它没法像 CNN 那样哗啦一下,就把所有的像素同时扔进去算。这就导致了它的训练速度极慢,面对现在的海量大数据,它根本就跑不动。
第 2 个毛病就更要命了,叫做长距离依赖,俗称健忘症。可以看这个链条,它信息传着传着就淡了。如果这句子很短还好,那如果是一篇长文章,开头写着”Alice 拿着钥匙”,中间呢过了 1000 个字巴拉巴拉巴拉,然后”她打开了门”。但 CNN 读到最后那个”她”的时候,它早就忘了开头的主角是 Alice。这导致了之前的 AI 写短句子还行,一写长作文就开始胡言乱语。
你看,它又慢、性能又差,AI 的文本理解能力就这样被卡在了这里,停滞不前。那怎么办呢?
直到 2017 年,谷歌甩出了一个王炸。这一定是 AI 历史上的一个高光时刻。他们提出了一种全新的架构,叫做 Transformer。这个词大家现在应该听得很多了,它就是现在所有大模型,包括我们常用的 ChatGPT、GPT 的老祖宗。这就是当年那篇著名的论文,名字起得是特别霸气,叫做 Attention Is All You Need。
翻译过来就是:我们要的只有注意力。它把以前的一些复杂的循环、卷积通通扔掉,只保留了一个核心武器——注意力机制。
这一篇论文一出来,基本上就宣告了自然语言处理进入了一个新的时代。
那么这个 Attention 注意力机制到底是个啥呢?其实也特别简单,它是在模仿我们人类看东西的习惯。
我们可以看这张图。当我们看到”我爱中国,你呢”这句话的时候,我们的大脑不是死板地一个字一个字读的,而是会瞬间抓住重点、建立联系。
比如说我们看到”我”这个字,Transformer 会瞬间去算它和周围词的关系。它会问:谁爱?是”我”爱,这两个词关系很紧,打高分。它又问:爱谁呢?是”中国”,这也是强关联,打高分。对于那个”你”呀,离得太远,关系不大,那就给个低分吧。
这就叫做注意力机制——学会了像人一样只关注相关的词,而不是眉毛胡子一把抓。
那么有了注意力机制,其实还顺手解决了一个让 RNN 头疼多年的大问题,那就是速度问题。
上面这个 RNN,像不像是我们在单窗口排队办事?第 1 个人办完,第 2 个人才能上,这叫串行,效率极低。
你再看下面的 Transformer,因为它是去算词和词之间的关联程度,它不需要等。它能够一次性把”我爱中国,你呢”这几个字全部给扔进去,同时计算它们之间的关系。这就像是把单窗口办事变成了多窗口同时办公。这样一改呢,计算速度直接提升了好几个量级。这才是我们大模型能训练得动海量数据的基础。
但是细心的朋友可能发现了:如果所有的词一起扔进去算,那么顺序不就乱了吗?是不是又回到了第一章那个”我吃苹果”和”苹果吃我”分不清的困境了?
其实 Transformer 的设计师简直是个天才,他们又想了一招,叫做位置编码。
大家可以看,大概每一个进入模型的词都发了一张座位号。比如说”我”给你发个 1 号票,”爱”发个 2 号票,”中国”发个 3 号票。最终输入给模型的数据是:词的含义 + 它的位置,打包在一起的。
这样一来呢,模型既享受了并行计算的快速度,又通过这个号码牌死死地记住了谁在前谁在后。
所以你看 Transformer 这一套组合拳打下来:用注意力机制抓重点,用并行计算提速度,再用位置编码保顺序。那就彻底把 AI 从懵懵懂懂的状态变成了精通语言的大师。
那这个架构后来是怎么演变成我们现在用的 GPT、BERT、通义千问这些大模型的呢?这里面其实分为了两个流派。
大家看论文里面这个架构图。左边呢是拿放大镜的,叫做 BERT,它只用了 Transformer 的编码器 Encoder,专门练理解这个技能。右边这个拿铅笔的,就是大名鼎鼎的 GPT,它只用了解码器 Decoder,专门练生成技能,也就是搞创作。
那么这两个流派到底有什么区别呢?
我们先来看理解大师 BERT。它最大的特点就是双向注意力。什么意思呢?比如这一句话,它在”然后____吃午饭”填这个空的时候,它能够同时看到左边的”它在”,也能看到右边的”吃午饭”。它就像一个通读了全文的老师,结合上下文语义推断:这可能是在公司,或者是在家里,在餐厅。
这个技术其实对我们的生活影响可大了。各位都写过毕业论文,被知网查重肯定不陌生吧?大概呢是在两年前,其实知网升级了。很多同学会发现,我把”随着经济发展”改成了”伴随经济腾飞”,怎么还能被查出来?就是因为 BERT。现在的查重系统早就不是简单的比对字面重复了,它是用 BERT 去读懂句子的语义。在它的眼里,你换个词意思没变,它照样认识。所以简单的洗稿现在已经行不通了。
那我们再来看一下生成大师 GPT。它的思路就完全不一样了,因为它要写文章。写文章是不能一下子直接看结尾的,对吧?所以 GPT 只有单向注意力。
大家看中间这个图。GPT 在写”我今天要去哪里”的时候,它只能看到前面,不能看后面。为了防止它偷看答案,工程师给它加了一个掩码机制(Masked),就像是竖了一道墙,把未来的词给挡住了。只能根据”我今天要去”这几个词,去猜下一个词可能是”公司”还是”商场”还是”玩”。猜完一个再猜下一个。这就是为什么 GPT 写出来的东西特别流畅,因为它是模拟我们人类说话写字的逻辑,一个字一个字蹦出来的。
那么 GPT 是怎么练成现在这个无所不知的样子的呢?其实它靠的是预训练 + 微调这一套组合拳。
我们可以看这个漏斗。上面这个大口子叫做预训练 Pre-Training,工程师会把互联网上几乎所有的书、网页、论文全部喂给它。在这个阶段,GPT 就通过海量的阅读学会了通用的语法、常识和逻辑。就好比让一个学生去读完 9 年义务教育加上大学的通识课。
那下面这个小口子呢叫做微调 Fine-Tuning。如果你想要 GPT 帮你审合同,你就专门喂它法律文档;想让它改代码,就专门给它喂大量的 GitHub 上的代码。那就是在通识教育的基础上进行岗前培训,让它成为专业领域的专家。
好,有了这个方法论,那剩下的呢就是要拼家底了。我们来看这张进化图。GPT 的变强之路其实就是一个大力出奇迹的过程。
最左边早期的 GPT,参数量只有 1 亿多,那时候它只能写点简单的短句,傻乎乎的。但是呢到了 GPT-3,我们可以看中间这一根长长的柱子,直接飙升到了 1750 亿参数。当时科学家们发现了一个惊人的现象:当参数量大到一定程度,模型好像突然开窍了,不仅能写诗写代码,甚至具备了逻辑推理能力。那就叫做涌现。
而到了 GPT-4,参数量规模更大,而且它还能够读懂图片了。
好了,这就是 GPT 的进化过程。
那么说到这里呢,我们终于把这个谜底给揭开了。
你看 AI 并不是一夜之间突然变聪明的。它是从 CNN 学会了看特征,再到 RNN 学会了记顺序,最后靠 Transformer 的注意力机制,终于学会了理解和表达。
所以现在当你打开电脑,让 AI 帮你写个周报、做个策划或者生成一张图的时候,希望你能够想到:这屏幕背后是一场长达 10 多年的技术接力,是无数的工程师在模型的结构上一点点精雕细琢,才换来了今天这一句流畅的回答。