大模型学习宝典:收藏这份系统性技术框架,从零开始构建LLM

本文基于Stanford CS336课程,系统介绍大模型开发关键技术,涵盖BPE分词、网络结构设计、超参数选择、训练技巧、MoE架构、GPU优化、分布式训练及推理优化等核心内容。详细解析从LayerNorm到RMSNorm、RoPE位置编码、Flash Attention等实现方法,并探讨Scaling Law等基础理论,为构建大语言模型提供全面技术框架。


这是一份我根据 Stanford CS336(Build LLM from Scratch)的学习笔记整理。

主要涵盖了 Tokenizer、计算复杂度、网络结构设计、超参数、训练技巧、MoE、GPU 优化、分布式训练、推理优化、Scaling Law、评估、数据处理和推理方法等内容,算是学习大语言模型必知必会的系统性框架。

01

BPE Tokenizer

自底向上合并字节的分词器(Byte-Pair Encoding)。

通过不断合并高频字节对,逐步形成稳定的子词单元。

02

FLOPs 计算与显存估算

计算量估算:矩阵乘法中,平均每个参数大约需要 2 FLOPs/token。

例如:7B 模型 ≈ 14B FLOPs/token。

常用操作:tensor(stride)实现、einops、einsum、jaxtyping。

浮点数精度表示:

  • fp32
  • tf32(19bit)
  • fp16、bf16
  • fp8(低精度 + 动态范围限制)
  • 低精度 → 计算更快,但数值稳定性下降

前向/反向计算复杂度:backward ≈ forward 的 2 倍(因为要对参数和激活都做运算)。

显存估算:参数 + 激活 + 梯度 + 优化器状态。

推理阶段可量化节省显存,但训练阶段通常不能量化。

03

网络结构选择

归一化:LayerNorm → RMSNorm(无 bias,减少内存移动和显存占用,同时保持可学习性)。

位置选择:

  • PostNorm → PreNorm → Pre&After(但不是 Post)
  • 优点:无 warmup、不易梯度爆炸/消失,更易训练。

FFN 设计:去掉 bias,减少显存占用,避免低精度下 bias 溢出。

激活函数:

  • GELU → SwiGLU(门控激活,效果更好)。
  • 输出维度缩放:d_out = 2/3 * d_model,参数量不变。

位置编码:

  • 三角函数 → RoPE
  • 设计原则:保留相对位置信息 f(x,i) * f(y,j) = g(x,y,i-j)。

04

超参数选择

FFN 宽度:

  • 普通激活:d_hidden_ffn = 4 * d_model
  • 门控激活:d_hidden_ffn = 8/3 * d_model(总参数保持一致)。

注意力头:

  • head * head_dim = d_model
  • 若 head * head_dim > d_model → 部分头会退化为低秩注意力。

宽深比:d_model / layer_num ≈ 100

太宽 → T5;太深 → GPT-2;都不好。

词表规模:

  • 单语言:30K–50K
  • 多语言:100K

训练策略:

  • 数据只过一遍(epoch=1)。
  • Pretrain 阶段一般加 dropout=0.1(部分工作不加)。

学习率调度:训练后期学习率降到初始值的 1/10 以下(如 1e-5),进入微调阶段。

Weight Decay:后期正则化作用增强,强制参数收缩至零,提升泛化能力。

05

训练技巧

稳定性监控:

  • 同时观察 loss 和梯度 L2,避免 spike。
  • 不追求 loss 越低越好,而是追求稳定。

spike 来源:

  • Attention softmax 溢出
  • Output softmax 溢出

解决方法:

  • Output softmax:增加 z-loss = (logZ - 0)²
  • Attention softmax:QK Normalization
  • Soft-cap 技术(效果一般,不如 QKNorm)。

推理显存优化:

  • KV Cache 优化:MQA → KV 共享,多头 Q,KV 复用。
  • Sparse Attention:Sliding Window、RoPE + Window。

06

Mixture of Experts(MoE)

问题:多机环境才有成本优势;路由策略不可微,依赖启发式。

MoE vs Dense Layer:Hash Expert / Switch Layer / Dynamic Routing → 不同策略。

基本思想:每个 token 选择 top-K experts(K≥2 更利于探索)。

DeepSeek V3 MoE:

  • Sigmoid gate + reweight(防溢出)
  • Softmax gate 可不 reweight(后续层自适应调整 scale)
  • 采用 8 专用 + 1 Shared expert,降低 FFN hidden dim。

负载均衡:

  • Gate 加噪声(训练前期探索,后期逐渐消失)。
  • Switch Transformer / DeepSeek V1&V2 → 加辅助 loss 控制专家使用比例。
  • DeepSeek V3 → online bias 调整,推理阶段加 sequence-wise imbalance loss。

额外问题:

  • 推理时专家设备过载 → 随机 drop token,导致不确定性。
  • Gate softmax 必须用 fp32。
  • 小数据集易过拟合 → 交替 MoE + Dense 层,SFT 时只调 Dense。

Upcycling 技术:从 dense 模型复制 FFN,形成 MoE 结构,增加专家负载均衡 loss。

MLA 优化:减少 RoPE 影响,分解 Q/K 计算。

DeepseekV3 MTP 优化:多 token 并行预测。

07

GPU 硬件与优化

基本概念:

  • 一个 SM = block + warp(32 threads)。
  • 同 warp 内必须执行相同指令。

性能瓶颈:FLOPs 增长快于显存带宽 → 显存更宝贵。

优化技巧:

  • 避免分支(if 会造成线程空转)。
  • 混合精度:fp32/bf16 → 聚合操作;fp16/bf16 → 矩阵乘法。
  • Kernel Fusion:减少读写显存次数。
  • 重计算:用计算换内存 IO。
  • Memory Coalescing:寻址对齐,充分利用 DRAM burst。
  • Tiling:tile 级别并行,减少残余块,保证高效并发。

Flash Attention:Online Softmax + Tiling + Kernel Fusion。

性能分析工具:

  • PyTorch profiler(粗)
  • NVTX profiler(细,CPU+GPU 协同)

算子优化方案优先级:

  • PyTorch 内置算子(最快)
  • Triton 手写函数
  • Torch.compile 优化函数
  • CUDA Kernel(麻烦)
  • Python 手写函数(最慢)

08

分布式并行

数据并行(ZeRO):

  • ZeRO-1:和 DDP 通信量相同,all reduce = reduce scatter + all gather,显存节省2+2+12/N。
  • ZeRO-2:梯度计算与reduce scatter 通信异步。
  • ZeRO-3:FSDP,参数切分,显存更省,通信 2all gather+1reduce scatter,1.5 倍 cost
  • ZeRO 要求激活函数仍需全部保留,能扩展系统接受更大的 batchsize,缺点超大网络超多节点因通信量导致性能下降

模型并行:

  • Pipeline Parallel(PP):通信激活值,节省显存,适合大模型。
  • Tensor Parallel(TP):依赖allreduce,矩阵乘法可并行,LayerNorm 不行。

组合策略:

  • 优先 DP(ZeRO),再单机内部 TP(≤8),最后 PP。
  • DeepSeek V3:16路 PP + Expert Parallel + ZeRO-1 DP。

GPU 数量公式:gpu_num = dp × pp × tp

09

推理(Inference)

Prefill 阶段:Compute-limited(batchsize 增大更高效)。

Generate 阶段:Memory-limited(效率=1)。

加速方法:

  • KV Cache 优化:GQA,MLA,CLA,Global+Local Attention。
  • Attention 结构优化:Mamba、Linear Attention、Diffusion 解码。
  • 量化:int8。
  • 蒸馏:大模型指导小模型(Draft & Check)。
  • 动态 batching:支持新增 request。
  • Page Attention:减少显存碎片。

10

Scaling Law

Data Scaling Law:

  • 小规模实验 → 确定 scaling region → 扩展至大规模。
  • 用于预测数据组成占比的需求,network架构选择,优化器选择,超参选择

Model Scaling Law:

  • 不同 flops 下的最优模型范围。
  • 学习率是例外,不符合 scaling law。

Critical Batch Size:

  • 小 batch → 噪声大
  • 大 batch → 噪声比例恒定
  • 可用梯度累积扩展 batch。

学习率与 batch 协同:扩大 batch → 必须线性增大学习率,保持更新幅度不变。

Scaling Prediction:多次实验拟合最优点,预测最优模型参数。

muP(Maximal Update Parametrization):

  • 针对 LLM 超参数跨尺度迁移。
  • 通过重新参数化 → 保持训练动态稳定。
  • 小模型调参 → 可迁移到大模型。

11

模型评估

Perplexity Level

Task Level

12

数据处理

工具:

  • kenLM(ngram)
  • fastText 分类器
  • Importance Sampling

应用:

  • 语种识别
  • 数据质量过滤
  • 有害文本过滤

去重方法:

  • BloomFilter、MinHash
  • 重复文档统计次数 → log 采样训练

13

Reasoning(推理能力)

RLHF(Reinforcement Learning with Human Feedback)

PPO(Proximal Policy Optimization)

DPO(Direct Preference Optimization)

GRPO(Generalized Reinforcement Preference Optimization)

AI大模型从0到精通全套学习大礼包

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

只要你是真心想学AI大模型,我这份资料就可以无偿共享给你学习。大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!

如果你也想通过学大模型技术去帮助就业和转行,可以扫描下方链接👇👇
大模型重磅福利:入门进阶全套104G学习资源包免费分享!

01.从入门到精通的全套视频教程

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

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

全过程AI大模型学习路线


03.学习电子书籍和技术文档

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


04.大模型面试题目详解

05.这些资料真的有用吗?

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

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

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


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

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


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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1215755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32F0实战:基于HAL库开发【2.1】

7.4.2 从待机模式唤醒 待机模式允许达到能耗最低,它基于Cortex-M0深度睡眠模式,电压调节器禁用,1.8V域关闭,PLL、HIS和HSE振荡器也关闭,SRAM和寄存器内容丢失。只有RTC寄存器、RTC备份寄存器和备用电路保持工作。可以使用HAL库中的HAL_PWR_EnterSTANDBYMode()函数进入待机…

大语言模型训练原理解析:ChatGPT背后的技术原理与应用价值

大语言模型训练分为三步:预训练阶段通过互联网数据训练基础预测模型;监督微调阶段通过问答数据让模型学会回答问题;强化学习阶段让模型自行探索最佳解法,产生思维链。大模型本质是统计学预测器,通过预测下一个token生成…

MCP与A2A深度解析:AI系统集成与智能体协作的未来之路

MCP与A2A是AI系统集成的两大关键协议。MCP解决AI安全调用工具与数据的问题,提供资源、工具和提示模板三大能力;A2A则规范智能体间的协作,通过任务、消息和产物等组件实现高效接力。它们共同构成AI系统的分层规范,将开发范式从&quo…

【升级版本】基于多目标粒子群算法的微电网优化调度【风光、储能、柴油、燃气、电网交互】附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码及仿真…

【实时无功-有功控制器的动态性能】【带有电流控制的两级电压源变流器(VSC)】采用αβ阿尔法-贝塔转换进行电流反馈的实时无功功率控制器附Simulink仿真

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码及仿真…

【2026最新】大模型面试全攻略:23家科技公司面试经验+高频考点总结,助你轻松上岸

本文详细记录了作者对23家大模型相关公司的面试经历,包括智元机器人、面壁科技、Minimax、阿里夸克、蚂蚁等公司的面试流程与结果。作者总结了大模型面试的高频考点,如多头注意力机制、框架并行方式、BERT/GPT模型细节、大模型训练技巧等,并分…

【使用Copulas对金融时间序列进行波动率估计与预测,涵盖GARCH、EWMA和EqWMA等模型】基于件风险价值(CVaR)、极值理论(EVT)、风险因子及蒙特卡洛模拟进行市场风险管理附Matlab

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码及仿真…

个人AI产业定义、产业架构与发展趋势白皮书|附60页PDF文件下载

本报告以用户为中心,立足于产业与生态,系统阐述个人AI时代来临的产业逻辑与必然趋势,厘清个人AI的基础架构与核心特征,剖析其对产业链、价值链及竞争格局带来的结构性变革。报告亦将对个人AI主导的未来生态进行前瞻展望&#xff0…

企业AI开发与技术实践白皮书2025|附36页PDF文件下载

白皮书探讨了在GenAI时代,企业如何利用大模型技术实现智能化转型。白皮书指出,大模型能力的不断提升为企业带来了无限想象力,但也面临着战略规划、数据治理、算力资源、场景适配等方面的挑战。企业需要构建覆盖顶层设计、技术选型、数据治理、…

【数据驱动】【航空航天结构的高效损伤检测技术】一种数据驱动的结构健康监测(SHM)方法,用于进行原位评估结构健康状态,即损伤位置和程度,在其中利用了选定位置的引导式兰姆波响应附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

【柔性作业车间调度问题FJSP】基于鹅优化算法(GOOSE Algorithm,GOOSE)求解柔性作业车间调度问题(FJSP)研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码及仿真…

如何保证服务高可靠? - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P1462 通往奥格瑞玛的道路

点击查看代码 #include<bits/stdc++.h> using namespace std;typedef long long LL; typedef pair<LL,int> PII; const int N=1e4+10,M=1e5+10;int h[N],ne[M],idx,e[M],w[M]; int n,m; LL b; LL f[N]; LL…

Codeforces Round 1073 Div.1 写题记录(编号 2190)

A 显然有序 Bob 赢,那么无序的情况就是选出一个不升子序列变成不降子序列,考虑一定有这么一个分界点,是的前面全部取 \(1\),后面全部取 \(0\),看一下合不合法即可,当然有一种更简单的构造方式是排完序后比对哪些…

动态系统思维:告别僵化内耗的破局指南

职场中总有这样的困惑&#xff1a;公司制定了标准化流程&#xff0c;却越执行越低效&#xff1b;团队追求“绝对有序”&#xff0c;反而失去创新活力&#xff1b;个人埋头重复固有工作&#xff0c;却在变化中逐渐被淘汰。我们总以为“稳定有序”是生存之道&#xff0c;却忽略了…

Vue 1.26

一、指令补充 1.指令修饰符 &#xff08;1&#xff09;按键修饰符 keyup.enter → 键盘回车监听 <body><div id"app"><h3>keyup.enter > 监听键盘回车事件</h3><input keyup.enter"fn" v-model"username" type&…

一站式指南:Obsidian Typora 统一写作规范与存量内容迁移实战

一站式指南:Obsidian & Typora 统一写作规范与存量内容迁移实战 引言 在内容创作领域,选择合适的写作工具和遵循统一的规范是提升效率和保证质量的关键。然而,许多创作者在使用 Obsidian 和 Typora 进行 Markdo…

UnicodeDecodeError: ‘charmap‘ codec can‘t decode byte 0x81 in position 17: character maps to <undefi

目录 问题原因分析1. **编码不匹配**2. **常见场景** 解决方案**方案1&#xff1a;设置正确的字符集连接MySQL****方案2&#xff1a;Python脚本中的解决方案****方案3&#xff1a;检查并设置系统环境编码****方案4&#xff1a;MySQL服务器端配置检查****方案5&#xff1a;在代码…

golang中使用 sort.Interface 实现复杂多级排序

举两个例子&#xff0c;说明 sort.Interface实现多级排序。 例子 1 学生成绩排序&#xff08;先按成绩降序&#xff0c;成绩相同按姓名升序&#xff09;package mainimport ("fmt""sort")type Student struct {Name stringScore int}type ByScoreAndName …

MySQL 中的 utf8 vs utf8mb4 区别

目录核心区别详细对比1. **编码范围不同**2. **历史背景**3. **实际影响最明显的场景**4. **存储空间差异**5. **性能差异**关键限制**索引长度限制**实际使用建议1. **新项目一律使用utf8mb4**2. **现有系统迁移步骤**3. **连接配置**4. **排序规则选择**兼容性考虑**向下兼容…