词嵌入技术、注意力机制、MoE架构、主流Transformer架构

词嵌入技术演进:从Word2Vec、GloVe到Transformer动态嵌入

一、Word2Vec:基于局部上下文的静态词嵌入

一句话总结

Word2Vec通过浅层神经网络,利用滑动窗口内的局部上下文预测目标词(CBOW)或通过目标词预测上下文(Skip‑gram),将每个词映射为一个固定长度的稠密向量。

核心思想

  • 分布假说:语义相似的词出现在相似的上下文中。
  • 训练方式
    • CBOW:用上下文词预测中心词,训练快,适合高频词。
    • Skip‑gram:用中心词预测上下文词,对低频词更友好。
  • 加速技巧:负采样(Negative Sampling)或层次Softmax(Hierarchical Softmax)。

优点

  • 训练效率高,可处理大规模语料。
  • 词向量具有线性语义运算能力(如"国王‑男人+女人≈王后")。

局限

  • 静态表示:一个词只有一个向量,无法解决一词多义。
  • 依赖局部窗口:难以捕捉长距离依赖。
  • 未登录词:训练时未见过的词无法生成向量。

二、GloVe:基于全局共现矩阵的静态词嵌入

一句话总结

GloVe通过构建全局词‑词共现矩阵,并对其对数进行低秩分解,使词向量的点积逼近共现概率的对数,从而融合全局统计信息。

核心思想

  • 构建共现矩阵 ( X_{ij} )(词 ( i ) 出现在词 ( j ) 上下文中的次数)。
  • 关键洞察:概率比(如 ( P_{ice,solid}/P_{steam,solid} ))比原始频次更能体现语义关系。
  • 损失函数:加权最小二乘,拟合 ( w_i \cdot w_j + b_i + b_j = \log X_{ij} )。

优点

  • 充分利用全局语料统计,对低频词更鲁棒。
  • 在小规模语料上表现通常优于Word2Vec。
  • 训练稳定,无需负采样等技巧。

局限

  • 静态表示(一词多义问题依旧存在)。
  • 需要存储共现矩阵,内存消耗较大(尽管可用稀疏格式)。
  • 无法处理未登录词。

三、现代基于Transformer的词嵌入机制

一句话总结

Transformer通过多层自注意力机制动态融合上下文信息,使每个词的表示不再是固定向量,而是根据所在句子实时计算,从而彻底解决一词多义问题。

核心机制

  • 输入层:仍使用静态Token Embedding + 位置编码(保留基础语义和顺序)。
  • 自注意力层:每个词与序列中所有词交互,逐层聚合上下文信息。
  • 动态性:同一个词在不同句子中经过相同的网络参数,但由于上下文不同,最终输出向量完全不同。

代表性模型

  • BERT:双向Transformer,通过掩码语言建模(MLM)预训练,可提取任意层输出作为上下文相关的词嵌入。
  • GPT:单向(因果)Transformer,适合生成任务,同样输出动态表示。
  • LLaMA/Qwen等:在Transformer基础上改进(RMSNorm、RoPE、SwiGLU等),但词嵌入的动态本质不变。

优点

  • 一词多义:自动区分(如"苹果"在水果和公司语境下向量不同)。
  • 长距离依赖:自注意力直接建模全序列关系。
  • 层次化语义:浅层捕捉语法,深层捕捉语义。

局限

  • 计算开销大:自注意力复杂度 ( O(n^2) ),推理慢。
  • 需要大量数据:预训练成本高。
  • 可解释性较低:比静态嵌入更难观察语义关系。

四、总结对比表

维度 Word2Vec GloVe Transformer(动态)
统计方式 局部滑动窗口 全局共现矩阵 全序列自注意力
表示性质 静态(每个词一个向量) 静态 动态(依赖上下文)
一词多义 ❌ 无法区分 ❌ 无法区分 ✅ 自动区分
长距离依赖 ❌ 窗口有限 ❌ 间接通过共现矩阵 ✅ 直接建模
未登录词 ❌ 无法处理 ❌ 无法处理 ✅ 子词分词解决
训练复杂度 O(T)(T为词数) O(T + V²)(V词表大小) O(L·n²·d)(L层,n序列长)
推理速度 极快(查表) 极快(查表) 慢(需前向传播)
典型应用 快速原型、轻量任务 中小语料、语义类比 深度理解、生成任务

五、选型建议

  • 资源受限 / 需要快速部署:Word2Vec 或 GloVe。
  • 需要高质量、能处理一词多义的语义表示:使用BERT等动态嵌入,并可根据任务微调。
  • 大语言模型应用:直接用LLM的隐藏状态,无需单独提取静态词嵌入。

一句话总结演进:从"每个词一个固定ID"到"每个词根据上下文实时计算ID"------词嵌入从静态查表走向动态理解,是NLP从"符号匹配"迈向"语义理解"的关键跃迁。

MHA、MQA、GQA:多头注意力机制的三种变体

在Transformer中,多头注意力(Multi-Head Attention, MHA) 是核心组件。随着大模型对推理效率的要求越来越高,研究者提出了MQA(Multi-Query Attention)GQA(Grouped-Query Attention),在保持质量的同时大幅减少KV缓存,提升推理速度。


一、MHA(Multi-Head Attention,标准多头注意力)

定义

每个注意力头独立拥有自己的查询(Q)、键(K)、值(V) 权重矩阵。输入经过线性变换后,分成多个头并行计算注意力,最后拼接并线性变换输出。

公式

特点

  • 参数量:( h ) 组独立的 ( W^Q, W^K, W^V ),参数量大。
  • KV缓存:解码时每个token需缓存所有头的K、V,内存占用高。
  • 表达能力:最强,每个头可学习不同的注意力模式。

优缺点

优点 缺点
表达能力强,性能最好 推理时KV缓存大,内存带宽瓶颈
训练稳定,广泛应用 长序列生成时显存爆炸

二、MQA(Multi-Query Attention,多查询注意力)

定义

所有头共享同一份K和V,仅Q保持独立。即每个头有自己的 ( W^Q ),但所有头共用一套 ( W^K ) 和 ( W^V )。

图示(简略)

复制代码
         Q0 Q1 ... Qh
         │  │      │
K ──────┼──┼──────┤    (所有头共享同一个K)
V ──────┼──┼──────┤    (所有头共享同一个V)
         ▼  ▼      ▼
       attn0 attn1 ... attnh

特点

  • KV缓存:只需缓存1份K和1份V(而不是h份),内存占用降低为 ( 1/h )。
  • 参数量:大幅减少,尤其K、V矩阵。
  • 推理速度:显著提升,尤其长序列生成。

优缺点

优点 缺点
推理极快,KV缓存小 表达能力下降,质量略有损失
内存友好,适合大模型推理 训练可能不如MHA稳定

代表模型

  • PaLMGeminiLLaMA 1/2(部分版本) 等。

三、GQA(Grouped-Query Attention,分组查询注意力)

定义

MHA与MQA的折中:将头分成若干组,每组内共享K和V,但组间独立。设总头数为 ( h ),组数为 ( g ),则每组有 ( h/g ) 个头共享同一份K、V。

  • 当 ( g = h ) 时,GQA退化为MHA(每组1个头,完全独立)。
  • 当 ( g = 1 ) 时,GQA退化为MQA(所有头一组,完全共享)。

图示(以h=8, g=2为例)

复制代码
组0: 头0 头1 头2 头3 → 共享K0,V0
组1: 头4 头5 头6 头7 → 共享K1,V1

特点

  • KV缓存:缓存 ( g ) 份K、V(MHA缓存h份,MQA缓存1份)。
  • 性能:接近MHA,优于MQA。
  • 效率:接近MQA,优于MHA。

优缺点

优点 缺点
平衡质量与效率,最佳折中 需要选择分组数,超参数敏感
推理快,显存占用适中 实现比MQA略复杂

代表模型

  • LLaMA 2/3QwenDeepSeek 等主流大模型普遍采用GQA。

四、对比总结表

特性 MHA MQA GQA
K/V独立程度 每头独立 所有头共享 分组内共享
KV缓存大小 ( h \cdot d_k \cdot L ) ( 1 \cdot d_k \cdot L ) ( g \cdot d_k \cdot L )
参数量 中等
推理速度 最快
模型质量 最高 略低 接近MHA
典型应用 训练、小模型 极速推理 大模型推理标准

h :头数,d_k :每个头的维度,L:序列长度


五、选择建议

  • 训练阶段:通常使用MHA(或GQA,便于推理部署)。
  • 推理阶段(长序列、高并发):优先选择GQA(LLaMA 3、Qwen等),或MQA(对速度极致要求可接受质量损失)。
  • 资源极度受限:MQA可进一步减少KV缓存。

六、一句话总结

MHA让每个头独立学习最强表达,但推理代价高;MQA让所有头共享K/V,推理极快但质量略降;GQA分组共享,在质量和效率间取得最佳平衡,成为现代大模型推理的标准选择。

MoE架构详解:门控路由、Top-k激活与负载均衡

混合专家(Mixture of Experts, MoE)是一种通过稀疏激活扩展模型容量的架构:模型包含多个"专家"(通常是独立的FFN子网络),但每个输入仅激活其中少数几个专家,从而在计算成本几乎不变的情况下大幅增加参数量。


一、MoE核心组件

一个标准的MoE层由三部分组成:

  1. 专家网络(Experts):一组并行的FFN(通常 ( E_1, E_2, ..., E_n )),每个专家有自己的可训练参数。
  2. 门控网络(Gating Network / Router):一个轻量级网络,为每个输入计算各专家的得分,决定哪些专家被激活。
  3. 聚合输出:将激活专家的输出按权重加权求和。

数学形式

对于输入 ( x ):

其中 ( G(x) ) 是门控网络输出的权重向量(通常稀疏,大多数元素为0)。


二、门控路由(Gating Routing)

门控网络的作用是为每个token(或每个输入)选择最合适的专家。常用实现:

2.1 可学习线性门控

输出所有专家的概率分布,然后选择Top-k个专家。

2.2 带噪声的门控(用于负载均衡)

噪声项鼓励探索,避免路由塌陷。

2.3 路由策略

  • Token Choice Routing:每个token独立选择专家(最常见,如Switch Transformer、Mixtral)。
  • Expert Choice Routing:每个专家选择Top-k个token,保证负载均衡(稳定性好,但可能造成token未被处理)。

三、Top-k激活(Sparse Activation)

为了保持计算稀疏,每个输入仅激活得分最高的 ( k ) 个专家(通常 ( k=1 ) 或 ( k=2 ))。

公式

为什么Top-k?

  • 计算效率:FFN的计算量与激活专家数成正比,k=1或2时,计算量仅为稠密模型的 ( k/n )。
  • 容量扩展:专家总数 ( n ) 可以很大(如几十上百),但每个token只激活少量,总参数量巨大但推理FLOPs可控。

示例(k=2, n=8)

复制代码
输入 x → 门控得分 [0.1, 0.7, 0.0, 0.4, 0.9, 0.2, 0.0, 0.3]
Top-2 索引:专家4(0.9)、专家1(0.7)
输出 = 0.9*E4(x) + 0.7*E1(x)   (其他专家贡献0)

四、负载均衡(Load Balancing)

MoE训练中常见问题:门控网络倾向于始终激活少数几个专家,导致专家"坍塌"(collapse),其他专家未被训练。负载均衡通过引入辅助损失强制专家被均匀使用。

4.1 重要性均衡(Importance)

要求一批数据中,每个专家被选中的总概率接近相等。

辅助损失

4.2 Switch Transformer 的负载均衡损失

4.3 专家容量(Expert Capacity)

除损失外,还可设置每个专家处理的最大token数(容量因子)。超出容量的token被丢弃(残差连接处理),强制负载均衡。

4.4 其他技术

  • 随机路由:以一定概率随机选择专家,打破确定性偏好。
  • 辅助损失系数:通常很小(如0.01),避免主导主损失。

五、MoE整体架构图(文本)

复制代码
输入 token → 门控网络(线性+Softmax+Top-k)
                  │
    ┌─────────────┼─────────────────────┐
    │             │                     │
    ▼             ▼                     ▼
专家1          专家2         ...       专家n
(FFN)         (FFN)                   (FFN)
    │             │                     │
    └─────────────┴─────────────────────┘
                  │
            加权求和(仅激活专家)
                  │
               输出

六、主流MoE变体

模型 专家数 Top-k 负载均衡策略
Switch Transformer 8~2048 1 辅助损失 + 容量因子
GShard 8~2048 2 辅助损失 + 随机路由
Mixtral 8x7B 8 2 辅助损失(无容量丢弃)
DeepSeek-MoE 64 6 共享专家 + 细粒度分割 + 设备限制定向
Qwen2.5-MoE 60 4 辅助损失 + 专家偏差项

七、一句话总结

MoE通过门控网络为每个输入动态选择Top-k个专家(稀疏激活),并结合负载均衡损失和容量约束,在计算成本可控下大幅扩展参数量,成为大模型千亿参数的核心技术。

三种主流Transformer架构的应用与特点

1. Decoder-Only(自回归生成架构)

典型模型

GPT系列、LLaMA、Qwen、DeepSeek等大多数现代大语言模型。

核心机制

  • 因果自注意力(Causal Attention) :使用下三角掩码(Triangular Mask),每个token只能看到它自身及之前的token,无法看到未来信息。
  • 自回归生成:推理时逐个生成token,每次将新生成的token追加到输入序列末尾,再预测下一个。

工作流程

复制代码
输入序列 → 嵌入层 → 多层Decoder(带三角Mask)→ 最后一层输出
                                              ↓
                        取最后一个位置的向量 → 线性映射 → Softmax → 采样下一个词

典型应用

  • 文本生成:故事创作、代码生成、邮件撰写
  • 对话系统:ChatGPT、各类聊天机器人
  • 文本补全:代码补全、句子续写
  • 少样本学习:通过提示词直接执行多种任务

优点

  • 训练简单(只需预测下一个词)
  • 推理自然支持自回归生成
  • 扩展性好,适合超大规模模型

2. Encoder-Only(双向理解架构)

典型模型

BERT、RoBERTa、DeBERTa等。

核心机制

  • 双向自注意力(Bidirectional Attention)无掩码限制,每个token可以同时看到序列中所有其他token(左右上下文)。
  • 预训练任务:掩码语言建模(MLM,预测被[MASK]的词)和下一句预测(NSP)。

工作流程

复制代码
输入序列(含[MASK])→ 嵌入层 → 多层Encoder(全可见)→ 最后一层输出
                                                      ↓
                                  取[MASK]位置的向量 → 线性映射 → 词汇概率 → 预测被掩码的词

典型应用

  • 自然语言理解(NLU):情感分析、意图识别
  • 文本分类:垃圾邮件检测、新闻分类
  • 序列标注:命名实体识别(NER)、词性标注(POS)
  • 句子对任务:语义相似度、自然语言推理(NLI)
  • 问答系统:抽取式问答(如SQuAD)

优点

  • 双向上下文理解能力强,适合"理解"任务
  • 微调后在下游NLU任务上表现优异

3. Encoder-Decoder(序列转换架构)

典型模型

T5、BART、原始Transformer(用于机器翻译)。

核心机制

  • 编码器(Encoder):双向注意力,将输入序列编码为隐状态表示。
  • 解码器(Decoder):因果自注意力(带掩码)+ 编码器-解码器交叉注意力,自回归生成目标序列。
  • 预训练任务:去噪自编码(如T5的"文本乱序恢复")或翻译任务。

工作流程

复制代码
输入序列 → 编码器(双向注意力)→ 编码器输出
                                    ↓
开始符 → 解码器(自回归,带掩码+交叉注意力)→ 逐步生成输出序列

典型应用

  • 机器翻译:源语言→目标语言
  • 文本摘要:长文档→简短摘要
  • 文本改写:语法纠错、风格转换
  • 问答生成:给定上下文,生成答案
  • 结构化数据转文本:表格→描述文本

优点

  • 输入和输出可以长度不同,且两者可以有不同的词汇表
  • 编码器-解码器注意力让解码器能够灵活"查阅"输入序列的全部信息
  • 适合序列到序列的转换任务

三、对比总结表

特性 Decoder-Only Encoder-Only Encoder-Decoder
注意力掩码 下三角(因果掩码) 无掩码(全可见) 编码器无掩码,解码器有因果掩码+交叉注意力
预训练任务 自回归语言建模(预测下一个词) 掩码语言建模(MLM) 去噪自编码或翻译
推理方式 自回归逐个生成 一次性输出(分类/标注) 自回归生成目标序列
典型应用 文本生成、对话、代码补全 情感分析、NER、分类 机器翻译、摘要、文本改写
代表模型 GPT、LLaMA、Qwen BERT、RoBERTa T5、BART、原始Transformer
优势 生成流畅,扩展性强 双向理解,微调性能高 序列转换质量最高

四、选型建议

  • 需要生成连贯文本、对话或代码Decoder-Only(如GPT系列)
  • 需要理解句子含义、分类或提取信息Encoder-Only(如BERT)
  • 需要将一段文本转换为另一段不同形式的文本Encoder-Decoder(如T5)

值得注意的是,现代超大规模模型(100B+参数)几乎都采用Decoder-Only架构,因为它在扩展性和通用生成能力上最具优势;而Encoder-Only和Encoder-Decoder在小模型和特定任务上仍有不可替代的价值。

相关推荐
志摩凛3 小时前
被产品经理逼疯后,我们重构了移动端上传组件——2026最新成果复盘
设计模式·架构
cylgdzz1113 小时前
DSP技术架构深度拆解
后端·架构
菜鸟小码4 小时前
Hive数据模型、架构、表类型与优化策略
hive·hadoop·架构
Omics Pro4 小时前
华大等NC|微生物多样性与抗菌物质发现
大数据·人工智能·深度学习·语言模型·excel
在秃头的路上啊4 小时前
Cascade R50 + PointRend
深度学习
张忠琳4 小时前
【vllm】(五)vLLM v1 Attention — 模块超深度分析之五
ai·架构·vllm
数智工坊4 小时前
R-CNN目标检测算法精读全解
网络·人工智能·深度学习·算法·目标检测·r语言·cnn
Aray12344 小时前
Qwen3.6‑27B 开源发布:27B 稠密模型,实现旗舰级智能体编码能力
transformer·qwen3.6·27b
我母鸡啊5 小时前
软考架构师故事系列-数据库系统
后端·架构