NVIDIA 发布 TwoTower 架构,兼顾速度质量
NVIDIA 说不定已经解决了大语言模型(LLM)里最大的权衡问题。所有大语言模型都必须让你在速度和质量之间二选一。像 GPT 这样的自回归模型能给你不错的质量,但速度很慢,因为它们一次只生成一个token。扩散模型则刚好相反。它们并行生成整个块,所以速度很快,但这种速度一直以来都要牺牲质量作为代价。
在讲 NVIDIA 的解决方案之前,我们先搞懂为什么扩散模型一开始效果就不好。扩散大语言模型从一块被掩码的token块开始,经过几轮迭代逐步去掩码。每一轮迭代,它都会读取目前已经生成的所有文本,然后一起预测这个块里被掩码的token。所以同一个网络要同时做两项完全不同的工作。它既要理解已经存在的上下文,还要猜测尚未存在的token。同一组权重要向两个方向拉扯,结果哪一项都做不好。
TwoTower 通过不强迫一个网络做两件事解决了这个问题。它把一个预训练的自回归模型克隆成两个塔。第一个是固定的上下文塔,和原模型一样,读取目前已经生成的所有内容。它不需要训练,所以模型的智能可以完整保留。第二个是可训练的去噪塔,并行填充每个新的token块。为了保证生成正确,它持续对上下文塔做交叉注意力。两个塔逐层连接,所以去噪层 5 和上下文层 5 交互,以此类推。这让去噪塔获得主干网络完整的多尺度理解能力,而不只是最终的概括。
最终结果是:
↳ 生成吞吐量提升 2.42 倍
↳ 保留了原模型 98.7% 的质量
↳ 基于 30B 混合 Mamba-Transformer MoE 主干构建
↳ 仅用约 2.1T token 训练,只是原预训练模型 25T token 用量的一小部分
整个过程没有从零开始训练任何内容。它是你可以在已有自回归模型基础上做的适配,把原来缓慢的逐token解码,变成快速的并行块生成,成本很低。所以如果你在开发任何对延迟敏感的产品,可以看看这个方案。你现在不需要在你信任的模型和你需要的速度之间做选择了。权重和代码全部开源。
论文链接:
如果你想了解更深入的内容,我写了一篇详细文章,从基础原理开始一步步讲解大语言模型推理。文章引用如下。
本文由 AI 翻译自英文原帖,技术名词保留英文。
查看 X 原帖