选择您的训练方法
并非每个 AI 问题都需要相同的解决方案。有时您需要完整训练,有时只需要 fine-tuning,有时根本不需要训练。三种方法
Prompt Engineering
无需训练使用现有模型和巧妙的 prompts
- 即时结果
- 零训练成本
- 需要 0-10 个示例
Fine-Tuning
推荐方法将预训练模型适配到您的需求
- 一致的行为
- 100-10K 个示例
- 数小时到数天
Training from Scratch
很少需要构建全新的模型
- 完全控制
- 数百万个示例
- 非常昂贵
1. Prompt Engineering(无需训练)
使用精心设计的 prompts 使用现有模型。 是什么:编写指令,让模型在没有任何训练的情况下做您想要的事情。 示例:- 快速测试想法
- 可用示例很少
- 任务在模型能力范围内
- 预算/时间限制
- 零训练时间
- 不需要训练数据
- 即时结果
- 免费试用
- 有限的定制
- 结果不一致
- 无法添加新知识
- 推理成本更高
2. Fine-Tuning(推荐)
将预训练模型适配到您的特定需求。 是什么:采用已经理解语言/图像的模型,教它您的特定任务。 何时使用:- 有数百到数千个示例
- 需要一致的行为
- 想要添加领域知识
- 构建生产系统
- 比从零训练更快
- 需要更少的数据
- 比 prompting 性能更好
- 比 prompting 推理成本更低
- 需要训练数据
- 需要计算资源
- 需要时间训练
- 可能在小型数据集上过拟合
3. Training from Scratch
构建一个全新的模型。 是什么:从随机 weights 开始,在大规模数据集上训练。 何时使用:- 创建基础模型
- 完全新颖的架构
- 无限的数据和计算
- 研究目的
- 完全控制
- 可以创建新颖的能力
- 没有继承的偏见
- 需要大量数据(数百万个示例)
- 极其昂贵
- 需要数周到数月
- 通常不必要
决策框架
快速决策指南
1
检查您的数据
您有训练示例吗?
- 没有 → 使用 Prompt Engineering
- 有 → 继续步骤 2
2
计算您的示例
您有多少个示例?
- 少于 100 → 使用 Prompt Engineering
- 100-10,000 → 非常适合 Fine-tuning
- 数百万 → 可以从零训练(但为什么?)
3
评估您的需求
什么最重要?
- 部署速度 → Prompt Engineering
- 一致的行为 → Fine-tuning
- 新颖的架构 → Training from Scratch
详细比较
| 方面 | Prompt Engineering | Fine-Tuning | Training from Scratch |
|---|---|---|---|
| 所需数据 | 0-10 个示例 | 100-10,000 个示例 | 数百万个示例 |
| 部署时间 | 数分钟 | 数小时到数天 | 数周到数月 |
| 成本 | 前期 $0 | $10-1,000 | $10,000+ |
| 定制 | 有限 | 高 | 完整 |
| 新知识 | 否 | 是 | 是 |
| 一致性 | 可变 | 高 | 高 |
| 维护 | 更新 prompts | 定期重新训练 | 持续训练 |
按用例的方法
- 客户服务
- 内容生成
- 代码生成
- 文档分析
何时使用 Prompt Engineering:
- 一般常见问题
- 简单路由
- 低量
- 测试阶段
- 公司知识
- 品牌声音
- 高量
- 复杂产品
Fine-tuning 方法
Standard Fine-Tuning
更新所有参数优点:
- 最大准确性
- 需要更多内存
LoRA
Low-Rank Adaptation优点:
- 减少 90% 内存
- 交换适配器
- 训练更快
QLoRA
Quantized LoRA优点:
- 在消费级 GPU 上工作
- 4 位 quantization
- 准确性略低
Prompt/Prefix Tuning
仅训练 prompts优点:
- 最小内存
- 非常快
- 容量有限
渐进式方法
1
阶段 1:Prompt Engineering
简单开始,快速测试
- 测试概念
- 收集用户反馈
- 识别限制
- 收集训练数据
2
阶段 2:Few-Shot Fine-Tuning
用示例改进
- 使用收集的示例
- 提高一致性
- 减少 prompt 复杂性
- 验证方法
3
阶段 3:Full Fine-Tuning
为生产扩展
- 用更多数据扩展
- 优化性能
- 降低推理成本
- 生产部署
4
阶段 4:持续改进
不断变得更好
- 收集生产数据
- 定期重新训练
- A/B 测试
- 性能监控
成本考虑
Prompt Engineering
Prompt Engineering
训练成本:$0推理:每 1K tokens $0.01-0.10最适合:低量、实验月度估算(1M tokens):$10-100
Fine-Tuning
Fine-Tuning
训练成本:$10-1,000(一次性)推理:每 1K tokens $0.001-0.01最适合:高量、生产月度估算(1M tokens):$1-10 + 托管
Training from Scratch
Training from Scratch
训练成本:$10,000-数百万推理:根据大小可变最适合:基础模型创建者除非您是 OpenAI/Google,否则不推荐
数据要求
Prompt Engineering
- 最少:Zero-shot(无示例)
- 更好:Few-shot(3-5 个示例)
- 最好:Many-shot(上下文中 10+ 个示例)
Fine-Tuning
- 最少:50-100 个示例
- 更好:500-1,000 个示例
- 最好:5,000+ 个示例
Training from Scratch
- 最少:1M+ 个示例
- 更好:100M+ 个示例
- 最好:数十亿个示例
质量 vs 数量权衡
高质量,低数量
→ 仔细数据策划的 Fine-tuning- 精心挑选的示例
- 专家注释
- 数据增强
低质量,高数量
→ 使用过滤的更大模型- 自动清理
- 统计过滤
- Ensemble 方法
混合质量
→ 渐进式过滤方法- 从所有数据开始
- 识别质量指标
- 按质量加权
要避免的常见错误
混合方法
RAG (Retrieval Augmented Generation)
将 prompting 与外部知识结合。 何时使用:- 需要可更新的知识
- 无法频繁 fine-tune
- 有结构化数据
Ensemble Methods
组合多种方法。 示例:- Prompt 用于创造力
- Fine-tuned 模型用于准确性
- 投票/组合输出
Chain of Thought + Fine-Tuning
在推理步骤上 fine-tune。 何时使用:- 需要可解释的输出
- 复杂推理任务
- 教育应用
做出决策
要问的问题
-
我的预算是多少?
- 低 → Prompt engineering
- 中等 → Fine-tuning
- 高 → 考虑所有选项
-
我有多少数据?
- 少于 100 个示例 → Prompt engineering
- 100-10K → Fine-tuning
- 超过 1M → 可以从零训练
-
我的任务有多独特?
- 常见 → Prompt engineering
- 专业化 → Fine-tuning
- 新颖 → Training from Scratch
-
我需要什么准确性?
- 可接受 → Prompt engineering
- 高 → Fine-tuning
- 完美 → 多次迭代
-
我需要多快的结果?
- 今天 → Prompt engineering
- 本周 → Fine-tuning
- 本季度 → 任何方法