在从零开始构建一个小型字符级语言模型时,简化的实现步骤是:数据准备→模型架构设计→训练→评估与生成。模型架构设计阶段的流程如下:
图1 模型架构设计阶段的流程
包含了输入层、嵌入层、解码器层和输出层。其中在嵌入层中包括了Token Embedding(词嵌入)和Positional Encoding(位置编码),那么这两个矩阵具体是如何实现的,以及它们之间有什么关系呢?
在Transformer模型中,Token Embedding(词嵌入)和Positional Encoding(位置编码)的矩阵形状关系及转换过程如下:
本文的前置基础,Windows安装Hugging Face Transformers库,看我的文章:Windows安装Hugging Face Transformers库并实现案例训练的详细教程_ktransformers本地windows安装部署-CSDN博客
从零开始构建一个小型字符级语言模型的详细教程(基于Transformer架构)之一数据准备-CSDN博客
一、矩阵形状的对应关系
1.Token Embedding矩阵
形状: (vocab_size=50, d_model=128)
作用: 将字符索引(0~49)映射到128维语义向量空间
示例:字符'h'(索引0)→ 向量[0.2, -1.3, ..., 0.7](128维)
这里是原始文本提取出来的唯一字符编码成词汇表,再将词汇表中的字符映射到128维语义向量空间。示意图如下:
图2 将所有唯一字符转换为向量表示
2. Positional Encoding矩阵
形状: (block_size=64, d_model=128)