GPT 模型
模型结构
GPT 模型结构有以下关键词:
- Decoder-only Transformer
- 因果掩码 Attention
- KV Cache
计算过程
粗略计算过程
输入:token 序列 [x_1, x_2, \dots, x_n],其中每个向量都是一个整数 输出:下一个词的概率分布 [p_1, p_2, \dots, p_m],m 为词汇表大小(vocabulary)
流程:
- 逐个 token 进行 embedding e_i = \mathcal{E}(x_i),得到 [e_1, \dots, e_n],e_i \in \mathbb{R}^{d_k}
- 使用带因果掩码的自注意力处理序列,得到中间层 [h_1, \dots, h_n],h_i \in \mathbb{R}^{d_k}
- 逐个 token 通过 MLP,得到 [h_1', h_2', \dots, h_n'],h_i' \in \mathbb{R}^{d_k}。此处 MLP 与位置无关,所有位置的 embedding 都通过的同一个 MLP
- 对序列重复以上因果掩码 attention、MLP 若干次,最终得到输出 [y_1, \dots, y_n],y_i \in \mathbb{R}^{d_k}
- 让 y_n 经过 LM Head(一个 Linear 层)映射得到 l \in \mathbb{R}^m
- l 就是下一个词的 logit,对其 softmax 就得到了概率分布,[p_1, p_2, \dots, p_m] = \operatorname{softmax}(l)
KV Cache
以上的完整计算流程实质上接近于 prefill 的原理,但中间的自回归式生成并不是这样计算的。
BEYOND THE ARTICLE
读完了,有什么想法?
阅读已保存的问答示例,并循着引用回到原文。
— 本文完 — 返回文章列表