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

news/2024/7/24 10:04:58 标签: 人工智能

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)


http://www.niftyadmin.cn/n/5178201.html

相关文章

只需5分钟,完成Redis所有命令操作~

你好,我是田哥 常见的面试题:redis可以存储哪些类型的数据结构? 我在做模拟面试中发现,大部分人根本就没用过Redis,答案基本靠背。 能去背,肯定是好事,证明你对面试还挺上进。 但,我…

css控制文本、字符换行

CSS3 word-wrap 属性 指定如果足够长得话,应该换行: p.test {word-wrap:break-word;} word-wrap属性允许长的内容可以自动换行。 默认值:normal继承:yes版本:CSS3JavaScript 语法:object.style.wordWra…

【网络奇缘】我和英特网再续前缘

🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 目录 计算机网络的概念 计算机网络的功能 ⭐1.数据通信 ⭐2.资源共享 ⭐3.分布式处理 ⭐4.提高可靠性 ⭐…

JAVA数据代码示例

首先,我们需要导入一些必要的Java库 java import java.net.URL; import java.net.HttpURLConnection; import java.io.BufferedReader; import java.io.InputStreamReader; 然后,我们可以创建一个URL对象,表示我们要爬取的网页的URL。 jav…

Linux 程序开发流程 / 基本开发工具 / Vim / GCC工具链 / Make 工具 / Makefile 模板

编辑整理 by Staok。 本文部分内容摘自 “100ask imx6ull” 开发板的配套资料(如 百问网的《嵌入式Linux应用开发完全手册》,在 百问网 imx6ull pro 开发板 页面 中的《2.1 100ASK_IMX6ULL_PRO:开发板资料》或《2.2 全系列Linux教程&#xf…

MIPI速率计算

背景 MIPI是Camera sensor中常用的接口协议,目前MIPI CSI最高传输速率为2.5Gbps/lane。在调试Camera sensor时,经常会遇到MIPI传输速率的问题,本文简单介绍下与MIPI有关的一些速率。 像素速率(pixel/s) 像素速率和分辨率以及帧率有关&…

小米14系列:跨越升级,为你万象更新

10月26日,小米召开小米澎湃OS暨小米14系列新品发布会,发布了年度旗舰小米14系列。 承袭徕卡专业光学设计,搭载新一代 Summilux 镜头,以非凡影像力,瞬间猎获真实光影。全等深微曲屏,突破传统形态限制&#x…