CV君 2025-10-24 12:15 江苏
Meta出品,让LLM生成更多样更高能
今天和大家聊一篇来自Meta AI的有趣工作,论文标题为《The Free Transformer》。这篇论文给我们带来了一种新的思路,旨在解决当前大型语言模型(LLM)生成内容时略显“死板”的问题。
我们知道,标准的Transformer模型在生成文本时,本质上是一个接一个地预测下一个词,这个过程是确定性的。这意味着,对于同一个输入(prompt),模型总是倾向于生成相同或非常相似的输出。虽然可以通过一些采样技巧(比如temperature sampling)增加一些随机性,但模型本身的核心机制并没有改变。
那么,有没有办法让模型在“思考”的源头就引入一些可控的“自由意志”,从而生成更多样、更有创意的结果呢?这正是这篇论文要探讨的核心。作者提出了一种名为“Free Transformer”的新架构,它巧妙地将变分自编码器(VAE)的思想融入了标准的解码器Transformer中,而付出的计算代价却非常小。
要理解Free Transformer,我们可以先看看它和另外两种架构的对比。
上图清晰地展示了三者的区别:
(a) 标准解码器Transformer: 我们最熟悉的结构,根据前面的词预测下一个词。(b) 条件VAE (CVAE) 扩展: 这种方法在推理时会引入一个随机变量Z,理论上可以生成多样的内容。但它的缺点是训练时需要一个独立的、完整的编码器(Encoder)来学习如何从输入文本中提取这个Z,这带来了巨大的计算和参数开销。(c) Free Transformer: 这就是本文的主角。它非常聪明地解决了(b)的痛点。它同样引入了随机变量Z,但不是在开头,而是在模型的“腰部”——也就是中间层注入。更关键的是,它在训练时不再需要一个完全独立的编码器,而是“借用”了解码器的前半部分,再额外增加一个非因果的Transformer层来充当编码器。这种“借用”的设计是Free Transformer的核心亮点,它使得编码器的额外开销变得非常小。
深入架构细节我们再通过下面这张更详细的架构图来看看它的具体实现。
整个流程可以这样理解:
输入: 和普通Transformer一样,输入的是一串文本序列(tokens)。编码过程(仅在训练时):输入文本首先通过前半部分(L/2层)的解码器模块。其输出随后被送入一个专用的、非因果的“Encoder Non-Causal Transformer Block”(图中橙色部分)。这个模块可以“看到”整个输入序列,从而捕捉全局信息。最后,通过一个线性层和一个“Binary Mapper”生成随机变量Z的分布,并从中采样得到Z。解码过程(训练和推理):在模型的中间层,这个采样出的Z会通过一个全连接层(Post-sampler FC)处理后,与原始的文本表示相加。这个融合了随机信息Z的新表示,继续通过后半部分的解码器模块。最终生成预测的logits,完成文本生成。在推理生成时,整个橙色的编码器部分都会被丢弃。模型直接从一个预设的均匀分布中随机采样Z,然后注入到解码器中。这样一来,每次采样不同的Z,模型就能生成不同的输出,实现了在几乎不增加推理成本的前提下的多样化生成。
实验效果如何?说了这么多原理,最终还是要看效果。作者从两个方面验证了Free Transformer的性能。
合成数据实验:Z到底学到了什么?为了直观地理解随机变量Z到底在学习什么,作者设计了一个有趣的合成数据集。数据集中包含一个由特定字母组成的“目标”,以及一些随机的“噪声”(感叹号)。
通过调整KL散度(衡量Z中信息量的指标)的权重,作者观察到了清晰的模式:
这个实验非常直观地证明了,Free Transformer确实能利用Z来捕捉和解耦数据中的不同结构化信息。
大模型基准测试:性能有没有下降?当然,只在合成数据上表现好是不够的。作者在1.5B和8B参数规模的模型上进行了充分的实验,并与性能优化的基线模型进行了对比。这些模型分别在高达47B、200B甚至1T的token上进行了训练。
结果非常令人鼓舞。Free Transformer在只引入了约 3.1%-3.6% 的额外计算和参数开销的情况下,在多个需要推理能力和代码生成的基准测试(如HumanEval+、MBPP、GSM8K)上取得了显著的性能提升。
1.5B模型在47B tokens上的训练结果
8B模型在200B tokens上的训练结果
8B模型在1T tokens上的训练结果
以8B模型(200B tokens训练)为例,在数学推理任务GSM8K上,性能相对提升了20.18%;在常识问答CSQA上,性能相对提升了26.21%。在1T tokens的更大规模训练下,Free Transformer在HumanEval+、MBPP、GSM8K、MMLU和CSQA等多个任务上都展现了稳定的性能优势。
1.5B模型性能对比
8B模型 (200B tokens) 性能对比
8B模型 (1T tokens) 性能对比
这些结果表明,Free Transformer不仅成功地为模型赋予了生成多样性的能力,甚至还提升了模型在一些复杂任务上的基础性能。CV君认为,这可能是因为引入的潜变量Z帮助模型更好地学习到了数据的内在结构,从而提升了其归纳和推理的能力。
总结Free Transformer提出了一种非常优雅且高效的方法,通过在Transformer解码器中间层注入一个可学习的随机变量,并巧妙地重用网络结构来构建编码器,成功地将VAE的思想引入了LLM。它以极小的代价,同时实现了“生成多样性”和“性能提升”两个目标,这在以往的研究中是很难兼得的。
你觉得这个技术未来会用在哪些场景?一起来聊聊吧!
