它怎么知道“it”指的是什么?
它怎么知道“it”指的是什么?
自注意力 · 入门 · 5 分钟 · attention、transformer、llm
自注意力是语言模型决定每个词该关注哪些其他词的方式:每个词都会给其他所有词打分,而这些分数是从文本中学到的,不是由规则写死的。
开始前:你能向朋友解释这个吗?1 2 3 4 5
1 = 完全不能 · 5 = 轻松
- 1 先猜
“The animal didn’t cross the street because it was too tired.” 模型如何判断“it”指什么?
- A 有人写进去的语法规则
- B 选择最近的名词
- C 每个词都给其他所有词打分,分数是学来的
- 2 看
“it”指向谁?
1 / 4
0 % The
83 % animal
0 % didn
0 % '
0 % t
0 % cross
0 % the
5 % street
0 % because
0 % it
0 % was
0 % too
5 % tired
真实的 bert-base-uncased 注意力,一个头(#220)
句子像剧场里的一个个角色。“it”在台前,打着光。还没有分数。
◀
-
-
-
重置 ▶
一个词变了,光就从“animal”移到“street”:分数看的是整句,不是最近的名词。
- 它不像你那样从左往右读。所有片段同时看向所有片段,每一对都会得到一个分数。分数高 = 关注。没有人把分数输进去;它们来自阅读大量文本。
- 4 你就是模型
你拿着光。点击你认为光会停留的座位,按“扫描”,然后把“tired”切换成“wide”再试一次。
0 % The 83 % animal 0 % didn 0 % ' 0 % t 0 % cross 0 % the 5 % street 0 % because 0 % it
0 % was 0 % too 5 % tired 点击你认为光会停留的座位
把“tired”切换成“wide” 扫描
我做好了——给我看模型
- 5 检查
在“……because it was too wide”中,“it”应该给哪个座位最高分?A animal
- B street
- C wide
- 为什么叫“自”?因为句子给自己打分:没有外部帮手,没有查表。这也是它能跟随一整段而不只是一行的原因——每个片段都能一步到达其他任何片段。
- 7 复述
用一句话向朋友解释自注意力。比较
- 8 任务 · 2 分钟
打开一个免费聊天机器人。粘贴“The animal didn’t cross the street because it was too tired”,问它“it”指什么。然后粘贴“too wide”版本。再试“The dog chased the cat because it was fast”,看它如何含糊其辞。
[打开 ChatGPT 免费版](/offer/chatgpt-free/) 完成
三个小问题
从本课题库中随机抽取;下次会不同。
完成?
现在:你能向朋友解释这个吗?1 2 3 4 5
1 = 完全不能 · 5 = 轻松
标记完成 先回答三个小问题。
深入阅读
- Transformer Explainer(Georgia Tech)——输入你自己的句子
- 3Blue1Brown——可视化解释 transformer 中的注意力
- Jay Alammar——图解 Transformer
来源
- https://research.google/blog/transformer-a-novel-neural-network-architecture-for-language-understanding/(动物/街道示例)
- https://arxiv.org/abs/1706.03762(Vaswani 等,2017)
- 图中的权重是示意值,直到 E2b(#220)采用 GPT-2 small 的数值。