1.2 AI的能力是怎么来的?
要想知道AI能力的底层原理,就需要了解与自然语言处理领域相关的两个极其重要的技术概念。
1.机器学习
机器学习的底层原理有点类似考前“刷题”。虽然有很多题目我们不会,但是通过不断看题目和答案,做得多了,我们自然而然就会掌握一些答题的规律、技巧,从而可以利用这些规律、技巧解答其他类似题目,获得高分。
只不过计算机“刷”的不是考试题,而是数据。我们把需要计算机学习的数据输入计算机,在机器学习的机制下,计算机就会像我们刷题那样,对这些数据进行反复学习和练习,直到掌握数据的一些规律和特征。这就是机器“学习”的过程。
在机器学习机制下,只要用于训练AI的数据量足够大,训练次数足够多,AI就能根据掌握的规律,在特定文本语境基础上实现如“文字接龙”般的预测,也就是给出看上去上下文通顺且合乎逻辑的回答。
比如,输入“我饿了,我想吃”,AI就可能接上“饭”这个词,因为在它学习过的大量数据中,“想吃饭”是一个很常见的短语,这个短语在数据集里出现的频率远高于“想吃粑粑”等其他短语。
从原理上来说,只要训练AI所使用的数据量足够大,AI是可以完成任何语境下的“文字接龙”的。这一点正如概率学家埃米尔·博雷尔举的一个例子:假设让猴子在打字机上随意敲打,只要给猴子无限时间,只要猴子敲打的次数足够多,那么在某个时刻,猴子也可以打出莎士比亚的全部著作。这就是“大力出奇迹”的“涌现”效果。
我们在使用ChatGPT这类工具的时候,也会发现它在生成内容时,有一个字一个字打出来的感觉,这就体现了它基于问题语境,根据所掌握的规律进行“文字接龙”的过程。
虽然我们可以通过让机器学习大量样本的“大力出奇迹”策略,使AI在任何语境下都能生成逻辑通顺的文本,但是在实际训练过程中,光靠学习“文字接龙”,AI 仍然不知道哪些是符合期望的、“有用”的回答。
比如,我们问AI:“世界上最长的城墙是哪座?”AI除了回答标准答案“万里长城”之外,也可以反问:“你能告诉我答案吗?”或者问:“你怎么对这个问题感兴趣呢?”抑或是:“我知道,但是我不告诉你。”这些回答都是符合正常对话逻辑的,但是很显然,回答“万里长城” 更符合我们的期望。如果AI不考虑我们的需求而“答非所问”,那么它就会被视为“人工智障”。
为了不让AI“答非所问”,研究人员就让人类参与到机器学习的过程中,让人类就一些问题给出期望的答案,再把这些经过“人工标注”的数据交给AI学习,让AI认识到符合人类期望的回答是什么样的,从而引导 AI 往人类期望的方向去做“文字接龙”,给出人类认为正确且有用的回答。
这个引导AI往特定方向学习的过程就是机器学习中的“有监督指令微调”策略。通过这种有监督指令微调训练的方法,我们可以得到一个相对简易的 ChatGPT 模型。
虽然上述有人类参与的训练可以大幅提升AI回答的精度和质量,但是我们也知道:人的时间和精力都是非常有限的,世间的知识多如繁星,全靠人类去告诉AI什么正确、什么错误,成本是非常高的,也完全不现实。
鉴于机器的时间和精力是无限的,那能不能让机器自己指导和纠正自己呢?当然是可以的。这就是接下来要讲的第二个技术概念。
2.强化学习
强化学习的本质也是机器学习,它可以从人类反馈或者交互环境中获得奖励或惩罚,使AI做出最恰当的行为。也就是说,在人工干预的环节,我们可以通过人工标注的数据训练出一个专门负责监督AI回答的模型(Reward模型),以人类的评分标准对AI给出的答案进行评分。当AI生成了我们认为不错的回答时,给予它鼓励;当AI生成的回答不够理想时,则给予它批评或对它进行纠正。这样AI就能学习到人类的评分标准。
AI利用这个模型的监督和反馈不断进行调整和优化,就会逐渐生成更加优质和独特的回答。
前几年谷歌开发的、击败了李世石的AlphaGo,使用的就是强化学习技术。AlphaGo通过自己和自己下棋来提升棋艺,从而成为无敌的围棋手。
从最开始的“文字接龙”,到进一步的“人工干预”,再到机器自己迭代优化,加上骇人的训练数据量,在不断训练的过程中“大力出奇迹”,AI的各种能力就涌现出来了,于是我们就看到了一个近乎全能的“百晓生”AI。
事实上,AI训练过程所涉及的技术细节非常多、非常复杂。这里只大致介绍了基本的技术原理,如果你对技术细节感兴趣,可以进一步查找资料。
孔子说:“工欲善其事,必先利其器”。我们在了解了AI能力背后的原理之后,就可以看看在AI赛道上有哪些主流的AI工具。