关于NLP模型GPT-2的学习笔记(二)
前言
上一次我们介绍了GPT模型的基本结构,下面对于GPT的基本工作流程进行介绍:
一、GPT-2基本机制
GPT-2 可以处理最长 1024 个单词的序列。每个单词都会和它的前续路径一起经过所有的解码器模块。
运行一个训练好的 GPT-2 模型,最简单的方法就是让它自己随机工作(生成无条件样本)。我们也可以给它一些限制条件,让它生成一些关于特定主题的文本(即生成交互式条件样本)。在随机情况下,我们只简单地提供一个预先定义好的起始单词,然后让它自己生成文字。
此时,模型的输入只有一个单词,所以只有这个单词的路径是活跃的。单词经过层层处理,最终得到一个向量。向量可以对于词汇表的每个单词计算一个概率。我们选择概率最高的单词作为下一个单词。
但有时这样会出问题——就像如果我们持续点击输入法推荐单词的第一个,它可能会陷入推荐同一个词的循环中,只有你点击第二或第三个推荐词,才能跳出这种循环。同样的,GPT-2 也有一个叫做「top-k」的参数,模型会从前 k个概率较大的单词中选取下一个单词。当top-k = 1时,就是选取概率最大的单词作为输出。目前很多训练模型的默认top-k在8左右,当默认值生成的效果不好时,可以调整到40看看效果。
模型每输出一个单词就会将输出的单词添加在输入序列的尾部构建新的输入序列&#