news 2026/6/10 12:32:37

【小白必看】大模型基础算法深度解析:收藏这篇就够了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【小白必看】大模型基础算法深度解析:收藏这篇就够了

本文详细解析了大模型的基础算法流程,从文本分词、词嵌入到Transformer处理,并深入介绍了BPE分词、DeepNorm、FlashAttention、GQA和RoPE等关键技术,帮助读者理解大模型的工作原理和优化方法,适合小白和程序员系统学习大模型基础知识。


这个系列讲述大模型相关的一些基础算法,首先要对大模型去魅,它并不是一种横空出世的新结构,而是在基于过往Transformer模型结构之上,结合大规模预训练预料+自监督/强化学习对齐人类输出偏好的一种模型,与以往我们使用的Faster RNN、GRU等深度学习模型没有本质上的区别。

在阅读之前先了解一下我们输入给大模型的一句话,比如“今天天气真好啊”,是如何被大模型处理的。

1)对于“今天天气真好啊”进行分词,分词会将一句话分解为具有最小语义单元的序列,“今天天气真好啊”可能被分割为“[今天,天气,真好啊]”,序列中的每个元素,我们称之为一个token,大多数人只关注大模型结构本身,其实分词才是整个大模型处理的开始,分词结果的好坏会直接影响大模型处理能力的上限,从直观上来讲,中文分词的规则就肯定不同于英文分词,如何让分词算法能够尽可能保证分割出来的每个序列元素都包含确定的语义?如何解决没见过词语的分词识别?这些都是一个分词算法要考虑的事情,我们将某种分词算法在某个语料上得到的具体分词结果叫词表,对于大模型要处理的语言,比如中文、英文等,都会预先通过分词算法在训练语料上建立一个词表,这样每个词语会对应一个唯一词表ID,构建完词表后,对于输入的一句话就可以使用最长贪心匹配进行分词,假设根据某种分词算法预先构建的词表是:

词表ID词语
0
1今天
2天气
3真好啊

对于输入的“今天天气真好啊”,采取最长贪心匹配,查找最长的、存在于词表中的词语,作为分词结果,流程如下:

“今天天气真好啊”是否在词表中->否

“今天天气真好”是否在词表中->否

“今天天气真”是否在词表中->否

“今天天气”是否在词表中->否

“今天天”是否在词表中->否

“今天”是否在词表中->是,切取出“今天”,产生一个分词结果

对于剩下的“天气真好啊”继续上面的流程,最终得到分词结果:

[今天、天气、真好啊]

敏锐的人一定会问:

① 为什么要从整个句子开始分割,而不从第一个字开始

② 如此遍历非常耗时,有没有更快的分词流程

这些问题会放在后续“大模型面试常见问题”中进行说明

2)“今天天气真好啊”已经被分词为“[今天,天气,真好啊]”,查找对应的词表ID,“今天天气真好啊”对应[1,2,3]这个词表ID向量

3)将[1,2,3]词表向量输入到大模型嵌入层(准确说是查找大模型嵌入层),得到词表向量对应的嵌入矩阵表示W,W是3行d列的一个矩阵,d是词嵌入向量的维度,是人工预先设置的,一般为4096、512等,嵌入层的意义是将词语从词表向量空间映射到统一的语义空间中,便于大模型进行接下来的处理。嵌入层具体的数值是随着大模型训练而得到的,初始化为随机值。一定要注意嵌入层的大小是<词表大小,词嵌入向量长度>,嵌入层中的参数训练完之后,每一行就是词表ID对应的词嵌入向量,所以输入[1,2,3]是获取第1行、2行、3行的向量,组合起来形成它对应的嵌入矩阵表示,是一种基于查找的映射,而不是像其它模型层一样是通过矩阵乘法得到的

4)现在“今天天气真好啊”->[今天,天气,真好啊]->[1,2,3]->W(3行d列词嵌入矩阵),大模型会开始利用自己的Transformer结构对W进行特征提取,最终也会输出一个3行d列的矩阵H,只不过H现在每一行表示对应位置词语的上下文特征提取信息,取出H的最后一行h,将h反向投影到词表大小维度(一般这个反向投影矩阵就是嵌入层矩阵的转置),反向投影结果中,每个位置就是大模型预测出来的“今天天气真好啊”这句话下一个词语的概率,找概率最大位置所对应的词表中的词语,就是大模型对于这句话的输出(这种输出方法叫Greedy Search,为了避免大模型的复读机问题,会使用Beam Search、Top K等,这个后续再说),将大模型的输出和“今天天气真好啊”结合,再输入到大模型中,重复1)~4)过程循环,直到大模型输出结束标志(人工预先在训练时候规定的,比如等),大模型对于“今天天气真好啊”的回答完毕。

那么结合以上流程就有几个关键性的问题:

① 如何设计分词算法,使得分词效果更好、更准

② 如何设计大模型的Transformer架构,让它特征提取能力更强,如何训练大模型,让它更准

③ 如何让大模型的输出更加符合我们人类的预期。比如两个正常人类对话。“今天天气真好啊”的回应一般为“是啊,比昨天暖和”、“对啊,要不我们出去走走”,而肯定不会是“你去死吧”、“跟我有关系吗”等

一 BPE分词

BPE分词算法可以说是大模型的标配了,现有大模型分词都是在BPE分词思想的基础上进行改进的,原论文《Neural Machine Translation of Rare Words with Subword Units》中的算法描述如下:

BPE解决未登录词(分词算法在语料上进行分词时没见到过的词语)问题效果很好,会提升大模型对稀有词和新词的泛化能力,其核心思想是:通过迭代合并语料中最频繁出现的相邻符号对,逐步地构建一个固定大小的子词词典。BPE被广泛应用于GPT系列等主流大语言模型中。BPE的词典构建过程是一个自底向上、贪心迭代合并的过程。以下是详细步骤:

步骤1:预处理语料-将每个单词按字符拆分,并在词尾添加特殊结束符(如),以保留词语的边界信息。

示例: “low” → l o w<w> “lower” → l o w e r<w>

步骤2:初始化基础词典-词典初始化为包含所有语料库中出现的单个字符(包括预先设置的特殊字符,如步骤1中设置的)。

步骤3:统计所有相邻字符对的出现频率,迭代合并最高频出现的字符对,重复操作,直到词典达到预设大小(如 30,000):

示例:

找出当前语料中频率最高的相邻符号对(如 'o' + 'w')。 将该符号对合并为一个新子词单元(如 'ow')。 在整个语料中用新单元‘ow’替换所有‘ o w ’。 更新词典和符号对频率统计。

步骤 4:生成最终词典与分词规则-最终词典包含原始字符 + 所有合并生成的子词。

二 DeepNorm

我们知道深度学习如果模型层数更多,一般效果会更好,ResNet解决了如何训练更深卷积神经网络的问题,DeepNorm要解决的问题是如何训练更深的Transformer。

那么首先要问的问题就是:究竟是什么阻碍了训练更深层的Transformer?是像ResNet发现的那样,梯度更新的问题阻碍了训练更深层Transformer吗?

DeepNorm作者通过实验发现并不是梯度爆炸的问题,而是模型更新过大阻碍了构建更深层的Transformer。

在Transformer模型结构中,存在两种层归一化(Layer Normalization, LN)方式:Pre-LN,Post-LN。

什么是LN

Pre-LN和Post-LN的区别

Post-LN计算公式为:

先对输入x进行注意力提取(Attention)/前馈神经网络变换(FFN),然后和自身进行残差连接,最后进行LN,最初Transforer使用的就是这种方式。

而Pre-LN计算公式为:

先对输入进行LN,然后再进行注意力提取、前馈神经网络变换、残差连接操作。

Pre-LN因为先对输入进行LN,相比于Post-LN训练会更稳定,而Post-LN是在获取到所有信息之后再进行LN,大部分信息被保留,相比于Pre-LN性能更高。

DeepNorm通过构建“模型更新幅度”估计的计算方法,分析了不同Transformer结构模型更新幅度的上界,这样就可以通过调整相应参数,控制Transformer的更新幅度:

基于以上分析提出了一种新的LN方式-DeepNorm

DeepNorm利用α放大残差连接输入、β缩小Tranformer层的输出,达到减小模型更新幅度的效果,从而可以训练更深的Transformer。

三 FlashAttention

DeepNorm解决的是训练更深的Transformer,FlashAttention解决的是如何让Transformer的输入更长,也就是处理更长的输入序列。

那么还是一样的问个问题,为什么Transformer无法处理过长的输入序列?

在标准的Transformer中,注意力计算的复杂度和输入序列的平方成正比

FlashAttention将注意力计算进行分块,利用GPU高速片内缓存(SRAM)进行每一分块注意力的计算,最后进行整体汇总,得到最终的结果,避免对GPU显存(HBM)的读写,加速计算时间。但是分块计算注意力有个障碍,注意力权重SoftMax操作需要看到完整QKT的一整行才能得到最终结果,但是现在对Q、K分块计算后,看到的只是一整行中的一部分,得到的SoftMax结果不准,所以论文中提出了一种适配分块注意力计算的增量式SoftMax计算方法

简单解释一下上面的增量SoftMax计算过程:

可能乍看的时候会看不懂,但是一定要强迫自己理解,因为增量SoftMax就是理解FlashAttention分块计算的核心,理解增量SoftMax的关键点是:

这是高中数学指数函数性质的内容,但却是理解FlashAttention的核心。

FlashAttention整体流程如下:

看着很复杂,但整体分为三部分:

1)将Q、K、V沿着行的方向分割为指定的块数,这个步骤体现的是分块

2)计算每块的注意力结果,增量更新注意力权重SoftMax,这个步骤是上面所说的核心

3)更新注意力输出结果,更新增量SoftMax中需要维护的全局最大值和整体归一化分母

对于步骤3)的理解要注意diag()表示对角阵,对角阵和一个矩阵进行乘法,相当于矩阵每一行除以对角阵对应行的对角元素,可以自己手动推导一下。

那么FlashAttention中的分块大小是如何计算出来的呢?在论文中

FlashAttention相比于普通Attention的访问显存效率对比如下:

四 GQA

FlashAttention从GPU显存、片内缓存高效利用的角度实现了注意力机制的高效计算,而GQA则从注意力计算方式的角度,重新思考注意力机制。

标准的多头注意力(MHA)无论是训练还是推理都非常吃显存,改进的多查询注意力(MQA)虽然不吃显存,但是效果较差

论文中对MHA、MQA、GQA的对比如下图所示

简单理解就是将传统多头注意力中的Q进行分组,每组共用一个K、V,这个共用的K、V是原对应的K、V求均值而得到的

五 RoPE

RoPE是一种位置编码策略,大模型中的位置编码(Positional Encoding) 是 Transformer 架构的核心组件之一,用于向模型注入 输入token 的顺序信息(因为原始 Attention 机制本身是置换不变的)。随着大模型向超长上下文(如 128K、1M tokens)演进,位置编码的设计成为了影响模型性能的关键因素。

RoPE的想法是在注意力内积计算过程中直接引入序列的相对位置关系,而不是通过人为添加到序列的信息强行进行规定,论文原意如下

在具体的工程实现中,注意到旋转矩阵是稀疏的,所以序列旋转过程可以简化

RoPE同样也是大模型标配的位置编码方式。

​最后

我在一线科技企业深耕十二载,见证过太多因技术更迭而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。

我整理出这套 AI 大模型突围资料包:

  • ✅AI大模型学习路线图
  • ✅Agent行业报告
  • ✅100集大模型视频教程
  • ✅大模型书籍PDF
  • ✅DeepSeek教程
  • ✅AI产品经理入门资料

完整的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
​​

为什么说现在普通人就业/升职加薪的首选是AI大模型?

人工智能技术的爆发式增长,正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议,到全国两会关于AI产业发展的政策聚焦,再到招聘会上排起的长队,AI的热度已从技术领域渗透到就业市场的每一个角落。


智联招聘的最新数据给出了最直观的印证:2025年2月,AI领域求职人数同比增幅突破200%,远超其他行业平均水平;整个人工智能行业的求职增速达到33.4%,位居各行业榜首,其中人工智能工程师岗位的求职热度更是飙升69.6%。

AI产业的快速扩张,也让人才供需矛盾愈发突出。麦肯锡报告明确预测,到2030年中国AI专业人才需求将达600万人,人才缺口可能高达400万人,这一缺口不仅存在于核心技术领域,更蔓延至产业应用的各个环节。

​​

资料包有什么?

①从入门到精通的全套视频教程⑤⑥

包含提示词工程、RAG、Agent等技术点

② AI大模型学习路线图(还有视频解说)

全过程AI大模型学习路线

③学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的

④各大厂大模型面试题目详解

⑤ 这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

所有的视频教程由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌,构建起"前沿课程+智能实训+精准就业"的高效培养体系。

课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

​​​​

如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓**

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 1:04:14

从数据到论文图表:lavaan+R实现结构方程模型全流程输出

第一章&#xff1a;结构方程模型与lavaan简介结构方程模型&#xff08;Structural Equation Modeling, SEM&#xff09;是一种强大的多变量统计分析方法&#xff0c;广泛应用于心理学、社会学、管理学和教育研究等领域。它能够同时估计测量关系&#xff08;通过因子分析&#x…

作者头像 李华
网站建设 2026/6/6 11:05:15

R语言处理系统发育数据常见陷阱:90%的人都忽略的3个关键步骤

第一章&#xff1a;R语言系统发育数据处理的核心挑战在系统发育学研究中&#xff0c;R语言因其强大的统计分析能力和丰富的生物信息学包&#xff08;如ape、phytools、ggtree&#xff09;成为数据处理的首选工具。然而&#xff0c;面对复杂的进化树结构与多源异构的生物学数据&…

作者头像 李华
网站建设 2026/6/9 21:19:55

YOLOv8与Flask结合构建Web端检测服务接口

YOLOv8与Flask结合构建Web端检测服务接口 在智能视觉应用日益普及的今天&#xff0c;越来越多的企业希望将训练好的AI模型快速部署为可远程调用的服务。然而&#xff0c;许多开发者仍停留在“本地脚本运行”的阶段——模型只能在自己的电脑上跑通&#xff0c;却难以被前端、移动…

作者头像 李华
网站建设 2026/6/5 20:05:19

YOLOv8数据集配置yaml文件编写标准模板

YOLOv8数据集配置YAML文件编写标准与实践指南 在目标检测项目开发中&#xff0c;一个常被忽视却至关重要的环节是——如何让模型“认识”你的数据。无论你使用的是YOLOv8n这样的轻量级网络&#xff0c;还是部署在边缘设备上的定制化检测器&#xff0c;第一步永远不是调参、不是…

作者头像 李华
网站建设 2026/6/1 2:22:13

YOLOv8 SGD优化器参数配置经验分享

YOLOv8 SGD优化器参数配置经验分享 在当前计算机视觉任务中&#xff0c;目标检测模型的训练效率与最终性能高度依赖于优化策略的选择。尽管近年来自适应优化器如Adam广受欢迎&#xff0c;但在YOLOv8这类工业级实时检测系统中&#xff0c;SGD&#xff08;随机梯度下降&#xff0…

作者头像 李华
网站建设 2026/6/7 21:56:24

YOLOv8实时视频流检测实现方案

YOLOv8实时视频流检测实现方案 在智能安防、工业自动化和交通监控日益普及的今天&#xff0c;如何快速构建一个稳定高效的实时目标检测系统&#xff0c;已成为许多开发者面临的共同挑战。传统部署方式常常被“环境不一致”“依赖冲突”等问题拖慢节奏&#xff0c;而模型本身在精…

作者头像 李华