在《大语言模型之四-LlaMA-2从模型到应用》的LLama-2推理图中可以看到,在输入“你好!”时,是串行进行的,即先输入“你”这个token,然后是“好”,再然后是“!”token,前一个token需要保留前面的k和v矩阵,这就意味着随着输入sequence length的增长,需要的内存也会快速增长,计算量也会快速增长。这也显示了Transformer尽管在模型训练的时候并发(相比RNN)性能好,且模型的效果也好,但是推理的时候效率就比较低。
RetNet特点
微软提出的RetNet在训练并发、模型效果以及推理效率上都取得了不错的效果。下图是其paper中关于模型性能和推理效率和Transformer的对比情况。
其官方paper宣称,其实验数据显示,在语言建模任务上:
RetNet 可以达到与 Transformer 相当的困惑度(perplexity)
推理速度达8.4倍
推理算法延迟降低90%
内存占用减