小技巧大功效,「仅阅读两次提示」让循环语言模型超越Transformer++

小技巧大功效,「仅阅读两次提示」让循环语言模型超越Transformer++

💡 原文中文,约5000字,阅读约需12分钟。
📝

内容提要

研究者提出了JRT-RNN循环大语言模型架构,通过重复提示信息和使用PLA线性注意力公式来改善模型性能。实验结果显示JRT-RNN在多个任务上显著提升性能,比传统Transformer模型更高效。

🔎

延伸解读

数据排序如何影响循环模型的内存效率

文章指出,循环语言模型在推理时使用恒定内存,但内存有限导致难以记住长上下文中的所有信息。数据排序会显著影响内存需求:例如,当提示为[问题, 文档]时,模型只需记住文档中的一个事实;而[文档, 问题]则需记住所有事实。理论分析表明,将较小的集合放在首位可以降低内存压力。这提示我们,在实际使用循环模型时,调整输入顺序可能是一种简单有效的优化手段。

JRT-Prompt:简单重复提示带来的显著提升

JRT-Prompt策略通过在上下文中重复提示信息(如问题和文档),让模型在第二轮及以后基于完整上下文决定存储哪些信息,从而缓解数据排序问题。实验显示,该方法在16个循环语言模型和6项ICL任务上平均提升11.0个百分点,且吞吐量是FlashAttention-2的11.9倍。值得注意的是,JRT-Prompt也可用于现成的Transformer模型,并可能比少样本学习更有效。

JRT-RNN:结合编码器-解码器与线性注意力的高效架构

JRT-RNN受Prefix-LM启发,在编码器端使用非因果线性注意力,解码器端使用因果线性注意力,并采用独立的映射权重。训练目标结合了下一个token预测和掩码语言建模。在360M和1.3B参数下,JRT-RNN相比仅解码器基线分别提升13.7和6.9个百分点,与Transformer++的差距缩小到0.5和1.9个百分点内。其生成吞吐量在序列长度32768时是FlashAttention-2的19.2倍,显示出高效性。

性能提升的边界与潜在权衡

尽管JRT-RNN在记忆密集型任务上表现优异,但在非记忆任务(如罕见二元组)上,其困惑度比仅解码器模型更差,因为JRT-RNN只计算了65% tokens的损失。研究者预计这一差距会随着规模和训练时间延长而缩小。此外,JRT-Prompt虽然增加了上下文长度,但亚二次架构仍比二次Transformer更高效。这些发现提醒读者,新方法并非全面超越,需根据任务类型权衡使用。

❓

Q&A

JRT-RNN模型的主要创新点是什么?

JRT-RNN模型通过重复提示信息和使用PLA线性注意力公式来改善模型性能,显著提升了效率和质量。

JRT-Prompt策略如何提高循环语言模型的性能?

JRT-Prompt策略通过在上下文中重复信息,使模型在生成答案时能更有效地存储信息,从而提升性能。

JRT-RNN在生成任务中的表现如何?

JRT-RNN在生成任务中的吞吐量是FlashAttention-2的19.2倍,显示出其高效性。

数据排序对循环语言模型的影响是什么?

数据排序在推理期间影响模型在有限内存中存储信息的难度,正确的排序可以降低记忆问题。

JRT-RNN与传统Transformer模型相比有什么优势?

JRT-RNN在多个任务上显著提升性能,比传统Transformer模型更高效,且在内存使用上更具优势。

JRT-RNN的参数设置对性能有何影响?

在360M和1.3B参数设置下,JRT-RNN分别提供了13.7和6.9个百分点的质量改进。

🏷️

标签

➡️

继续阅读