大模型底层逻辑(二):注意力机制,AI 如何在信息海洋里“划重点”?

0 阅读3分钟

在上一篇中,我们知道了 AI 把文字拆成了 Token,并给它们分配了空间坐标(Embedding)。但问题来了:孤立的单词是没有意义的。

比如“苹果”这个词:

  • 在“苹果很好吃”里,它是水果。
  • 在“苹果发布了新手机”里,它是公司。

AI 是如何根据周围的词来确定一个词的具体含义的?答案就是 Attention(注意力机制)


1. 什么是注意力机制?(打比方)

想象你在参加一个嘈杂的鸡尾酒会。虽然屋子里有 50 个人在说话,但当有人喊你的名字时,你会立刻过滤掉所有背景噪音,只听那一句话。

大模型的注意力机制也是如此: 当它处理一个 Token 时,它会给序列中所有的其他 Token 打分,决定哪些词对理解当前词最重要。

注意力分配图(Mermaid)

以句子 The animal didn't cross the street because it was too tired 为例,看 AI 如何理解 it

代码段

graph TD
    IT[Token: it]
    
    subgraph "Attention Weights (权重分配)"
        IT -- 85%权重 --> Animal[animal]
        IT -- 5%权重 --> Street[street]
        IT -- 10%权重 --> Tired[tired]
    end

    Animal --> Result[结论: it 指代的是 animal]
    style Animal fill:#f96,stroke:#333

2. 核心三要素:Query, Key, Value (Q, K, V)

这是大模型面试或深入学习时必考的“三剑客”。我们可以把注意力计算想象成一次相亲/匹配过程:

  • Query (查询 - Q): “我想要什么?”(当前 Token 发出的搜索请求)。
  • Key (键值 - K): “我有什么?”(其他 Token 贴在身上的标签)。
  • Value (数值 - V): “我具体的内容是什么?”(匹配成功后提取的信息)。

流程: Q 与所有的 K 进行匹配计算,算出一个相关性分数,然后根据分数把对应的 V 加权求和,就得到了这个词在当前语境下的真实含义。


3. 上下文窗口 (Context Window):AI 的“短期内存”

注意力机制虽好,但它有个致命弱点:计算量巨大。 因为每一个 Token 都要和之前所有的 Token 算一遍关系,随着字数增加,计算量呈指数级增长。

这就是为什么:

  • Context Window 是有限的: 比如 128k 或 1M Token。超过这个长度,模型就会“断片”,忘记最开始的内容。
  • 这也是 RAG 存在的意义: 既然内存(Context)放不下整本书,我们就只把最相关的几页(通过注意力计算发现最相关的部分)塞进这个窗口。

4. 衔接 2026 年新架构:系统提示词的作用

为什么 System Prompt(系统提示词) 放在最前面最有效?

因为在注意力机制中,第一批进入窗口的 Token 会被后续所有的 Token “反复观看”。

  • 如果你在 System Prompt 里写了“你是一个刻薄的评论家”,
  • 那么后面生成的每一个词,都会给“刻薄”和“评论家”这两个词分配极高的注意力权重

加载原理启示: 所谓的“加载 Skill”或“注入 Rule”,本质上就是通过操纵注意力权重,强行改变模型生成下一个词的概率分布。


5. 总结:第二课的心得记录

  • 词无定义,义随境迁: 一个词的含义取决于它对谁付出了“注意力”。
  • QKV 是核心: 理解了 QKV 的匹配,就理解了模型是如何进行逻辑关联的。
  • 内存是昂贵的: 上下文窗口的限制,决定了我们必须使用 RAGMCP 来实现长效记忆。