一次预测多个token,Meta新模型推理加速3倍,编程任务提高17% | 最新快讯

本文主要是介绍一次预测多个token,Meta新模型推理加速3倍,编程任务提高17% | 最新快讯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

量子位公众号 QbitAI

  “预测下一个 token”被认为是大模型的基本范式,一次预测多个 tokens 又会怎样?

  Meta AI 法国团队推出“基于多 token 预测的更快&更好大模型”。

  多 token 预测模型,在编程类任务上表现尤其突出。

  与单 token 预测相比,13B 参数模型在 HumanEval 上多解决了 12% 的问题,在 MBPP 上多解决了 17%。

  小型算法推理任务上,多 token 预测也在分布外泛化方面带来了令人印象深刻的收益。

  不过在自然语言任务上,多 token 预测方法并不能显著提高 7B 模型在数学选择题上的表现了。

  另外一个好处是,即使 batch size 较大,使用4-token 预测训练的模型,推理速度也可提高 3 倍。

  多 token 预测更适合编程

  具体来说,团队设计了一种新的多 token 预测架构,通过n个独立的输出头并行预测n个未来 token。

  使用大量文本数据进行模型训练,包括代码和自然语言数据集。

  再通过实验比较多 token 预测和单 token 预测在多个下游任务上的性能。

  为啥多 token 预测在编程任务和小型算法推理任务上提升更明显?

  团队猜测可能有两个原因:

  第一,编程语言的逻辑结构更严谨,知识的内在联系更紧密。一个关键节点可能影响到后续整个代码块的走向。多 Token 预测能更好捕捉这种长距离依赖。

  第二,相比自然语言,编程语言的词汇量更小。因此即便每次预测多个 Token,难度也没那么大。反而能迫使模型从局部细节中抽身,着眼全局优化。

  除了在 token 层面的实验,团队还在更细粒度的字节级模型上做了尝试。

  他们发现,用 8 字节预测替代下一个字节预测后,模型在 MBPP 上的 Pass@1 指标暴增 67%,在 HumanEval 上也提升了 20%。

  而且推理速度还能再快 6 倍,简直不要太香。

  对于背后原理,团队认为多 token 预测缓解了训练时 Teacher Forcing 和推理时自回归生成之间的分布差异。

  也就是说,在训练的时候,模型看到的都是标准答案,生成的时候却得靠自己。好比人类在家做练习册时有答案,考试时却啥也没有,就会不适应。

  而多 token 预测相当于训练时就逼着模型多想几步,这样到了考场上,才能应对自如。

  从信息论的角度,团队还给出了一个更精确的论证。

  传统的下一个 Token 预测,目标是最小化当前位置的信息熵。而2-Token 预测实际上最小化的是当前和下一位置的信息熵之和。

  数学推导表明,后者其实隐含了更大的互信息权重,也就是更看重当前 Token 和未来 Token 的相关性。这就是为什么多 Token 预测更”有远见”。

  不过在这篇论文中,还有几个未解决的问题。

  比如没有探讨如何自动选择最佳的预测 token 数量n,作者提出,未来可以研究使用损失权重调整或动态调整n来解决最佳n的选择问题。

  此外最佳的词表大小也可能与单 token 预测时不同。

  总之,看过这篇论文之后,大家都更期待 Llama-4 了。

  论文地址:

  https://arxiv.org/abs/2404.19737

来自: 网易科技

这篇关于一次预测多个token,Meta新模型推理加速3倍,编程任务提高17% | 最新快讯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961789

相关文章

Java方法重载与重写之同名方法的双面魔法(最新整理)

《Java方法重载与重写之同名方法的双面魔法(最新整理)》文章介绍了Java中的方法重载Overloading和方法重写Overriding的区别联系,方法重载是指在同一个类中,允许存在多个方法名相同... 目录Java方法重载与重写:同名方法的双面魔法方法重载(Overloading):同门师兄弟的不同绝

C#实现将Excel工作表拆分为多个窗格

《C#实现将Excel工作表拆分为多个窗格》在日常工作中,我们经常需要处理包含大量数据的Excel文件,本文将深入探讨如何在C#中利用强大的Spire.XLSfor.NET自动化实现Excel工作表的... 目录为什么需要拆分 Excel 窗格借助 Spire.XLS for .NET 实现冻结窗格(Fro

requests处理token鉴权接口和jsonpath使用方式

《requests处理token鉴权接口和jsonpath使用方式》文章介绍了如何使用requests库进行token鉴权接口的处理,包括登录提取token并保存,还详述了如何使用jsonpath表达... 目录requests处理token鉴权接口和jsonpath使用json数据提取工具总结reques

SpringBoot中使用定时任务schedule详解

《SpringBoot中使用定时任务schedule详解》文章介绍了如何在Spring应用中使用@EnableScheduling注解启用定时任务,并创建一个配置类来定义定时任务的执行,文章还详细解释... 目录1、在spring启动类上添加注解@EnableScheduling2、创建定时任务配置类3、执

Java领域模型示例详解

《Java领域模型示例详解》本文介绍了Java领域模型(POJO/Entity/VO/DTO/BO)的定义、用途和区别,强调了它们在不同场景下的角色和使用场景,文章还通过一个流程示例展示了各模型如何协... 目录Java领域模型(POJO / Entity / VO/ DTO / BO)一、为什么需要领域模

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4