Transformers 与轻量大模型学习路线
本文档把随书 Char01.txt 到 Char10.txt 中涉及的 Transformer、CUDA、微调、量化、RAG、Agent、提示词和应用开发内容,整理成一条适合从原理到实践的学习路线,并结合 Jetson Nano 的硬件约束给出可执行方案。
文档导航
- 核心概念:Transformer、注意力、编码器/解码器、Tokenization、Embedding、训练目标。
- 参数与显存全景:
d_model/num_heads/seq_len/batch_size/d_ff与 KV Cache、Activation、MoE 等显存来源的关系速查。 - Jetson Nano 实验路线:如何在 4GB Jetson Nano 上做最小可运行实验。
- 微调与参数高效微调:全量微调、LoRA、P-Tuning、数据准备、评估和模型选择。
- 应用与系统设计:RAG、智能客服、代码助手、硬件助手、翻译插件和 Agent。
Char*.txt内容索引:按章节映射原始材料与学习重点。- 完整代码附录:按章节收录主要代码示例。
来源内容映射
| 来源文件 | 主题 | 整理后的学习位置 |
|---|---|---|
Char01.txt |
Transformer 架构、多头注意力、编码器-解码器、GPT-2、LoRA、P-Tuning | 核心概念、微调 |
Char02.txt |
CUDA 矩阵运算、性能分析、PyTorch CUDA | Jetson Nano 实验路线 |
Char03.txt |
微调任务、数据预处理、LLaMA 风格示例 | 微调 |
Char04.txt |
模型量化、部署、FastAPI、性能测试 | Jetson Nano 实验路线、应用 |
Char05.txt |
智能客服、知识库、对话生成、评估 | 应用 |
Char06.txt |
代码生成、代码修复、VS Code 插件 | 应用 |
Char07.txt |
向量数据库、Sentence-BERT、Milvus、语义搜索 | 应用 |
Char08.txt |
硬件开发助手、语料库、RAG、知识链、EDA 集成 | 应用 |
Char09.txt |
提示词优化、Few-shot、Zero-shot、T5 提示词微调 | 微调、应用 |
Char10.txt |
文档翻译、划词翻译、翻译 Agent、BLEU/ROUGE | 应用 |
推荐学习顺序
flowchart TD
A[PyTorch 张量与 CUDA 基础] --> B[Attention 与 Transformer Block]
B --> C[Encoder / Decoder / Causal LM]
C --> D[Tokenizer 与 Dataset]
D --> E[从零训练 tiny Transformer]
E --> F[加载小模型做推理]
F --> G[LoRA / P-Tuning / Prompt Tuning]
G --> H[RAG / Agent / 应用部署]
Jetson Nano 上的原则
Jetson Nano 适合学习和验证,不适合大模型训练。建议把它定位为:
- Transformer 结构可视化和单步调试平台。
- tiny Transformer 从零训练平台。
- 小模型 CPU/GPU 推理平台。
- RAG、向量检索、API 服务的边缘原型平台。
不建议在 Jetson Nano 上:
- 全量微调 GPT-2、LLaMA、Qwen 0.5B 以上模型。
- 长上下文训练。
- 大 batch 训练。
- 依赖 8-bit / 4-bit CUDA 训练生态的 QLoRA。
模型替换建议
随书示例经常使用 gpt2、facebook/llama-3b、gemma/gpt-7b-finetuned、Salesforce/codegen-350M-multi 等模型。对于 Jetson Nano,建议替换为:
| 目标 | 原示例模型 | Jetson Nano 建议 |
|---|---|---|
| 理解 Transformer | 手写 d_model=512 示例 |
降到 d_model=64/128,num_layers=1/2 |
| 文本生成推理 | gpt2 |
sshleifer/tiny-gpt2、distilgpt2、量化后的 Qwen2.5-0.5B |
| LoRA 概念演示 | gpt2 |
tiny GPT-2 或自定义小 decoder-only 模型 |
| 分类微调 | LLaMA 3B | distilbert-base-uncased、prajjwal1/bert-tiny、albert-base-v2 |
| 代码生成 | codegen-350M |
云端训练,本地只做 API 调用;或使用 tiny causal LM 演示流程 |
| 向量检索 | Sentence-BERT | paraphrase-MiniLM-L6-v2 可尝试 CPU 推理 |
| 翻译 | MarianMT | 小 MarianMT 可尝试 CPU 推理,批量翻译建议放到更强机器 |
与 Jetson Nano 文档的关系
Jetson Nano 的硬件与 CUDA 细节记录在 ../../iot/jetson/index.md。本目录只保留 Transformer 学习路线和实验建议。
参数与显存全景
d_model、num_heads、seq_len、batch_size、d_ff 这五个参数决定了模型容量、表达能力、显存占用、训练/推理速度和长上下文能力,它们之间是强耦合的;而模型权重、Activation、KV Cache、MoE 激活参数等概念也常被混淆。完整的"含义 → 公式 → 影响 → 经验值 → 记忆口诀"整理请见 参数与显存全景。
Page Source