如果你刚入门大模型,这篇文章帮你从"听说过大模型"进化到"能跟产品经理解释清楚大模型在干嘛"。本文分三块:模型本源(认识你调用的这位同事)、训练相关(了解它是怎么被"培训"上岗的)、交互基础(掌握怎么跟它沟通)。
🤖 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 字的区别
| 中文 | 一个汉字 | 可能 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毕业的本科生,可能比一个普通学校的博士生更厉害
参数量和硬件需求
| 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:更新的对齐技术有哪些?
准备好,继续硬核之旅!💪
