文章目录
- [LLM 基础学习笔记](#LLM 基础学习笔记)
-
- [一、先聊聊:怎么给 AI 打分](#一、先聊聊:怎么给 AI 打分)
-
- [1. BLEU:翻译界的"连连看"](#1. BLEU:翻译界的"连连看")
- [2. ROUGE:摘要界的"划重点"](#2. ROUGE:摘要界的"划重点")
- [3. PPL:模型的"心虚指数"](#3. PPL:模型的"心虚指数")
- 二、三大模型架构:三种性格的同事
-
- [1. BERT:阅读理解狂魔(自编码,Encoder-only)](#1. BERT:阅读理解狂魔(自编码,Encoder-only))
- [2. GPT:话痨(自回归,Decoder-only)](#2. GPT:话痨(自回归,Decoder-only))
- [3. Seq2Seq:翻译官(Encoder-Decoder)](#3. Seq2Seq:翻译官(Encoder-Decoder))
- 三、一张表收工
P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,传送门https://blog.csdn.net/HHX_01
LLM 基础学习笔记
一、先聊聊:怎么给 AI 打分
你让 AI 翻译一句话,翻得好不好,不能光靠你"感觉还行"。感觉这东西,连你自己都信不过------你昨天还觉得那件衣服穿上显瘦呢。
所以得有客观标准,就像考试得有评分标准。不然老师心情好给你 99,心情差给你 59,全凭天命,你连申诉都不知道该去哪申诉。
NLP 圈混得最熟的三位考官,就仨:BLEU、ROUGE、PPL。今天挨个把它们的底裤掀了。
1. BLEU:翻译界的"连连看"
BLEU 全名"双语评估替补"。听名字像个万年替补队员,实际上它是翻译比赛的主裁判,权力大得很。
它的玩法很朴素:把你 AI 生成的话,跟人工翻译的参考答案摆一起,数一数有多少"词组"对上了。这里的词组叫 n-gram,n 一般取 1 到 4,1 元是单字,2 元是俩字连一起,以此类推。对上越多,分越高,满分 1 分。
# 1-gram 举例:数单字重合
生成:我喜欢猫
参考:我喜欢狗
重合:3 / 4 → 0.75 分
# 就这都能拿 75 分,可见这标准有多好糊弄
它还有个"简短惩罚",专门防模型输出太短骗分。原理跟考试一样------你交白卷,老师想给你分都没地方下笔;你写个"略"字指望满分?门都没有。
但 BLEU 有个硬伤:它只看字面重合,完全不懂语义。"我很高兴"跟"我开心极了",人类一眼就看出是同一个意思,BLEU 一看:这俩词不一样啊,扣分!
好比你相亲,姑娘明明说"我有空",媒人非说这跟"我闲着"不是一个词,不算数。你就说冤不冤。
2. ROUGE:摘要界的"划重点"
ROUGE 跟 BLEU 是亲兄弟,但性格完全不同。BLEU 看的是"你说出来的词,有多少在参考答案里"------这叫精确率,像学霸反复检查自己写得对不对;ROUGE 看的是"参考答案里的重点词,你有没有漏掉"------这叫召回率,像老师划完重点问你背了没。
摘要任务最怕什么?最怕你写得倒是通顺,结果重点全丢了。
就像你让同学帮你总结一部电影,他给你讲了半小时男女主角是怎么认识的,然后告诉你:结局我忘了。这种摘要,ROUGE 直接给你打低分,一点都不带犹豫的。
ROUGE-L 稍微高级点,用最长公共子序列看语序,专治那种"重点全提到了但顺序乱成一锅粥"的选手。
3. PPL:模型的"心虚指数"
PPL 全称 Perplexity,翻译过来叫"困惑度"。但我更愿意叫它"心虚指数",这名字一听就懂。
你让模型预测下一个词,它要是每次都信心满满猜中,PPL 就低,最低能到 1;它要是每次都在那"嗯......啊......这个......那个......",PPL 就高得吓人。说白了,这就是在测模型心里有没有底。
# 训练时的玩法:盖住一个词,让模型猜
输入:我 [MASK] 猫
模型(自信):撸 → PPL 很低,像个正常人
模型(犹豫):征服宇宙 → PPL 爆炸,它可能喝多了
不过 PPL 低不代表一切。有的模型 PPL 低得惊人,一到下游任务照样翻车。就像有人选择题全对,你一问为什么,他说:我全蒙的 C。你也没辙,对吧。
再补充一句:BLEU 和 ROUGE 都得有参考答案才能打分,PPL 不用,扔给它一段原文它自己就能算。一个非要标准答案,一个自己出题自己考,境界就不一样。
二、三大模型架构:三种性格的同事
Transformer 出来以后,NLP 界分成了三派:自编码、自回归、序列到序列。对应到公司里,就是三个性格完全不同的同事,你迟早会遇到他们。
1. BERT:阅读理解狂魔(自编码,Encoder-only)
BERT 是典型的"先听完再说话"型选手。它训练的时候,把句子里的词随机盖住,让你猜被盖住的是啥,而且左右两边的信息它都能看。
# 掩码语言模型(MLM)
输入:我喜欢 [MASK] 猫
BERT:根据前后文,这里应该是"撸"
它看一个词,左边右边全看一遍,这叫双向注意力。好处是理解能力直接拉满:文本分类、情感分析、命名实体识别、语义相似度、阅读理解,全是它的主场。
但你要让它写文章?它当场摆烂。没有解码器,它根本不会一个字一个字往外蹦。就像公司里那个特别会做 PPT 分析的同事,你让他上台讲两句,他当场石化,PPT 翻到第二页就开始"这个......那个......"。
2. GPT:话痨(自回归,Decoder-only)
GPT 是典型的"嘴在前面跑,脑子在后面追"型选手。它只会看过去,看不到未来------这叫因果注意力。你也可以叫它"赌徒注意力":全靠历史走势猜下一注,赢了喊牛,输了怪庄家。
生成的时候,它一个词一个词往外蹦,蹦完这个词,把结果再喂给自己,继续蹦下一个,循环到天荒地老:
# GPT 生成流程,简化到不能再简化
for i in range(不知道多少个 token):
next_token = model.predict(我已经说过的所有词)
输出 next_token
# 就这么朴素,这么原始,但人家就是能编段子
你别说,就是靠这套"蹦词大法",GPT 成了现在绝大多数大模型的标配架构。对话、写故事、写代码、编段子,全是它的活儿,简直是个全能话痨。
但它也有毛病:天生单向,对整句话的理解不如 BERT。你让它做个情感分析,它得先微调一下,不然容易把"我真服了"理解成在夸你。
3. Seq2Seq:翻译官(Encoder-Decoder)
Seq2Seq 是"先听完整再转述"型选手,架构最完整:一个编码器,一个解码器,一个都不少。
流程很清晰,两步走:
-
Encoder:把输入整个听完,压缩成一组"重点笔记"(学术点叫上下文向量);
-
Decoder:拿着笔记,再结合自己已经说过的内容,一个字一个字往外倒。
机器翻译的完整链路
输入(中文):今天天气真好
Encoder → 压缩成重点笔记
Decoder → 输出(英文):The weather is nice today这不就是同声传译吗?只不过比同传靠谱,因为人家听完才翻
T5、BART 都是这个路子。机器翻译、文本摘要、复述改写,这些"把 A 序列变成 B 序列"的转换活儿,全是它的主场。用一句话总结:一边理解输入,一边生成输出,两头都占,两头都通。
三、一张表收工
技术文章嘛,最后必须来一张表,不然总觉得缺了点什么:
| 架构 | 代表模型 | 组件 | 注意力 | 核心定位 | 典型任务 |
|---|---|---|---|---|---|
| 自编码 | BERT | 仅 Encoder | 双向 | 理解 | 分类、NER、语义匹配 |
| 自回归 | GPT | 仅 Decoder | 单向因果 | 生成 | 对话、写作、续写 |
| 序列到序列 | T5 / BART | Encoder + Decoder | 编码双向,解码单向 | 序列转换 | 翻译、摘要、改写 |
评估指标也顺带复习一遍:
- BLEU 管翻译,看生成词组的精确匹配;
- ROUGE 管摘要,看参考重点的召回覆盖;
- PPL 管模型底子,看它预测下一个词心里有没有底。
最后提醒一句:这些自动指标都只是参考,别太当真。就好比考试分数高的不一定真懂,分数低的也不一定真差------最终还得靠人工评测拍板。
毕竟,机器打分再准,也准不过你亲眼看到它翻车时,从嘴里发出的那一声"啧"。
P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,传送门https://blog.csdn.net/HHX_01