第六章:模型
学习目标
- 理解模型(Model)的概念与本质
- 掌握大语言模型(LLM)的工作原理
- 理解参数量的意义及其与效果的关系
- 学会根据任务类型、计算资源、成本和隐私需求选择合适的模型
- 区分开源模型与闭源模型的优劣
前置要求
第五章:深度学习概述(理解神经网络的基本结构和深度学习架构)。
什么是模型?
模型(Model)是机器学习的核心产出,是一个数学函数或算法,能将输入数据转换为预测输出。
通俗理解
模型就像一个"黑盒子":
输入 → [模型] → 输出
比如输入一张图片,模型输出"这是猫"
模型的本质
模型内部是大量的参数(Parameters)——就是数字。这些参数决定了模型如何处理输入。
- 一个简单模型可能有几百个参数
- GPT-3有1750亿个参数
- GPT-4参数量更大(具体数字未公开)
常见模型类型
| 类型 | 说明 | 例子 |
|---|---|---|
| 判别式模型 | 直接学习输入→输出的映射 | 分类器、回归模型 |
| 生成式模型 | 学习数据分布,能生成新数据 | GPT、Stable Diffusion |
| 大语言模型(LLM) | 大规模文本生成模型 | ChatGPT、Claude、Gemini |
大语言模型(LLM)详解
大语言模型(Large Language Model)是基于Transformer架构的生成式模型,能理解和生成人类语言。
LLM的工作原理
1. 接收文本输入
2. 将文本切分为token(词元)
3. 通过多层Transformer处理
4. 预测下一个token的概率
5. 输出最可能的文本序列
Token是什么?
Token是文本的最小处理单位。可以是:
- 一个词(如"apple")
- 一个字(如"你")
- 一个词的一部分(如"ing")
例如:"我爱学习AI" 可能被切分为:["我", "爱", "学习", "AI"] 共4个tokens。
使用transformers库调用LLM
下面展示如何使用Hugging Face的transformers库快速调用一个预训练模型:
from transformers import pipeline
# 创建文本生成pipeline(自动下载并加载模型)
generator = pipeline("text-generation", model="gpt2")
# 生成文本
result = generator(
"Artificial intelligence is",
max_new_tokens=20,
temperature=0.7,
do_sample=True
)
print(result[0]['generated_text'])
# 输出示例: "Artificial intelligence is transforming the way we live and work..."
# 也可以用于其他任务
classifier = pipeline("sentiment-analysis")
result = classifier("I love learning about AI!")
print(result)
# 输出示例: [{'label': 'POSITIVE', 'score': 0.9998}]
模型大小与参数量
参数量是衡量模型规模的指标,参数越多,模型容量越大,通常效果更好,但成本也越高。
主流LLM的参数量对比
| 模型 | 参数量 | 显存需求(FP16) | 特点 |
|---|---|---|---|
| GPT-2 Small | 117M(1.17亿) | ~0.5GB | 早期模型,适合入门学习 |
| GPT-2 Large | 1.5B(15亿) | ~3GB | 可在消费级显卡运行 |
| Llama-2-7B | 7B(70亿) | ~14GB | 开源主流,RTX 4090可运行 |
| Llama-2-13B | 13B(130亿) | ~26GB | 效果更好,需要高端显卡 |
| Mistral-7B | 7B | ~14GB | 效率高,小模型中的佼佼者 |
| Qwen-7B | 7B | ~14GB | 中文能力强,国产开源 |
| Llama-2-70B | 70B | ~140GB | 顶级开源,需要专业GPU |
| GPT-3 | 175B | ~350GB | 早期大模型标杆 |
| GPT-4 | 未公开(推测万亿级) | 需要集群 | 当前最强闭源模型之一 |
参数量与效果的关系
参数越多 → 效果越好(但不是线性关系):
• 7B模型:适合简单任务,日常对话
• 13B模型:效果明显提升,复杂任务
• 70B模型:接近GPT-3水平,专业任务
效果提升趋势:参数量与模型效果之间呈现对数增长关系——从小模型到大模型时效果提升显著,但继续增大时边际收益递减。就像考试从50分提升到80分容易,从90分提升到95分很难。
但代价也随之增加:
• 更大显存需求
• 更慢的推理速度
• 更高的训练成本
实践中需要平衡效果与成本。
如何选择合适的模型?
选择模型需要考虑多个因素:
1. 任务类型
| 任务类型 | 推荐模型 | 原因 |
|---|---|---|
| 简单对话 | 7B-13B模型 | 成本低,效果足够 |
| 代码生成 | Claude、GPT-4、DeepSeek-Coder | 编程能力是核心竞争力 |
| 长文档处理 | Claude(200K上下文) | 超长上下文窗口 |
| 中文任务 | Qwen、DeepSeek | 中文训练数据多,效果好 |
| 实时应用 | 小模型+量化 | 速度优先,牺牲精度 |
| 私有部署 | Llama、Qwen等开源模型 | 数据安全,成本可控 |
2. 计算资源
- 消费级显卡(如RTX 4090 24GB):7B INT4量化、13B INT4量化
- 专业显卡(如A100 40-80GB):70B INT4量化、13B FP16
- 无GPU(纯CPU):小模型(7B以下)+ INT4量化
- 云端API:使用闭源模型(GPT-4、Claude),无需本地GPU
3. 成本考量
成本对比
闭源模型API:
• GPT-4:约$0.03/1K tokens输入,$0.06/1K tokens输出
• Claude:约$0.008/1K tokens(Haiku),$0.03/1K tokens(Sonnet)
开源模型自部署:
• GPU租赁:$1-3/小时(RTX 4090),$3-5/小时(A100)
• 适合高频使用、固定成本
选择建议:
• 低频使用 → API更划算
• 高频使用 → 自部署更经济
4. 数据隐私
- 数据敏感:选择开源模型本地部署,数据不出本地
- 数据不敏感:可以使用闭源API,效果更好
- 企业数据:推荐私有部署或企业版API
开源 vs 闭源模型对比
| 维度 | 开源模型 | 闭源模型 |
|---|---|---|
| 效果 | 接近但略逊于闭源 | 通常最佳 |
| 成本 | 部署成本(GPU租赁) | API调用费用 |
| 隐私 | 完全可控,本地运行 | 数据上传到服务器 |
| 定制 | 可微调、可修改 | 无法修改,只能调用 |
| 易用性 | 需要技术能力部署 | 直接API调用,简单 |
| 更新 | 自己负责升级 | 厂商持续优化更新 |
实用建议
新手入门:先用API(ChatGPT、Claude)体验,了解AI能力
进阶用户:部署开源模型(Llama-2-7B),学习模型调优
企业应用:根据数据敏感度选择API或私有部署
成本优化:高频任务用开源自部署,低频任务用API
本章小结
- 模型是机器学习的核心产出,本质是包含大量参数的数学函数,将输入转换为预测输出。
- 大语言模型(LLM)基于Transformer架构,通过Token处理文本,逐个预测下一个Token来生成内容。
- 参数量是衡量模型规模的关键指标,参数越多效果越好但成本越高,呈现对数增长关系。
- 选型需要综合考虑任务类型、计算资源、成本和数据隐私四个维度。
- 开源模型提供隐私可控和可定制的优势,闭源模型在效果和易用性上更优,需根据场景选择。
练习题
-
以下关于模型参数量的描述,哪个是正确的?
A. 参数量与效果呈线性关系,参数翻倍效果翻倍
B. 参数量越多效果越好,但边际收益递减
C. 参数量对模型效果没有影响
D. 参数量越少效果越好,因为更精简答案:B。参数量与效果呈对数增长关系,从小模型增大时效果提升显著,继续增大时边际收益递减。
-
如果你的公司需要处理敏感数据且高频使用AI,应该选择哪种方案?
A. 使用GPT-4 API
B. 使用Claude API
C. 本地部署开源模型(如Llama、Qwen)
D. 使用免费在线AI工具答案:C。数据敏感需要本地部署保证隐私,高频使用自部署比API更经济,因此开源模型本地部署是最佳选择。
-
Token是什么?以下哪个描述最准确?
A. Token就是汉字
B. Token就是英文单词
C. Token是文本的最小处理单位,可以是词、字或词的一部分
D. Token是模型的参数答案:C。Token是模型处理文本的最小单位,根据分词算法不同,可以是词、字或子词。