系列文章目录

白话大模型增强技术系列之LLM速通
白话大模型增强技术系列之概览篇
白话大模型增强技术系列之Prompt Engineering
白话大模型增强技术系列之Agent
白话大模型增强技术系列之Agent Skills


生成一个LLM大模型

在学习大模型增强技术之前,我们首先要对大模型本身有个整体的理解,所以咱们先来看下一个LLM(Large Luange Model)到底是怎么一步一步生成的,废话不多说,上图:

请添加图片描述
本图将一些暂时不必关注的细节去除,只保留了核心步骤,简化为该流程。我将去除复杂的数学推理,以白话的方式,带你捋一遍这个流程,让小白也能整体的、快速轻松的理解LLM大模型。

一、数据采集和处理

🌟模型的本质其实就是一个“数学公式”: Y=F(X),数据通过某种算法训练得到的公式就是模型。

让我们从最简单的一个公式开始:Y=aX+b。X好比是我们在对话框输入的内容,Y是模型返回的结果,a和b就是我们需要通过数据训练得到的参数。当然,像LLM这样的大模型,背后的“公式”没这么简单,它通常是非线性的且相当复杂的,无法用普通的数学符号表达,参数量最高能达到万亿级别,可不止a和b这两个,这里的参数也可称之为模型的权重。

所谓巧妇难为无米之炊,没有数据,再牛逼的算法也是白搭,所以数据是这一切的源头。大模型之大,最主要说的也就是这个数据和参数,传统的机器学习,通常集中在某一个领域,比如情感分类,或是图像识,一般几千条数据训练下来就能有初步的结果。大模型用到了互联网几乎所有的数据,总知识量大约千万本书籍的量,让你来读,不吃不喝一万年都完不成,它一个月不到学会了。
量够了,还要质。如果数据里有很多重复、错误、偏见的内容,AI就会学坏。所以采集时就要做初步过滤,比如去重、语言识别、格式统一等。另外还要注意法律合规,不能采集有版权的内容,涉及个人隐私的数据要脱敏处理。

⚠️数据采集完后还不能直接用,需要进行处理,把原始数据变成算法能"吃"的格式,就像做饭前要洗菜、切菜,所以第一步是将数据进行清洗,去除一些脏数据,乱码广告,形成规范的格式。第二步是预处理,把文本转换成AI能理解的数字形式。这里要做两件事:
1.Tokenization
2.Embedding

Tokenization(分词),就是把句子切分成一个个token,token可以理解成英文单词或中文的词,一个token就是一个词。比如"我爱北京天安门"可能被切成"我/爱/北京/天安门"或者更细的粒度。词分好了,还要Embedding,我们人类能看懂“之乎者也”,计算机不能,它只认识数字。embedding就是把分好的token转化为计算机能够计算的数字向量:我–>[1,2], 爱–>[3,2],北京–>[1,1],这些向量通常有几百甚至上千维,这里为了方便大家理解写成了二维。初识时刻向量的值是随机设置的,没有特殊意义,会经过不断的训练来更新值,让向量具有意义,相同语义的向量会更加接近,如下图,苹果和橙子这两个token向量很接近,他们都是水果的一种。

请添加图片描述

😱可别小看了数据层,这两个阶段通常要占用整个项目50-60%的时间,需要大量的工程资源。一大半的时间要花去做数据这个底座,重要性可见一斑。

二、 预训练Pre-training

🌟预训练是大模型生成的核心阶段,也是计算成本最高的环节,所以这块我们详细讲讲。预训练的目的只有一个:词预测(Token Prediction)。我们在分词后的句子中遮住某个词,然后让模型通过计算去预测这个词。上文说到大模型的本质是一个公式,这个公式算什么呢?算的就是被遮住的部分最大概率会出现的词。为了方便大家理解,我闭门三天想出来了一个大模型超级口诀:本质是公式,公式算概率,概率最大词。把“词预测”这个概念搞懂,大模型相当于学会一半了😎。

步骤详述

那具体怎么做呢?靠的就是Transformer自监督学习来训练模型,所谓训练实质就是通过计算得到公式中正确的参数。由于Transformer太过复杂,为了方便大家理解,我们借用上文提到的最简公式来进行梳理:Y=aX+b。假设X是文本数据,也就是一堆token的embedding向量,我们将大X记作多个小x的合集–>X=(x1,x2,x3…),每一个小x就是一个token,Y是预测结果,a和b我们先随机给一个无所谓。预测值Y和真实值Yr的差,我们称之为损失Loss=Y - Yr,我们的目标就是通过修正公式里的各种参数,使得这个差值尽可能为0。
请添加图片描述
💡现在我们随机遮住文本中的一个词,比如:X=“我 | 爱 | 踢球 |,___ | 是 | 我 | 的 | 爱好”。这里一共有8个token,这里我们将第4个token,也就是x4=“足球”遮住,按语言逻辑和常识来讲,“足球”也是这个位置最大概率最应该出现的词。我们把X输入这个公式,如果预测的结果Y=“香蕉”,那证明我们公式里的参数ab和X中的向量值不太对,这里的Loss=Y-x4,我们根据Loss值和transformer的算法规则,更新参数和向量值。如果预测对了,Y=足球”,那么恭喜你,针对这个句子的参数ab和向量训练完成了,但不一定对其他数据奏效,于是请出下一个句子:“特朗普|是|沙__”,然后让模型去预测最大概率应该出现什么词(雕)。经过数千万轮的计算,参数和embedding向量值被不断的更新调整,公式变得越来越正确,模型逐渐掌握语言的基本规律、语法逻辑,并记住了世界上各式各类的知识。

算法介绍

上文提到的算法公式就是指的Transformer,这可比ax+b这样的线性模型要复杂得多。GPT系列用"预测下一个词"(Next Token Prediction),BERT用"遮住中间词预测"(Masked Language Modeling),都是transformer这个算法的衍生,本质上就是根据上下文来预测:缺失的词最大概率是什么。其中的注意力机制,位置编码,QKV矩阵等核心概念都未在上文提及,因为过于复杂一句两句的讲不明白,且不是本系列的重点,因此不在此展开,感兴趣的可以自行研究。

自监督学习则是指不用去给每句话贴标签、写标注,而是通过遮挡词来自动生成自变量X和应变量Y。对于监督学习,比如情感预测,每条数据都需要标注也就是设置应变量Y(情感:积极or消息),这一步通常需要人工生成。自监督学习省去了在万亿数据上做标注的步骤,使得大模型训练在实际落地上成为了可能。

推理机制

读到这里你应该能明白,我们在使用ChatGPT/豆包/千问之类的工具问问题时,字为啥是一个一个蹦出来的了,所谓流式输出。现在市面上大部分的工具,都是基于GPT(Next Token Prediction)训练而得的,当我们提出问题后,模型每输出的一个新词token,都是根据前文所有内容推理得出的,这种生成模式叫自回归生成模式。比如我们提问:“姚明是谁?”,我们将这句话设为X1(记住了这里的大X是由很多小x构成的),代入公式,得到第一个next token --> Y1=“姚明”,接着模型会把Y1并入原文合成新的X2=“姚明是谁?姚明”再次代入公式,推出Y2=“是”,如此循环往复,我们依次推出Y3=“一名”,Y4=“篮球”,Y5=“运动员”。我们每次得到一个Y就立马把这个词输出到页面上,最终页面展现回答:“姚明是一名篮球运动员”,如下图:

在这里插入图片描述
所以理论上,我们在使用大模型时,越往后文本的生成速度会越慢,最后一个token的生成结果是要计算前面所有token的所得,这给服务器带来了不小的计算压力。不过现在的商用模型都经过了优化,避免或减少很多这样的重复计算,使得我们在实际使用的时候体验良好。

✅预训练的产出结果是一个"基础模型"(Base Model)。预训练会让模型:
1.懂语法
2.记知识

⚠️但它没有学会:
3.答问题

这时候的AI已经有点东西了,懂得很多但可能答非所问、生成有害内容、或者格式混乱。

三、 后训练Post-training

🌟咱们已经拿到Base model了,这时的模型就像一个人读了很多书,却还没学会怎么跟人礼貌交流聊天,我们需要对其进行加训。现在市面上几乎所有的大模型厂商例如豆包、Deepseek等等,在Base model完成后都要经过后训练才能真正上线。

我们拿一个经过预训练的Base model来瞧瞧效果:

print(base_model("告诉我怎么把大象塞进冰箱?"))

result:
"告诉我怎么训练大象"
"告诉我如何打开冰箱"
"告诉我如何把冰箱门关上"
"大象塞进冰箱的步骤"
"冰箱的结构是上下结构"

可以看出base model是明白语言逻辑的,但返回结果不尽如人意。
让再来看看经过Post-training后模型的效果:

print(chat_model("告诉我怎么把大象塞进冰箱?"))

result:
"""
把大象塞进冰箱分为三步:
1.打开冰箱门
2.把大象塞进去
3.把冰箱门关上
"""

怎么样,是不是既简洁又正确。当然,“后训练”并非简单地“再训练一次”,而是让通用基础模型(Base Model)转变为实用智能助手(Chat Model)的关键桥梁,其目标包括 :

目标 说明
指令遵循(Instruction Following) 理解“总结”“翻译”等人类指令,而非仅续写文本
安全对齐(Safety Alignment) 拒绝不当请求(如“如何制作炸弹?”)
减少幻觉(Hallucination Control) 学会说“我不知道”,而非编造答案
风格与偏好适配 输出更简洁、有帮助、符合用户习惯

💡后训练的常用手段主要有很多,这里主要介绍这几种:SFT(监督微调)、RLHF(人类反馈强化学习)和 DPO(直接偏好优化)。

SFT: 监督微调,是微调Fine-tuning的一种,工程师会准备数万到数十万条高质量的"指令-回答"对话数据,比如"请解释量子力学"对应一个详细但通俗的回答。AI通过学习这些成对的例子,学会理解用户意图、遵循指令格式、给出有用回答。这就像是给学生看很多"例题+答案",让他学会解题套路。SFT的数据质量要求极高,通常需要人工标注和精心筛选。
RLHF: 就是让人类当老师教AI做人。先让AI回答一堆问题,人类来打分哪个答案更好,这些数据训练出一个"裁判模型"。然后AI再答题,裁判打分,用强化学习调整AI策略——答得好奖励,答得差惩罚。就像训狗做对了给零食,做错了不理它,反复练到AI既聪明又听话,不乱说话不使坏。
DPO: 是RLHF的简化版,省去训练裁判模型,直接拿人类标注的"好答案vs坏答案"对比数据优化AI。核心思想:好答案的概率要明显高于坏答案,用数学公式直接算差距来调参数。就像老师不用打分,直接拿范文和病文对比讲给学生听,学生自己悟哪个更好。省了一步训练,更稳更快,效果还不差,现在开源模型都爱用这个。

⚠️除此之外还有很多技术,例如PPO,GRPO等等。要注意的是,这些手段不是独立的并列路径,业界通常手段是将他们进行组合利用,比如以SFT 是基础,RLHF/DPO 作为可选增强项进行组合训练。如果是一些轻量级的模型,只针对特定的应用场景比如法律助手、天气助手,也可以仅仅通过微调(SFT)来完成后训练。

四、 模型评估:AI的"期末考试"

🌟模型评估是检验训练成果的关键环节,就像学生考完试要阅卷打分一样。但AI的评估复杂得多,因为"聪明"有很多维度:知识量、推理能力、安全性、创造力、速度等,都需要全面测试。

评估分为自动评测和人工评测。自动评测用标准化测试集,比如MMLU(多学科知识问答)、HumanEval(编程能力)、GSM8K(数学推理)。这些测试有标准答案,可以快速打分。比如问"法国首都是哪里",答"巴黎"就对,答"伦敦"就错。自动评测效率高,但只能覆盖有标准答案的领域。

人工评测则针对开放性任务,比如让AI写一篇文章,由人判断流畅度、逻辑性、创意性。或者进行"红队测试"(Red Teaming),故意诱导AI说有害内容,测试其安全性。人工评测更准确,但成本高、速度慢,通常只抽样本做。

✅评估通过后,模型就具备了上线的基本条件。但要注意,评估是"抽样检查",不能保证100%没问题,所以上线后还需要持续监控。可以说,评估是连接"训练"和"部署"的质量闸门,没通过评估的模型绝对不能上线。

五、 优化及部署

🌟恭喜你,历经千辛万苦,终于拿到真正能使用的模型了,那是不是直接部署就完事了?
如果你的电脑配置超级高,那给你自己用用确实没啥问题了,直接一键安装启动齐活了。但是普遍来看,大模型厂商可不会只给一个人提供服务,拿豆包来说,就在刚过去不久的2025年12月,单日活跃用户突破了一亿的记录,这玩意可不是你几台超级电脑能支撑的住的。

咱们还是回到那个最简公式:Y=aX+b,我们知道大模型的参数能达到万亿,这次我们把这个公式搞的复杂点:Y=aX1+bX2+cX3+dX4+… ,假设这个参数abcd…一直延伸到一亿个。就这么一个简单的线性公式,给计算机只算一遍都跑都要几分钟,结果还只出来一个token Y。大模型是以内存的形式部署到显卡上的,通常要占到几十GB,你说要真上大模型的那公式,每天一亿多人来问问题,结果就是每个人输完一个问题只能在那傻等,七分钟蹦出六个字来,这还咋用。所以优化是实现大规模提供服务的必经之路,这里介绍几个常见的路径:

量化:给模型"减肥瘦身"
量化就像把高清照片压缩成普通照片,肉眼看着差不多,但文件小了很多。AI模型里的参数原本用32位浮点数(FP32)存储,精度很高,但太占内存。量化就是把这些数字换成8位甚至4位整数(INT8/INT4),每个参数从4字节变成1字节甚至半字节,模型直接瘦成一道闪电。
举个例子,一个70B参数的模型,FP32要占280GB显存,单卡根本跑不动。量化到INT4后只要35GB,普通消费级显卡就能跑。虽然精度降低了,但AI的"智商"不会明显下降,因为神经网络本身有冗余,对微小误差不敏感。就像你背电话号码,记"13800138000"和"13800138001"差别很大,但模型处理的是概率分布,小数点后几位变了不影响最终判断。

剪枝:给模型"剪枯枝"
剪枝就像修剪果树,把不结果的枯枝剪掉,让养分集中到主干,树反而长得更好。神经网络里有很多连接权重其实接近零,对输出贡献很小,这些就是"枯枝"。剪枝就是识别并删除这些冗余参数,让模型变瘦变快。
具体怎么做?先给每个权重算"重要性分数",比如看它对最终输出的影响程度。分数低的就被标记为可删除,然后直接置零或删除整个神经元连接,好比上文中的Y=aX1+bX2+cX3+dX4+… ,发现b不重要后就直接干掉。剪完后的模型稀疏了,可以用专门的稀疏矩阵运算加速,或者用硬件支持的稀疏计算单元。

蒸馏:大模型"传功"给小模型
蒸馏就像老师傅带徒弟,老师傅经验丰富但动作慢,徒弟学个七八成功力但手脚麻利,结果是教会徒弟饿死师傅,我们最后用那个小模型就够了。大模型(Teacher)知识多但推理慢,小模型(Student)学它的"解题思路",用更小体量达到类似效果。
具体怎么传功?不是直接抄答案,而是学"软标签"。比如识别猫狗,大模型输出"猫0.9、狗0.1",小模型不光学"这是猫",还学"为什么像狗的概率是0.1"——这种概率分布里藏着更多知识。
蒸馏的优势是训练成本低,不需要海量数据,只要大模型的输出就行。缺点是天花板明显——徒弟很难超过师傅。所以蒸馏只适合特定场景,比如要做个手机端的智能助手,用蒸馏版性价比最高。

算子融合:把"多道工序"变"一步到位"
算子融合就像厨房里的备菜流程,原本切菜、洗菜、炒菜分三步,现在改成切完直接炒,省掉中间装盘洗盘的麻烦。神经网络计算也是层层接力,比如先做矩阵乘法,再加偏置,再激活函数,这三步在GPU上要发三次指令、读三次内存,很慢。融合就是把这三步打包成一个"超级算子",GPU一次搞定。

推理优化
大家是否还记得前文讲的自回归生成模式,大模型生成文本时,不是一下子展示一整段,都是一个一个词像打字机一样打出来的,每个新词都要和前面所有词算注意力,当输出到第一百个词,就要把前九十九个词都拿来计算,所以我门要把前面词的K、V向量存起来(KV Cache),尽量避免重复的计算,且想办法在已经算出的参数基础上进行较小规模的计算。

⚠️这些优化通常是组合使用的,比如量化+蒸馏+推理优化一套下来,能把高级模型压缩到原来的10%-30%,牺牲了一点质量,推理速度却能提升5-10倍,大家去观察一下不难发现,那些免费的服务用起来挺快,付费的高级模型反而推理速度变慢了。不过这些做完了还不行,毕竟要给上亿人用,所以要在部署和服务上下功夫:把优化后的模型封装成API服务(用FastAPI/gRPC),接入负载均衡和自动扩缩容(Kubernetes),配置监控告警(Prometheus/Grafana),设置安全策略(限流、鉴权、审计)。还要考虑高可用性——模型服务不能宕机,需要多副本、故障转移、灰度发布。

六、 大模型增强技术:赋能AI实现“业务应用”

模型也优化了,工程也部署了,这下总归能用了吧。对大众来说,确实可以用起来了,我们可以用他来写小说、回答些常识问题、让他做算术题、帮你做年终总结。但是当你问他:“今天上海天气?”或者“咱公司的员工手册第七条?”,他就嗝屁了。大模型固然强大,知识渊博且性能强悍,但他是一个相对固定的东西不够灵活,总有它无法触及的领域,比如公司内部的员工手册,或者你在你们家的“家庭弟位“。再者,大模型每个版本的迭代一般需要数周或数月,人类社会进步日新月异,这中间产生的信息他是不知道的。再再者,我们目前只能通过不断的对话来进行交互,是否能够通过自动化的流程,来让大模型代替一些简单工作呢。要解决这些问题,还需要咱程序员再做点事,程序猿直呼:我太难了!!😅

💡于是乎,RAG,Agent,Function calling,Agent Skills等等横空出世。有了这些增强技术的加持,大模型才真正走出了对话框,实现了质的飞跃,逐渐取代了传统搜索引擎,并在此基础上实现更广泛的业务应用和业务价值。这也回到了我这个系列的主题:大模型增强技术,这也是咱老百姓真正的发力点,接下来让我们深入该系列文章,进行系统性的学习~~

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐