Part 1:LLM的工作原理
很多人觉得LLM像人一样具备智慧,能够思考,但事实并非如此,LLM本质上只是一个基于神经元网络(Neural Network)构建的、能够模拟人类语言模式的的文本模拟器,其工作原理可以简单概括为:
-
用户输入文本
-
LLM将文本转换成Token(即模型可理解的编码形式)
-
LLM根据输入的Token序列,预测下一个最有可能出现的Token,并重复此过程直至出现一段token序列
-
LLM将预测结果转换成文本,并输出
当LLM预测越精准,其输出的内容就越接近人类的回复,用户就越容易产生"LLM具备智慧"的错觉。
那么LLM到底包括什么呢?主要是两部分:
-
代码: 描述LLM进行Token预测的具体步骤,即神经元网络的内部结构。目前主流的LLM都是基于Transformer神经元网络搭建的。
-
参数: 参数是LLM最有价值的部分,它代表着LLM赋予不同变量的权重。参数初始是随机的,经过海量数据训练后,逐步调整成最能反映训练数据集特征的一组数字。参数量直接影响模型的性能。理论上来讲,参数量越多,LLM的预测结果就越准确。
-
举个例子,OpenAI 2019年发布的GPT-2有15亿个参数,而Meta 2024年发布的Llama 3参数量为4,050亿
用Andrej的比喻来说,LLM就像个巨型函数:神经元网络是函数公式,参数是变量权重。输入Token时,函数就会运行并生成预测结果:
(如上图所示,左上角是用户输入的文本转换成的token,左下角为模型参数,中间的巨型函数是神经元网络,100,277为该模型总token的数量,模型输出的token是100,277个token中的一个)
Part 2:LLM的训练过程
了解了LLM的运行原理后,我们来看看它的训练过程,并尝试回答几个关键问题:1)为什么LLM有时候会满嘴跑火车;2)为什么LLM在执行一些简单的计数任务时表现不佳;3)为什么LLM有时候会自我认知紊乱。这些问题都和LLM的训练方式和运行机制息息相关。
LLM的训练主要分为Pre-training和Post-training两个阶段,我更喜欢把它们称为“养成“和”调教“。Pre-training(养成)主要是基于大规模的数据集对LLM进行训练,使其参数调整至最能反映数据集特征的一组数值,你可以把它理解为帮助LLM建立自己的知识库。
Pre-training阶段的产出成果是Base model,它其实只是一个无情的Token预测器,能根据输入的token较为准确地预测下一个Token,但无法与用户进行有意义的交互,例如回答问题或帮助用户完成任务,跟我们平时使用的AI助手(如ChatGPT-4o,DeepSeek-R1)仍然有很大区别。
那么,如何才能让Base model变成真正的AI助手呢?这就需要对它进行Post-training(调教)。目前主流的,或者说讨论最多的Post-training方法主要有Supervised Fine-Tuning(SFT)和Reinforcement Learning(RL)。接下来,我们简单介绍一下Pre-training和Post-training的具体操作。
Part 2.1:LLM的训练过程 - Pre-training(养成)
第一步:构建训练数据集, 首先,我们需要下载互联网文本数据集作为LLM的预训练材料。一个优质的数据集应该具备1)高质量;2)数据量足够大;3)多样性强三个特点。例如,HuggingFace的FineWeb就是一个高质量的开源数据集。这些数据集通常是通过网络爬虫获取的互联网文本,随后经过一系列清洗、去重和优化处理(如下图)。此外,各大AI公司都有自己的内部数据集。
(HuggingFace的FineWeb数据集的数据处理流程)
第二步:Tokenisation, 接下来,需要将数据集中的文本转换为LLM可以理解的格式,即Token。这个过程称为Tokenization。不同的AI公司Tokenisation的编码方式各不相同,大家可以在Tiktokenizer这个网站上体验Tokenisation过程。
(如上图所示,左边是我们输入的文本,右下角是LLM看到的token)
第三步:神经元网络的训练, 训练过程其实很简单,就是从数据集中截取一段Token,让LLM基于这段Token预测下一个Token,再将预测结果和正确答案进行比较,根据误差调整模型参数,以提高预测准确度。一开始,由于模型参数是随机的,LLM预测的结果可能驴唇不对马嘴,但随着训练次数的增加以及参数的不断调整,LLM的预测结果会越来越准确
第四步:Inference, 即随机输入一个Token,让LLM生成一段新的Token。这一步与第三步交替进行,主要目的是检测训练效果。初期inference生成的文本可能毫无逻辑,但随着训练次数的增加,LLM生成的文本会越来越流畅、合理。
为了让大家更直观地理解训练过程,Andrej大神展示了自己训练GPT2的过程(见下图)
- Step 540/32000表示当前是第540次优化/训练;
- Loss(损失值) 表示LLM预测结果和正确答案之间的误差,该值越低,说明LLM的预测精度越高;
- 模型每进行一定次数的训练后,会进行Inference,Generating后面显示的文字就是LLM根据随机Token生成的内容,由于仍处于训练初期,这些文本看起来还是杂乱无章的。
Part 2.2:LLM的训练过程 - Post-training(调教)
Supervised Fine-Tuning:
通过Pre-training,我们得到了Base model,但它仍然无法与用户进行有意义的交互。因此,我们需要通过Post-training对其进行进一步优化,帮助它代入AI助手的角色。
目前最主流的Post-training方法是SFT。在训练之前,我们需要构建一个高质量的对话数据集(Conversation dataset)。这些数据包括一系列模拟的人类和AI助手之间的问答(以下是三个示例)。
对于对话数据集,我们注重质量而非数量,因为Post-training的主要目的并不是帮助LLM学习新知识(知识库已经在Pre-training 阶段建立),而是以对话数据集作为例子,教会LLM如何以AI助手的身份和用户进行交互(想起了敝司的Slogan - we lead by example…)。这些对话数据由Human labellers(人工标注员)编写,涵盖各种话题,人工标注员通常包括各个领域的专家,他们的回答可以被视为供AI学习的”标准答案“。
人工标注员在编写问答时,需严格遵守AI公司的Labelling instructions(标注指南),这份指南可能长达数百页,核心原则包括helpful,truthful,harmless。随着LLM的逐步成熟,部分高水平的LLM甚至可以辅助编写问答,人工标注员的工作量正在逐渐减少。
搭建好数据集后,Post-training的训练过程与Pre-training类似,只不过训练材料从互联网文本变成了对话数据集。由于数据量较小且训练目标更明确,SFT阶段所需的时间和计算成本都远低于Pre-training阶段。
接下来我们聊一聊LLM的一些常见问题:
-
为什么LLM有时候会”满嘴跑火车“ - 在使用一些早期的LLM时,当我们问到超出其知识范围的问题,比如训练数据截止时间之后的事件,或让LLM介绍一个虚构人物的生平,LLM有时会用自信坚定的语气给出一个听起来合理但实际错误的回答。这可能是因为SFT训练时使用的对话数据集中不存在“我不知道”这样的回答,导致LLM在遇到超出知识范围的问题时,会模仿人工标注员的语气进行回答,而不是承认自己不知道。这个过程类似Inference。针对这个问题,Andrej大神列举了两种解决方法,其一是在对话数据集中加入”我不知道“的示范案例,让LLM学会在面对超出知识范围的问题时承认自己的无知,而不是编造答案;其二是让LLM使用工具,比如互联网搜索,以获取最新信息。
-
为什么LLM会认为9.11大于9.9 - 这个问题可能与tokenisation方式有关,LLM会将文本拆分成多个token,比如9.9拆分成”24, 13, 806",9.11拆分成“24, 13, 24"(以ChatGPT为例),在进行比较时,LLM可能先比较整数部分,再比较小数部分,即直接对比11和9,认为11>9,从而得出9.11大于9.9的结论,而忽略了小数位的实际含义。 类似的问题还包括为什么LLM在处理简单的计数或拼写任务时表现不佳,例如让它回答“Strawberry里有多少r?",LLM常常会出错。这主要是因为人类看到的单词是由字母组成的,而LLM看到的实际上是token,token级别的数据结构并不能够支持LLM完成计数类的任务。
-
为什么LLM会出现”自我认知紊乱” - 当被问到“你是谁”时,有些LLM会给出错误的回答(如下图所示)。很多人看到这样的回答,会怀疑LLM是否“套壳”,这种推测并不严谨。我们之前提到,LLM本质上并不具备智慧,也不会“思考”,所以”自我认知“本身就是一个伪命题。导致LLM认知混乱的原因可能有很多个,其中一种可能的解释是SFT的对话数据集中没有类似的“自我介绍”问题,导致LLM只能生成一段最可能出现的token作为回答,而ChatGPT作为一个家喻户晓的LLM名字,在Pre-training数据集中出现的频率较高,因此在LLM回答中出现的几率也比较高。
Post-training - RL:
SFT是一种比较成熟的训练方式,但它也存在一些局限性 - SFT更像是人工标注员言传身教,教LLM如何回答问题,但这种方式的极限是:LLM的表现可以无限接近人工标注员,但很难超越顶尖的人类。另一种Post-training方法 - RL则提供了一种全新的思路。
RL的原理可以简单理解为:
- 向LLM提出问题并给出标准答案
- 让LLM自行探索解题方法,并对正确的方法给予奖励
- 不断重复这个过程,让LLM逐步优化
与SFT相比,RL在训练LLM处理抽象任务(如创意性写作)时表现更优,例如我们可以让LLM生成笑话,然后让另一个LLM模仿人类的喜好,对笑话的幽默程度进行评分,使LLM可以根据评分结果不断优化笑话的质量。然而,RL也存在一定的风险,就是容易被钻空子(Reward hacking),如果评分机制设计不够完善,LLM可能会找到规则的漏洞,利用技巧刷分,而不是实际提高能力。
其实,很多AI公司在使用RL训练自己的model(比如OpenAI的o1),为什么DeekSeek会引起如此大的讨论呢?主要有以下几个原因:
-
DeepSeek是第一个发布相关论文并开源模型的公司,而且用户在使用时,可以完整地看到LLM的思考链(Chain of thoughts),而不像OpenAI那样隐藏推理过程
-
目前主流的做法是先进行SFT,再进行RL。但DeepSeek对DeepSeek-R1-Zero的训练采用了直接在Base model上进行RL,跳过SFT阶段的方法,这种方式大幅减少了对人工标注员和对话数据集的依赖,并且显著提高了模型的适应性、复杂推理和自主学习能力
-
-
DeekSeek通过延长思考时间(即计算时间),提高了推理能力。
(如上图所示,随着训练次数增加,DeepSeek-R1-Zero的思考时间和生成token的长度也在逐步提升)
-
-
随着计算时间的增加,一些复杂的行为比如反思、自我验证以长链推理等也开始出现
-
DeepSeek以更少的成本,实现了和OpenAI o1不相上下的训练效果
小结
最后,Andrej大神用一个形象的比喻,总结了LLM的训练过程:
- Pre-training就好像“熟读课文”,让LLM建立知识库
- SFT就像“学习例题”,让LLM了解如何解题
- RL就像做“书后练习”,让LLM通过自主探索,优化解题思路
Part 3:AI对咨询从业者的影响
聊完了LLM的工作原理和训练过程,我想简单分享一下自己对AI的一些看法。我毫不怀疑AI会让这个世界变得越来越好,但这不是我关注的重点。我更关心的是AI对像我这样的普通中介服务从业者的影响。
短期影响(未来3年)
从短期来看,AI预计会极大地提升审计、咨询等中介行业的工作效率,一些基础性的执行工作(如行业研究、数据处理等)将逐步由AI代劳,从业者的工作将从执行转变为复核。这种转变可能会对咨询行业的初级和中级岗位造成冲击,但行业中的核心技能,比如行业知识/经验、客户关系维护能力、表达/沟通能力、背锅能力,短时间内仍然是AI无法完全替代的。
年轻的朋友也不要灰心,AI的发展正在颠覆知识的传递和获取方式,极大地缩小了信息不对称性。如果能善用AI,拥抱新技术,还是有很多弯道超车的机会的。
长期影响
如果把视角拉长到5-10年,老实说,我也不知道会发生什么。毕竟10年前,几乎没人能预见到AI发展会如此迅猛。同理,我们现在也很难预测10年后的世界。
Raoul Pal(一个我非常喜欢的youtuber)提出了一个2030理论,他认为AI发展达到某个临界点后,将颠覆一切,包括我们的工作方式、投资逻辑、生活方式等等。Raoul认为,这个临界点将在2030年到来,而在那之前,我们大约有5年时间准备。Raoul的说法可能有点夸张,但值得参考。
在面对AI的冲击时,我觉得我们可以从以下几个方面着手准备:
- 调整心态,拥抱AI和新技术
- 锻炼身体,保持健康
- 多赚钱
- 学一门手艺 - 水电工、理发师、开锁等技术工种与普通白领相比,更不容易(短时间内)被AI取代。所以,以防万一…
那么,如何系统的去学习大模型LLM?
作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。
所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。
由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
👉大模型学习指南+路线汇总👈
我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
👉①.基础篇👈
基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
👉②.进阶篇👈
接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
👉③.实战篇👈
实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
👉④.福利篇👈
最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
】
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!