第六章:模型

学习目标

  • 理解模型(Model)的概念与本质
  • 掌握大语言模型(LLM)的工作原理
  • 理解参数量的意义及其与效果的关系
  • 学会根据任务类型、计算资源、成本和隐私需求选择合适的模型
  • 区分开源模型与闭源模型的优劣

前置要求

第五章:深度学习概述(理解神经网络的基本结构和深度学习架构)。

什么是模型?

模型(Model)是机器学习的核心产出,是一个数学函数或算法,能将输入数据转换为预测输出。

机器学习模型训练流程图
图6-1 模型训练流程:训练数据输入 → 特征提取 → 模型参数学习 → 损失函数评估 → 梯度下降优化 → 最终模型可用于预测

通俗理解

模型就像一个"黑盒子":
输入 → [模型] → 输出
比如输入一张图片,模型输出"这是猫"

模型的本质

模型内部是大量的参数(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

本章小结

  1. 模型是机器学习的核心产出,本质是包含大量参数的数学函数,将输入转换为预测输出。
  2. 大语言模型(LLM)基于Transformer架构,通过Token处理文本,逐个预测下一个Token来生成内容。
  3. 参数量是衡量模型规模的关键指标,参数越多效果越好但成本越高,呈现对数增长关系。
  4. 选型需要综合考虑任务类型、计算资源、成本和数据隐私四个维度。
  5. 开源模型提供隐私可控和可定制的优势,闭源模型在效果和易用性上更优,需根据场景选择。

练习题

  1. 以下关于模型参数量的描述,哪个是正确的?

    A. 参数量与效果呈线性关系,参数翻倍效果翻倍
    B. 参数量越多效果越好,但边际收益递减
    C. 参数量对模型效果没有影响
    D. 参数量越少效果越好,因为更精简

    答案:B。参数量与效果呈对数增长关系,从小模型增大时效果提升显著,继续增大时边际收益递减。

  2. 如果你的公司需要处理敏感数据且高频使用AI,应该选择哪种方案?

    A. 使用GPT-4 API
    B. 使用Claude API
    C. 本地部署开源模型(如Llama、Qwen)
    D. 使用免费在线AI工具

    答案:C。数据敏感需要本地部署保证隐私,高频使用自部署比API更经济,因此开源模型本地部署是最佳选择。

  3. Token是什么?以下哪个描述最准确?

    A. Token就是汉字
    B. Token就是英文单词
    C. Token是文本的最小处理单位,可以是词、字或词的一部分
    D. Token是模型的参数

    答案:C。Token是模型处理文本的最小单位,根据分词算法不同,可以是词、字或子词。