本文档集涵盖搜索系统从预训练到部署的完整流程,包含 LLM 和 Embedding 模型的训练、优化和部署技术。
内容概览:
- LLM 预训练:Causal LM (GPT) 和 Masked LM (BERT)
- Embedding 预训练:对比学习(InfoNCE Loss)
- 跨模态预训练:Text-Image、Text-Video 对齐
- 训练技术和优化:DeepSpeed ZeRO、Megatron、Flash Attention
适合阅读场景:
- 从零开始训练基础模型
- 理解预训练的核心原理
- 学习大规模训练的优化技术
关键知识点:
- CLM vs MLM 的区别
- InfoNCE Loss 的原理
- ZeRO Stage 1/2/3 的选择
- Flash Attention 的优势
文档定位:方法和技术实现 - 专注于 SFT 和偏好学习的具体方法、技术实现和训练技巧
内容概览:
- LLM SFT:指令微调、格式对齐、训练策略
- Embedding SFT:相关性判断、排序优化、Loss 函数
- 偏好学习方法:DPO、RLHF、IPO、KTO、ORPO 的实现
- 多目标对齐方法:相关性 vs 多样性 vs 新鲜度
- 高效微调技术:LoRA、Adapter、提示调优
适合阅读场景:
- 需要了解 SFT 和偏好学习的具体方法
- 学习如何实现 DPO、RLHF 等算法
- 需要训练技巧和最佳实践
关键知识点:
- LoRA 参数设置(r, alpha)
- DPO beta 参数的选择
- 多目标平衡策略
- 数据质量要求
与其他文档的关系:
- ➡️ 关于 DPO 的理论分析(为什么需要 DPO),见 Post-Training Alignment
- ➡️ 关于 Loss 函数的详细数学推导,见 偏好学习Loss函数详解
- ➡️ 关于训练代码示例,见 完整训练和部署Pipeline详解
文档定位:对齐理论和应用 - 专注于对齐的理论基础、为什么需要对齐、DPO 的真正目的、个性化对齐和案例研究
内容概览:
- 为什么需要对齐?SFT 的局限性
- DPO 在搜索中的真正目的(深度理论分析)
- DPO 是否不可替代?SFT 能不能学用户偏好?
- 个性化 vs 大众偏好
- 个性化对齐的实现方式
- 安全与负责任 AI 对齐
- 案例研究:字节跳动、电商搜索、TikTok
- 挑战与解决方案
适合阅读场景:
- 深入理解对齐理论
- 理解为什么需要 DPO(SFT 的局限性)
- 学习个性化搜索对齐
- 了解生产环境的对齐实践
关键知识点:
- DPO 为什么需要(SFT 的局限性)
- 个性化对齐的实现方式
- 安全训练技术
- 对齐模型的评估指标
与其他文档的关系:
- ➡️ 关于 SFT 和偏好学习的具体方法,见 SFT & Preference Learning
- ➡️ 关于 Loss 函数的详细数学推导,见 偏好学习Loss函数详解
- ➡️ 关于训练代码示例,见 完整训练和部署Pipeline详解
内容概览:
- 模型压缩:量化(INT8/FP8)、知识蒸馏、剪枝
- 架构优化:Flash Attention、GQA、MQA
- vLLM 和推理框架对比
- 硬件优化:GPU、CPU、混合部署
- 向量数据库优化:HNSW、FAISS
- 缓存策略和性能分析
适合阅读场景:
- 优化推理性能和延迟
- 降低部署成本
- 学习生产环境优化技巧
关键知识点:
- AWQ vs GPTQ vs SqueezeLLM
- vLLM vs TensorRT-LLM
- KV Cache 优化方法
- 向量检索加速技术
内容概览:
- Video Embedding 生成:关键帧提取、ViT 编码、多模态融合
- Text-to-Video 检索流程
- 多模态对齐训练
- TikTok 场景的搜索应用
适合阅读场景:
- 处理视频内容检索
- 理解多模态搜索
- 学习视频 embedding 生成
关键知识点:
- 关键帧提取策略
- 帧融合方法(平均、注意力、LSTM)
- ViT 和 CLIP 的关系
- 多模态 DPO
文档定位:完整代码示例 - 包含可直接运行的训练和部署代码
内容概览:
- Pretraining 训练代码(DeepSpeed、Megatron)
- SFT 训练代码(LoRA)
- DPO 训练代码(Unsloth + LoRA)
- Ray + vLLM 部署代码(量化、KV Cache 优化)
适合阅读场景:
- 需要可直接运行的代码
- 学习具体的实现细节
- 快速上手训练和部署
关键知识点:
- 每个流程的简述和 framework
- 关键参数配置说明
- 完整的可运行代码示例
- 部署脚本和配置文件
与其他文档的关系:
- ➡️ 关于训练理论,见 Pretraining、SFT & Preference Learning、Post-Training Alignment
- ➡️ 关于推理优化理论,见 Inference Optimization
7. 偏好学习Loss函数详解
文档定位:Loss 函数和伪代码 - 专门讲解各种偏好学习方法的 Loss 函数和伪代码
内容概览:
- RLHF Loss 函数和伪代码
- DPO Loss 函数和伪代码
- PPO Loss 函数和伪代码
- GRPO Loss 函数和伪代码
- KTO Loss 函数和伪代码
- RoPE、SwiGLU、量化方法(INT4/AWQ/FP8)
- InfoNCE Loss 函数和伪代码
适合阅读场景:
- 需要理解 Loss 函数的数学推导
- 需要实现 Loss 函数
- 对比不同方法的 Loss 函数
关键知识点:
- 各种 Loss 函数的数学公式
- 伪代码实现
- 参数含义和调优建议
与其他文档的关系:
- ➡️ 关于方法实现和训练技巧,见 SFT & Preference Learning
- ➡️ 关于理论分析,见 Post-Training Alignment
8. 显存计算详解
文档定位:显存需求计算 - 详细计算推理和训练场景下的显存需求
内容概览:
- Qwen 2.5 8B + vLLM + KV Cache 推理显存计算
- Llama3-8B + LoRA 训练显存计算
- 不同配置下的显存对比
- 显存优化建议
适合阅读场景:
- 需要估算模型训练的显存需求
- 需要优化推理显存占用
- 选择合适的 GPU 配置
关键知识点:
- KV Cache 显存计算公式
- 训练激活值显存计算
- 梯度检查点的影响
- 不同 GPU 的显存对比
1. Pretraining(了解基础)
↓
2. SFT & Preference Learning(学习微调)
↓
3. Post-Training Alignment(深入对齐)
↓
4. Inference Optimization(优化部署)
↓
5. 完整训练和部署 Pipeline(动手实践)
适合人群:想要系统学习搜索系统的完整流程
1. 完整训练和部署 Pipeline(先看代码)
↓
2. Pretraining(理解训练原理)
↓
3. SFT & Preference Learning(学习微调)
↓
4. Inference Optimization(优化性能)
适合人群:需要快速上手实现功能
场景 A:文本搜索
1. Pretraining(Embedding 预训练)
↓
2. SFT & Preference Learning(检索优化)
↓
3. Inference Optimization(向量检索优化)
场景 B:视频搜索
1. Video Embedding & Text-to-Video Search(视频相关)
↓
2. Pretraining(跨模态预训练部分)
↓
3. SFT & Preference Learning(跨模态 DPO)
场景 C:模型部署
1. Inference Optimization(优化技术)
↓
2. 完整训练和部署 Pipeline(部署代码)
| 主题 | 文档 | 章节 |
|---|---|---|
| Causal LM / GPT 预训练 | Pretraining | 1.1 |
| BERT / MLM 预训练 | Pretraining | 1.2 |
| 对比学习 / InfoNCE | Pretraining | 2.1-2.3 |
| LoRA 微调 | SFT & Preference | 1.3 |
| DPO 原理 | SFT & Preference | 2.2 |
| DPO 在搜索中的应用 | Post-Training Alignment | 2 |
| vLLM 部署 | Inference Optimization | vLLM 章节 |
| KV Cache 优化 | Inference Optimization | 内存优化 |
| 向量数据库 | Inference Optimization | 向量数据库优化 |
| 视频 Embedding | Video Embedding | 1 |
| ViT / CLIP | Video Embedding | 1.2 |
| 训练代码 | 完整 Pipeline | 1-3 |
| 部署代码 | 完整 Pipeline | 4 |
| 显存计算 | 显存计算详解 | 1-2 |
| 任务 | 推荐文档 |
|---|---|
| 从零开始训练模型 | Pretraining → SFT → Pipeline |
| 微调现有模型 | SFT & Preference → Pipeline |
| 优化推理性能 | Inference Optimization → Pipeline |
| 部署生产服务 | Pipeline → Inference Optimization |
| 视频搜索系统 | Video Embedding → Pretraining(跨模态) |
| 理解 DPO | Post-Training Alignment → SFT & Preference |
┌─────────────────────────────────────────────────────────────┐
│ 搜索系统完整指南 │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────────┼───────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Pretraining │ │ SFT & DPO │ │ Inference │
│ (理论) │──▶│ (微调) │──▶│ Optimization │
└──────────────┘ └──────────────┘ └──────────────┘
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ Post-Training│ │
│ │ Alignment │ │
│ │ (对齐理论) │ │
│ └──────────────┘ │
│ │ │
▼ │ ▼
┌──────────────┐ │ ┌──────────────┐
│ Video │ │ │ 完整 Pipeline│
│ Embedding │ │ │ (代码实现) │
└──────────────┘ │ └──────────────┘
│ │
└───────────────────┘
│
┌───────┴───────┐
│ 实践应用 │
└───────────────┘
| 阶段 | 数据 | 方法 | Loss | 目标 |
|---|---|---|---|---|
| Pretraining | 无标注数据 | CLM/MLM/对比学习 | Language Model Loss / InfoNCE | 学习语言表示、跨模态对齐 |
| SFT | 有标注数据 | 监督学习 | CrossEntropy / MSE | 任务适应、相关性判断 |
| DPO | 用户偏好数据 | 直接偏好优化 | DPO Loss | 用户偏好、人类价值观 |
- ZeRO:DeepSpeed 的参数分片优化
- LoRA:参数高效微调(r=8-16, alpha=16-32)
- GQA:分组查询注意力,减少 KV Cache
- PagedAttention:vLLM 的 KV Cache 分页管理
- InfoNCE:对比学习的核心 Loss(temperature=0.07)
完整 Pipeline 详解
├─ 引用 → Pretraining(理论)
├─ 引用 → SFT & Preference(方法)
└─ 引用 → Inference Optimization(优化)
Video Embedding
├─ 引用 → Pretraining(跨模态预训练)
└─ 引用 → SFT & Preference(跨模态 DPO)
Post-Training Alignment
├─ 引用 → SFT & Preference(DPO 基础)
└─ 引用 → Pretraining(预训练基础)
- 先看概述:每个文档开头都有概述,了解文档范围
- 跟随学习路径:按照推荐的学习路径阅读
- 理论与实践结合:理论文档 + 代码文档一起看
- 按需查阅:使用"快速查找"定位具体问题
- 对比阅读:对比不同方法的优劣
- 实践验证:运行代码文档中的示例
- 核心流程:Pretraining → SFT → DPO → 部署
- 关键技术:ZeRO、LoRA、GQA、PagedAttention
- 实践经验:完整 Pipeline 文档中的代码示例
- Pretraining:包含最新的训练技术和优化方法
- SFT & DPO:涵盖主流微调和偏好学习方法
- Post-Training Alignment:深入讲解对齐理论
- Inference Optimization:包含最新的推理优化技术
- Video Embedding:专门的视频搜索内容
- 完整 Pipeline:包含可直接运行的代码
如有问题或建议,请:
- 检查相关文档的详细说明
- 参考代码文档中的示例
- 查看文档内的交叉引用
- CLIP: Learning Transferable Visual Models from Natural Language Supervision
- DPO: Direct Preference Optimization
- vLLM: Efficient Memory Management for Large Language Model Serving
- Flash Attention: Fast and Memory-Efficient Exact Attention
最后更新:2024
文档版本:1.0
💡 提示:建议将此文档作为入口,根据你的具体需求选择合适的学习路径和文档。