小白理解模型推理
用一个搜索引擎工程师熟悉的例子来解释:
核心类比:搜索联想词的延伸
想象在Google搜索框里打字:
第一步:基础联想
- 你输入:"如何学习"
- 搜索引擎立即给出联想:"如何学习英语"、"如何学习编程"、"如何学习做饭"...
- 大语言模型的第一步,就像这些联想词,但它能算出每个可能的"下一个词"的概率
第二步:延伸联想(关键区别)
- 普通搜索引擎:你从联想列表选一个,然后搜索
- 大语言模型:它会自己选一个,比如选了"编程"
- 然后变成:"如何学习 编程"
- 接着继续联想下一步:"如何学习编程 快速"、"如何学习编程 入门"、"如何学习编程 免费"
- 再自己选一个,如此循环...
用搜索引擎架构术语类比:
1. 输入tokens = 搜索查询分词
- 就像你把搜索查询"如何学习编程"分成:["如何", "学习", "编程"]
- tokens就是文本被切分成的基本单位(词或子词)
2. 输出概率分布 = 联想词排名算法
- 传统搜索引擎:统计用户输入后的常见搜索词,给出推荐
- 大语言模型:用神经网络计算所有可能下一个词的概率
- 比如"入门"概率30%,"快速"概率25%,"免费"概率20%...所有词加起来概率100%
3. 采样 = 选择联想词
- 确定性方式:直接选概率最高的(就像用户总是点第一个联想词)
- 随机性方式:根据概率随机选(有时选"入门",有时选"快速")
4. 追加并重复 = 连续联想
- 传统搜索引擎:联想只基于用户已输入的内容
- 大语言模型:联想基于整个生成的文本,包括自己刚选的词
实际例子对比:
搜索引擎(用户操作):
- 用户输入:"今天天气"
- 系统联想:"今天天气 怎么样"、"今天天气 北京"
- 用户自己选择或继续输入
- 最终查询:"今天天气北京"
大语言模型(自动生成):
- 输入:"今天天气"
- 模型计算:下一个词可能是"真"(40%)、"很"(30%)、"在"(20%)...
- 模型选择"真"(采样)
- 现在文本是:"今天天气真"
- 模型计算:下一个词可能是"好"(60%)、"不错"(20%)、"热"(15%)...
- 模型选择"好"
- 继续...直到生成:"今天天气真好,适合出门散步。"
关键区别理解:
| 方面 | 搜索引擎 | 大语言模型 |
|---|---|---|
| 互动方 | 用户选择联想词 | 模型自己选择下一个词 |
| 上下文 | 只基于用户输入 | 基于完整生成文本 |
| 输出 | 给出推荐列表 | 直接生成完整文本 |
| 终止 | 用户停止输入或点击搜索 | 遇到结束符或长度限制 |
技术栈映射(方便理解):
- Tokenizer(分词器) ≈ 搜索引擎的query parser
- Transformer模型 ≈ 超级复杂的联想算法,能考虑长距离依赖
- Softmax概率分布 ≈ 联想词的点击率预测,但覆盖所有词汇
- 自回归生成 ≈ 连续联想、层层递进
为什么这样设计?
这样循环生成的好处是:
- 灵活性:可以生成任意长度的文本
- 上下文感知:每一步都考虑到之前生成的所有内容
- 可控性:可以通过调整采样策略影响生成风格
就像如果搜索引擎的联想功能可以自己不断延伸,最终替你写完整个搜索查询,甚至直接给出答案——这就是大语言模型在做的。
这个循环过程本质上就是"联想→选择→延伸→再联想"的自动化版本。
浙公网安备 33010602011771号