diff --git a/assets/image-20240421212923027.png b/assets/image-20240421212923027.png new file mode 100644 index 0000000..61332e2 Binary files /dev/null and b/assets/image-20240421212923027.png differ diff --git a/人人都能看懂的Transformer/第一章——Transformer网络架构.md b/人人都能看懂的Transformer/第一章——Transformer网络架构.md index e9fcce5..fd35bc4 100644 --- a/人人都能看懂的Transformer/第一章——Transformer网络架构.md +++ b/人人都能看懂的Transformer/第一章——Transformer网络架构.md @@ -56,9 +56,17 @@ > 这里用英文的输入,引文英文输入使用代码更容易理解 -如样本“LLM with me”(大模型和我),通过GPT2Tokenizer转换成索引[3069, 44, 351, 502],再结合位置信息编码,如[1,2,3]。最终转成向量数据继续传递,通过三个不同的线性变换生产Q、K和V向量,每一份对应一个头,如GPT是12头,则是向量 × 3 × 12 份数据。 +如样本“LLM with me”(大模型和我),通过GPT2Tokenizer转换成索引[3069, 44, 351, 502],转成向量后再结合位置信息编码,如[1,2,3]。继续向上传递。 -> 你可能好奇,为什么LLM with me会有4个索引,后面会详细解答。另外位置编码不会向1,2,3这么简单的叠加,后面也会详解。 +> 你可能好奇,为什么LLM with me明明是3个词会有4个索引,后面会详细解答,并提供代码。另外位置编码不会向1,2,3这么简单的叠加,后面也会详解。 -另外需要注意的是,每个子模块都会叠加N次,如GPT-3就据说叠加了175层。即最终是向量 × 3 × 12 × 175。 + + +### 语义关系学习(多头注意力) + +![语义关系学习](/Users/xueweiguo/Desktop/GitHub/AiLearning-Theory-Applying/assets/image-20240421212923027.png) + +向量传入后,通过语义关系学习(一系列计算),得出一个矩阵,维度是4 × 4的矩阵。矩阵里的每个值都是数字,数字代表了文字对应其它文字的语义关系,越高表示与其它文字的关系越近,越小则表示越疏远。 + +> 实际上是通过三个不同的线性变换生产Q、K和V向量(实际是3条线,为了简化前面用1条线表达),每一份对应一个头,如GPT是12头,则是向量 × 4 × 3 × 12 份数据。另外需要注意的是,每个子模块都会叠加N次,如GPT-3就据说叠加了175层。即最终是向量 × 4 × 3 × 12 × 175。当然我们这里只用向量 × 4 × 1 × 1 × 1 即 向量 × 4 × 3 1头1个子模块,以方便大家理解。