预告 ● 明天本公众号将继续推送GPT的应用——提示工程(prompt engineering)要点梳理。 ● 本次选修课为赛拔IDC经营决策AI模拟的延伸部分,点击链接mp.weixin.qq.com/s可获得该课程资讯。
1. 从权威这里学,2个学习GPT原理的方式:
● 方式一:自己学着写一个小的GPT,可以看Andrej Karpahy在Youtube的2小时教学视频+Github开源代码来学习。因为费曼说过“理解一项工程最好的方法是自己做一个”。
● 方式二:读Stephen Wolfram的文章——“What is ChatGPT Doing…and why does it work?”。
——本次选修课会基于Wolfram的文章以及Karpathy两周前在微软开发大会上的演讲来帮助理解GPT的原理。
2. 首先思考“What is ChatGPT Doing?”,这也是我们可以看到的GPT Output部分(IDC的Choice)
1)ChatGPT是用于聊天的通用语言模型,通过一次蹦一个字出来的形式最终完成对话作为“Output/输出”部分。
2)那么GPT到底选择哪个字或者词?它会根据概率来选择。即考虑到前文,GPT会选择最可能出现的那个字或者词。这个最可能出现的字词,我们后面会说到。
3. GPT的训练集是其训练中的Input部分。据估计,这个训练集包含了几千亿个词。目前开源的Meta公司的语言模型用到了包括“CommonCrawal, C4, Github, Wikipedia…”等大量的文本。通过训练,在有了前文的情况下,大规模语言模型能够估算出前文后面最该出现的那个字。
那么,GPT的词汇量有多大?在英语中,1720个词语可以涵盖了75%的文本,如果掌握了最常用的6500个词语,就可以涵盖日常90%的语言词语。目前GPT-4的词汇量是4万左右。相当于美国大学毕业生的词汇量。
4. 如果按照常规的生成语言的方式,我们可以做一个概率表。这个表的内容是:任意长度的一个句子,我们遮盖住最后一个词(或者字),那么在4万个词语中,每个词在这里出现的概率是多少?(这也是一个模型,可以算作IDC的D)。要计算这个概率,我们先从字母的概率说起。
1)我们可以从大量的语言资料中很容易地统计出26个英文字母出现的概率,之后我们也可以通过将26个英文字母XY双向排列组成矩阵来判断字母对出现的概率;同理,针对每个词语我们也可以统计判断“两个词语/三个词语/四个词语/n个词语”出现的概率。这其实是一个全排列问题。
2)但这种设计的问题在于,假设我们要写一个包含20个词的句子,用GPT拥有的 4万词语库来“蹦字”,到第20个字就是4万的20次方种排列了——这个数字已经超过了宇宙中所有的原子数量。
3)因此,需要创建一个更可行的模型来解决概率估算的问题。
5. 这个模型,就是LLM——大语言模型(LARGE LANGUAGE MODEL)。(IDC的D)
1)GPT的“模型黑盒”其实就是一个函数。作为一个模型,它要具备要素和关系。我们可以把神经元视为要素,而神经元与神经元的关系,其实就是权重。
上图是计算机对一个神经元的模拟。
假设我们要训练一个AI,它要根据放入的油盐酱醋的量,判断一碗毛血旺是否好吃。那么,我们需要对其训练。上图是训练集中的一个案例(给定了油盐酱醋的量,以及人类的判断),在简单相加后,数字传入激活函数(Activation Function),激活函数主要的作用是模拟人类神经元的激活过程。
最后由激活函数算出一个结果。对于大量的案例,如果AI算出的结果与人类的判断相近,那么可以说AI也具备了判断味道好坏的能力。也就是通过人类标注的结果,来告诉AI误差有多少——把所有误差取平方相加,可以构造一个损失函数。通过损失函数,加上一些微积分的运算,AI在训练中能够调整权重,使得损失函数达到最小。
2)把单个神经元连接起来,就能构成深度神经网络。
3)GTP也是用了这种人造的计算机神经网络,通过输入大量的语言资料对大模型进行训练,最后它能够很准确地算出下一个字词应该是什么。GPT-3.5模型大概用了1750亿个参数(如下图的Wi,Wj,Wk…)就储存了人类所有的知识,能足够准确地预测下一个词的概率,然后生成全文。
4)从结果我们可以推断,ChatGPT发现了语言的语法结构,并能够很好的遵从这些结构(语法正确+句子有意义),可能也知道了怎么样才说出有意义的句子(逻辑学“三段论”)。
6. 至此我们对GPT的原理有了大致的理解。令人惊叹的是:
1)同一个神经网络架构,能用于不同的任务。反思:我们人脑也是用一个结构解决所有问题。
2)因此,人类要训练“从具体到抽象”的能力,这样才能“泛化”。
3)人类大脑有100万亿神经元,但是语言能力正在被1750亿参数的GPT反超。这使得人类需要反思自己大脑系统的“效率”,我们的威胁来自(如下图)——神经网络理论上能够做人类做的任何事情,它通过案例学习总结出“抽象的猫”,并且不断迭代……
7. GPT的价值对于我们经理人的启示:
相信人脑是高度发达的决策和学习器官,不要微观管理。养成持续改善的好习惯、教会工具的使用、设定目标……然后让下属去发挥。
8. GPT还有更多有意思的地方等着我们不断探索:
1) 研究发现GPT的Temperature(温度)不同,给出的回答很不同。GPT的Temperature取值范围是0~1。温度设为0,GPT对同一问题的回答会一模一样。反之如果设定为1,GPT就会充满想象力和创造力。如果要写论文,温度建议设置为0.8。
2) 此外,如此厉害的GPT,它本身不是科学,而是工程成就。有一条鄙视链就是“科学>工程>手艺活”,而神经网络的训练是一个手艺活(如下图)——它靠输入大量的语料(IDC的I)+ Transformer结构和长时间高强度训练(IDC的D---模型+手艺活)才能作出正确的预测(IDC的C)。
3)人类社会和自然虽然华丽繁复,但是在最底层往往也是受到一些简单规则的支配。GPT的原理并不这么高大上,它的主要功能是进行大量的简单的矩阵运算,但现在却给人类世界带来了巨大的震撼,很可能会引发人类世界的变革。GPT也是一面非常重要的镜子,通过拆解和分析GPT,我们能够重新认识、反思自己——每个人都应该尝试理解GPT,并且重新认识思考自己。