Inception Labs 推出 Mercury:突破性的扩散模型大幅加速代码生成
生成式人工智能在软件开发领域发挥了重要作用,自动化了从简单的自动补全到复杂的软件解决方案的各种编程任务。然而,传统的语言模型主要采用的是自回归方法,每次只能预测一个词元,这导致了固有的瓶颈和延迟问题。特别是在需要实时互动或即时响应的场景下,自回归模型的串行生成过程极大地限制了效率。尽管现有的优化模型如GPT-4o和Claude 3.5 Haiku在速度上有所改善,但逐个词元生成的基本限制仍然存在,促使研究人员寻求能够并行生成从而大幅减少延迟的替代方案。 目前,主流的基于AI的代码助手仍依赖于自回归变压器架构。这些模型在标准编码基准测试中表现出色,但在处理高需求、互动或延迟敏感的编码任务时,仍面临显著的速度局限。传统的自回归模型通常在当代GPU硬件上每秒只能生成50到200个词元,虽然准确度很高,但难以满足即时性的需求。 为了解决这一问题,Inception Labs的研究团队引入了Mercury——一款专门优化用于编码应用的扩散型大型语言模型(LLM)。Mercury Coder是该家族中的第一个模型,包含两个版本:Mercury Coder Mini和Mercury Coder Small。这些扩散模型的独特之处在于结合了变压器架构和并行词元生成,显著提高了计算效率和整体吞吐量。独立评估机构Artificial Analysis对Mercury Coder模型进行了测试,结果显示Mercury Coder Mini每秒可生成1,109个词元,远远超过了基准的自回归模型;Mercury Coder Small每秒生成737个词元,实现了速度与编码准确性的完美平衡。 Mercury模型利用扩散过程将输出从初始随机噪声逐渐细化为连贯的数据。与传统模型逐个词元预测不同,Mercury模型在每个迭代过程中同时优化多个词元,充分利用了GPU的并行计算能力。训练过程中,Mercury模型使用了包含数万亿个词元的数据集,这些数据来源于广泛的网络抓取、合成数据和专有存储库。扩散训练协议通过逐步向干净数据添加噪声,并在一个逆向过程中逐步去除噪声,实现并行化和同时调整词元的过程。 在基准测试中,Mercury Coder Small在HumanEval(Python编码基准)上取得了90.0%的准确率,在MultiPL-E(涵盖C++、Java、JavaScript、PHP、Bash和TypeScript等多种语言的多语言基准)上达到了76.2%的准确率。Mercury Coder Mini同样表现优异,分别在HumanEval和MultiPL-E上取得了88.0%和74.1%的准确率。尤其在涉及自动补全和互动编码的中间填充任务中,Mercury Coder Small的平均准确率为84.8%,超越了包括Codestral 2501在内的知名优化模型,后者仅为82.5%。此外,在通过Copilot Arena平台进行的真实用户评估中,Mercury Coder Mini总体用户偏好排名第二,甚至优于GPT-4o Mini和Gemini 1.5 Flash,其最低平均延迟仅为25毫秒。 Mercury模型不仅在综合性能上表现出色,在特定语言测试中也展示了强大的准确性。详细的评估显示,Mercury Coder Small在MultiPL-E基准上对各种编程语言的测试中表现突出,如在C++中达到82.0%的准确率,在Java中达到80.1%的准确率,在JavaScript中达到83.9%的准确率。