提示工程与大语言模型交互:我的学习记录(二)
本文继续记录我与 AI 导师的学习对话,涵盖提示工程、文本分词和模型选择等核心知识点。
前言
上一篇文章记录了我学习 Transformer 架构的过程。这次继续学习如何与大语言模型"对话"——也就是提示工程(Prompt Engineering)。
第一章:提示工程
1.1 为什么 Prompt 很重要?
我:Prompt 是什么?
AI导师:Prompt 就是我们与 LLM"大脑"沟通的语言。
我:Prompt 可以让大语言模型知道我们想做什么,好的 Prompt 可以达到事半功倍的效果?
AI 导师:正确!
Prompt(提示)就是我们给大语言模型的指令。好的 Prompt 能让模型更准确地理解我们的需求,给出更好的回答。
例子:
-
差 Prompt:"做道好吃的" → 模糊,结果不确定
-
好 Prompt:"做道不放辣的粤菜,主食用米饭" → 明确,结果更符合预期
1.2 温度(Temperature)
温度是控制模型输出"随机性"与"确定性"的关键参数。
| 温度 | 效果 | 适用场景 |
|---|---|---|
| 低(0-0.3) | 保守、确定、重复率高 | 事实问答、代码生成 |
| 中(0.3-0.7) | 平衡、自然 | 日常对话、邮件撰写 |
| 高(0.7-2) | 创新、发散、可能不连贯 | 创意写作、头脑风暴 |
例子:
-
低温度问"1+1等于几" → 几乎总是回答"2"
-
高温度问"给我一个公司名" → 可能得到各种创意名字
1.3 Top-k 和 Top-p
模型在生成下一个词时,会计算每个候选词的概率。Top-k 和 Top-p 是控制候选词选择的两种方法。
Top-k:固定选择概率最高的 k 个词
假设有5个候选词:
A: 40% B: 25% C: 20% D: 10% E: 5%
用 Top-k=3,选择前3个:A、B、C
Top-p:累加概率,直到达到阈值 p
用 Top-p=60%:
-
A: 40%(累加40%)
-
B: 25%(累加65%)→ 超过60%,停止
-
选中:A、B
两者对比:
| 方法 | 特点 | 例子 |
|---|---|---|
| Top-k | 固定数量 | 不管概率分布如何,都选3个 |
| Top-p | 动态适应 | 概率集中少选,分布均匀多选 |
为什么 Top-p 更智能?
情况一(概率集中):
A: 90% B: 5% C: 3%
Top-k=3 选3个,Top-p=60% 选1个 → 合理!
情况二(概率均匀):
A: 22% B: 21% C: 20%
Top-k=3 选3个,Top-p=60% 选3个 → 也合理!
1.4 Zero-shot、One-shot、Few-shot
根据提供的示例数量,提示可以分为三种类型:
Zero-shot(零样本):不给任何示例,直接问
输入:这部电影太精彩了! 情感:
One-shot(单样本):给1个示例
例子:这家餐厅的服务太差了!→ 负面 输入:这部电影太精彩了! 情感:
Few-shot(少样本):给2个或更多示例
例子1:这家餐厅太差了!→ 负面 例子2:这个产品很好用!→ 正面 输入:这部电影太精彩了! 情感:
效果:示例越多,模型理解任务越准确。
1.5 思维链(Chain-of-Thought)
对于需要逻辑推理、计算或多步骤思考的复杂问题,直接让模型给出答案容易出错。
普通回答:
问:一个球队80场赢了60%,又赢了15场中的12场,总胜率? 答:63.16%
思维链回答:
问:...(同上) 答:好的,我们一步步算。 第一步:80场赢了60% = 48场 第二步:总比赛95场,总胜利60场 第三步:60/95 ≈ 63.16% 答:63.16%
关键:加一句引导语"请一步一步思考"或"Let's think step by step"
第二章:文本分词
2.1 为什么要分词?
计算机只能处理数字,不能处理文本。所以在将文本喂给 LLM 之前,必须先转换成数字格式。
文本:"今天" → 分词 → [101, 205, 340] → 计算机能处理
2.2 三种分词方式
按词分(Word-based):
优点:每个词有独立语义 缺点:词太多(约10万+),存在OOV(未登录词)问题
按字符分(Character-based):
优点:词表小(约几十个字符),无OOV问题 缺点:单个字符无语义,需要组合才能理解
按子词分(Subword):现代主流方法
核心思想:
-
常用词保持完整:agent、learns
-
罕见词拆开:Tokenization → Token + ization
2.3 BPE 算法
BPE(Byte Pair Encoding)是最主流的子词分词算法之一,GPT 系列采用这种算法。
核心思想:统计词对频率,逐步合并最高频的相邻词对。
具体例子:
初始语料库:
h u g p u g p u n b u n
第一步:统计词对频率
-
"ug" 出现2次(hug、pug)
-
"pu" 出现2次(pug、pun)
-
"un" 出现2次(pun、bun)
-
其他词对各出现1次
合并"ug":
h ug p ug p u n b u n
第二步:继续合并
-
"un" 出现2次,合并
h ug p ug p un b un
第三步:
-
"un" 出现2次(pun、bun)
-
合并 "un":
pug bun h ug p un
最终词表:学会了"ug"、"un"等常见词对
遇到新词怎么办?
假设遇到未见过的词"bug":
-
查找"bug" → 不在词表
-
查找"bu" → 不在
-
查找"ug" → 找到了!
分词结果:b + ug
重要理解:
-
BPE 决定怎么"拆分"词
-
但模型理解语义,靠的是上下文语境和注意力机制,不是拆分本身
-
训练语料中"bug"出现过多次,模型从上下文学会"bug"=虫子/烦恼
第三章:模型的选择
3.1 选择模型的关键维度
| 维度 | 说明 |
|---|---|
| 性能与能力 | 推理强不强?擅长什么任务? |
| 成本 | API费用或部署成本 |
| 速度/延迟 | 响应快不快? |
| 上下文窗口 | 能处理多长的文本? |
| 部署方式 | API调用还是本地部署? |
| 生态与工具链 | 社区支持如何? |
3.2 闭源 vs 开源模型
闭源模型(如 GPT-4、Claude、Gemini):
-
优点:开箱即用、性能最强
-
缺点:数据要发第三方、花钱
开源模型(如 Llama、Qwen):
-
优点:数据隐私、完全可控、可微调
-
缺点:需要自己部署、配置
第四章:缩放法则与局限性
4.1 缩放法则(Scaling Laws)
缩放法则揭示了模型性能与规模之间的可预测关系。
Chinchilla 定律:
之前认为"模型越大越好"(GPT-3: 1750亿参数)
后来发现:模型应该更小,但用更多数据训练。
例子:Chinchilla(700亿参数)用4倍数据训练,性能反而超越 GPT-3!
核心结论:参数量和训练数据量要平衡
4.2 能力涌现(Emergence)
当模型规模达到某个阈值时,会突然出现之前没有的能力。
小模型(几百亿参数):做不了复杂数学题 大模型(超过千亿参数):突然能做对了!
4.3 幻觉(Hallucination)
幻觉 = 模型编造不存在的信息
例子:
问:《伤寒论》第100条讲什么? 答:第100条讲的是桂枝汤...(可能编造)
解决方案:RAG(检索增强生成)
用户问题 → 检索真实古籍条文 → 基于条文回答
总结
本次学习覆盖了与大语言模型交互的核心知识:
| 知识点 | 核心 |
|---|---|
| 提示工程 | 好的 Prompt 事半功倍 |
| 温度 | 低=保守,高=创新 |
| Top-k/p | 控制候选词选择 |
| Few-shot | 示例越多理解越准 |
| CoT | 分步骤推理更准 |
| BPE | 子词分词,统计高频词对 |
| 幻觉 | RAG 可以缓解 |
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)