【亲测免费】 Monarch Mixer:简单高效的亚二次方GEMM架构
2026-01-22 04:26:48作者:裘晴惠Vivianne
项目介绍
Monarch Mixer 是由斯坦福大学的Hazy Research团队开发的一种新型神经网络架构,旨在解决传统Transformer模型在处理长序列时计算复杂度高的问题。Monarch Mixer通过引入Monarch矩阵,成功地将计算复杂度降低到亚二次方级别,同时保持了与Transformer相当的模型质量。
项目最新更新于2024年1月11日,推出了新的长上下文M2-BERT模型,并针对嵌入任务进行了微调。这些模型现已通过Together API提供,用户可以轻松访问并使用这些高效的嵌入模型。
项目技术分析
Monarch Mixer的核心创新在于使用Monarch矩阵替代Transformer中的注意力机制和全连接层。Monarch矩阵是一种结构化矩阵,具有以下特点:
- 亚二次方复杂度:相比于Transformer的二次方复杂度,Monarch Mixer在序列长度和模型维度上都实现了亚二次方的计算复杂度。
- 硬件效率:Monarch矩阵在硬件上的实现效率高,能够充分利用现代计算资源。
- 表达能力强:尽管计算复杂度降低,Monarch Mixer仍能保持与Transformer相当的模型表达能力。
Monarch Mixer通过以下方式实现高效计算:
- 序列混合:使用Monarch矩阵替代注意力机制,实现序列间的信息混合。
- 模型维度混合:使用Monarch矩阵替代全连接层,实现模型维度间的信息混合。
项目及技术应用场景
Monarch Mixer适用于需要处理长序列的各类任务,特别是在以下场景中表现尤为出色:
- 自然语言处理:如文本分类、命名实体识别、机器翻译等。
- 生物信息学:如DNA序列分析、蛋白质结构预测等。
- 时间序列分析:如金融预测、天气预报等。
特别是M2-BERT模型,通过微调后在嵌入任务中表现优异,适用于文本检索、语义搜索等应用。
项目特点
- 高效计算:亚二次方的计算复杂度,显著降低计算成本。
- 硬件友好:Monarch矩阵的硬件实现效率高,适合大规模部署。
- 模型质量:在保持计算效率的同时,模型质量与Transformer相当。
- 易于使用:通过Together API,用户可以轻松访问和使用M2-BERT模型。
如何开始使用
M2-BERT嵌入模型现已通过Together API提供。用户可以通过注册账户并获取API密钥,使用以下代码进行嵌入生成:
import os
import requests
def generate_together_embeddings(text: str, model_api_string: str, api_key: str):
url = "https://api.together.xyz/api/v1/embeddings"
headers = {
"accept": "application/json",
"content-type": "application/json",
"Authorization": f"Bearer {api_key}"
}
session = requests.Session()
response = session.post(
url,
headers=headers,
json={
"input": text,
"model": model_api_string
}
)
if response.status_code != 200:
raise ValueError(f"Request failed with status code {response.status_code}: {response.text}")
return response.json()['data'][0]['embedding']
print(generate_together_embeddings('Hello world', 'togethercomputer/m2-bert-80M-32k-retrieval', os.environ['TOGETHER_API_KEY'])[:10])
更多详细信息,请参阅bert/EMBEDDINGS.md。
引用
如果您使用了本项目或认为我们的工作对您有价值,请引用以下内容:
@inproceedings{fu2023monarch,
title={Monarch Mixer: A Simple Sub-Quadratic GEMM-Based Architecture},
author={Fu, Daniel Y and Arora, Simran and Grogan, Jessica and Johnson, Isys and Eyuboglu, Sabri and Thomas, Armin W and Spector, Benjamin and Poli, Michael and Rudra, Atri and R{\'e}, Christopher},
booktitle={Advances in Neural Information Processing Systems},
year={2023}
}
此外,您还可以引用我们之前的相关工作:
@article{poli2023hyena,
title={Hyena Hierarchy: Towards Larger Convolutional Language Models},
author={Poli, Michael and Massaroli, Stefano and Nguyen, Eric and Fu, Daniel Y and Dao, Tri and Baccus, Stephen and Bengio, Yoshua and Ermon, Stefano and R{\'e}, Christopher},
journal={arXiv preprint arXiv:2302.10866},
year={2023}
}
@article{fu2023simple,
title={Simple Hardware-Efficient Long Convolutions for Sequence Modeling},
author={Fu, Daniel Y. and Epstein, Elliot L. and Nguyen, Eric and Thomas, Armin W. and Zhang, Michael and Dao, Tri and Rudra, Atri and R{\'e}, Christopher},
journal={International Conference on Machine Learning},
year={2023}
}
@inproceedings{fu2023hungry,
title={Hungry {H}ungry {H}ippos: Towards Language Modeling with State Space Models},
author={Fu, Daniel Y. and Dao, Tri and Saab, Khaled K. and Thomas, Armin W.
and Rudra, Atri and R{\'e}, Christopher},
booktitle={International Conference on Learning Representations},
year={2023}
}
Monarch Mixer为处理长序列任务提供了一种高效且强大的解决方案,欢迎大家使用并探索其潜力!
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0192- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00
最新内容推荐
pi-mono自定义工具开发实战指南:从入门到精通3个实时风控价值:Flink CDC+ClickHouse在金融反欺诈的实时监测指南Docling 实用指南:从核心功能到配置实践自动化票务处理系统在高并发抢票场景中的技术实现:从手动抢购痛点到智能化解决方案OpenCore Legacy Patcher显卡驱动适配指南:让老Mac焕发新生7个维度掌握Avalonia:跨平台UI框架从入门到架构师Warp框架安装部署解决方案:从环境诊断到容器化实战指南突破移动瓶颈:kkFileView的5层适配架构与全场景实战指南革新智能交互:xiaozhi-esp32如何实现百元级AI对话机器人如何打造专属AI服务器?本地部署大模型的全流程实战指南
项目优选
收起
deepin linux kernel
C
27
12
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
601
4.04 K
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21
Ascend Extension for PyTorch
Python
441
531
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
112
170
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.46 K
823
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
922
770
暂无简介
Dart
846
204
React Native鸿蒙化仓库
JavaScript
321
375
openGauss kernel ~ openGauss is an open source relational database management system
C++
174
249