happy-llm项目task04: Transformer搭建
·
步骤1: embedding 层(预处理)
- 问题
将自然语言序列转为机器能够处理的向量。 - 解决方法
在输入网络前,将自然语言序列,通过分词器切成token, 并给予每一个token一个index。 - 数据形状
输入往往是一个形状为 (batch_size,seq_len,1)的矩阵;
内部其实是一个可训练的(Vocab_size,embedding_dim)的权重矩阵;
拼接成(batch_size,seq_len,embedding_dim),作为矩阵输出;
步骤2:位置编码
- 思想
输入序列的顺序提供了极其重要的信息,可以加以利用 - 计算方法
根据序列中 token 的相对位置对其进行编码,再将位置编码加入词向量编码中。 - 编码方式
方式有很多,Transformer 使用了正余弦函数来进行位置编码 - 数学上推导(待补充)
链接:
https://github.com/datawhalechina/happy-llm
更多推荐
所有评论(0)