GPT原理

1.TOKEN化:把原始文本划分字词序列。这个过程通过BPE(byte pair encoding)实现,BPE把原始文本出现频率高的字节对进行合并,是一种压缩算法。GPT3使用了50257个子词,BPE会基于这个词典进行字节对压缩。这里每个子词就是一个TOKEN。
2.Encoding-向量化:把压缩后的文本序列变成数值。每个token对应一个数值。这样把无序的token变成连续的向量空间,才可以进行计算和学习。
3.Embedding嵌入:嵌入的逻辑目的是把一个词的属性信息和这个词进行关联,形成一个特征向量。计算的视角看就是通过互联网海量文本信息学习分析一个子词和其他词之间的关联度,并赋予亲密值。通过嵌入我们可以把一个子词看成高维空间的一个点,这些点之间的距离和方向就是子词之间的相似度和差异性。如猫和狗同为宠物。
4.Prediction预测:基于给定的文本计算下一个子词出现的频率。比如我是一只,下一个词可能是猫或狗,而不会是桌子。
5。生成:分为自回归和自编码两种。GPT采用自回归方式。就是基于前面各个时间点之间的联系和依赖,生成下一个子词。
6。transformer-attention自注意力机制:查看文本中每个token并决定哪些对理解含义最重要。相比之前的RNN循环神经网络,transformer的自注意力可以同时计算句子中所有单词,可以处理更复杂的句子。比如对interest的理解,基于上下文的in或on,rate或bank,基于全文摘要可以理解interest的含义。
7.束搜索:基于token每次预测下一个值,全局不一定是最优的。束机制不禁关注序列中的下一次词,而是考虑一组较大令牌集合的概率,考虑多路径获得更连贯的结果。
来自 豆瓣App
还没人赞这篇日记