1. 推理流程
从获取用户输入开始到生成文本,整个推理过程大概分为几个步骤:
- 分词: 输入文本先经过tokenizer分词器转换为数字形式的序列,这些数字就是单词在词典(vocab)中的索引编号;
- 向量嵌入: 将数字序列通过embedding得到高维度的向量;
- 解码器运算:将这些向量通过解码器进行复杂的推理运算,生成下一个词的数字索引,循环多次运算就能生成整个索引序列;
- 输出: 用tokenizer分词器来还源这些数字序列,得到人类可以理解的自然语言。

其中对于解码器的运算部分,有两个主要特点:
- 采用的是自回归方式解码,逐词生成输出序列,并且每次输入时模型都会带上上一次输出的结果。
例如:生成的第一个单词
I后会作为生成第二个单词的输入,生成的第二个单词am又会作为生成第三个单词的输入。
生成式语言模型的任务特点:在阅读前n个单词后预测句子中下一个单词,输出取决于过去和现在输入,与未来无关。
- 采用多层解码器堆叠结构,每一层的计算模型相同而参数矩阵不同,目的是从不同层次逐步提取和转换输入的特征。
每个token的生成都要经过所有层逐步计算获得,每经过一层后计算的结果都会更准确。
另外,在decode layer之后有一个linear+softmax层,是为了对hidden_states生成语言模型中下一个词元的概率分布。
具体过程:通过线性变换将hid


2万+

被折叠的 条评论
为什么被折叠?



