Meta无限长文本大模型来了:参数仅7B,已开源

谷歌之后,Meta 也来卷无限长上下文。

transformers的二次复杂度和弱长度外推限制了它们扩展到长序列的能力,虽然存在线性注意力力和状态空间模型等次二次解决方案,但从以往经验来看,它们在预训练效率和下游任务准确性方面表现不佳。

近日,谷歌提出的Infini-Transformer引入了有效方法,可以将基于Transformer的大型语言模型(LLM)扩展到无限长输入,而不增加存储和计算需求,吸引了人们的关注。

几乎就在同时,Meta 也提出了一种无限长文本技术。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

Meta无限长文本大模型来了:参数仅7B,已开源

论文地址:https://arxiv.org/pdf/2404.08801.pdf

论文标题:MEGALODON: Efficient LLM Pretraining and Inference with Unlimited Context Length

代码:https://github.com/XuezheMax/megalodon

在4月12日提交的一篇论文中,来自Meta、南加州大学、CMU、UCSD等机构引入了MEGALODON,一种用于高效序列建模的神经架构,上下文长度不受限制。

MEGALODON进一步发展了MEGA(带有门控注意力的指数移动平均)的结构,并引入了多种技术组件来提高其能力和稳定性,包括复数指数移动平均(CEMA)、时间步归一化层、归一化注意力机制和具有两个特征的预归一化(pre-norm)残差连接。

Meta无限长文本大模型来了:参数仅7B,已开源

在与 LLAMA2 的直接比较中,MEGALODON 在 70 亿参数和 2 万亿训练 token 的规模上取得了比 Transformer 更好的效率。MEGALODON 的训练损失达到 1.70,处于 LLAMA2-7B (1.75) 和 13B (1.67) 之间。MEGALODON 相对于 Transformers 的改进在不同任务和模式的一系列基准测试中表现强劲。

MEGALODON 本质上是一种改进的 MEGA 架构(Ma et al., 2023),它利用了门控注意力机制和经典指数移动平均(EMA)方法。为了进一步提高 MEGALODON 在大规模长上下文预训练方面的能力和效率,作者提出了多种技术组件。首先,MEGALODON 引入了复数指数移动平均 (CEMA) 组件,将 MEGA 中的多维阻尼 EMA 扩展到复数域。其次,MEGALODON 提出了时间步长归一化层,它将组归一化层推广到自回归序列建模任务,以允许沿顺序维度进行归一化。

为了提高大规模预训练的稳定性,MEGALODON 进一步提出了归一化注意力,以及通过修改广泛采用的预归一化和后归一化方法而具有两跳残差配置的预归一化。通过简单地将输入序列分块为固定块,如 MEGA-chunk 中所做的那样,MEGALODON 在模型训练和推理中实现了线性计算和内存复杂性。

在与 LLAMA2 的直接比较上,控制了数据和计算的同时,MEGALODON-7B 在训练困惑度方面显著优于用于训练 LLAMA2-7B 的最先进的 Transformer 变体。在对长上下文建模的评估上,包括高达 2M 的各种上下文长度中的困惑度以及 Scrolls 中的长上下文 QA 任务证明了 MEGALODON 对无限长度序列进行建模的能力。中小型基准的其他实验结果,包括 LRA、ImageNet、Speech Commands、WikiText-103 和 PG19 证明了 MEGALODON 在体量和多模态上的能力。

方法介绍

首先,文章简单回顾了 MEGA( Moving Average Equipped Gated Attention )架构中的关键组件,并讨论了 MEGA 中存在的问题。

MEGA 将 EMA( exponential moving average ) 组件嵌入到注意力矩阵的计算中,以纳入跨时间步长维度的归纳偏差。具体而言,多维阻尼 EMA 首先通过扩展矩阵 Meta无限长文本大模型来了:参数仅7B,已开源 将输入序列 X 的每个维度单独扩展为 h 维,然后将阻尼 EMA 应用于 h 维隐藏空间。形式如下:

Meta无限长文本大模型来了:参数仅7B,已开源

为了降低全注意力机制中的二次复杂度,MEGA 简单地将 (14-16) 中的查询、键和值序列拆分为长度为 c 的块。(17) 中的注意力单独应用于每个块,产生线性复杂度 O (kc^2 ) = O (nc)。 

从技术上讲,MEGA 中的 EMA 子层有助于捕获每个 token 附近的本地上下文信息,从而缓解了在超出块边界的上下文中丢失信息的问题。尽管 MEGA 取得了令人深刻的印象,但面临如下问题:

i)由于 MEGA 中 EMA 子层的表达能力有限,具有块级注意力的 MEGA 性能仍然落后于全注意力 MEGA。 

ii) 对于不同的任务、数据类型,最终的 MEGA 架构可能存在架构差异,例如,不同的归一化层、归一化模式和注意力函数 f (・) 。 

iii) 没有经验证据表明 MEGA 可扩展用于大规模预训练。

Meta无限长文本大模型来了:参数仅7B,已开源

Meta无限长文本大模型来了:参数仅7B,已开源

CEMA:将多维阻尼 EMA 扩展到复数域

为了解决 MEGA 面临的问题,该研究提出了 MEGALODON。

具体而言,他们创造性地提出了复指数移动平均 CEMA( complex exponential moving average ),将上式(1)改写为如下形式:

Meta无限长文本大模型来了:参数仅7B,已开源

并将(2)中的 θ_j 参数化为:

Meta无限长文本大模型来了:参数仅7B,已开源

时间步(Timestep)归一化

尽管层归一化与 Transformer 相结合的性能令人印象深刻,但很明显,层归一化不能直接减少沿空间维度(也称为时间步长或序列维度)的内部协变量偏移。

在 MEGALODON 中,该研究通过计算累积均值和方差将组归一化扩展到自回归情况。

Meta无限长文本大模型来了:参数仅7B,已开源

图 2 说明了层归一化和时间步标准化。

Meta无限长文本大模型来了:参数仅7B,已开源

代码小浣熊 代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊 396 查看详情 代码小浣熊

MEGALODON 中的归一化注意力

此外,该研究还提出了专门为 MEGA 定制的归一化注意力机制,以提高其稳定性。形式如下:

Meta无限长文本大模型来了:参数仅7B,已开源

则上式 (17) 中的注意力操作改为:

Meta无限长文本大模型来了:参数仅7B,已开源

具有 Two-hop 残差的预范数(Pre-Norm)

通过调查发现,扩大模型大小会造成预归一化不稳定问题。基于 Transformer 块的预归一化可以表示为(如图 3 (b) 所示):

Meta无限长文本大模型来了:参数仅7B,已开源

Meta无限长文本大模型来了:参数仅7B,已开源

在原始 MEGA 架构中, 将 φ (19) 用于门控残差连接 (21) 以缓解此问题。然而,更新门 φ 引入了更多的模型参数,当模型规模扩大到 70 亿时,不稳定问题仍然存在。MEGALODON 引入了一种名为 pre-norm 的新配置,具有 two-hop 残差,它只是简单地重新排列每个块中的残差连接,如图 3(c)所示:

Meta无限长文本大模型来了:参数仅7B,已开源

Meta无限长文本大模型来了:参数仅7B,已开源

实验

为了评估 MEGALODON 在长上下文序列建模上的可扩展性和效率,本文将 MEGALODON 扩展到 70 亿规模大小。

LLM 预训练

为了提高数据效率,研究者在训练过程中显示了 MEGALODON-7B、LLAMA2-7B 和 LLAMA2-13B 的负对数似然 (NLL),如图 1 所示。

在相同数量的训练 token 下,MEGALODON-7B 获得了比 LLAMA2-7B 明显更好(更低)的 NLL,表现出更好的数据效率。

Meta无限长文本大模型来了:参数仅7B,已开源

图 4 说明了分别使用 4K 和 32K 上下文长度的 LLAMA2-7B 和 MEGALODON-7B 在每个设备上的平均 WPS( word/token per second )。对于 LLAMA2 模型,该研究使用 Flash-Attention V2 加速全注意力的计算。在 4K 上下文长度下,由于引入了 CEMA 和时间步归一化,MEGALODON-7B 比 LLAMA2-7B 稍慢(约 6%)。当将上下文长度扩展到 32K 时,MEGALODON-7B 明显比 LLAMA2-7B 快(约 32%),这证明了 MEGALODON 对于长上下文预训练的计算效率。

Meta无限长文本大模型来了:参数仅7B,已开源

短上下文评估

表 1 总结了 MEGALODON 和 LLAMA2 在学术基准上的结果,以及其他开源基础模型,包括 MPT、RWKV 、Mamba 、 Mistral 和 Gemma 的比较结果。在相同的 2T token 上进行预训练后,MEGALODON-7B 在所有基准测试中均优于 LLAMA2-7B。在某些任务上,MEGALODON-7B 的性能与 LLAMA2-13B 相当甚至更好。 

Meta无限长文本大模型来了:参数仅7B,已开源

长上下文评估

图 5 显示了验证数据集在 4K 到 2M 各种上下文长度下的困惑度 (PPL)。可以观察到 PPL 随着上下文长度单调下降,验证了 MEGALODON 在建模极长序列方面的有效性和鲁棒性。

Meta无限长文本大模型来了:参数仅7B,已开源

指令微调

表 3 总结了 7B 模型在 MT-Bench 上的性能。与 Vicuna 相比,MEGALODON 在 MT-Bench 上表现出优越的性能,并且与 LLAMA2-Chat 相当,而后者利用 RLHF 进行了进一步的对齐微调。

Meta无限长文本大模型来了:参数仅7B,已开源

中等规模基准评估

为了评估 MEGALODON 在图像分类任务上的性能,该研究在 Imagenet-1K 数据集上进行了实验。表 4 报告了验证集上的 Top-1 准确率。MEGALODON 的准确率比 DeiT-B 提高了 1.3%,比 MEGA 提高了 0.8%。

Meta无限长文本大模型来了:参数仅7B,已开源

表 5 说明了 MEGALODON 在 PG-19 上的字级困惑度 (PPL),以及与之前最先进的模型,包括 Compressive Transformer 、Perceiver AR、Perceiver AR、块循环 Transformer 和 MEGABYTE 等的对比。MEGALODON 性能明显领先。

Meta无限长文本大模型来了:参数仅7B,已开源

更详细内容请参考论文原文。

以上就是Meta无限长文本大模型来了:参数仅7B,已开源的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/798019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
漫漫漫画官网直达入口_漫漫漫画网页在线看
上一篇 2025年11月26日 16:44:05
Word2016文本框文字样式设置
下一篇 2025年11月26日 16:44:11

相关推荐

  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • 谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    使用谷歌浏览器的开发者工具截图步骤:1. 按ctrl+shift+i(windows/linux)或cmd+option+i(mac)打开开发者工具。2. 点击右上角三个点,选择”更多工具”,再选择”截图”。3. 选择截取整个页面。推荐的谷歌浏览器扩展…

    2026年5月10日 用户投稿
    100
  • JavaScript计算器开发:解决数值显示与初始化问题

    本教程深入探讨了使用JavaScript构建计算器时常见的数值显示异常问题,特别是由于类属性未初始化导致的`Cannot read properties of undefined`错误。我们将详细分析问题根源,并通过在构造函数中调用初始化方法来解决该问题,同时优化显示逻辑,确保计算器功能稳定且界面显…

    2026年5月10日
    000
  • NextAuth getToken 在服务端返回 null 的问题排查与解决

    问题描述 在使用 Next.js 和 NextAuth 构建应用程序时,有时需要在服务端获取用户的身份验证信息。getToken 函数是 NextAuth 提供的一个便捷方法,用于从请求中提取 JWT (JSON Web Token)。然而,在某些情况下,尤其是在使用 getServerSidePr…

    2026年5月10日
    000
  • 虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版

    虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版

    虫虫漫画官网入口为www.ccmh.com,用户可直接通过浏览器访问,支持多端适配与账号同步功能,界面简洁无广告,提供海量国漫、日漫、韩漫资源,涵盖恋爱、玄幻等热门题材,更新及时,支持多种阅读模式及离线缓存,阅读体验流畅。 虫虫漫画直接进入官网入口在哪里?这是不少网友都关注的,接下来由PHP小编为大…

    2026年5月10日 用户投稿
    100
  • HTML文档如何工作?如何编辑HTML格式文件?

    HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?

    浏览器解析和渲染html的过程包括:1. 解析html构建dom树;2. 结合css构建渲染树;3. 布局计算元素位置;4. 绘制像素到屏幕。编辑html可使用记事本、vs code、sublime text等文本或代码编辑器,其中vs code因语法高亮、自动补全和插件生态成为主流选择。标准htm…

    2026年5月10日 用户投稿
    000
  • GolangWeb项目异常捕获与日志记录

    答案:通过中间件使用defer和recover捕获panic,结合zap等结构化日志库记录请求链路信息,为每个请求生成trace ID,实现异常捕获与可追踪日志,提升系统稳定性与可观测性。 在Go语言Web项目中,异常捕获与日志记录是保障系统稳定性和可维护性的关键环节。Go本身没有像其他语言那样的t…

    2026年5月10日
    000
  • Python官网用户调查的参与方式_Python官网反馈提交详细教程

    答案是通过访问Python官网新闻页面、邮件邀请链接或GitHub仓库提交反馈。具体为:访问官网查找用户调查公告,或点击邮件中的专属链接参与,在GitHub的cpython仓库提交技术建议,并注意如实填写问卷与保护隐私。 如果您希望参与Python官网的用户调查并提交反馈,可以通过官方指定的渠道完成…

    2026年5月10日
    000
  • Go语言连接外部MySQL数据库:DSN配置与常见错误解析

    本文详细阐述了go语言使用`go-sql-driver/mysql`驱动连接外部mysql数据库的正确方法。重点介绍了数据源名称(dsn)的规范格式,特别是主机地址部分的配置,以避免常见的“getaddrinfow: the specified class was not found.”等网络解析错…

    2026年5月10日
    000
  • Tensorflow 音乐预测

    在本文中,我展示了如何使用张量流来预测音乐风格。在我的示例中,我比较了电子音乐和古典音乐。 你可以在我的github上找到代码:https://github.com/victordalet/sound_to_partition i – 数据集 第一步,您需要创建一个数据集文件夹,并在里面…

    2026年5月10日
    000
  • 怎样操作meta标签中的viewport来控制设备屏幕的css属性

    这次给大家带来怎样操作meta标签中的viewport来控制设备屏幕的css属性,利用meta标签中的viewport来控制设备屏幕的css属性的注意事项有哪些,下面就是实战案例,一起来看一下。 width-viewport的宽度 height-viewport的高度 initial-scale 初…

    用户投稿 2026年5月10日
    100
  • HTML/CSS中链接与按钮的正确嵌套:避免文本超链接化与结构优化指南

    本教程旨在解决HTML中链接()与按钮(button)或类按钮元素嵌套不当导致非预期文本超链接化的问题。我们将通过修正标签的错误闭合,并推荐使用 等语义化元素作为链接内容并应用按钮样式,来创建功能正确、结构清晰且包含文本或图像的交互式按钮,从而提升页面的可维护性和用户体验。 在网页开发中,我们经常需…

    2026年5月10日
    000
  • 如何根据当前月份动态排序 1-12 月?

    根据当前月份动态排序 1-12 月 想要实现根据当前月份动态排序 1-12 月,可以通过参考以下方法: 创建月份数组:首先,创建一个包含 1-12 月信息(如名称和值)的月份数组。获取当前月份:获取 javascript 中表示当前月份的数值(从 0 到 11)。重新排序月份数组:使用 javasc…

    2026年5月10日
    000
  • 学习了Python的Flask后,Go语言的Web框架该选Gin还是Beego?

    学习编程时,选择合适的框架至关重要。许多开发者在掌握Python Flask后,转向Go语言Web开发时,常常在Gin和Beego之间难以抉择。本文将深入分析,助您做出明智选择。 虽然网上搜索结果多建议使用Go原生标准库http,但实际上所有框架都是对http的封装。虽然使用http开发灵活,但工作…

    2026年5月10日
    000
  • Angular mat-tab 高度自适应与布局优化指南

    本教程旨在解决Angular Material mat-tab组件在Flexbox布局中无法自动填充父容器高度的问题。文章将深入分析问题根源,并提供使用CSS深度选择器(::ng-deep)精确控制mat-tab-body-wrapper和mat-tab-body高度的解决方案,确保组件在指定布局下…

    2026年5月10日
    000
  • JavaScript动态下拉菜单:实现日期选项与价格计算关联

    在现代web应用中,动态生成表单元素并使其具备交互逻辑是常见的需求。特别是在需要根据用户选择调整价格或服务参数的场景下,下拉菜单()常被用来展示一系列选项。本教程将指导您如何利用javascript动态生成一个包含日期选项的下拉菜单,并为每个选项关联一个具体的数值(如剩余天数),进而实现一个基于用户…

    2026年5月10日
    000
  • 如何在不暴露密钥的情况下,在客户端创建 Stripe Payment Link

    本文介绍了在纯静态网站环境下,如何利用 Stripe Payment Link 实现商品售卖,并着重讨论了在不暴露 Stripe 密钥的前提下,客户端创建 Payment Link 的可行性。分析了直接在客户端使用密钥的风险,并提出了预先生成 Payment Link 或使用后端服务动态生成 Pay…

    2026年5月10日
    000
  • html如何制作水印_HTML水印(文字/图片)添加与设置方法

    使用CSS和HTML可实现网页水印,方法包括:一、通过background-image与data URI嵌入斜向文字水印;二、利用伪元素结合transform旋转生成叠加文字层;三、插入img标签或背景图设置固定位置图片水印;四、用Canvas绘制多行斜纹并转Base64作背景;五、通过禁用右键、屏…

    2026年5月10日
    100
  • 使用CSS Grid实现不规则列布局:告别传统表格的限制

    本教程详细阐述如何利用css grid实现复杂的、不规则的列布局,尤其适用于那些传统html表格难以实现的块状结构。文章将通过具体的css属性和html结构示例,指导读者如何定义网格、控制子项的跨度与位置,以及优化自动布局流程,从而高效构建灵活且响应式的页面布局。 1. 传统表格的局限与CSS Gr…

    2026年5月10日
    000
  • 解决Go语言中GOPATH未设置错误及工作区配置指南

    本文旨在解决go语言开发中常见的“gopath not set”错误,并提供详细的go工作区配置指南。内容涵盖`gopath`环境变量的设置、go项目目录结构、`path`变量的扩展,以及一些高级配置技巧,旨在帮助开发者建立一个高效、规范的go开发环境,确保包的下载、编译和运行顺利进行。 Go语言在…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信