Pre-Trained Model

Pre-trained Models (PTMs) = 预训练模型,指在大规模数据上预先训练的模型,可以迁移到下游任务微调使用。

什么是预训练?

类比理解:就像人类学习,先在小学、中学打下基础知识(预训练),然后到大学/工作中专门学习某个领域的知识(微调)。

问题背景

  • 深度神经网络参数多,需要大量数据才能训练好
  • 标注数据很贵(比如人工标注一张图片约 6.4 美元)
  • 很多垂直领域根本没有足够的标注数据

解决方案:迁移学习 = 预训练 + 微调

  • 预训练阶段:在大规模通用数据上学习通用知识
  • 微调阶段:在具体任务的少量数据上适配

预训练的两个时代

1. 监督学习预训练(CV 时代)

代表:ResNet 预训练在 ImageNet(100 万张图片,1000 个类别)

方法

  • 特征迁移:预训练 CNN 作为 backbone,提取图像特征
  • 参数迁移:共享模型参数到下游任务

例子

ImageNet 预训练的 ResNet → 可用于图像分类/目标检测/分割等任务
猫狗分类(只需 1000 张图)← 用预训练的 ResNet 微调

2. 自监督学习预训练(NLP 时代)

核心思想:利用数据本身的结构作为监督信号,不需要人工标注

NLP 的突破

  • 图片可以用 ImageNet 标注,但文本无法大规模人工标注
  • 自监督学习利用文本内在关联(如完形填空)

生活例子

"北京是中国的首—" → 预测缺失的字"都"
"今天天气很—,适合出去玩" → 预测"好"或"不错"

PTMs 家族图谱

按架构分类

类型 结构 代表模型 擅长任务 例子
自回归模型 Decoder Only GPT, GPT-2, GPT-3, GPT-4 文本生成 写文章/代码/邮件
自编码模型 Encoder Only BERT, RoBERTa, ALBERT 理解任务 分类/问答/情感分析
编码器-解码器 Encoder-Decoder T5, BART, UL2 seq2seq 翻译/摘要/改写

按训练任务分类

预训练任务 原理 代表模型 例子
MLM (Masked Language Modeling) 随机掩码 15% 的词,预测被掩的词 BERT “我[MASK]去北京” → “去”
NSP (Next Sentence Prediction) 判断两句话是否连续 BERT “今天天气很好” + “适合出去玩” → True
PLM (Permutation LM) 随机打乱 token 顺序,用 AR 方式预测 XLNet 统一生成和理解
RTD (Replaced Token Detection) 判断每个 token 是否被替换 ELECTRA 比 MLM 更高效
SOP (Sentence Order Prediction) 判断句子顺序是否正确 ALBERT “吃早饭” + “起床” → 正确顺序

按模态分类

模态 代表模型 功能
文本 GPT, BERT, Llama 语言理解和生成
图像 ResNet, ViT 图像分类/检测
多语言 mBERT, XLM-R 跨语言理解
多模态 CLIP, DALL-E, GPT-4V 图文对齐/生成

按参数规模分类

规模 代表模型 参数量 特点
小模型 DistilBERT, TinyBERT < 150M 可在 CPU 运行,适合端侧
中等模型 BERT-base, RoBERTa-base 110M - 340M 通用,性价比高
大模型 GPT-3, LLaMA 7B - 175B 涌现能力,few-shot
超大模型 GPT-4, Claude > 1T 最强能力,需 API 调用

核心模型详解

BERT:理解任务之王

全称:Bidirectional Encoder Representations from Transformers

核心创新:双向 Transformer + MLM 预训练

原理图解

输入: "今天的天气很好"
掩码: "今天的天气[MASK]很好"
BERT: 预测[MASK] = "真"或"非常"

BERT 的优势

  • 能同时看到左边和右边的上下文(双向)
  • 适合:文本分类、情感分析、问答、命名实体识别

BERT 的局限

  • 只能理解,不能生成(没有解码器)
  • 例子:给你 “北京的首都”,BERT 能判断"北京"和"中国的首都"匹配,但无法生成"中国是北京的首都"

BERT 家族

模型 改进 参数量
RoBERTa 去掉 NSP,更大数据/更长训练 340M
ALBERT 参数共享,体积小但推理慢 12M - 235M
SpanBERT 连续 span 掩码 340M
DistilBERT 知识蒸馏,体积小 40% 66M

GPT:生成任务之王

全称:Generative Pre-trained Transformer

核心创新:单向(从左到右)Transformer Decoder

原理图解

输入: "今天天气很好,我"
GPT: 逐词预测下一个 → "准备"
GPT: 继续 → "出门"
GPT: 继续 → "散步"
...
最终: "今天天气很好,我准备出门散步"

GPT vs BERT 对比

特性 GPT BERT
方向 单向(左→右) 双向
结构 Decoder Encoder
擅长 文本生成 文本理解
例子 写作文/代码/邮件 分类/问答/情感分析
局限 看不到未来 不能生成

T5:统一理解和生成

全称:Text-to-Text Transfer Transformer

核心思想:所有 NLP 任务都转化为 text-to-text 格式

例子

任务: 翻译 "Hello" → 中文
输入: "translate English to German: Hello"
输出: "Hallo"

任务: 情感分类
输入: "sst2: This is great."
输出: "positive"

CLIP:图文对齐

核心创新:对比学习预训练,4 亿图文对

原理

图: [猫的图片]
文: "A cat"
→ 编码器把图和文都映射到同一向量空间
→ 相似度高的配对是正样本

应用场景

  • 零样本图像分类(不需要 ImageNet 标签)
  • 文本到图像检索
  • DALL-E 的图文对齐基础

DALL-E:文本到图像

核心创新:基于 CLIP 绘制对应图像

例子

输入: "an armchair in the shape of an avocado"
输出: 一张逼真的牛油果形状椅子的图片

预训练任务详解

MLM(掩码语言模型)

生活例子

完形填空: "今天我吃了一[MASK]"
           → 根据上下文,可能是"个苹果"、"碗面"、"顿早饭"

BERT 学到的:
- "一"后面常跟量词
- "吃了"后面常跟食物名词
- 综合得出"个苹果"概率最高

NSP(下一句预测)

生活例子

句子A: "我想买一杯咖啡"
句子B1: "星巴克开门了吗" → 相关 → True
句子B2: "今天下雨了" → 不相关 → False

BERT 需要判断 A 和 B 是否有关联

RTD(替换 Token 检测)

与 MLM 的区别

MLM RTD
预测被掩码的词 判断每个词是否被替换
只学习 15% 的词 学习 100% 的词
训练效率低 训练效率高

ELECTRA 的优势:用同样的数据训练,ELECTRA 比 BERT 更强

多模态预训练

什么是多模态?

模态:人类感知世界的方式

  • 视觉(看图片/视频)
  • 听觉(听声音)
  • 嗅觉(闻气味)
  • 触觉(触摸)
  • 语言(文字/语音)

多模态模型:能同时处理多种模态的模型

V&L(视觉-语言)模型

双流架构(如 ViLBERT):

图像 → CNN 编码 → 图像特征
文本 → Transformer → 文本特征
→ 融合 → 联合表示

单流架构(如 VisualBERT):

[图像特征] + [文本 tokens] → 统一 Transformer → 联合表示

应用例子

任务 例子
图文检索 “找出所有包含猫的图片”
图像描述 图片 → “一只橘猫在沙发上睡觉”
视觉问答 图片 + “图里有几只猫?” → “2只”
图文生成 “一只穿西装的猫” → 画出来

GPT-4V:多模态 GPT

能力

  • 看懂图片内容
  • 分析图表
  • 读截图、代码运行结果
  • 理解 memes(梗图)

生活例子

用户: [截了一张错误信息图]
GPT-4V: "这是一个 Python  IndexError,
         第 3 行的列表索引越界了"

计算效率优化

为什么需要优化?

问题:模型越大,效果越好,但训练和推理成本越高

BERT-base: 1.1 亿参数,训练需要 8 块 GPU × 1 天
GPT-3: 1750 亿参数,训练需要 1 万块 GPU × 几个月

优化方法

方法 原理 效果
混合精度训练 FP32 + FP16 混合 内存减半,速度翻倍
梯度检查点 用计算换内存 内存减 70%
知识蒸馏 大模型教小模型 体积小 10 倍
模型剪枝 移除冗余参数 精度损失小
模型量化 FP32 → INT8 → INT4 体积小 4-8 倍

参数共享

ALBERT 的创新

  • 所有 Transformer 层共享参数
  • 体积是 BERT 的 1/10
  • 但推理速度没有明显提升(计算量不变)

MoE(混合专家)

Switch Transformers:每个输入只激活一个专家

类比理解

传统模型: 每次问同一个老师所有问题
MoE 模型: 数学问题问数学老师,英语问题问英语老师
          每个老师只回答自己擅长的

微调 vs Prompt Tuning

传统微调(Fine-tuning)

预训练模型 → 在下游任务数据上微调所有参数

问题:每个下游任务都需要微调一套参数

任务 1: 情感分类 → 微调一套参数
任务 2: 实体识别 → 再微调一套参数
任务 3: 问答系统 → 又微调一套参数
参数量巨大,存储成本高!

Prompt Tuning(提示微调)

核心思想:不动模型参数,只改 prompt

预训练模型(冻结)→ 设计不同的 prompt 激发不同能力

例子

情感分类:
Prompt v1: "这部电影[MASK]。评价是积极的还是消极的?"
Prompt v2: "这部电影很[MASK]。"

→ 用同一个冻结的 BERT,不同 prompt 得到不同结果

优势:一套参数支持所有任务

预训练的知识

PTMs 学到了什么?

1. 语言知识

词汇: "bank" 在不同语境不同意思
  - "open a bank account" → 银行
  - "on a bank of the river" → 河岸

句法: 主谓宾结构、时态、单复数
语义: 词之间的语义关系

2. 世界知识

生活例子

输入: "[MASK] 是法国的首都"
BERT 输出: "巴黎"

输入: "马斯克是 [MASK] 的 CEO"
BERT 输出: "特斯拉"

知识探测

LAMA 数据集:测试模型知道多少事实

Prompt: "[MASK] 能吃"
BERT: "水果"、"食物"
→ BERT 知道"能吃"和"水果"的关系

Prompt: "中国使用 [MASK] 语言"
BERT: "汉语"、"中文"
→ BERT 知道中文是中国的语言

实战建议

如何选择模型?

场景 推荐模型 原因
文本分类/情感分析 BERT, RoBERTa 理解能力强
文本生成/写作 GPT, Llama 生成能力强
翻译/摘要 T5, BART seq2seq 专用
图文任务 CLIP, GPT-4V 多模态
中文任务 ChatGLM, Qwen, Llama 中文优化
本地部署 Llama, Qwen 开源可商用

模型规模选择

参数量 适用场景 硬件要求
< 1B Demo、原型 单卡可运行
1B - 7B 生产级、小团队 消费级 GPU
7B - 13B 较强能力 至少 24GB 显存
70B+ 最强能力 需要多卡集群

Fine-tuning vs RAG vs Prompt Engineering

方法 适用场景 例子
Prompt Engineering 通用能力、快速原型 “你是一个翻译专家”
RAG 需要最新/私域知识 法律文档问答
Fine-tuning 需要特定风格/模式 客服语气、固定输出格式

总结

预训练模型的核心价值

  1. 知识迁移:把通用知识迁移到具体任务
  2. 减少标注:只需要少量任务数据
  3. 性能提升:大幅超越从零训练的模型

选择模型的关键

  • 理解任务 → BERT 家族
  • 生成任务 → GPT 家族
  • 翻译/摘要 → T5/BART
  • 多模态 → CLIP/GPT-4V
  • 中文场景 → ChatGLM/Qwen

未来趋势

  • 模型越来越大,但也越来越高效
  • Prompt Tuning 代替 Fine-tuning
  • 多模态统一
  • 外部知识融合

Open Source LLMs vs Closed Source LLMs

核心问题:不是"哪个更好",而是"哪个更适合你"。

LLM 演进:从规则到 Transformer

时代 技术 特点 例子
规则系统 手动创建规则 僵硬死板,无法处理复杂语言 “What time” → 时间问题
机器学习 统计模型(N-gram) 从数据学习模式 词频统计
神经网络 RNN、LSTM 序列处理 情感分析
Transformer BERT、GPT 并行处理,适应性更强 一切现代 LLM

生活例子:就像翻译工具的进化:

早期:逐字替换(规则)→ 查词典翻译(统计)→ 理解语境翻译(神经网络)→ 像人一样翻译(Transformer)

开源 vs 闭源核心对比

一张图理解

┌─────────────────────────────────────────────────────────────┐
│                        LLM 类型选择                           │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   开源 LLM                    闭源 LLM                        │
│   ─────────                   ─────────                     │
│   🔓 完全透明                  🔐 黑箱操作                      │
│   🔧 可随意微调                📦 开箱即用                      │
│   💰 基础设施成本              💸 许可费用                       │
│   👥 社区驱动                  🎧 厂商支持                      │
│   🔒 数据完全可控              ⚖️ 依赖厂商安全                   │    
│                                                             │
└─────────────────────────────────────────────────────────────┘

详细对比表

维度 开源 LLM 闭源 LLM
代码 公开,可审计 专有,黑箱
使用 免费/自托管 API 付费
微调 完全自由 受限
更新 社区驱动,快速 厂商决定,较慢
支持 社区论坛 官方技术支持
合规 自己负责 厂商提供认证
数据安全 完全可控 依赖厂商

代表模型

类型 代表模型
开源 GPT-2, GPT-Neo, BERT, ELECTRA, T5, Llama 3, Grok, Mixtral, DBRX
闭源 GPT-3/4, Claude, Gemini, Amazon Alexa LLM, IBM Watson

成本对比:真金白银的差距

价格对比(2024年数据)

闭源代表 GPT-4:
┌────────────────────────────────────────┐
│  输入: $10/百万 tokens                 │
│  输出: $30/百万 tokens                  │
│  总计: 用量大的话每月轻松几百美元        │
└────────────────────────────────────────┘

开源代表 Llama-3-70B:
┌────────────────────────────────────────┐
│  输入: $0.60/百万 tokens               │
│  输出: $0.70/百万 tokens               │
│  总计: 约为 GPT-4 的 1/17!            │
└────────────────────────────────────────┘

生活类比

闭源 = 买品牌电脑(贵但省心)
开源 = 自己组装电脑(便宜但需要技术)

成本构成

成本类型 开源 LLM 闭源 LLM
初始成本 低(主要是硬件) 中(许可费)
运营成本 电力 + 人员维护 API 调用费
维护成本 需要内部 AI 专家 厂商负责
扩展成本 线性(买更多硬件) 按需付费

质量对比:谁更强?

2024年各项冠军

维度 冠军 说明
综合质量 GPT-4o 全面领先
速度 Gemini 1.5 最快
性价比 Llama-3-8B 便宜+够用
代码能力 GPT-4 HumanEval 90.2
开源代码 Llama-3-70B 最强开源代码模型

代码能力对比

HumanEval 基准测试:
┌──────────────────────────────────────────────────────────┐
│  GPT-4:        ████████████████████████████████████ 90.2 │
│  GPT-3.5:      █████████████████████████████           70│
│  Llama-3-70B:  ██████████████████████████████         82 │
│  Llama-3-8B:   ████████████████████                   72 │
│  Claude 3:      ████████████████████████████████       84│
└──────────────────────────────────────────────────────────┘

结论:开源模型(如 Llama-3-70B)已经能达到闭源模型 90% 的能力,但成本只有 1/17。

企业采用趋势

调查数据(a16z 报告)

企业开源 LLM 使用计划:
┌──────────────────────────────────────────────────────────┐
│  将增加使用开源模型:      ████████████████ 41%              │
│  性能匹配后切换:          ████████████████ 41%              │
│  不打算增加:              ██████ 18%                       │
└──────────────────────────────────────────────────────────┘

趋势:从 2023年的 80-90% 闭源 → 未来 50-50 开闭源平衡

为什么企业转向开源?

原因 占比 说明
控制权 37% 数据安全完全可控
可定制性 37% 按需微调和优化
成本 26% 显著降低 AI 开支

各自优势

开源 LLM 的优势

1. 社区与协作

生活例子

开源 LLM 就像维基百科:
- 全球开发者贡献代码
- bug 被快速发现和修复
- 社区投票决定发展方向
- 免费的问题解答论坛

好处

  • 创新速度快(社区众包)
  • 问题有地方求助
  • 持续迭代改进
2. 透明与信任

生活例子

开源 = 餐厅厨房公开
- 你能看到食材来源
- 能审计卫生状况
- 发现问题可以投诉

闭源 = 餐厅厨房封闭
- 你只能相信厨师
- 无法验证食材
- 问题可能被掩盖

好处

  • 安全漏洞可被社区发现
  • 符合 ethical AI 要求
  • 可根据需求审计和修改
3. 成本优势

一个实际例子

一家中型公司每天处理 1000 万 tokens:

GPT-4 闭源成本:
  输入: 1000万 × $10/百万 = $100
  输出: 1000万 × $30/百万 = $300
  每天: $400
  每月: $12,000
  每年: $144,000

Llama-3-70B 开源成本(AWS 自托管):
  硬件: $10,000(一次性)
  电费: ~$500/月
  每天: ~$17
  每年: ~$6,000

选型决策树

你的情况是什么?
│
├─ 有内部 AI 专家?
│   ├─ 是 → 开源优先(省钱+可控)
│   └─ 否
│       ├─ 需要快速上线?
│       │   └─ 是 → 闭源(省心)
│       └─ 需要完全控制数据?
│           └─ 是 → 开源(私有部署)
│
├─ 预算有限?
│   ├─ 是 → 开源 + 量化模型
│   └─ 否 → 闭源旗舰模型
│
└─ 行业合规要求高?
    ├─ 金融/医疗 → 开源(自己控制)
    └─ 一般互联网 → 闭源(拿认证方便)

选开源的场景

适合用开源 LLM 的情况

✅ 你有 AI 团队,可以自己微调和维护
✅ 预算有限,需要控制成本
✅ 对数据安全要求极高(如医疗、金融)
✅ 需要高度定制化的功能
✅ 重视伦理 AI,想要透明可审计
✅ 在离线环境运行

生活例子

开源就像自己做饭:
- 食材(数据)完全可控
- 调料(参数)可以随意调整
- 需要厨艺(AI 专家)
- 便宜但费时

选闭源的场景

适合用闭源 LLM 的情况

✅ 没有 AI 团队,想要快速上线
✅ 需要最先进的模型能力
✅ 行业合规认证(如 HIPAA、SOC2)
✅ 需要厂商 SLA 保证
✅ 不想操心运维和更新

生活例子

闭源就像点外卖:
- 送到即食(快速部署)
- 品质有保证(厂商背书)
- 不用洗碗(厂商维护)
- 但贵且受制于人

安全与合规

开源安全优势

私有部署 = 你的数据只在你的服务器上
┌─────────────────────────────────────────┐
│  用户数据                                │
│       ↓                                 │
│  ┌─────────────┐                        │
│  │ 私有部署      │ ← 完全隔离              │
│  │ 开源 LLM     │   不上传任何数据         │
│  └─────────────┘                        │
│       ↓                                 │
│  返回结果                                 │
└─────────────────────────────────────────┘

适用场景

  • 处理用户隐私数据
  • 金融、医疗等敏感行业
  • 竞争敏感的商业数据

闭源安全优势

厂商安全 = 专业人士做安全
┌─────────────────────────────────────────┐
│  厂商提供:                               │
│  ✅ SOC2 认证                            │
│  ✅ HIPAA 合规                           │
│  ✅ 24/7 安全监控                         │
│  ✅ 自动漏洞修复                           │
└─────────────────────────────────────────┘

适用场景

  • 没有安全团队的小公司
  • 需要快速获得合规认证
  • 信任大厂安全能力

实际建议

小公司/创业公司

推荐策略: 闭源 → 开源过渡

阶段 1: 快速验证
- 用闭源 API(OpenAI/Anthropic)
- 快速做 MVP

阶段 2: 成本优化
- 简单任务切换到开源
- 复杂任务保留闭源

阶段 3: 自建基础设施
- 核心能力用开源自托管
- 节省 80% 成本

中大型公司

推荐策略: 混合使用

┌──────────────────────────────────────────────────────────┐
│                    混合架构                                │
├──────────────────────────────────────────────────────────┤
│                                                          │
│  简单客服/摘要    → 开源模型(省钱)                          │
│  复杂推理/分析    → 闭源旗舰(最强)                          │
│  敏感数据处理     → 开源私有部署(安全)                       │
│  代码生成         → 开源代码专用模型(专业)                   │
│                                                          │
└──────────────────────────────────────────────────────────┘

开发者个人

推荐策略: 全开源

工具链:
- Ollama / LM Studio → 本地运行
- Hugging Face Hub → 模型托管
- vLLM / TGI → 自建 API 服务

成本: $0(纯本地)
能力: Llama-3-70B 足够多数场景

常见误区

误区 真相
“开源一定比闭源差” 错!Llama-3-70B 接近 GPT-4 水平
“开源完全免费” 错!有硬件和运维成本
“闭源更安全” 不一定,取决于部署方式
“开源难以维护” 有社区支持,比以前好很多
“必须选一个” 错!可以混合使用

总结

选型核心原则

不是"哪个更好",而是"哪个更适合":

1. 看团队:有 AI 专家 → 开源;没有 → 闭源
2. 看预算:有限 → 开源;充足 → 闭源
3. 看数据:敏感 → 开源;一般 → 闭源
4. 看速度:快速上线 → 闭源;可以等 → 开源
5. 看场景:简单任务 → 开源;复杂推理 → 闭源

一句话总结

开源 = 给你钥匙,但你要自己开车
闭源 = 坐出租车,但你要付车费

最佳策略 = 混合使用,用对的工具做对的事

核心问题:不是"哪个更好",而是"哪个更适合你"。

Self-Hosted Models

核心问题:你的数据谁说了算?你的成本谁在控制?

什么是自托管 LLM?

自托管 (Self-Hosted) = 在自己的基础设施上运行和管理 LLM

┌─────────────────────────────────────────────────────────────┐
│                    自托管 vs Serverless                      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   Serverless (API 调用)        自托管 (私有部署)               │
│   ──────────────────────       ─────────────────────────    │
│   ✅ 快速上线                   ❌ 需要时间搭建                 │
│   ✅ 不用管硬件                  ❌ 需要 GPU 和维护             │
│   ✅ 厂商负责可用性              ❌ 自己保证 SLA                 │
│   ❌ 数据给厂商                 ✅ 数据完全自己控制              │
│   ❌ 成本随用量线性增长          ✅ 用多了成本反而低               │
│   ❌ 受限于 API 速率            ✅ 完全定制化                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

生活类比

Serverless = 租酒店公寓
- 拎包入住(API 即用)
- 每天结算(按量付费)
- 但房间格局不能改(受限定制)
- 住多久付多久(用量大就贵)

自托管 = 买自己的房子
- 装修自己决定(完全定制)
- 房贷固定(成本可预测)
- 但要自己维护(需要团队)
- 住多久都行(用量大反而划算)

为什么要自托管?

1. 数据隐私与合规

核心问题:你的数据会被用于训练吗?

ChatGPT 条款明确写着:
"我们可能使用非 API 内容来帮助改进我们的服务"

这意味着:
❌ 你和员工的输入 → 可能进入训练数据
❌ 敏感信息(客户、医疗、财务)→ 存在泄露风险
❌ 多家公司已禁止员工使用 ChatGPT

自托管 = 数据从不离开你的服务器

用户敏感数据
       ↓
┌─────────────────────────────────────────┐
│     你的私有 VPC / 数据中心                │
│  ┌─────────────────────────────────┐    │
│  │      自托管 LLM                  │    │
│  │  - 完全隔离                      │    │
│  │  - 不上传任何数据                 │    │
│  │  - 符合 HIPAA / SOC2 要求        │    │
│  └─────────────────────────────────┘    │
└─────────────────────────────────────────┘
       ↓
返回结果

必须自托管的行业

  • 🏥 医疗(HIPAA 合规)
  • 🏦 金融(SOX / PCI-DSS)
  • ⚖️ 法律(律师-客户特权)
  • 🏛️ 政府(数据主权)

2. 成本控制

Serverless 成本曲线

成本 ($)
    │
100k │                          ╱
    │                         ╱
 50k │                       ╱
    │                    ╱
    │                 ╱  ← 用量增加,成本线性飙升
 10k │              ╱
    │           ╱
    │________╱__________________________→ Tokens/天
         1M    5M    10M   50M

适用:原型、低用量
危险:高用量时成本失控

自托管成本曲线

成本 ($)
    │
100k│  ┌── GPU 采购/租赁(一次性或月度)
    │──┘
    │
 50k│              边际成本低
    │             ╱
 10k│           ╱  ← 优化后成本趋平
    │__________╱_______________→ Tokens/天
         1M    5M    10M   50M

适用:高用量、生产环境
优势:用量越大,自托管越划算

实际案例对比

场景:每天处理 1000 万 tokens

Serverless (GPT-4):
  输入: 1000万 × $10/百万 = $100
  输出: 1000万 × $30/百万 = $300
  每天: $400
  每月: $12,000
  每年: $144,000

自托管 (Llama-3-70B, AWS 自部署):
  GPU 硬件: $10,000(一次性)
  电费: ~$500/月
  每天: ~$17
  每年: ~$6,000

节省:每年 $138,000(96%!)

3. 高级定制与优化

自托管才能实现的优化

优化技术 说明 Serverless 能用吗
Prefill-Decode 分离 分离预填充和解码阶段
Prefix Caching 缓存常见前缀,重复使用 ⚠️ 有限
Speculative Decoding 投机解码,加速生成
长上下文优化 处理超长文档(100K+ tokens) ⚠️ 受限
结构化输出 强制 JSON Schema 输出 ⚠️ 有限
自定义微调 用私有数据微调模型

4. 避免供应商锁定

供应商锁定 = 被绑定后难以迁移

Serverless 风险:
❌ API 价格随时涨价
❌ 速率限制突然收紧
❌ 厂商政策随时改变
❌ 迁移到别家代价高昂

自托管优势:
✅ 想用哪个模型就用哪个
✅ 想换云厂商就换
✅ 完全自主,不受制于人

什么时候选 Serverless?

适合 Serverless 的场景

场景 为什么选 Serverless
刚起步 快速验证想法,不需要基础设施
低用量 每天几万 tokens,成本可忽略
没有 AI 团队 需要快速上线,没时间折腾
短期项目 不值得长期投入维护成本

Serverless 推荐方案

平台 支持的模型
OpenAI API GPT-4o, GPT-3.5
Anthropic API Claude 3.5, Claude 3
Together AI DeepSeek-R1, Llama 4, Qwen
Fireworks AI Mixtral, Llama 3

什么时候选自托管?

适合自托管的场景

场景 为什么选自托管
高用量 日均 tokens 超过百万
敏感数据 医疗、金融、法律数据
需要微调 用私有数据训练专属模型
有技术团队 有人能维护 GPU 集群
追求低成本 长期来看自托管更划算

自托管推荐路径

阶段 1: 评估需求
  │
  ├─ 你是受监管行业?
  │   └─ 是 → 必须自托管
  │
  ├─ 你每天用量超过 100 万 tokens?
  │   └─ 是 → 强烈建议自托管
  │
  └─ 你有 AI/DevOps 团队?
      └─ 是 → 自托管是最佳选择

自托管技术栈

主流解决方案对比

方案 特点 适用场景 学习曲线
OpenLLM + Yatai 高抽象、BentoML 集成 快速部署 RAG
Ray Serve OpenAI 内部使用、最健壮 复杂生产环境
Hugging Face TGI 容器化、一键部署 HF 模型部署
vLLM 高效推理、PagedAttention 高吞吐场景
Ollama 最简单、本地运行 开发测试 极低

技术栈图解

┌─────────────────────────────────────────────────────────────┐
│                    自托管 LLM 技术栈                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  应用层                                                      │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐                   │
│  │ LangChain│  │LlamaIndex│  │ 自定义    │                   │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘                   │
│       │             │             │                         │
│  服务层 ─────────────────────────────────────                │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐                   │
│  │  OpenLLM │  │ Ray Serve│  │   TGI    │                   │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘                   │
│       │             │             │                         │
│  框架层 ─────────────────────────────────────                │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐                   │
│  │  vLLM    │  │ PyTorch  │  │ TensorRT │                   │
│  └──────────┘  └──────────┘  └──────────┘                   │
│       │             │             │                         │
│  硬件层 ─────────────────────────────────────                │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐                   │
│  │NVIDIA A100│ │ NVIDIA H100│ │ 云 GPU   │                  │
│  └──────────┘  └──────────┘  └──────────┘                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

硬件要求

模型规模 参数量 内存 (FP16) 量化后 (INT4) GPU
小模型 7B ~14GB ~4GB RTX 3090, A10G
中模型 13B ~26GB ~7GB A100 40GB
大模型 70B ~140GB ~35GB A100 80GB × 2
超大模型 405B ~810GB ~200GB H100 × 8

生活例子

选模型就像选车:

7B 模型 = 紧凑型车
- 便宜(量化后几 GB)
- 省油(普通 GPU 就能跑)
- 但动力有限(能力较弱)

70B 模型 = 豪华 SUV
- 动力强(能力接近 GPT-4)
- 油费高(需要多卡 GPU)
- 停车难(内存要求高)

自托管的挑战与应对

常见挑战

挑战 说明 解决方案
冷启动慢 GPU 启动、容器拉取、权重加载 保持热备、权重预热
高可用 硬件故障会导致服务中断 多副本、故障转移
运维复杂 需要 DevOps 团队 使用托管平台(Plural 等)
监控告警 需要 LLM 特有指标 TTFT、TPS、TTFT 监控

关键监控指标

┌──────────────────────────────────────────────────────────┐
│                  LLM 特有指标                             │
├──────────────────────────────────────────────────────────┤
│                                                          │
│  TTFT (Time To First Token)                              │
│  首个 token 响应时间                                       │
│  目标: < 1 秒                                             │
│                                                          │
│  TPS (Tokens Per Second)                                 │
│  生成速度                                                 │
│  目标: > 50 tokens/s                                     │
│                                                          │
│  错误率                                                   │
│  目标: < 0.1%                                             │
│                                                          │
│  队列深度                                                 │
│  监控拥塞情况                                              │
│                                                          │
└──────────────────────────────────────────────────────────┘

实际选型建议

小团队 / 创业公司

推荐: Ollama / LM Studio → 快速原型
                 ↓
        量上来后 → OpenLLM + Yatai
                 ↓
        真正上规模 → Ray Serve

中大型公司

推荐: Ray Serve / TGI on Kubernetes

┌──────────────────────────────────────────────────────────┐
│                    混合架构                                │
├──────────────────────────────────────────────────────────┤
│                                                          │
│  开发/测试 ────→ Ollama(本地快速迭代)                      │
│                                                          │
│  预生产 ──────→ OpenLLM(简单部署)                         │
│                                                          │
│  生产环境 ─────→ Ray Serve + Kubernetes                   │
│                 - 高可用                                  │
│                 - 自动扩缩容                               │
│                 - 监控告警                                 │
│                                                          │
└──────────────────────────────────────────────────────────┘

受监管行业

推荐: 私有化部署 (On-Prem / 私有云)

必须满足:
✅ HIPAA 合规(医疗)
✅ SOC2 认证(金融)
✅ 数据不出境(政府)
✅ 完全审计日志

技术选型:
- Ray Serve(最成熟)
- 硬件:自有 GPU 或私有云
- 网络:完全隔离

未来趋势

为什么自托管越来越火?

趋势 说明
开源模型变强 Llama 3、DeepSeek 已经接近 GPT-4 水平
硬件成本下降 GPU 越来越便宜,量化技术成熟
推理效率提升 vLLM、SGLang 提升 10x 吞吐量
云成本上涨 Serverless API 持续涨价
合规压力 数据隐私法规越来越严

结论

Serverless = 短期省心
自托管 = 长期省钱 + 数据安全 + 完全控制

最佳策略 = 早期用 Serverless 快速验证,
           验证成功后逐步切换到自托管

总结

一句话理解

Serverless = 租云服务器(省心但贵)
自托管 = 买云服务器(贵但可控)

选型决策表

你的情况 推荐
没有 AI 团队 Serverless
低用量 (< 10M tokens/月) Serverless
敏感数据 必须自托管
高用量 (> 100M tokens/月) 自托管
需要微调 自托管
有 DevOps 团队 自托管
快速验证 Serverless

最佳实践

1. 开始 → 用 Serverless 快速验证
2. 验证 → 确认 PMF,找到最优模型
3. 优化 → 切换到量化模型降成本
4. 规模 → 逐步迁移到自托管
5. 混合 → 简单任务用开源,复杂用闭源
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐