步骤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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐