机器学习基础(37)-语言模型解密:从词元预测到上下文理解
什么是语言模型?
语言模型就像是文字的"概率计算器",它能估算词元序列出现的可能性。词元(Token)作为语言建模的最小单位,可以是:
- 完整单词(如"cat")
- 子词部件(如"un-“、“watch”、”-ed"组合成"unwatched")
- 单个字符(特别是标点符号)
🔍 现代语言模型的词元化艺术
图:单词"antidisestablishmentarianism"被分解为6个子词
典型子词组合:
单词 | 分解示例 | 组成部件 |
---|---|---|
unwatched | un + watch + ed | 前缀+词根+后缀 |
cats | cat + s | 词根+复数后缀 |
中文单词 | 字或词组合 | 根据语义划分 |
📌 有趣事实:英语中1个词元≈4个字符≈0.75个单词,因此400词元≈300英文单词
语言模型如何工作?
🎯 预测填空游戏
考虑句子:
“当我听到屋顶的下雨声,我正在厨房___.”
语言模型给出的概率预测可能是:
概率 | 补全内容 |
---|---|
9.4% | 做汤 |
5.2% | 烧开水 |
3.6% | 蜷缩 |
2.5% | 小憩 |
2.2% | 放松 |
💡 应用场景:这个概率表可用于文本生成、翻译或摘要——选择最高概率结果或随机采样
语言模型进化史
1. N元语法模型(石器时代)
核心思想:通过相邻词序列的频率预测下一个词
典型示例:
- 二元语法(Bigram):“you are” → “very”
- 三元语法(Trigram):“orange is” →
- “ripe”(水果相关)
- “cheerful”(颜色相关)
⚠️ 局限性:上下文窗口太小,就像只记得前两个词的健忘症患者
2. 循环神经网络(工业革命)
图:RNN像传送带一样逐步处理信息
突破:
- 可学习长期依赖关系
- 动态更新隐藏状态记忆上下文
😫 痛点:
- 仍然受制于"梯度消失"问题
- 实际有效上下文长度有限(约50-100词元)
3. 现代大语言模型(智能时代)
革命性创新:
- Transformer架构
- 自注意力机制
- 超长上下文窗口(数万词元)
🌟 典型案例:
# BERT处理多义词"orange"的上下文嵌入
"orange juice" → 水果向量
"orange shirt" → 颜色向量
为什么上下文如此重要?
人类理解语言的黄金法则:
没有上下文,"bank"可能是河岸或金融机构;"苹果"可能是水果或手机品牌
语言模型进阶之路:
N元语法:2-3个词的短时记忆
RNN:段落级的记忆能力
Transformer:整本书的全局理解
技术对比表
模型类型 | 上下文长度 | 典型应用场景 | 主要缺陷 | 出现年代 |
---|---|---|---|---|
N元语法 | 2-5个词 | • 早期拼写检查 • 简单文本预测 | • 无法处理长距离依赖 • 需要大量统计存储 | 1950s |
RNN | ~100词元 | • 早期机器翻译 • 语音识别 | • 梯度消失问题 • 训练速度慢 | 1980s |
Transformer | 数万词元 | • ChatGPT等LLM • 文档摘要 | • 计算资源需求大 • 训练成本高 | 2017 |
语言模型的超能力
🎭 多轮对话理解
🌍 跨语言翻译
📝 学术论文摘要
🎨 创意写作生成
未来展望:随着上下文窗口的扩展,语言模型正在向"世界模型"进化