文章通过类比人类学习过程,详细解析了大语言模型的三步训练法:预训练(获取互联网基础知识并构建预测模型)、监督微调(通过问答数据集训练模型回答问题)、强化学习(让模型自主探索最佳解法)。最终形成的模型能进行逻辑推理,甚至产生超越人类的创新解法。文章指出,AI本质上是基于统计学的预测模型,这与人类基于经验的"逻辑"能力可能有相似之处。
【前言】
生活中 AI 用得已经越来越多,一直想要了解其大概原理,这样才能知道 AI 能做什么,不能做什么。恰逢最近看了OpenAI 联合创始人安德烈·卡帕西一个长达 3 小时的视频,用非常通俗易懂的方式讲解了像 chatGPT 这样的大语言模型,是怎么一步步训练出来的,像我这样一个基本没有技术背景的人,也能看懂,是非常优秀的科普视频。
大家可以前往 B 站搜索“安德烈·卡帕西:深入探索像ChatGPT这样的大语言模型”,即可观看,全文都有字幕,不用担心听不懂。
本文也从 3 小时的视频中提炼出最核心的内容,希望能帮助你“不求甚解”地大概了解AI 大语言模型的基本训练原理。
总览:对大语言模型的训练,跟我们人类学习知识的逻辑,是一脉相承的
视频中最让我印象深刻的一点,是安德烈·卡帕西把大语言模型的训练逻辑,类比成我们上学读书学习知识的过程,竟然是出奇的一致。
回想我们小时候的课本,每个知识点的章节讲解,都包含三个步骤:
第一步、学习知识点:单纯地通过阅读了解相关知识。完成这一步,我们只掌握了知识的表层,却不知道如何使用。
第二步、查看经典题目与解法:通过查看经典题目,了解知识点如何运用来解决实际问题。完成这一步,我们能模仿这些经典解法去解决类似的问题。
第三步、课后习题:这个环节里面,课本只会提供问题与答案,需要我们自己研究如何解题。每个人的脑回路都不一样,适合的解法也都不一样,我们需要自己摸索各种可能的解法,并找到最适合自己的解法。这个过程中,甚至会激发出比经典解法更高效的方法。完成这一步,我们就真正做到了对知识点的融会贯通。
大语言模型训练的三个步骤,也正正对应着这三步,即:
接下来逐一介绍每个步骤。
第一步、预训练
【核心流程】
1、学习信息搜集
要学习知识,自然要先获取信息,而最丰富而免费的信息,自然是来自互联网。因此,最初的模型训练内容,主要来自对互联网信息的爬取。
当然,这里要做的不是简单的爬取,而是包含了过滤劣质网站、文本提取、信息去重等一系列数据加工的过程。
2、信息的编码与压缩,生成“token”
爬取到的信息都是文字,人类能通过文字理解其所表达的内容,但计算机是不能的。
那计算机能理解什么呢?是数字与计算。因此,要让计算机能学习这些信息,首先要把文字转化为数字。这里也可以分为两小步:
第一步,对文字的基本单元做编码:例如英文而言,自然是每个字母对应一个数字 ID;中文则是每个汉字对应一个数字 ID
第二步,进一步压缩信息:把信息中高频出现的“单元序列组合”,编码出一个新的 数字ID,这样,就可以用更短的 ID 序列更高效地表达一句话,计算机需要理解的成本就会更低。
例如,在下图这个案例中,既有“你”、“的”这样的独立汉字用一个数字ID来表示,也有“你好”、“今天”这样的日常短语用一个数字 ID 来表示。
而这里代表一个文字或短语的数字 ID,就是所谓的大语言模型的“token”,是计算机理解与输出信息的最小“信息单元”。
3、信息学习:神经网络“预测”模型的训练
完成前面两步后,我们已经有了用于学习的原材料数据,接下来便可用于模型学习。
那么什么是所谓的学习?
回到我们期望模型的效果,是可以像人类一样,根据上文内容输出适合的下文内容。也就是说,根据上文“预测”下文的内容。
因此,这一步,我们使用统计学中最前沿的“预测”模型:神经网络模型,再基于我们搜集到的原材料数据,训练出一个基于上文输出下文的预测模型。
浅显地介绍下这个神经网络模型的训练方法:
所谓的神经网络模型,其实就是一个巨大的包含大量参数计算的数学方程式,但其核心目标跟我们小学学的一元一次方程是类似的,也是根据输入的“x”(上文)跟模型的参数“w”(一系列计算),输出一个结果“y”(下文)。
但也有两个区别,一个是,我们之前定义的 token 并不是一个具有数值计算意义的数字,而只是一个代表对应文字的“标识符”(ID);一个是这里输出的结果,代表的是,下文出现各个 token 的分别的概率值。
参数训练:一开始,参数都是随机的数据,输出的结果也是随机的。我们把从互联网上搜集到的学习材料,都喂给模型进行训练。模型以提升,学习材料中“正确”的下文 token 的概率,为计算目标,不断地调整参数。
【得到的成果】
当我们把全部互联网搜集到的知识,都喂给这个拥有数十亿级参数的超大模型,完成参数的训练后。我们就得到了一个可以根据“上文”预测下文的预测模型。
而在预测时:
1、每一次预测,都根据上文输入的全部内容,只输出一个下文“token”
2、根据上文输入的全部内容,本质输出的结果是,各个 token 出现的“概率”,然后基于这个概率进行一次抽样,输出一个下文“token”。
正因为存在这个抽样,而不是直接就只取概率最大的 token,因此,即使一样的上文,每一次得到的下文都是不完全一样的。
我们得到的,只是一个根据上文不断预测下文 token的预测器, 且是随机的,每次的预测结果都不一样;还并不是一个能回答问题的助理(assistant)。
我们把这一步得到的模型叫做 base model。
案例:下图这个例子很有意思。模型之所以能回答这个问题,并不是因为它理解了这个问题以及会进行计算,而是大概率 2+2 这样的问题在喂给模型的训练数据中出现过,模型能够回忆出来。而如果放任模型不断地输出下文,它就开始走向了跟问题完全没关系的哲学领域的内容当中…此时的模型,还不知道应该如何正确地回答问题。
【这个预测模型的本质】
base model 的本质,是互联网内容的模拟器。相当于把整个互联网的内容,都压缩成一堆参数。而且这些内容是模糊的/有损的、概率性的/统计性的。
特性:
- 它是一个token级别的互联网内容模拟器
- 具有随机性/概率性——每次运行都会得到不同的结果
- 它能凭借记忆逐字复述一些训练文档:模型的参数有点像互联网的一个有损压缩文件,大量有用的世界知识存储在模型的参数中
- 通过巧妙设计提示词,你可以激活其记忆,输出与提示词相关的内容
但我们还能让模型变得更好,于是咱们来到了模型训练的第二步。
第二步、后训练之“监督微调”
【背景】
完成预训练后,我们已经得到了一个可以根据“上文”预测“下文”的预测模型了,唯一的问题是,它还不大会处理“问答”这种场景中的下文预测。
要解决这个问题,很容易想到,那就是增加“问答类内容”的样本量,再训练一下模型对这方面“上文”的处理能力。这就是”监督微调“的核心原理。
这个阶段的模型训练方法,与预训练阶段是相同的,唯一改变的是数据集的类型,变成了一系列“对话问答”类的内容。
【核心流程】
1、构建对话问答类 token 序列
我们构建了<|im_start|>、<|im_sep|>、<|im_end|>等在预训练时没有的,全新人为定义的特殊token,用于把对话内容结构化,变成一种对话内容特有的 token 序列。
这些特殊 token 就像对话的‘分隔符’,明确告诉模型‘<<|im_start|>user’后面是用户的问题,‘<<|im_start|>assistant’后面是正确回答,帮助模型学会‘问答对应’”。
2、构造海量的对话问答类内容用于模型训练
接下来,我们构建海量的,涉及各个领域的对话问答内容,供给模型进行训练。这一步,需要耗费非常非常大的人力投入。所谓没有“人工”,何来“智能”。
而随着现在大语言模型的不断进步,也会通过大语言模型来生成这些数据,用于新的模型训练。
【得到的成果】
完成训练后,我们就得到了一个能够回答问题的模型,我们称之为SFT(supervise fine tuning 监督微调) model。
这个模型的本质,是结合了预训练知识, 以及从后训练数据集中习得的模仿人类回答问题方式,的一个预测模型。
听起来,是不是很像我们在学习完课本的经典题目的解法后,依样画葫芦地解决类似的问题?
案例:完成这一步,模型已经能很标准地回答一些常见问题了。
【关于幻觉产生的原因,以及其缓解方法】
幻觉产生的原因
如上文描述,模型的本质是一个概率预测模型,回答会基于统计学从概率中抽样给出一个答案,即使答案的概率本身在模型计算结果中非常低,也有出现的可能。
案例:下图这个例子中,后训练数据集曾经出现过”who is“这样的问题案例。在模型完成训练后回答类似问题时,即使向模型提问一个完全不存在的人orson kovacs,模型也会模仿后训练中这类问题的回答方式,基于预训练的知识模拟出一个答案,即使这个答案在模型计算结果中概率是非常低的,模型也会选择进行输出,因此就会出现胡编乱造的回答。
缓解方法
1、让模型学会说不知道:丰富后训练数据集,添加会回答”不知道“的案例
2、让模型学会借助工具:对于模型不懂的内容,让模型使用包括联网搜索、计算工具等能力,让搜索结果、计算结果成为模型的信息源,也就是成为输入进模型的“上文”的一部分,再输出答案
要缓解幻觉问题,可以引入以下几类训练数据:
第三步、后训练之“强化学习”
【背景】
在监督微调的过程中,后训练数据集的提供者,教会了模型按他们的方式去回答问题,模型是他们的模仿者。
但对于一个问题,是有多种解法的。而我们作为人类其实并不了解模型,我们并不知道哪个解法是更能帮助模型获得正确答案的。就像小时候做数学题,每道题都有几种解法,而我们每个人的脑回路是不一样的,并不是书本给的经典解法就最适合自己,最终需要我们自己摸索出最适合自己的,最舒适的解法,可以帮助我们自己获得最高的准确率,这个摸索过程中,甚至能迸发出比经典解法更优的全新解法。
而这就是我们这一步需要做的事情。我们只给到题目与答案,然后让模型自己摸索出最适合自己的解法。
【核心流程】
1、我们提供问题,然后让模型自己去生成一系列的解法
2、这些解法中,只有一部分是正确的
3、我们再从这些解法中找到最优秀的解法(既准确,又精简高效的)
4、把这个优秀解法作为训练数据集,去用于模型训练
5、如此往复,重复很多很多次…
【得到的成果】
通过强化学习,我们得到了两个喜人的效果:
1、模型产生了思维链(chains of thought)。
这就是我们使用 DeepSeek 等最前沿的大模型的时候,看到的思考过程。因此,我们把他们称之为推理模型(reasoning model)。
思维链的一个很重要的特点,在于让模型有了思考的过程,而不是一上来就回答问题。而这个思考的过程,都会成为“上文”的一部分,还记得大模型的预测原理,是基于全部的上文推测出下一个 token,因此上文的内容越长,越完整,预测出来的“下文”质量自然也会越高。
2、模型能产生超越人类已有知识的全新解法。
强化学习第一次出圈,就是击败人类最强围棋手的 alpha go。它正是通过强化学习,人类只告诉了它围棋的规则跟目标,然后它通过自己不断的训练,最终训练出了人类围棋历史上从来未有过的落子方法,最终超越了人类。如果它只是限制在模仿学习人类围棋手的历史案例,那它是不可能超越人类的。
当然,大语言模型的训练,要比 alpha go难得多。 因为围棋只是一个闭合领域问题(规则有限),而大语言模型要面对的是一个开放领域问题(要解决各种各样的问题)。因此,需要找多足够多的练习题给到模型进行训练。
总结
最后,再回顾一下模型训练的三个环节:
1、预训练:获取基本知识
2、监督微调:查看大量实例,模仿专家回答问题的方式
3、强化学习:提供习题,让模型自己不断训练、试验、纠错,直到找到正确的解法
在上述训练方法的基础上,模型不断进化,并发展到现在支持多模态、多流程任务的模型。
反思:预测,就等于逻辑吗?
了解完大语言模型的训练原理后,最让我惊讶的是,我们现在使用的,可以解决这么多复杂问题,甚至连高深数学题目都能解答的AI,本质上只是一个统计学的“预测模型”吗?我们人类独有的所谓“逻辑”能力,就这么简单被一个“预测”模型所战胜了?
但转念一想,会不会是,我把“逻辑”想的太高深了。会不会是,我们所拥有的“逻辑”,本质上也是一种我们基于过去经验而对当前事情的一种“预测”?当我们面对一个问题时,所想到的解题路径,也是我们基于自己过往经历类似事情时的成功或失败的反馈,而得到的属于自己的一个解法。
恰逢最近听了孟岩《无尽的探索》那期播客,里面提到了美国计算机科学家、神经科学家杰夫·霍金斯的一本书《千脑智能》,里面对大脑机制的阐述正是类似的:
或许,我们人类自诩独有的“逻辑”与“智慧”,就真的只是一种“预测模型”而已……
或许,硅基生命,已然诞生,正在以一种独特的方式,重走着碳基智能的进化之路……
如何系统的学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
01.大模型风口已至:月薪30K+的AI岗正在批量诞生
2025年大模型应用呈现爆发式增长,根据工信部最新数据:
国内大模型相关岗位缺口达47万
初级工程师平均薪资28K(数据来源:BOSS直聘报告)
70%企业存在"能用模型不会调优"的痛点
真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!
02.大模型 AI 学习和面试资料
1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工
📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。