Skip to content
当前页大纲

AI 模型学习与对比

本文将深入介绍 AI 大模型的核心架构原理、主流模型对比、训练流程以及微调技术,帮助你从原理到实践全面理解大语言模型。


一、Transformer 架构详解

Transformer 是当前几乎所有大语言模型的基础架构,由 Google 在 2017 年的论文 "Attention Is All You Need" 中提出。理解 Transformer 是理解所有现代 AI 模型的关键。

1.1 为什么需要 Transformer?

在 Transformer 之前,NLP 主要依赖 RNN(循环神经网络)和 LSTM(长短期记忆网络):

架构优点缺点
RNN能处理序列数据无法并行计算,长距离依赖差
LSTM缓解了梯度消失问题计算速度慢,仍有长距离限制
Transformer完全并行化,长距离依赖强计算量大,需要大量数据

Transformer 的核心创新:用注意力机制(Attention)完全替代循环结构,实现了并行计算和全局信息捕获。

1.2 Transformer 整体结构

Transformer 由 编码器(Encoder)解码器(Decoder) 两部分组成:

输入序列 → [Encoder] → 中间表示 → [Decoder] → 输出序列
  • Encoder:将输入文本编码为高维向量表示(理解语义)
  • Decoder:根据编码结果逐步生成输出文本

不同模型使用不同的组合:

架构类型使用部分代表模型适合任务
Encoder-only仅编码器BERT、RoBERTa文本分类、NER、语义理解
Decoder-only仅解码器GPT、Llama、DeepSeek文本生成、对话、代码
Encoder-Decoder编码器+解码器T5、BART翻译、摘要

当前主流 LLM(GPT、Claude、Llama、DeepSeek)几乎都采用 Decoder-only 架构。

1.3 自注意力机制(Self-Attention)

自注意力是 Transformer 的核心,它让模型在处理每个词时,能够"关注"到序列中所有其他词的信息。

计算过程

  1. 对每个输入词,生成三个向量:Q(Query)K(Key)V(Value)
  2. 计算注意力分数:Q 与所有 K 的点积
  3. 通过 Softmax 归一化得到注意力权重
  4. 用权重对 V 加权求和,得到输出

数学公式

Attention(Q, K, V) = softmax(Q × K^T / √d_k) × V
  • Q × K^T:计算每对词之间的相关性
  • √d_k:缩放因子,防止点积过大
  • softmax:将分数转为概率分布
  • × V:根据注意力权重聚合信息

直观理解

以句子 "小猫坐在垫子上,它很开心" 为例:

  • 处理"它"这个词时,注意力机制会给"小猫"分配较高的权重
  • 这样模型就能理解"它"指代的是"小猫"

1.4 多头注意力(Multi-Head Attention)

单个注意力只能捕获一种关系模式。多头注意力将 Q、K、V 分成多个"头",每个头独立计算注意力,最后拼接结果:

MultiHead(Q, K, V) = Concat(head_1, head_2, ..., head_h) × W_O

其中 head_i = Attention(Q × W_Q_i, K × W_K_i, V × W_V_i)

好处:不同的头可以关注不同类型的关系(语法关系、语义关系、位置关系等)。

1.5 位置编码(Positional Encoding)

Transformer 没有循环结构,无法感知词的顺序。位置编码为每个位置添加一个固定或可学习的向量,让模型知道词的位置信息。

常见方案

方案说明使用模型
正弦位置编码使用 sin/cos 函数生成固定编码原始 Transformer
可学习位置编码位置向量作为参数训练GPT、BERT
RoPE(旋转位置编码)将位置信息编码到旋转矩阵中Llama、Qwen、DeepSeek
ALiBi在注意力分数上加位置偏置BLOOM

RoPE 是当前最流行的位置编码方案,支持长度外推(处理比训练时更长的文本)。

1.6 前馈神经网络(FFN)

每个 Transformer 层中,注意力之后还有一个前馈网络(Feed-Forward Network),用于对每个位置的表示做非线性变换:

FFN(x) = max(0, x × W_1 + b_1) × W_2 + b_2

现代模型常用 SwiGLU 激活函数替代 ReLU,效果更好(Llama、DeepSeek 等都采用)。

1.7 Layer Normalization 与残差连接

  • 残差连接output = x + SubLayer(x),防止深层网络梯度消失
  • Layer Norm:对每一层的输出做归一化,稳定训练过程

现代模型多采用 Pre-Norm(先归一化再计算)而非原始的 Post-Norm。


二、模型训练全流程

一个大语言模型从零到可用,通常经历以下阶段:

2.1 预训练(Pre-training)

在海量无标注文本上训练模型,学习语言的基本规律。

训练目标

目标说明使用模型
CLM(因果语言模型)根据前文预测下一个词GPT、Llama、DeepSeek
MLM(掩码语言模型)预测被遮盖的词BERT
Seq2Seq编码输入,解码输出T5、BART

CLM 示例

输入:今天天气
目标:今天天气真好

模型学习:P(真|今天天气) → P(好|今天天气真) → ...

训练数据规模

模型训练数据量训练 Token 数
GPT-3~570GB 文本~300B tokens
Llama 2-2T tokens
Llama 3-15T tokens
DeepSeek-V3-14.8T tokens

训练成本

模型估算训练成本GPU 资源
GPT-4~$100M+数万张 A100
Llama 3 405B~$30M16,384 张 H100
DeepSeek-V3~$5.6M2,048 张 H800

DeepSeek-V3 的训练成本仅为同级别模型的 1/10,得益于 MoE 架构和工程优化。

2.2 监督微调(SFT - Supervised Fine-Tuning)

在预训练基础上,使用人工标注的高质量对话数据进行微调,让模型学会按照指令回答问题。

SFT 数据格式

json
{
    "instruction": "请解释什么是机器学习",
    "input": "",
    "output": "机器学习是人工智能的一个分支,它使计算机系统能够从数据中学习和改进,而无需进行明确的编程。通过分析大量数据中的模式,机器学习算法可以做出预测或决策..."
}

关键要点

  • 数据质量比数量更重要
  • 通常需要数万到数十万条高质量数据
  • 覆盖多种任务类型:问答、写作、代码、推理等

2.3 RLHF(基于人类反馈的强化学习)

让模型的输出更符合人类偏好,减少有害内容。

RLHF 三步流程

第一步:SFT 模型(上一步的结果)

第二步:训练奖励模型(Reward Model)
    - 对同一问题生成多个回答
    - 人工标注员对回答排序
    - 训练一个模型来预测人类偏好

第三步:PPO 强化学习优化
    - 用奖励模型的分数作为奖励信号
    - 通过 PPO 算法优化 SFT 模型
    - 使模型生成更符合人类偏好的回答

替代方案 - DPO(Direct Preference Optimization)

DPO 跳过了训练奖励模型的步骤,直接从偏好数据中优化模型,更简单高效。DeepSeek、Llama 3 等新模型多采用 DPO。

2.4 训练流程总结

海量文本数据 → [预训练] → 基座模型(Base Model)

高质量指令数据 → [SFT 微调] → 指令模型(Chat Model)

人类偏好数据 → [RLHF/DPO] → 对齐模型(Aligned Model)

三、主流模型架构深度对比

3.1 GPT 系列(OpenAI)

模型参数量上下文窗口架构特点
GPT-3.5~175B16KDense Decoder-only
GPT-4未公开(传闻 MoE)128K可能是 MoE 架构
GPT-4o未公开128K原生多模态 Transformer
o1未公开200K推理时思维链(CoT)
o3-mini未公开200K轻量推理模型

架构特点

  • 标准 Decoder-only Transformer
  • GPT-4 可能采用了 MoE(8 个专家,每次激活 2 个)
  • o1 系列引入了 推理时计算(Test-time Compute):模型在回答前会进行多步推理

o1 的推理时思维链

用户问题:9.11 和 9.8 哪个大?

普通模型:9.11 > 9.8(错误,被小数位数误导)

o1 推理过程:
  思考:这是比较两个小数...
  思考:9.11 = 9 + 0.11,9.8 = 9 + 0.8
  思考:0.11 < 0.8
  结论:9.8 > 9.11 ✓

3.2 Claude 系列(Anthropic)

模型上下文窗口架构特点
Claude 3 Haiku200K轻量 Dense 模型
Claude 3.5 Sonnet200K中等规模,代码能力强
Claude 3 Opus200K最大规模,推理最强

架构特点

  • Dense Decoder-only Transformer
  • 采用 Constitutional AI(宪法 AI) 进行对齐,减少对人工标注的依赖
  • 超长上下文通过优化注意力机制实现(可能使用了滑动窗口 + 全局注意力)

Constitutional AI 流程

第一步:让模型生成回答
第二步:让模型根据一组"宪法原则"自我批评
第三步:让模型根据批评修改回答
第四步:用修改后的数据训练模型

3.3 DeepSeek 系列(深度求索)

模型总参数激活参数上下文架构
DeepSeek-V2236B21B128KMoE + MLA
DeepSeek-V3671B37B128KMoE + MLA
DeepSeek-R1671B37B128KMoE + MLA + RL

核心创新

MoE(Mixture of Experts,混合专家)

输入 → Router(路由器)→ 选择 Top-K 个专家

              Expert 1  Expert 2  ...  Expert N
                  ↓         ↓
              加权合并 → 输出
  • DeepSeek-V3 有 256 个专家,每次只激活 8 个
  • 总参数 671B,但推理时只用 37B 参数(约 5.5%)
  • 大幅降低推理成本,同时保持大模型的能力

MLA(Multi-head Latent Attention,多头潜在注意力)

DeepSeek 的独创注意力机制,通过低秩压缩大幅减少 KV Cache 的显存占用:

标准 MHA:KV Cache = 2 × n_layers × n_heads × d_head × seq_len
MLA:     KV Cache = 2 × n_layers × d_compressed × seq_len

d_compressed << n_heads × d_head,显存节省 90%+

DeepSeek-R1 的强化学习训练

R1 的核心创新是通过纯强化学习(不依赖 SFT 数据)让模型学会推理:

第一阶段:纯 RL 训练(DeepSeek-R1-Zero)
  - 不使用任何 SFT 数据
  - 仅通过奖励信号(答案正确性)训练
  - 模型自发涌现出思维链推理能力

第二阶段:冷启动 + RL + SFT
  - 用少量高质量推理数据冷启动
  - 大规模 RL 训练
  - 最终 SFT 提升格式和可读性

3.4 Llama 系列(Meta)

模型参数量上下文架构特点
Llama 27B/13B/70B4KGQA、RoPE
Llama 38B/70B8KGQA、RoPE、更大词表
Llama 3.18B/70B/405B128K长上下文扩展

关键技术

GQA(Grouped-Query Attention,分组查询注意力)

MHA:每个头都有独立的 K、V    → 显存大
MQA:所有头共享一组 K、V      → 质量下降
GQA:将头分成若干组,组内共享 K、V → 平衡性能和效率

Llama 2 70B 使用 8 组 GQA,将 KV Cache 减少到 MHA 的 1/8。

RoPE(Rotary Position Embedding,旋转位置编码)

核心思想:将位置信息编码为旋转角度
  - 位置 m 的编码 = 旋转矩阵 R(m)
  - 两个位置的注意力分数只依赖于相对距离
  - 天然支持长度外推

3.5 Gemini 系列(Google)

模型上下文窗口架构特点
Gemini 1.5 Flash1M轻量 MoE
Gemini 1.5 Pro1MMoE + 超长上下文
Gemini Ultra未公开最强多模态

核心特点

  • 原生多模态:文本、图像、视频、音频统一处理
  • 超长上下文(1M tokens ≈ 70 万字 ≈ 一整本书)
  • 采用 MoE 架构提升效率

3.6 Qwen 系列(阿里)

模型参数量架构特点
Qwen2.50.5B-72BDense,GQA,RoPE
Qwen2.5-Coder1.5B-32B代码专用微调
Qwen-VL多尺寸视觉语言多模态

核心特点

  • 中文能力在开源模型中领先
  • 多尺寸覆盖,从手机端(0.5B)到服务器端(72B)
  • 开源生态完善,支持 vLLM、Ollama 等部署工具

四、模型综合能力对比

4.1 能力矩阵(截至 2025 年初)

能力维度第一梯队第二梯队第三梯队
综合推理GPT-4o、Claude 3.5 SonnetDeepSeek-V3、Gemini 1.5 ProLlama 3.1 405B、Qwen2.5-72B
深度推理o1、DeepSeek-R1Claude 3 OpusGPT-4o
代码能力Claude 3.5 Sonnet、DeepSeek-V3GPT-4oQwen2.5-Coder
中文能力DeepSeek-V3、Qwen2.5GPT-4o、Claude 3.5Llama 3.1
长文本Gemini 1.5 Pro(1M)Claude 3.5(200K)GPT-4o(128K)
多模态GPT-4o、Gemini 1.5 ProClaude 3.5 SonnetQwen-VL
性价比DeepSeek-V3Gemini FlashGPT-4o-mini

4.2 架构对比总结

特性Dense 模型MoE 模型
代表GPT-4、Claude、LlamaDeepSeek-V3、Gemini
推理效率每次激活全部参数每次只激活部分专家
训练成本较高相对较低
部署要求显存需求大总参数大但推理高效
路由复杂度需要专家路由策略
负载均衡无需考虑需要均衡各专家负载

4.3 开源 vs 闭源

维度闭源模型开源模型
代表GPT-4o、Claude 3.5、GeminiDeepSeek-V3、Llama 3.1、Qwen2.5
性能通常更强差距在缩小
成本API 按量付费可本地部署,长期成本低
隐私数据经过第三方数据完全本地
定制化有限(API 参数调整)完全可控(微调、修改)
部署零运维需要 GPU 和运维

五、模型微调(Fine-tuning)详解

微调是在预训练模型基础上,使用特定领域数据进一步训练,让模型适应特定任务。

5.1 为什么需要微调?

场景直接使用预训练模型微调后
医疗问答可能给出不准确的医学建议基于医学文献训练,回答更专业
法律咨询缺乏法律专业知识理解法律术语和条文
客服对话回答风格不统一符合企业话术规范
代码生成通用代码能力熟悉特定框架和代码规范

5.2 全量微调(Full Fine-tuning)

更新模型的所有参数。

python
# 伪代码:全量微调
from transformers import AutoModelForCausalLM, Trainer

model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B")

# 所有参数都参与训练
trainer = Trainer(
    model=model,
    train_dataset=my_dataset,
    args=training_args,
)
trainer.train()

优点:效果最好,模型充分适应新任务 缺点

  • 需要大量 GPU 显存(8B 模型全量微调需要 ~60GB 显存)
  • 训练时间长
  • 每个任务需要保存一份完整模型

5.3 LoRA(Low-Rank Adaptation,低秩适配)

当前最流行的微调方法。核心思想:冻结原模型参数,只训练少量新增的低秩矩阵。

原理

原始权重矩阵 W (d × d)

全量微调:W' = W + ΔW        (ΔW 是 d × d 的矩阵,参数量大)
LoRA:    W' = W + B × A      (B 是 d × r,A 是 r × d,r << d)

例如:d = 4096, r = 16
  全量微调参数:4096 × 4096 = 16,777,216
  LoRA 参数:  4096 × 16 + 16 × 4096 = 131,072(仅 0.78%)
python
# 使用 PEFT 库进行 LoRA 微调
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B")

lora_config = LoraConfig(
    r=16,                      # 低秩维度
    lora_alpha=32,             # 缩放因子
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],  # 应用 LoRA 的层
    lora_dropout=0.05,         # Dropout
    task_type="CAUSAL_LM",     # 任务类型
)

model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# 输出:trainable params: 6,553,600 || all params: 8,036,098,048 || trainable%: 0.0816

LoRA 优势

  • 显存需求大幅降低(8B 模型 LoRA 微调仅需 ~16GB 显存)
  • 训练速度快
  • 可以为不同任务保存不同的 LoRA 适配器,共享同一个基座模型
  • 推理时可以将 LoRA 权重合并回原模型,无额外推理开销

5.4 QLoRA(Quantized LoRA)

在 LoRA 基础上,将基座模型量化为 4-bit,进一步降低显存需求。

python
from transformers import BitsAndBytesConfig

# 4-bit 量化配置
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",           # NormalFloat4 量化
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,       # 双重量化
)

model = AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-3.1-8B",
    quantization_config=bnb_config,
)

# 然后应用 LoRA(同上)

显存对比

方法8B 模型显存70B 模型显存
全量微调(FP16)~60GB~500GB+
LoRA(FP16)~18GB~150GB
QLoRA(4-bit)~6GB~40GB

QLoRA 让单张消费级显卡(RTX 4090 24GB)就能微调 8B 甚至 13B 模型。

5.5 其他微调方法

方法原理特点
Prefix Tuning在输入前添加可学习的虚拟 token参数量极少
P-Tuning v2在每层添加可学习的前缀效果接近全量微调
Adapter在 Transformer 层间插入小型网络灵活,可组合
IA3学习缩放向量而非矩阵参数量比 LoRA 更少

5.6 微调实战流程

bash
# 1. 准备环境
pip install transformers peft datasets accelerate bitsandbytes trl

# 2. 准备数据(JSON 格式)
# data.json:
# [
#   {"instruction": "...", "input": "...", "output": "..."},
#   ...
# ]

# 3. 运行微调脚本
python train.py \
    --model_name meta-llama/Llama-3.1-8B \
    --dataset data.json \
    --lora_r 16 \
    --lora_alpha 32 \
    --num_epochs 3 \
    --learning_rate 2e-4 \
    --batch_size 4 \
    --output_dir ./output

5.7 微调最佳实践

  1. 数据质量 > 数据数量:1000 条高质量数据 > 10000 条低质量数据
  2. 学习率:通常使用 1e-5 ~ 5e-4,LoRA 可以用稍大的学习率
  3. 训练轮数:通常 1-5 个 epoch,过多会过拟合
  4. LoRA rank:r=8~64,任务越复杂可以适当增大
  5. 评估指标:除了 loss,还要关注实际任务效果(人工评估)
  6. 数据格式:保持与预训练时的对话模板一致

六、本地部署入门

6.1 Ollama —— 最简单的本地部署

bash
# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# macOS 也可以直接下载安装包
# https://ollama.com/download

# 运行模型
ollama run deepseek-r1:8b      # DeepSeek R1 8B
ollama run llama3.1:8b          # Llama 3.1 8B
ollama run qwen2.5:7b           # Qwen 2.5 7B
ollama run codellama:7b         # Code Llama 7B

# 查看已下载的模型
ollama list

# 通过 API 调用
curl http://localhost:11434/api/generate -d '{
  "model": "deepseek-r1:8b",
  "prompt": "解释什么是 Transformer"
}'

6.2 vLLM —— 高性能推理引擎

bash
pip install vllm

# 启动 API 服务
python -m vllm.entrypoints.openai.api_server \
    --model deepseek-ai/DeepSeek-V3 \
    --tensor-parallel-size 4 \
    --max-model-len 32768

6.3 硬件要求参考

模型大小最低显存(4-bit)推荐显存适合显卡
1.5B-3B2GB4GBRTX 3050/4050
7B-8B6GB8GBRTX 3060/4060
13B-14B10GB16GBRTX 4080/4090
32B-34B20GB24GBRTX 4090/A5000
70B-72B40GB+80GB+A100/H100

七、学习路线建议

阶段一:入门(1-2 周)

  • 使用 ChatGPT / Claude / DeepSeek 等在线工具
  • 学习 Prompt Engineering 基础技巧
  • 了解 AI 的基本概念和术语

阶段二:理论基础(2-4 周)

  • 学习神经网络基础(前馈网络、反向传播)
  • 深入理解 Transformer 架构(本文内容)
  • 学习 PyTorch 基础

推荐资源

阶段三:实践部署(1-2 周)

  • 使用 Ollama 本地部署开源模型
  • 体验不同模型的差异
  • 学习使用 Hugging Face Transformers 库

阶段四:微调实战(2-4 周)

  • 学习 LoRA / QLoRA 微调技术
  • 准备自己的微调数据集
  • 完成一个端到端的微调项目

阶段五:应用开发(持续)

  • 学习 RAG(检索增强生成)技术
  • 构建 AI Agent 应用
  • 学习 LangChain / LlamaIndex 等框架

总结

主题核心要点
Transformer自注意力机制是核心,Decoder-only 是主流 LLM 架构
训练流程预训练 → SFT → RLHF/DPO,三阶段逐步对齐
MoE 架构DeepSeek 的核心创新,大幅降低推理成本
微调技术LoRA/QLoRA 是当前最实用的微调方案
模型选择没有最好的模型,根据场景、成本、隐私需求选择

理解原理是用好 AI 的基础。建议从 Transformer 架构开始,逐步深入到训练和微调,最终能够根据需求选择和定制模型。

MIT License.