GPT是怎么“炼”出来的?|普通人能读懂的AIGC②

GPT是怎么“炼”出来的?|普通人能读懂的AIGC②在上一篇 什么是大语言模型 中 我已经分享了 GPT 的基本概念 GPT 长什么样子 GPT 是怎么工作的 通过这篇文章 可以了解到 GPT 具备根据已知信息来预测下一个字的强大能力 然而 细细想来仍然会有很多困惑之处 它为什么能够根据已知信息来预测呢 其实 GPT 在初始状态并不能做出合乎情理的预测 需要通过海量数据的训练 才能修炼出这种能力 今天 我们就一起看它是怎么 炼 出来的

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



在上一篇“ 什么是大语言模型 ”中,我已经分享了GPT的基本概念:GPT长什么样子?GPT是怎么工作的?通过这篇文章,可以了解到GPT具备根据已知信息来预测下一个字的强大能力,然而,细细想来仍然会有很多困惑之处:它为什么能够根据已知信息来预测呢?其实,GPT在初始状态并不能做出合乎情理的预测,需要通过海量数据的训练,才能修炼出这种能力。


今天,我们就一起看它是怎么“炼”出来的。这也是GPT第二个字母P(Pre-trained)的含义。

GPT plus 代充 只需 145
为什么GPT需要训练?

上一篇文章解释了GPT的结构:只包含Transformer解码器部分的神经网络,它通过Attention机制来快速理解已知信息,预测下一个字是什么。GPT中包含数十亿到上千亿的参数(不同的大模型,其参数规模各不相同),模型通过参数计算来传递信息,进行下一个字的预测。

那么,GPT的参数的取值大小是怎么确定的呢?初始状态下,这些参数是按照某种规则来随机初始化的,虽然这时GPT也可以完成预测工作,但预测出来的字和已知信息之间完全没有逻辑关系,例如:GPT(你好)=鞲(这个字是我乱编的,实际上每次初始化的模型预测出来的字极可能完全不同,和“你好”应该都没有什么太大关系,如果刚好和“你好”有关,那也纯属巧合)。但我们更期望的预测是:GPT(你好)=美、丑、高、酷、帅、呀、强…,为了让GPT能够具备预测出符合期望文字的能力,就需要对这些参数进行调整,让它能够预测出“你好”后面是美、丑、高、酷等真正有意义的字,调整这些参数的过程就是“训练”。













GPT的训练过程,有点像孩子从小到大的学习过程,用我们已经掌握的大量知识,通过家庭、学校的持续教育,让孩子也能够理解和掌握。但与孩子学习的方法略有不同,GPT的训练是一个不断从错误中来调整自己的过程。

例如,最初GPT看到“你好”,预测的是“鞲”这个字,但我们用于训练的数据是“你好高”,因为“鞲≠高”,GPT训练程序就会通过某种方法来计算“鞲与高之间的偏差(LOSS)”,然后用这个偏差来影响所有的参数,使得这些参数向更可能输出“高”的方向调整,至于怎么计算偏差、怎么影响参数,就需要一定的数学功底了,超出了本系列文章的范畴。

在GPT训练的数据中,不仅有“你好高”,还有“你好美”、“你好酷”等,通过大量的这种数据夜以继日的重复训练,GPT慢慢就理解了“你好”后面应该输出“美、丑、高、酷…”等。

GPT的训练数据

互联网已经经过了几十年的发展,尤其是进入21世纪后互联网内容社区极度繁荣,积累下来了大量的高质量的各种内容,这些就是GPT用来训练的原始数据,一般会包含以下这些数据:

  • 网络爬取的网页数据:历史上积累下来的很多年的网页内容;
  • 开源代码:Github等开源网站上的各种代码;
  • 维基百科:维基百科上各种高质量的百科知识;
  • 书籍语料:公开的高质量书籍数据;
  • 学术论文:在arXiv上公开的学术论文。

为了能够学习和理解更多的知识,通常GPT需要用海量的数据来进行训练,例如Llama3的官方介绍中明确说明它用了大概15万亿的token来完成训练,这大概是什么概念呢?假如你有超能力,可以一目十行,那你一秒钟能看200个字,一天不吃不喝不睡觉能看个字,那么要看完这15万亿的token所覆盖的内容,大概需要2万年,所以GPT所学习的知识是远超过我们每个人的能力范围的。

Token什么?


Token是GPT在处理文本过程中的基本信息单元。它既不是英文字母、单词,也不是中文的汉字,而是对各种文字经过算法编码出来的。为什么要用Token来作为最基本单元呢?因为GPT需要处理全世界各种文字,这些文字有可能会发生变化,采用Token机制可以更灵活的应对不同的文字。所以在GPT的世界里,我们一般用Token来描述输入、输出的长度,很少会讲输入文字长度、输出结果文字的长度。


如果非要更直观的来理解Token与我们的汉字之间的关系,一个汉字大概需要1.5个Token来表达。ChatGPT最初发布时的版本支持8K个Token长度的上下文,也就是说它能解决的“问题和答案”的文字总和大概是5000多个汉字。
这些数据被从互联网上爬取和存储下来后,会经过预处理环节来提升数据的质量,例如:过滤掉低质量的内容,去除重复的内容等。这些预处理完成后,原始数据并不会直接用于训练,而是要做一次转换。


因为GPT的工作原理是通过感知已知信息来预测下一个字,因此真正用于训练它的数据集也是类似形态:一段前置文字+下一个应该出现的字。例如一句“日照香炉生紫烟”的原始数据,会被转换成一系列用于训练的数据集:




























GPT经过海量数据很多轮的训练后,就逐渐能够根据各种不同的输入信息来正确预测下一个字了,通常我们日常沟通中,对方提出一个问题后,我们可能会有多种回答的方式,GPT通过对海量数据的学习,它也知道“相同的前置信息”可以有不同的“下一个字”,所以我们在使用GPT时会发现,提问同样的问题,会得到不同的回答,但每次的回答都是合乎情理的,这也是GPT的魔力。

GPT的训练过程

GPT的基本训练方法虽然看起来并不难理解,但要想把GPT训练出强大的能力,整个训练过程是非常耗时耗力的,完整的GPT训练包括三个大的阶段:预训练、有监督微调、强化学习(有兴趣对ChatGPT的训练过程深入研究的,可以去听一下AI大神Karpathy在2023年微软BUILD大会上的分享)。













第一阶段:预训练。这个阶段,就是用上一节中所提到的海量数据对GPT进行训练,这阶段训练所用到的数据集是非常大的,需要花费很多算力消耗很长的时间来完成,它的目的是将GPT从完全无序的混沌状态进入有序状态。这个阶段的训练数据都是高质量的文章,完成训练后,GPT就可以根据输入的Prompt来进行文字的续写了,这个阶段得到的模型一般被称为基座(Base)模型。

这一阶段,可以理解为我们从小学到高中阶段的学习,我们还不能确定自己未来会从事什么领域的工作,所以就将各种文学知识、社会科学知识、自然科学知识进行系统化的学习,打下良好的基础。



0 1
0 2


第二阶段:有监督微调。这个阶段,是用人工标注的数据集来训练上一阶段得到的Base模型,一般来说,希望大模型来完成什么任务,就用支持这种任务的特定数据来进行训练,由于训练数据是满足特定任务的人工标注数据,所以这阶段被称为有监督(Supervised)。


对于GPT来说,我们希望它能够胜任与我们进行对话的任务,所以就使用了人工专门撰写的问答对话数据,数据量一般是几万到几十万个,经过这种数据的训练后,GPT就可以和我们来进行对话了,这个阶段训练后的模型一般被称为对话(Chat)模型。


这个阶段,可以理解为我们进入到了大学,在这之前的学习中我们已经打好了基础,到了大学可以根据自己兴趣来选择专业,学习相关的专业知识。问答数据就是GPT所选择的专业知识,通过对问答数据的学习,GPT就学会了如何回答用户问题。

第三阶段:强化学习。这是一个更为精细的调整阶段,在第二阶段得到的Chat模型基础上,它通过人类评估人员对模型生成的回复进行打分,然后使用这些评分作为奖励信号来继续优化模型。通过这个阶段的训练后,GPT就更能够理解人类对它的期望,从而掌握如何生成更符合人类期望和价值观的回复。

这一阶段,就可以理解为我们从大学毕业后,在工作岗位上的培训实习阶段,一般来说,企业会有专门的培训计划,制定考核体系,用考核体系来引导新员工提升自己的专业技能,以满足工作岗位的能力需要。



0 3
经过了这几个阶段的训练后,GPT学习了海量的知识、学会了如何进行对话、也对齐了人类的期望,就可以拿出来让大家使用了。通过大规模的训练后,人们发现GPT甚至具备超出我们最初期望的能力,在下一篇文章中,我将分享GPT所具备的核心能力,以方便我们更好的了解和使用GPT。
















































































END
















































































小讯
上一篇 2026-03-11 20:43
下一篇 2026-03-11 20:45

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/213657.html