深入理解 Transformer、Diffusion 与本地微调
Transformer 革命了信息建模,Diffusion 重塑了生成艺术,而微调技术让每个开发者都能拥有属于自己的智能体。掌握这些架构和技术,有助于更好地驾驭和应用 AI,服务于实际场景。
Transformer 架构:AI 革命的基石
Transformer 架构自 2017 年 Google 论文《Attention Is All You Need》提出以来,彻底改变了深度学习领域。该架构摒弃了传统 RNN 的循环结构,完全依赖 Attention(注意力机制) 来捕捉序列中元素之间的关系。
Transformer 的出现,使得模型能够高效建模长距离依赖,成为现代 AI 架构的基础。下面将详细介绍其核心思想和结构。
核心思想
Transformer 的核心结构包括以下几个方面:
- 输入序列并行处理:一次性对整个序列建模,极大提升了训练和推理效率。
- Self-Attention 机制:通过计算不同位置之间的注意力权重,模型能够动态学习词或像素间的相关性。
- 位置编码(Positional Encoding):由于 Transformer 不具备循环结构,需显式加入位置信息以保留序列顺序。
- 多头注意力(Multi-head Attention):多个注意力头并行学习不同语义关系,使模型表达能力更强。
- 残差连接(Residual)与层归一化(LayerNorm):帮助梯度稳定传播,加速模型收敛。
Transformer 的主要结构流程如下:
- 输入嵌入(Input Embedding):将输入序列转为向量表示。
- 多头注意力机制(Multi-Head Attention):并行计算多组注意力,捕捉不同特征。
- 残差连接与归一化(Add & Norm):每个子层后进行残差连接和归一化,保持信息流畅。
- 前馈神经网络(Feed Forward Network):对每个位置独立进行非线性变换。
- 再次残差连接与归一化(Add & Norm):进一步稳定训练过程。
- 输出表示(Output Representation):得到最终的序列特征,用于下游任务。
这种结构设计使 Transformer 能够支持高效的并行计算和强大的表达能力。
下图展示了 Transformer 编码器的核心结构及各模块之间的关系,突出并行处理、残差连接和多头注意力的交互:
该结构强调了每个子层后都通过残差连接与归一化,信息流在各模块间高效传递,并支持并行计算,是 Transformer 架构高效与强大表达能力的关键。
Transformer 的成功,使其成为 NLP、语音识别、计算机视觉(Vision Transformer)及多模态模型的通用骨架。
Diffusion 架构:从噪声中“生长”图像的魔法
Diffusion(扩散模型)是图像生成领域的主流架构之一,其思想来源于物理学中的“扩散过程”。Diffusion 模型通过模拟噪声的添加与去除,实现高质量的图像生成。
原理简述
- 正向扩散(Forward Process):向图像逐步添加高斯噪声,最终变为随机噪声。
- 反向生成(Reverse Process):模型学习逐步去噪,重建清晰图像。
数学框架
正向过程:
$$ q(x_t \mid x_{t-1})=\mathcal{N}!\left(x_t;\ \sqrt{1-\beta_t},x_{t-1},\ \beta_t I\right) $$
反向过程:
模型学习参数化的反向条件分布 $p_\theta\bigl(x_{t-1}\mid x_t\bigr)$ 来预测去噪结果。
特点
- 高保真生成(High fidelity)
- 可控性强(可插入文本条件、图像条件等)
- 支持多模态(如 text-to-image, text-to-video)
当前主流如 Stable Diffusion、SDXL、Midjourney 等均基于该原理。
Attention 机制:信息聚焦的关键
Attention(注意力机制)的核心在于计算“相关性”,模型处理输入时会根据上下文决定“该关注谁”。这一机制极大提升了模型对关键信息的捕捉能力。
数学形式
给定 Query (Q)、Key (K)、Value (V),Attention 计算如下:
$$ \mathrm{Attention}(Q, K, V) = \operatorname{softmax}!\left(\frac{QK^{\mathrm{T}}}{\sqrt{d_k}}\right)V $$
- QK^T:计算相似度
- Softmax:得到权重分布
- 加权求和:生成聚焦后的表示
人类阅读句子时,会聚焦在“相关的”部分。Attention 就是这种“聚焦能力”的数学化表达。
Encoder-Decoder 框架:从理解到生成
Transformer 可拆为两个主要模块,分别承担理解和生成任务。Encoder-Decoder 框架广泛应用于机器翻译、摘要等任务。
下表对 Encoder-Decoder 框架进行简要说明:
| 模块 | 作用 |
|---|---|
| Encoder(编码器) | 读取输入序列,提取上下文信息。 |
| Decoder(解码器) | 根据编码信息与自身历史输出,生成目标序列。 |
例如机器翻译任务:
输入:“你好,世界” → Encoder 编码 → Decoder 输出“Hello, world”。
下表展示不同模型类型的架构特征:
| 模型类型 | 示例 | 架构特征 |
|---|---|---|
| Encoder-only | BERT | 理解任务(分类、检索) |
| Decoder-only | GPT | 生成任务(续写、问答) |
| Encoder-Decoder | T5、Seq2Seq | 翻译、摘要、对话 |
预训练(Pre-training)概览
大模型的核心在于预训练(Pre-training),即在海量数据上学习通用规律,再通过微调(Fine-tuning)适应特定任务。预训练阶段为模型提供了强大的泛化能力。
典型步骤
- 目标函数设计
- NLP:语言建模(预测下一个词)、掩码填空(Masked LM)
- Vision:像素重建、CLIP 对比学习
- 大规模数据训练
- 使用上亿级语料,通过分布式训练框架(如 DeepSpeed、Megatron-LM)
- 参数冻结与再利用
- 微调时通常冻结大部分参数,仅训练低秩适配层(LoRA)
本地微调:Ollama 2 与 Qwen 3 实践概览
本地微调让开发者可以在自己的设备上定制模型,适应特定场景。以下介绍主流微调方式及实践流程。
环境准备
安装本地 LLM 运行环境:
brew install ollama ollama pull qwen:3b或下载 Qwen3 模型权重,适用于 Transformers / vLLM / LM Studio。
微调方式
下表对主流微调方式进行对比:
| 模式 | 方法 | 特点 |
|---|---|---|
| 全参数微调 | 重新训练全部权重 | 精度高,计算成本大 |
| LoRA(低秩适配) | 插入可训练层 | 内存占用低,速度快 |
| QLoRA | 在量化权重上训练 | 更轻量,适合消费级 GPU |
示例:Qwen 3 + PEFT 微调流程
以下代码展示了 Qwen 3 使用 PEFT 进行 LoRA 微调的基本流程:
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import LoraConfig, get_peft_model
model_name = "Qwen/Qwen3-7B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
peft_config = LoraConfig(r=8, lora_alpha=16, target_modules=["q_proj","v_proj"])
model = get_peft_model(model, peft_config)
# 简单训练样例
inputs = tokenizer("你好,世界", return_tensors="pt").to("cuda")
outputs = model(**inputs, labels=inputs["input_ids"])
loss = outputs.loss
loss.backward()
在 Ollama 中自定义模型
通过 Ollama 可以快速创建和运行自定义模型:
ollama create my-qwen -f ./Modelfile
ollama run my-qwen
Modelfile 可定义系统 prompt、温度、上下文窗口等参数。
总结
本文系统梳理了 Transformer、Diffusion、Attention、Encoder-Decoder 框架及本地微调的核心原理与实践流程。Transformer 革命了信息建模,Diffusion 重塑了生成艺术,而微调技术让每个开发者都能拥有属于自己的智能体。掌握这些架构和技术,有助于更好地驾驭和应用 AI,服务于实际场景。
下表总结了主流 AI 架构与代表模型:
| 架构 | 核心用途 | 代表模型 |
|---|---|---|
| Transformer | 语言理解与生成 | GPT、BERT、T5、Claude |
| Diffusion | 图像与多模态生成 | Stable Diffusion、DALL·E |
| Encoder-Decoder | 翻译、摘要 | T5、mT5 |
| Pre-training + Fine-tuning | 通用到专用迁移 | GPT→ChatGPT、Qwen→Qwen-Chat |
Transformer 革命了信息建模,Diffusion 重塑了生成艺术, 而微调技术让每个开发者都能拥有属于自己的智能体。