|
|
@ -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。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 语义关系学习(多头注意力)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
向量传入后,通过语义关系学习(一系列计算),得出一个矩阵,维度是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个子模块,以方便大家理解。
|
|
|
|
|
|
|
|
|
|
|
|