我最近阅读了 Jay Alammar 关于 GPT-2 的博文(http://jalammar.github.io/illustrated-gpt2/),我发现其中一点很清楚:他解释说 GPT-2 的解码器在有一次,只主动处理最后一个输入令牌,过去的令牌已经保存在内存中,并且“被动地”重复使用而无需重新评估。
根据我对转换器架构的理解,我的印象是解码器会重新评估每一代生成的每个令牌。那么这是来自 GPT-2 的解码器之间的区别,还是来自“经典”变压器的解码器也以这种方式工作?
直觉上,我认为在每次迭代中重新评估所有内容会更有意义,因为单词之间的新依赖关系可能会出现在开始时不存在的情况,如果过去处理的单词被被动重用,则不会被考虑在内。
我希望我是有道理的,了解 GPT2 架构的人可以帮助我澄清这一点吗?