欢迎光临
我们一直在努力

1.1 模型本源:LLM、Token、上下文窗口、参数量、幻觉、涌现能力

如果你刚入门大模型,这篇文章帮你从"听说过大模型"进化到"能跟产品经理解释清楚大模型在干嘛"。本文分三块:模型本源(认识你调用的这位同事)、训练相关(了解它是怎么被"培训"上岗的)、交互基础(掌握怎么跟它沟通)。

🤖 1.1 模型本源

LLM(大语言模型)

是什么?

Large Language Model,基于海量文本"喂"出来的大模型。能跟你对话,写代码,编小说,堪称程序员的外挂大脑。

本质上是个什么?

如果用程序员的方式理解:它就是一个​超级高级的 Autocomplete​。

传统 Autocomplete:next_word = predict_next_word(current_text)
LLM 本质:next_token = predict_next_token(context_window)

​**本质上,它是"接龙大师"**​:给定前文,预测下一个 token,然后循环调用,直到凑出完整回答。没有什么神秘魔法,就是概率 + 统计 + 暴力美学。

核心原理

组件作用
Transformer 注意力机制,让模型"看到"上下文每个词的关系
自回归生成 一次吐一个 token,像打字机一样往外蹦
海量预训练 读遍全网文本,学会语言的各种姿势

关键参数

参数说明
参数量 7B/13B/70B/405B… 越大越贵,但也可能越笨(看训练质量)
上下文窗口 能一次性处理多少 token,决定了它的"背书能力"
训练语料 TB 级别的文本数据,吃的越多懂得越多

应用场景

  • 写代码(Copilot)、写文案、聊天机器人
  • 摘要总结,知识问答,多语言翻译
  • 推理分析,角色扮演

常见误区

  • ❌ 参数量越大越聪明 — 这就像说"代码行数越多系统越牛 X",显然不是。
  • ❌ LLM 真的"理解"语义 — 它只是在学 token 序列的统计相关性。所以别神话它。

Token(词元)

是什么?

LLM 处理文本的最小单元。不是按"字"或"词"切分,而是按"语义块"切分。

为什么要叫 Token?

因为中文、英文、日文每种语言的"最小语义单元"不一样:

英文:"Hello" → 1个词 → 约 1.3 个 token
中文:"你好" → 2个字 → 约 1-2 个 token(取决于分词器)
代码:"function()" → 4-5 个 token(每个符号算一个)

Token vs 字的区别

方面字Token
中文 一个汉字 可能 1-2 个 Token
英文 一个单词 可能 1-3 个 Token
代码 一个符号 每个符号 1 个 Token

一个直观的比喻

想象你在玩一个成语接龙游戏:

LLM = 成语接龙大师
Token = 成语

用户:"胸有成竹"
LLM:下一个是"竹…"
用户继续:"竹篮打水一场空"
LLM:下一个是"空…"

只不过 LLM 的"词汇库"比成语大得多
它可以接"龙"、接"话"、接"气"…

Token 的计数方式

# OpenAI 的 tiktoken 库可以看 Tokenizer 长什么样
import tiktoken

enc = tiktoken.get_encoding("cl100k_base") # GPT-4 用这个

text = "Hello, world!"
tokens = enc.encode(text)
print(tokens) # [15496, 11, 1917, 0]

text2 = "你好,世界!"
tokens2 = enc.encode(text2)
print(tokens2) # [39575, 234, 108, 136, 113, 124]
# 中文一个token大概对应1-2个汉字

Token 和费用的关系

GPT-4 API 定价:
– Input: $0.03 / 1K tokens ≈ $0.03 / 750个汉字
– Output: $0.06 / 1K tokens

所以写 Prompt 的原则:
✅ 简洁明了,别废话
✅ 用 Markdown 格式化,减少无意义字符
❌ 不要重复描述同一个概念

Token 限制的坑

GPT-4 Turbo 的上下文窗口:128K tokens
看起来很大,但实际使用中:

1. 你的 Prompt 可能占 10K tokens
2. 检索到的文档可能占 50K tokens
3. 历史对话可能占 40K tokens
4. 剩余给回答的:128K – 100K = 28K tokens

所以别以为 128K 就能随便用
控制好 Token 分配才是王道

常见误区

  • ❌ 中文每个字 = 1 个 Token — 错,中文 token 化后通常是 1-2 个字一个 token
  • ❌ Token 限制是指输入 + 输出 — 通常是指单次输入的 tokens 数

上下文窗口(Context Window)

是什么?

LLM 在生成回答时能"看到"的最大 Token 数量。就像一个只能容纳 N 张便签的白板,超过就看不见了。

为什么叫"窗口"?

因为它是一个"滑动窗口"——你可以把窗口移动到文档的任意位置,但一次只能看到窗口内的内容。

一个 4K 上下文窗口的例子:

文档:"从前有座山,山里有座庙,庙里有个老和尚在讲故事…"

窗口位置1:"从前有座山,山里有座庙" ← 窗口内,能看到
窗口位置2:"庙里有个老和尚在讲故事" ← 窗口内,能看到
窗口位置3:"故事讲的是:从前有座山…" ← 窗口内,能看到

如果文档很长,窗口外的部分 LLM 就完全"看不见"

上下文窗口的大小对比

模型上下文窗口约等于
GPT-3.5 4K / 16K 一篇中等长度文章
GPT-4 8K / 32K 一本短篇小说
GPT-4 Turbo 128K 一本《哈利波特》
Claude 3 200K 1-2 本长篇小说
Gemini 1.5 1M 一部完整的美剧

上下文窗口的"迷惑性"

⚠️ 上下文窗口大 ≠ 回答质量好

常见误解:
"我把整本书都喂给 LLM,它就能完美回答关于这本书的问题"

现实:
– 500K tokens 的上下文,LLM 对中间部分的记忆最弱
– 这叫 "Lost in the Middle"(中间迷失)
– 书的前100页和后100页 LLM 记得最清楚
– 中间的情节可能记混或记错

解决之道:
1. RAG(检索增强)— 只检索最相关的片段
2. 摘要压缩 — 把长文档压缩成摘要
3. 多次检索 — 分段检索再合并

上下文窗口的实际应用

# 场景:分析一份 10 万字的技术文档

# ❌ 错误做法:直接塞进上下文
prompt = f"""请分析以下文档:
{document_100k_tokens}

问题:文档的核心观点是什么?"""
# 结果:可能超出限制,或者"中间迷失"

# ✅ 正确做法:分块检索
chunks = split_document(document, chunk_size=5000) # 分成20块
relevant_chunks = retrieve_top_k(question, chunks, k=5) # 只检索最相关的5块

prompt = f"""基于以下参考资料:
{relevant_chunks}

问题:{question}"""
# 结果:精准回答

常见误区

  • ❌ 上下文窗口越大越好 — 大窗口也有"中间迷失"问题
  • ❌ 塞满上下文窗口效果最好 — 适当精简,聚焦关键信息
  • ❌ LLM 会记住所有上下文内容 — 长文本中间部分最容易丢失

参数量(Parameters)

是什么?

模型中可学习参数的数量。通常用"B"表示 Billion(十亿)。

为什么参数量重要?

参数量 = 模型"脑容量"

7B 参数模型 ≈ 70亿个可调阀门
70B 参数模型 ≈ 700亿个可调阀门

就像:
– 7B = 一只猫的大脑容量(但比猫聪明亿点点)
– 70B = 一只狗的大脑容量(但比狗聪明万点点)
– 405B = 一个仓鼠… 呃,比喻不下去了

主流模型参数量对比

模型参数量备注
GPT-3 175B GPT-3.5 的前身
GPT-4 ~1.8T(MoE) 官方没说具体数字
Claude 3 未公开 Anthropic 没公布
Llama 2 7B / 13B / 70B 开源,最流行
Llama 3 8B / 70B 当前最强开源
Qwen 2.5 7B / 32B / 72B 国产之光
DeepSeek V3 236B MoE 架构,国产新秀

参数量 vs 效果的关系

参数量和效果的关系不是线性的:

7B 参数 → 能跑对话,但推理能力有限
13B 参数 → 对话更流畅,推理能力提升
70B 参数 → 接近 GPT-3.5 水平
405B 参数 → GPT-4 级别(但实际效果还看训练)

但:
参数量 ≠ 智能

一个 70B 训练差的模型,可能不如一个 7B 训练好的模型

类比:
– 参数量 = 脑容量
– 训练质量 = 教育水平

一个985毕业的本科生,可能比一个普通学校的博士生更厉害

参数量和硬件需求

参数量FP16 显存INT4 量化后推荐显卡
7B 14GB 3.5GB RTX 3060 12GB
13B 26GB 6.5GB RTX 4090 24GB
34B 68GB 17GB A100 40GB × 1
70B 140GB 35GB A100 80GB × 2

常见误区

  • ❌ 参数量越大越聪明 — 训练质量同样重要
  • ❌ 参数量 = 算力需求 — 量化后可以在消费级显卡上跑 70B
  • ❌ 开源模型永远追不上闭源 — Llama 3 70B 已经接近 GPT-3.5

幻觉(Hallucination)

是什么?

LLM 一本正经地胡说八道。它不知道自己说的是真的还是假的,一切都是"概率"。

为什么叫"幻觉"?

因为 AI 产生的内容就像人在"幻觉"中说的话——听起来很流畅、很有道理,但跟现实完全对不上。

一个经典的幻觉案例:

用户:请介绍一下 Apple 公司 CEO Tim Cook 的生平

AI(幻觉版):
"Tim Cook 于 1965 年出生于中国深圳,1998年加入苹果公司…"

实际情况:
– Tim Cook 出生于美国阿拉巴马州
– 1965年出生是对的,但地点完全错了

AI 的回答听起来很流畅
语法没问题
但事实是错的
这就是"幻觉"

幻觉产生的原因​

原因1:训练数据的偏差
AI 学到了太多相似的文本
当不确定时,会"平均"出一个可能的答案

原因2:上下文窗口的干扰
如果你给的上下文包含错误信息
AI 会倾向于"相信"并延续这个错误

原因3:概率生成机制
"狗的尾巴"后面最可能接"很灵活"
但如果上下文是"狗的尾巴像"…
AI 可能生成"蛇一样"(这在现实中不对,但概率上合理)

如何减少幻觉?

# 方法1:提供上下文(RAG)
# 让 AI 基于真实文档回答,而不是靠"记忆"
context = retrieve_from_knowledge_base(question)
prompt = f"基于以下资料回答:{context}

问题:{question}"

# 方法2:让 AI 标注不确定性
response = llm.generate("""
回答问题时:
1. 如果确定,标注"✅ 确认"
2. 如果不确定,标注"⚠️ 不确定"
3. 如果不知道,标注"❌ 不知道"
"""
)

# 方法3:Few-shot 示例
# 给 AI 一些"标准答案"作为参考
prompt = """
示例:
Q: 苹果的 CEO 是谁?
A: 蒂姆·库克(Tim Cook)

Q: iPhone 15 什么时候发布?
A: 我没有2024年之后的信息,无法准确回答。

现在回答:{question}
"""

幻觉的正确认识

幻觉是 LLM 的"先天缺陷",不是 bug,无法完全消除

正确态度:
✅ 接受它存在
✅ 用外部验证机制(RAG、工具调用)来兜底
✅ 关键场景必须有人的审核

❌ 不要相信 AI 说的"我确定"
❌ 不要在不确定的场景完全依赖 AI

常见误区

  • ❌ 幻觉是模型的 bug — 它是统计模型的固有特性,无法完全消除
  • ❌ 更大的模型幻觉更少 — 恰恰相反,更大的模型有时更"自信"地胡说八道
  • ❌ Prompt 能完全解决幻觉 — Prompt 是缓解,不是根治

涌现能力(Emergent Ability)

是什么?

当模型参数量超过某个临界点时,突然"涌现"出之前没有的能力。就像水在 0 度突然变成冰——不是渐变,是突变。

为什么叫"涌现"?

因为这些能力在小模型上完全不存在,突然在某个参数量级上"冒出来"了,科学家也解释不清为什么。

涌现能力的经典案例:

7B 参数模型:
❌ 不会三位数乘法
❌ 不会编写复杂代码
❌ 不会做逻辑推理题

70B 参数模型:
✅ 会三位数乘法(虽然慢)
✅ 能写中等复杂度代码
✅ 能做简单逻辑推理

这不是因为训练数据变了
只是因为"脑容量"够了
某些能力就"涌现"出来了

已观察到的涌现能力

能力涌现门槛说明
思维链(CoT) ~100B 突然会"思考"了
算术能力 ~10B 会做多位数乘法
代码生成 ~15B 能生成可用代码
多语言能力 ~7B 不只是英语
上下文学习 ~10B Few-shot 能力

涌现能力的争议

⚠️ 有人认为"涌现"是测量假象,不是真实现象

争议点:
如果用平滑的指标衡量(不是"会不会"二元判断)
很多"涌现"能力其实是渐进的

但不管怎么说:
模型越大,能力越强
这是确定的
只是"强多少"的问题

涌现能力 vs 规模定律

规模定律(Scaling Law):
模型越大 + 数据越多 = 效果越好

涌现能力(Emergent Ability):
模型越大 ≠ 慢慢变好
模型越大 = 某些能力突然出现

类比:
– 普通学习:分数从60→70→80,慢慢提升
– 涌现:就像突然"开窍",从不会到会

为什么涌现能力重要?

1. 它解释了"为什么大模型这么贵还这么多人用"
→ 因为小模型真的做不了某些事

2. 它给了 AI 发展的"希望"
→ 更大的模型可能涌现出更多能力
→ AGI(通用人工智能)或许不是梦

3. 它也带来了"焦虑"
→ 我们不知道下一个"涌现"的能力是什么
→ 也不知道它会在哪个参数量级涌现

常见误区

  • ❌ 涌现能力是模型"变聪明"了 — 更准确的说法是"能力阈值被跨越了"
  • ❌ 所有能力都是涌现的 — 有些能力(如文字补全)是随着规模线性提升的
  • ❌ 涌现能力解释了一切 — 科学家仍在研究涌现的本质

📊 本节知识地图

┌─────────────────────────────────────────────────────────────┐
│ 模型本源核心概念 │
│ │
│ ┌─────────┐ ┌─────────────┐ ┌──────────────┐ │
│ │ LLM │────→│ Token │────→│ 上下文窗口 │ │
│ │ 大语言 │ │ 词元 │ │ 窗口大小 │ │
│ │ 模型 │ │ │ │ │ │
│ └────┬────┘ └─────────────┘ └──────────────┘ │
│ │ │
│ │ ┌─────────────┐ │
│ └────────→│ 参数量 │ │
│ │ 7B/70B │ │
│ └──────┬──────┘ │
│ │ │
│ ┌────────────────┼────────────────┐ │
│ │ │ │ │
│ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ │
│ │ 幻觉 │ │ 涌现能力│ │ 训练相关 │ │
│ │ 一本正经│ │ 突然出现│ │ (下节) │ │
│ │ 胡说八道│ │ 的能力 │ │ │ │
│ └─────────┘ └─────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘


🚀 下节预告

学会了认识 LLM 这位"同事",接下来要了解:它是怎么被"培训"上岗的?

下一节我们将拆解:

  • ​预训练​:LLM 是怎么"学会"语言的?
  • ​微调 SFT​:怎么让它学会特定技能?
  • ​对齐 RLHF​:怎么让它"听话"、不乱说?
  • ​DPO / IPO​:更新的对齐技术有哪些?

准备好,继续硬核之旅!💪

赞(0)
未经允许不得转载:171主机测评 » 1.1 模型本源:LLM、Token、上下文窗口、参数量、幻觉、涌现能力
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址