跳转到主要内容了解模型类型
不同的 AI 任务需要不同的模型架构。可以将其想象为为工作选择正确的工具 - 您不会用锤子来粉刷墙壁。
Language Models (LLMs)
最通用的模型,理解和生成人类语言。
语言模型可以:
- 回答问题
- 编写内容
- 翻译语言
- 总结文本
- 生成代码
- 遵循指令
常见模型
| 模型 | 大小 | 适合 | 训练时间 |
|---|
| GPT-2 | 124M-1.5B | 起点、快速实验 | 数分钟到数小时 |
| BERT | 110M-340M | 理解文本、分类 | 数小时 |
| T5 | 60M-11B | 文本到文本任务 | 数小时到数天 |
| LLaMA | 7B-70B | 通用、聊天 | 数天到数周 |
| Mistral | 7B | 高效、平衡性能 | 数小时到数天 |
何时使用
当您需要以下功能时选择语言模型:
- 自然语言理解
- 文本生成
- 问答
- 对话 AI
- 代码生成
分类模型
专门用于将事物分类到类别中。
Text Classification
将文本分类到预定义组中:
- 情感分析(积极/消极)
- 主题分类
- 意图检测
- 语言检测
最佳模型:BERT、DistilBERT、RoBERTa
Image Classification
识别图像中的内容:
最佳模型:ResNet、EfficientNet、Vision Transformer (ViT)
Multimodal Classification
同时处理文本和图像:
最佳模型:CLIP、LayoutLM、ALIGN
Token Classification
标记文本中的单个单词或 tokens。
Named Entity Recognition (NER)
查找并标记特定信息:
- 人名、地名、组织名
- 日期和时间
- 产品名称
- 医学术语
Part-of-Speech Tagging
识别语法角色:
最佳模型:BERT-NER、RoBERTa-token、SpaCy transformers
Sequence-to-Sequence
将一个序列转换为另一个序列。
Translation
在语言之间转换文本:
Summarization
压缩长文本:
Question Answering
从上下文中提取答案:
最佳模型:T5、BART、mT5(多语言)
Computer Vision 模型
处理和理解图像。
Object Detection
查找并定位图像中的对象:
最佳模型:YOLO、Faster R-CNN、DETR
Image Segmentation
像素级理解:
最佳模型:U-Net、Mask R-CNN、SAM
Image Generation
创建新图像:
最佳模型:Stable Diffusion、DALL-E、Midjourney
表格模型
处理像电子表格这样的结构化数据。
Regression
预测连续值:
Classification
对行进行分类:
最佳模型:XGBoost、CatBoost、TabNet
选择正确的模型
考虑您的数据
| 数据类型 | 推荐模型 |
|---|
| 短文本 (< 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 参数)
中等资源 (8-16GB GPU)
- BERT-base (110M 参数)
- GPT-2 small (124M 参数)
- RoBERTa-base (125M 参数)
良好资源 (24GB+ GPU)
- 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 系列
只需更改 prompt 前缀:
- “summarize: …”
- “translate English to French: …”
- “question: … context: …”
FLAN 模型
在许多任务上预训练:
- 更好的 zero-shot 性能
- 更灵活
- 良好的指令遵循
专门架构
当前标准:
CNNs (Convolutional Neural Networks)
仍然非常适合图像:
RNNs (Recurrent Neural Networks)
较旧但仍然有用:
收听:超越 LLMs - 深入探讨
关于语言模型之外模型类型的 45 分钟对话,涵盖视觉、表格和专门架构。
下一步
准备好开始训练了吗?