在人工智能领域,大型语言模型(LLM)的推理效率一直是研究的热点。最近,一种名为CLLM(Consistency Large Language Models)的新方法引起了业界的广泛关注。这种方法通过改进现有的大型语言模型,显著提高了推理速度,同时降低了内存成本,显示出了超越现有技术如Medusa2的潜力。
CLLM的核心思想是通过并行解码方法,如Jacobi解码,来提高LLM的推理效率。传统的自回归(AR)解码方法由于需要逐个生成令牌,导致推理延迟较高。而Jacobi解码通过随机猜测序列中的下一个n个令牌,然后迭代更新,最终收敛到与AR解码相同的输出。然而,这种方法在实际应用中提速效果有限,主要是因为LLM在一次迭代中很难准确预测多个令牌。
为了解决这一问题,CLLM提出了一种新的训练策略,通过微调目标LLM,使其能够从任意状态快速收敛到Jacobi轨迹上的固定点。这种方法不仅提高了生成速度,还保证了生成质量,实验表明,在特定领域和开放领域的基准测试中,CLLM能够实现2.4倍到3.4倍的速度提升。
CLLM的训练过程包括两个关键步骤:收集Jacobi轨迹数据集和模型的微调训练。通过对目标LLM在特定领域提示上的Jacobi解码,生成原始训练集。然后,通过数据增强和后处理,提高数据集的质量和模型的泛化能力。在训练过程中,CLLM采用两种损失函数:一致性损失和自回归损失,以确保模型在加速的同时,不偏离目标LLM的分布。
CLLM的加速机制主要体现在两个方面:快速前移(fast forwarding)和静态令牌(stationary tokens)。快速前移是指在单次前向传播中正确预测多个连续令牌的现象,而静态令牌则是在后续迭代中保持不变的正确预测令牌。这两种机制共同促进了CLLM在Jacobi解码中的快速收敛。
CLLM作为一种新兴的LLM解码方法,具有多方面的优势。首先,它不需要对预训练模型进行架构修改,也不需要额外的辅助组件,这使得CLLM具有很高的适应性和易用性。其次,CLLM的训练成本相对较低,例如,在Spider数据集上,仅需要训练约1M个令牌即可实现3.4倍的速度提升。此外,CLLM还能够与现有的高效LLM推理技术(如前瞻解码)无缝集成,进一步提高推理速度。
然而,CLLM也面临一些挑战。高质量的Jacobi轨迹数据集对于训练CLLM至关重要,因此数据清洗和预处理变得尤为关键。此外,数据集的大小也会影响CLLM的性能,尽管这种影响相对较小。在实验中,研究者们发现,使用较大数据集训练的CLLM在未见过的n令牌序列长度上也能表现良好,这表明更大的数据集可以提高模型的泛化能力。