diff --git a/assets/.DS_Store b/assets/.DS_Store index 1d23360..a609181 100644 Binary files a/assets/.DS_Store and b/assets/.DS_Store differ diff --git a/assets/image-20240421164147356.png b/assets/image-20240421164147356.png deleted file mode 100644 index 7932794..0000000 Binary files a/assets/image-20240421164147356.png and /dev/null differ diff --git a/assets/image-20240421164249158.png b/assets/image-20240421164249158.png deleted file mode 100644 index 9cbac63..0000000 Binary files a/assets/image-20240421164249158.png and /dev/null differ diff --git a/assets/image-20240421205946626.png b/assets/image-20240421205946626.png new file mode 100644 index 0000000..571ce19 Binary files /dev/null and b/assets/image-20240421205946626.png differ diff --git a/人人都能看懂的Transformer/第一章——Transformer网络架构.md b/人人都能看懂的Transformer/第一章——Transformer网络架构.md index f760360..e9fcce5 100644 --- a/人人都能看懂的Transformer/第一章——Transformer网络架构.md +++ b/人人都能看懂的Transformer/第一章——Transformer网络架构.md @@ -50,12 +50,15 @@ -### 文字向量化 +### 文字向量化 & 位置编码 -![输入向量化](../assets/image-20240421164249158.png) +![文字向量化](../assets/image-20240421205946626.png) +> 这里用英文的输入,引文英文输入使用代码更容易理解 +如样本“LLM with me”(大模型和我),通过GPT2Tokenizer转换成索引[3069, 44, 351, 502],再结合位置信息编码,如[1,2,3]。最终转成向量数据继续传递,通过三个不同的线性变换生产Q、K和V向量,每一份对应一个头,如GPT是12头,则是向量 × 3 × 12 份数据。 -如样本“我在搞懂大模型”,通过某种方法转换成数值后,假设为[12,31,172, ..., 52, 02],再结合位置信息编码,假设为[1,2,3,4,5,6,7]。结合后通过三个不同的线性变换生产Q、K和V向量,每一份对应一个头,如GPT是12头,则是向量 × 3 × 12 份数据。 +> 你可能好奇,为什么LLM with me会有4个索引,后面会详细解答。另外位置编码不会向1,2,3这么简单的叠加,后面也会详解。 + +另外需要注意的是,每个子模块都会叠加N次,如GPT-3就据说叠加了175层。即最终是向量 × 3 × 12 × 175。 -另外需要注意的是,每个子模块都会叠加N次,如GPT-3就据说叠加了175层。即最终是向量 × 3 × 12 × 175。 \ No newline at end of file