Monarch Mixer: A Simple Sub-Quadratic GEMM-Based Architecture

Monarch Mixer: A Simple Sub-Quadratic GEMM-Based Architecture

发于 2023年AI顶会 NeurIPS。

sub-quadratic primitive(次二次原语)


GEMMs(General Matrix Multiply algorithms)是指在许多核心系统上执行的通用矩阵乘法操作的模型。


“causal model”(因果模型)和 “non-causal model”(非因果模型)之间的区别。

Causal model(因果模型)是一种建模方法,旨在理解因果关系和因果推断。这种模型试图描述变量之间的因果关系,即某个变量的变化如何导致其他变量的变化。因果模型通常基于因果关系图,其中节点表示变量,边表示因果关系。

Causal model的一个重要特征是它能够根据因果关系进行因果推断。例如,如果有一个因果模型描述了药物治疗和疾病之间的关系,我们可以使用该模型来预测给定某种治疗方案的情况下,患者的疾病状况会如何改变。

Non-causal model(非因果模型)则不涉及因果关系的建模。这些模型可能只是对数据进行描述、预测或分类,而不考虑变量之间的因果关系。非因果模型可以是统计模型、机器学习模型或其他描述性模型。


FFT(快速傅里叶变换)


在这里插入图片描述

摘要

现在大多数的工作为了提示模型在长文本的表现,都是想办法去缩减序列的长度和模型的维度来实现。
作者提出来了一种新的模型 **Monarch Mixer(M2)**一种新的模型,uses the same sub-quadratic primitive(用相同的次二次原语)。
Monarch矩阵(也是新突出的概念),一类简单的表达型结构化矩阵,可以捕获许多线性变换,在GPU上实现高硬件效率,并按次二次方进行扩展。
为了证明其效果,作者在:
1、non-causal BERT-style language modeling
2、ViT-style image classification
3、causal GPT-style language modeling
三个任务上做了实验。
最后的结果都是可以省掉一大半参数资源的情况下,达到和模型相似甚至更高的模型结果。

Introduction

作者想在序列长度模型维度上面都找到二次型的运算原语。框架灵感来自于 MLP-mixer和ConvMixer。
Monarch: Expressive structured matrices for efficient and accurate training是基于这篇文章的Monarch做的更改。

在这里插入图片描述
👆解释了Monarch的优越性。

Preliminaries

GPU Accelerator Cost Model

讨论GPU加速的问题,可以把GPU的计算操作分为compute-bound(计算绑定)和memory-bound(内存绑定)。
这里memory-bound(内存绑定)的计算相对于arithmetic 操作微乎其微,例子:Typical examples are matrix multiply with large inner
dimension, and short convolution kernels with a large number of channels.(典型的例子是具有大内维数的矩阵乘法和具有大量通道的短卷积核)。
GPU计算方面结论:matrix multiply operation比non-matrix multiply operations(没有矩阵综合运算)的快15倍左右。
在这里插入图片描述

这里只有MLP是关注于 compute-bound的操作,其他几个都是类似的memory-bound操作。
这里的** FFT(快速傅里叶变换) **的计算公式
在这里插入图片描述

Monarch Mixer

通过解释Monarch matrices来去说明Monarch Mixer(M2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/141508.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea2023启动springboot项目如何指定配置文件

方法一: 方法二: 举例:

blockly编程简介

blockly编程简介 blockly是google发布的可视化编程工具,基于web技术构建。 在功能/设计上和MIT的儿童编程语言Scratch类似,采用可视化搭积木编程方式。 可以将基于block程序转化为基于普通文本的常规代码(如JavaScript、Python等&#xff…

基于flask+bootstrap4实现的注重创作的轻博客系统项目源码

一个注重创作的轻博客系统 作为一名技术人员一定要有自己的博客,用来记录平时技术上遇到的问题,把技术分享出去就像滚雪球一样会越來越大,于是我在何三博客的基础上开发了[l4blog],一个使用python开发的轻量博客系统,…

echarts饼图label显示不全原因?

echarts饼图label显示不全原因? 标签数量过多:当饼图的扇形数量较多时,为了保证图形的清晰性,ECharts 可能不会显示所有的标签,而是选择显示部分标签或者不显示标签。标签过长:如果标签的文字过长&#xf…

问卷调查表单、表设计

一、DWSurvey实现: 参考文档:快速入门 | 调问开源问卷系统 管理员通过拖拽题型生成表单, 点击保存,预览,发布问卷。用户根据预览的地址,填写问卷提交。管理员可以在我的问卷里看到答卷情况。 关于数据存…

如何使用iPhone邮件客户端管理QQ邮箱?

如何使用iPhone邮件客户端管理QQ邮箱? 解决方案 之前按照QQ邮箱的提示,一直配置失败 解决方案 需要POP3/IMAP/SMTP/Exchange/CardDAV 授权码 然后登陆密码就是授权码 参考文章:参考

三国杀中的概率学问题3——王荣

前言 本文是三国杀中的概率学问题系列文章中的一篇,将详细讨论王荣吉占的期望摸牌数问题。并加上连续情形作为拓展。 值得说明的是,本文的思路受到了一篇文章的启发,在此特别鸣谢,这是文章的链接。 王荣吉占的期望摸牌数 王荣的…

Node.js 框架 star 星数量排名——NestJs跃居第二

文章目录 什么是NodeJs?什么是NodeJs框架?图表数据框架排名 什么是NodeJs? Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它使得我们可以在服务器端使用JavaScript开发高效、可扩展的应用程序。作为一个快速、轻量级的平台,Node.js在Web开发领…

贪吃蛇和俄罗斯方块

贪吃蛇 一、创建新项目 创建一个新的项目,并命名。 创建一个名为images的文件夹用来存放游戏相关图片。 然后再在项目的src文件下创建一个com.xxx.view的包用来存放所有的图形界面类, 创建一个com.xxx.controller的包用来存放启动的入口类(控制类) …

Clickhouse学习笔记(14)—— Clickhouse监控

ClickHouse 运行时会将一些个自身的运行状态记录到众多系统表中,如下所示: 为了直观方便地监控ck的运行情况,使用Prometheus Grafana 的组合来进行监控 Prometheus 负责收集各类系统的运行指标;Grafana 负责可视化 Prometheus&a…

ASD光谱仪使用

ASD光谱仪使用 光谱仪机器和电脑用来实时查看光谱曲线,以及控制光谱仪采集的时间、条数等各项参数。 在采集时,需要面向太阳,将待测的对象完全暴露于阳光下(下图站位是错误的挡住光线了)。探头放置于对象正上方50cm处…

Android launchWhenXXX 和 repeatOnLifecycle

文章目录 Android launchWhenXXX 和 repeatOnLifecyclelifecycleScope和viewModelScopelaunchWhenXXXrepeatOnLifecycleflowWithLifecycle总结 Android launchWhenXXX 和 repeatOnLifecycle lifecycleScope和viewModelScope LiveData优点: 避免内存泄露风险&…

小程序中如何设置多门店/多人/多商品价格库存等复杂场景设置

有些商家希望打造小程序平台,在这个平台上有多个商家入驻,他们分别售卖自己的商品。而有些商家有多个连锁店,连锁店的商品都是一样的,但不同的连锁店有不同的库存和价格。这些业务在采云小程序中是怎么支持的呢?下面具…

2023数字科技生态展,移远通信解锁新成就

11月10日,以“数字科技,焕新启航”为主题的中国电信2023数字科技生态大会暨2023数字科技生态展在广州盛大启幕。作为物联网行业的龙头标杆,同时更与中国电信连续多年维持稳定友好的合作关系,移远通信受邀参加本次展会。 在本次展会…

CSRF和XSS漏洞结合实战案例

文章目录 CSRF和XSS漏洞结合实战案例实验原理实验步骤信息收集构造CSRF和XSS代码xss注入 CSRF和XSS漏洞结合实战案例 实验环境为csm 实验原理 攻击者利用JavaScript可以构造请求的功能在留言面板构造一个存储型xss注入,里面的内容为js请求。请求新添加用户&…

行业寒冬下,给软件测试工程师or功能测试的一些建议

​行业寒冬下,给软件测试工程师的一些建议 【文章末尾给大家留下了大量的福利】 国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过…

Oracle 11g安装教程

下载并安装Oracle数据库 首先,需要到Oracle官方网站下载Oracle数据库,在这里我们将下载Oracle 11g第2版的Microsoft Windows(x64)版本。由于安装文件过大,可以分两个文件下载或一次性下载,如下图所示 下载完成后,将下…

你知道调试一个 Web 的 Android 应用有多麻烦吗 AndroidStudio uniapp Capacitor

你知道调试一个 Web 的 Android 应用有多麻烦吗 AndroidStudio uniapp Capacitor 用的 uniapp 写的页面,全是坑,各种坑,生命周期不触发等。但由于已经做完大部分内容了,也不好换了。 我用的是 capacitor h5 > Android 的方式…

paypal第三方支付==沙盒,js

学习地址 https://developer.paypal.com/dashboard/ 创建沙盒已经得到商户和用户账号 得到clientid和client secret 得到买家账户和密码 查看沙盒内的所有账号,我这有一个卖家,两个买家账号 DEMO代码 GitHub - paypaldev/PayPal-Standard-Checkout-Tu…

基于51单片机的出租车计价器设计【程序+proteus仿真+参考论文+AD原理图】

一、项目功能简介 整个设计系统由STC89C52单片机DS1302时钟模块LCD1602显示模块DS18B20温度模块24C02存储模块L298电机驱动模块里按键模块蜂鸣器模块组成。 具体功能: 1、LCD1602显示日期时间、温度,计费开始显示起步价、里程价、总路程和总费用。 2、…