了解模型类型
不同的 AI 任务需要不同的模型架构。可以将其想象为为工作选择正确的工具 - 您不会用锤子来粉刷墙壁。Language Models (LLMs)
最通用的模型,理解和生成人类语言。功能
语言模型可以:- 回答问题
- 编写内容
- 翻译语言
- 总结文本
- 生成代码
- 遵循指令
常见模型
| 模型 | 大小 | 适合 | 训练时间 |
|---|---|---|---|
| GPT-2 | 124M-1.5B | 起点、快速实验 | 数分钟到数小时 |
| BERT | 110M-340M | 理解文本、分类 | 数小时 |
| T5 | 60M-11B | 文本到文本任务 | 数小时到数天 |
| LLaMA | 7B-70B | 通用、聊天 | 数天到数周 |
| Mistral | 7B | 高效、平衡性能 | 数小时到数天 |
何时使用
当您需要以下功能时选择语言模型:- 自然语言理解
- 文本生成
- 问答
- 对话 AI
- 代码生成
分类模型
专门用于将事物分类到类别中。Text Classification
将文本分类到预定义组中:- 情感分析(积极/消极)
- 主题分类
- 意图检测
- 语言检测
Image Classification
识别图像中的内容:- 对象识别
- 医学诊断
- 质量控制
- 内容审核
Multimodal Classification
同时处理文本和图像:- 表情包理解
- 文档分析
- 产品分类
Token Classification
标记文本中的单个单词或 tokens。Named Entity Recognition (NER)
查找并标记特定信息:- 人名、地名、组织名
- 日期和时间
- 产品名称
- 医学术语
Part-of-Speech Tagging
识别语法角色:- 名词、动词、形容词
- 句子结构分析
Sequence-to-Sequence
将一个序列转换为另一个序列。Translation
在语言之间转换文本:- 文档翻译
- 实时聊天翻译
- 代码翻译
Summarization
压缩长文本:- 文章摘要
- 会议笔记
- 报告摘要
Question Answering
从上下文中提取答案:- 客户支持
- 文档 Q&A
- 教育工具
Computer Vision 模型
处理和理解图像。Object Detection
查找并定位图像中的对象:- 对象周围的边界框
- 计数项目
- 跟踪运动
Image Segmentation
像素级理解:- 医学成像
- 自动驾驶
- 照片编辑
Image Generation
创建新图像:- 艺术生成
- 产品可视化
- 数据增强
表格模型
处理像电子表格这样的结构化数据。Regression
预测连续值:- 价格预测
- 销售预测
- 风险评分
Classification
对行进行分类:- 客户流失
- 欺诈检测
- 疾病诊断
选择正确的模型
考虑您的数据
| 数据类型 | 推荐模型 |
|---|---|
| 短文本 (< 512 tokens) | BERT、DistilBERT |
| 长文本 (> 512 tokens) | Longformer、BigBird |
| 对话 | DialoGPT、Blenderbot |
| 代码 | CodeBERT、CodeT5 |
| 多种语言 | mBERT、XLM-RoBERTa |
| 图像 | ResNet、EfficientNet |
| 图像 + 文本 | CLIP、ALIGN |
| 结构化数据 | XGBoost、CatBoost |
考虑您的资源
有限资源 (< 8GB GPU)- DistilBERT (66M 参数)
- MobileBERT (25M 参数)
- TinyBERT (15M 参数)
- BERT-base (110M 参数)
- GPT-2 small (124M 参数)
- RoBERTa-base (125M 参数)
- GPT-2 large (774M 参数)
- T5-large (770M 参数)
- LLaMA 7B (7B 参数)
考虑您的准确性需求
速度优于准确性- 使用蒸馏模型(DistilBERT、DistilGPT-2)
- 较小的架构
- 量化模型
- 使用更大的模型
- 集成多个模型
- 更长的训练时间
模型大小和权衡
参数计数
参数是模型的可调整部分。更多参数通常意味着:- 更好的理解
- 更高的准确性
- 需要更多内存
- 推理更慢
大小指南
| 大小 | 参数 | 用例 | 所需训练数据 |
|---|---|---|---|
| Tiny | < 50M | 移动应用、实时 | 100s 示例 |
| Small | 50M-150M | 标准应用 | 1000s 示例 |
| Base | 150M-500M | 生产系统 | 10,000s 示例 |
| Large | 500M-3B | 高准确性需求 | 100,000s 示例 |
| XL | 3B+ | 最先进 | 数百万示例 |
预训练 vs 从零开始
使用预训练模型
99% 的时间,从预训练模型开始:- 已经理解语言/图像
- 需要更少的训练数据
- 训练更快
- 更好的结果
仅在以下情况从零训练
- 使用独特数据类型
- 特殊领域(医学、法律)
- 自定义架构
- 研究目的
Fine-tuning 策略
Full Fine-tuning
更新所有模型参数:- 最佳准确性
- 需要更多内存
- 过拟合风险
LoRA (Low-Rank Adaptation)
仅更新小适配器:- 减少 90% 内存
- 训练更快
- 准确性略低
- 非常适合大模型
Prompt Tuning
仅训练 prompt embeddings:- 最小内存
- 非常快
- 适合 few-shot learning
Freeze 策略
冻结某些层:- Freeze early layers:保留一般特征
- Freeze late layers:保留任务特定特征
- Gradual unfreezing:从冻结开始,慢慢解冻
多任务模型
某些模型可以处理多个任务:T5 系列
- 文本摘要
- 翻译
- 问答
- 分类
- “summarize: …”
- “translate English to French: …”
- “question: … context: …”
FLAN 模型
在许多任务上预训练:- 更好的 zero-shot 性能
- 更灵活
- 良好的指令遵循
专门架构
Transformers
当前标准:- 并行处理
- 长距离依赖
- 大多数现代模型
CNNs (Convolutional Neural Networks)
仍然非常适合图像:- 高效
- 易于理解
- 适合边缘设备
RNNs (Recurrent Neural Networks)
较旧但仍然有用:- 顺序数据
- 时间序列
- 流式应用