基础信息

batch:数据层面,一次拿多少条训练

step:一整个训练流程,是一步

epoch:一共500条数据,batch size是50,一次step训练50条数据,所以一个epoch需要有10step
loss:预测答案和真实答案差距

梯度:backward的时候,参数变化时的变化程度,如果改变某个参数,梯度变陡峭了,说明有问题

优化器optimizer:根据梯度修改参数

Adam通过维护梯度一阶矩和二阶矩估计(历史梯度),自适应调整每个参数的学习率,因此比SGD(仅当前梯度)收敛更稳定,是当前大模型训练最常见的优化器。

Transformer

decoder-only Transformer 为例,比如 GPT、LLaMA

Tokenization,Embedding,进入 Transformer Block,Self-Attention(QKV)

Transformer Block

输入 X
 ↓
LayerNorm(对隐藏状态进行归一化,使不同层的数据分布更加稳定,从而加快收敛并提高训练稳定性)
 ↓
Self-Attention
 ↓
Residual Add(残差连接)
 ↓
LayerNorm
 ↓
FFN(Feed Forward Network,前馈神经网络)/MLP(Multi-Layer Perceptron多层感知机)
 ↓
Residual Add
 ↓
输出

FFN相当于MLP

KV Cache

KV Cache 用在模型推理的自回归生成阶段。模型第一次处理 prompt 时会缓存每一层历史 token 的 Key 和 Value,后续生成新 token 时只计算新 token 的 QKV,历史 K/V 直接复用,从而避免重复计算,提高解码速度。。

KV-Cache详解_kv cache-CSDN博客

一次完整Transformer Forward

这是最重要的。

假设输入:

中国首都是

Tokenizer

[1032, 884, 5678]

Embedding

变成:

3 × 4096

矩阵。


例如:

Token1
4096维

Token2
4096维

Token3
4096维

进入Block1


生成:

Q
K
V

计算:

QK^T

得到:

Attention Score

Softmax


乘V


得到:

Attention Output

Residual

Attention Output + X

LayerNorm


FF

4096

↓

11008

↓

4096

Residual


输出Block1


进入Block2


一直到:

Block32

最后得到:

Hidden State

形状:

3 × 4096

再经过:

LM Head(就是把hidden state和词表对应上,输出词表logits)

本质:

Linear

输出:

3 × vocab_size

例如:

3 × 128000

这就是:

Logits

MoE

Mixture of Experts混合专家模型

普通 Transformer 每层只有一个大 MLP;MoE 把这个 MLP 换成很多个专家 MLP,然后每个 token 只选择其中几个专家计算。

可能存在问题:负载不均衡。解决办法:Load Balancing Loss。

GPT发展历程

GPT-4【MoE混合专家模型】

CUDA

CUDA Toolkit 是连接 AI 框架和 GPU 驱动之间的软件工具集合,包含 Runtime、编译器 nvcc、cuBLAS、cuDNN、NCCL 等,用来支持 GPU 编程、矩阵计算、深度学习算子和多卡通信。

应用层
Python / C++ / Web API
        ↓
AI框架
PyTorch / TensorFlow / JAX
        ↓
推理框架
vLLM / SGLang / TensorRT-LLM / Ollama
        ↓
CUDA Toolkit
cuBLAS / cuDNN / NCCL / nvcc / CUDA Runtime
        ↓
CUDA Driver
GPU驱动
        ↓
GPU硬件

模型微调

Full Fine-tuning全参数微调

LoRA

最常见的轻量微调方式。

原模型参数:

W

冻结不动。

只训练一个很小的增量:

ΔW = A × B

最终:

W' = W + ΔW

优点:

显存低
训练快
容易部署

缺点:

表达能力弱于全参微调

QLoRA

LoRA 的量化版本。

做法:

Base Model 量化成 4bit
LoRA 参数正常训练

优点:

显存更低
单卡也能微调较大模型

Prefix Tuning / Prompt Tuning

不改模型主体参数。

只训练一小段“软提示向量”。

可以理解为:

训练一段模型能理解的隐藏提示词

优点:

非常轻量

缺点:

能力有限
现在大模型工程里不如 LoRA 常见

Instruction Tuning

这个和 SFT 很接近。

用大量指令数据训练模型,类似于,预训练数据只让模型记住知识,但指令微调输入的是带有任务格式的数据,让模型熟悉指令格式的输入

SFT 通常就是 instruction tuning 的主要形式。


Preference Tuning

偏好微调。

不是只给标准答案,而是给:

好的回答
差的回答

让模型学会人类更喜欢哪种回答。

包括:

RLHF
DPO
ORPO
KTO
IPO

RLHF首先利用人类偏好数据训练一个Reward Model,再通过PPO等强化学习算法优化语言模型,使其生成更高奖励的回答。DPO则省去了Reward Model和强化学习步骤,直接利用偏好数据中的chosen/rejected回答构造目标函数,让模型提高优选回答概率、降低劣选回答概率。两者都属于Preference Tuning,但RLHF属于强化学习路线,而DPO属于直接优化路线,工程实现更简单,训练更稳定,因此目前很多开源模型更倾向于采用DPO。

模型推理部署

vLLM

vLLM主要通过PagedAttention和Continuous Batching
提升推理吞吐率和显存利用率。

模型性能调优

模型量化

用更低精度的数据类型表示模型权重和激活值。

1、降低显存占用

2、提升推理速度:从显存读权重更快

两种量化方法:

第一类:训练后量化Post-Training Quantization

模型已经训练好了,不重新训练,直接量化。

第二类:量化感知训练Quantization-Aware Training

训练时就模拟低精度,让模型提前适应量化误差。

量化对象:权重、激活、KV Cache

GPTQ 和 AWQ 都是常见的训练后量化方法。GPTQ 更关注通过误差补偿降低量化后输出误差,AWQ 则根据激活分布识别重要权重通道,对敏感通道进行保护,从而在 INT4 等低比特量化下尽量保持模型精度。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐