ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率

简介: ModernBERT 是由英伟达和 HuggingFace 等机构联合开源的新一代编码器模型,支持长上下文处理,性能超越 SOTA,适合多种自然语言处理任务。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

原文链接:https://mp.weixin.qq.com/s/VgNrSY9YE2fbt3yOwkJB_g


🚀 快速阅读

  1. 功能:支持长上下文处理、信息检索、文本分类、实体识别和代码检索。
  2. 技术:基于现代化 Transformer 架构,优化参数和注意力机制,减少计算浪费。
  3. 应用:适用于语义搜索、内容推荐、自然语言理解和问答系统等场景。

正文(附运行示例)

ModernBERT 是什么

公众号: 蚝油菜花 - ModernBERT

ModernBERT 是由 Answer.AI、LightOn、约翰斯·霍普金斯大学、英伟达和 HuggingFace 联合推出的现代编码器-only Transformer 模型,是对经典 BERT 模型的一次重大升级。ModernBERT 在 2 万亿 token 的大规模数据上训练,支持长达 8192 token 的序列长度,显著提升处理长上下文的能力。

ModernBERT 在多种自然语言处理任务上性能赶超 SOTA,同时速度是 DeBERTa 的两倍,特别适合信息检索、文本分类和实体识别等应用。模型现已开源,供学术界和工业界研究和应用。

ModernBERT 的主要功能

  • 长上下文处理:支持长达 8192 token 的序列,相较于传统模型,大幅提升处理长文本的能力。
  • 信息检索:在语义搜索和文档检索任务中,ModernBERT 能更有效地表示文档和查询,提高检索准确性。
  • 文本分类:包括情感分析、内容审核等任务,能快速进行文本分类。
  • 实体识别:在自然实体识别(NER)任务中,识别文本中的特定实体。
  • 代码检索:在编程语言相关的任务中也表现出色,能处理和检索大量代码信息。
  • 效率提升:在保持高性能的同时,在速度和内存使用上进行优化,让模型更加高效。

ModernBERT 的技术原理

  • 现代化 Transformer 架构:基于 Transformer 架构改进,包括旋转位置嵌入(RoPE)和 GeGLU 激活函数,有助于模型更好地理解和处理长序列数据。
  • 参数优化:移除不必要的偏置项,更有效地利用参数预算,简化模型架构。
  • 注意力机制:引入交替的全局和局部注意力机制,提高模型处理长文本的效率。
  • Unpadding 和序列打包:去除填充(Unpadding)和序列打包(Sequence Packing),减少计算浪费,提高训练和推理的效率。
  • 硬件感知模型设计:在设计时考虑硬件的利用,基于优化模型结构最大化 GPU 的利用率。
  • 大规模训练数据:在 2 万亿 token 的大规模数据集上进行训练,包括网络文档、编程代码和科学文章,让模型具有更广泛的语言理解和应用能力。

如何运行 ModernBERT

ModernBERT 的训练和评估依赖于 composer 框架,所有训练都通过 YAML 文件进行配置。以下是一个简单的环境设置和训练示例:

conda env create -f environment.yaml
conda activate bert24
pip install "flash_attn==2.6.3" --no-build-isolation

训练 ModernBERT 模型时,可以使用 yamls 文件夹中的示例配置文件,例如 yamls/main/flex-bert-rope-base.yaml

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
人工智能 自然语言处理 Swift
ModernBERT-base:终于等到了 BERT 回归
BERT于 2018 年发布(史前人工智能!),但它至今仍被广泛使用,BERT的纯编码器架构使其成为每天出现的各种场景的理想选择,例如检索、分类和实体提取。
1446 3
|
11月前
|
弹性计算 资源调度 算法
阿里云 Elasticsearch Serverless 检索增强型8.17 版免费邀测!
阿里云Elasticsearch Serverless检索增强型8.17版现已开放邀测
522 59
|
3月前
|
人工智能
Cursor快捷键大全:效率翻倍的隐藏技巧
用了半年Cursor,才明白高效编程离不开快捷键。从基础跳转到AI协作,这些实战技巧让编码行云流水。掌握Cmd+P、F12、Ctrl+.等核心快捷键,配合多光标、自定义指令,彻底告别鼠标依赖。每天省下一小时,从记住两个原则开始:少用鼠标,善用命令面板,逐步构建肌肉记忆,让Cursor真正成为你的代码外脑。
|
11月前
|
机器学习/深度学习 运维 算法
从算法菜鸟到挖掘达人:数据挖掘的算法大冒险
从算法菜鸟到挖掘达人:数据挖掘的算法大冒险
359 18
|
11月前
|
人工智能 自然语言处理 供应链
产品设计师如何培养创造力?生成式人工智能时代的破局之道
本文探讨生成式人工智能对产品设计师创造力的影响,从技术赋能、认知升级和伦理坚守三方面分析。技术赋能通过效率提升与灵感激发重构设计流程;认知升级强调理解技术本质,将局限转化为创新契机;伦理坚守确保技术应用正向价值。最后提出通过实践与认证构建未来创造力体系,在技术与人文交汇处重新定义创造力边界。
|
编解码 人工智能 并行计算
基于 Megatron 的多模态大模型训练加速技术解析
Pai-Megatron-Patch 是一款由阿里云人工智能平台PAI 研发的围绕英伟达 Megatron 的大模型训练配套工具,旨在帮助开发者快速上手大模型,打通大模型相关的高效分布式训练、有监督指令微调、下游任务评估等大模型开发链路。本文以 Qwen2-VL 为例,从易用性和训练性能优化两个方面介绍基于 Megatron 构建的 Pai-Megatron-Patch 多模态大模型训练的关键技术
|
存储 机器学习/深度学习 算法
【mlflow系列1】mlflow 的搭建使用
【mlflow系列1】mlflow 的搭建使用
1695 0
【mlflow系列1】mlflow 的搭建使用
|
监控 JavaScript 数据库
OpenLLMetry:完美支持 LLM 应用的开源监测工具
【2月更文挑战第16天】OpenLLMetry:完美支持 LLM 应用的开源监测工具
1369 1
OpenLLMetry:完美支持 LLM 应用的开源监测工具
|
网络协议 Go
[golang]gin框架接收websocket通信
[golang]gin框架接收websocket通信
451 0
|
机器学习/深度学习 数据采集 自然语言处理
【传知代码】BERT论文解读及情感分类实战-论文复现
本文介绍了BERT模型的架构和技术细节,包括双向编码器、预训练任务(掩码语言模型和下一句预测)以及模型微调。文章还提供了使用BERT在IMDB数据集上进行情感分类的实战,包括数据集处理、模型训练和评估,测试集准确率超过93%。BERT是基于Transformer的预训练模型,适用于多种NLP任务。在实践中,BERT模型加载预训练权重,对输入数据进行预处理,然后通过微调适应情感分类任务。
1283 0
【传知代码】BERT论文解读及情感分类实战-论文复现

热门文章

最新文章