Transformer浅谈

4 阅读3分钟

一句话介绍

Transformer是一套处理序列的工具架构,先通过训练学会人类语言模式,再在使用时靠自注意力动态理解上下文、消除歧义,最终按概率生成合理的回答

1 最顶层逻辑:总纲

人类和大模型对话,本质也是和计算机对话,计算机本质是冷冰冰的数字,无法理解人类复杂的语言,所以,计算机需要一个翻译器,将人类语言翻译成计算机语言,计算机才能理解,Transformer就是这个的最佳翻译器。

  1. 人类语言复杂:  有序、有歧义、有上下文、有丰富语义,计算机本身完全不懂

  2. 计算机只懂数字:  无法理解文字、语义、顺序、歧义

  3. 需要一套专门处理序列的方案:  早期RNN/CNN都不够强。

  4. Transformer就是这套方案:  一个基于自注意力的架构工具

  5. 先训练,再使用:

    • 训练:用海量文本学语言模式,存在莫模型权重里
    • 推理:用学到的模式,计算并生成合理回答

2 第一层逻辑:为什么语言必须专门处理?

  • 顺序决定语义(我打你 ≠ 你打我)
  • 一词多义(苹果 = 水果 / 手机 / 公司)
  • 存在长距离依赖(前文后文要关联)
  • 计算机只认数字,不懂意义、顺序、结构

必须把自然语言 -> 计算机可计算的向量序列

3 第二层逻辑:Transformer怎么把语言转成计算机能懂的东西?

  • 词嵌入:  把每个词变成向量
  • 位置编码:  高速模型词语顺序
  • 自注意力(核心):  让每个词看全句,吸收上下文信息
  • 多层网络:  提炼成语义更强的向量

最终得到:**带顺序、带上下文、消歧义的语义向量序列

4 第三层逻辑:自注意力到底怎么消歧义、懂语义?

以“苹果”为例:

  1. 每个词生成Q、K、V

    • Q:我要查什么
    • K:别人的标签
    • V:别人的信息
  2. 用Q匹配所有K,酸相关度(注意力分数)

  3. 分数越高,吸收越多信息

  4. 吸收后,苹果变成不同向量

  • 吸收“一台、买” -> 手机
  • 吸收“吃、甜” -> 水果

同一个词,上下文不同,向量不同,歧义自动消失

5 第四层逻辑:模型凭什么知道谁和谁分数高?

  • 模型不是天生懂
  • 先经过大规模训练:看海量文本,学习人类搭配规律
  • 训练过程不断调整Q、K、V权重
  • 训练完成后,权重固定
  • 经常搭配的词、向量方向接近 -> 分数自然高

分数高不高,是训练出来的统计规律,不是理解

6 第五层逻辑:训练 vs 推理

  • 训练阶段(Transformer = 学习工具)

    • 输入海量句子
    • 用自注意力抓上下文、搭配、规律
    • 猜错就改权重
    • 最终学到一套固定的语言模式
  • 推理阶段(Transformer = 计算工具)

    • 输入问题
    • 再次运行自注意力,动态酸上下文关系
    • 按学到的模式,预测下一个概率贵高的词
    • 逐词生成,形成回答

Transformer全程提供计算结构,不存储知识;知识存在权重里

7 最终逻辑链

  1. 人类语言复杂,计算机不懂
  2. Transformer是处理序列、建模语义的架构工具
  3. 训练时:用自注意力学语言规律,存为固定权重
  4. 推理时:用自注意力算上下文关系,消歧义
  5. 模型不是真正理解语义,只是按人类语言概率生成回答