LLM中完全消除矩阵乘法,效果惊人!10亿参数在FPGA上运行功耗接近大脑!!

本文主要是介绍LLM中完全消除矩阵乘法,效果惊人!10亿参数在FPGA上运行功耗接近大脑!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



一直以来,矩阵乘法(MatMul)在神经网络操作中占据主导地位,主要因为GPU针对MatMul进行了优化。

老黄一举揭秘三代GPU!打破摩尔定律,打造AI帝国,量产Blackwell解决ChatGPT全球耗电难题


这种优化使得AlexNet在ILSVRC2012挑战赛中脱颖而出,成为深度学习崛起的历史性标志。


GPT-4o深夜发布!Plus免费可用!icon-default.png?t=N7T8https://www.zhihu.com/pin/1773645611381747712

没体验过OpenAI最新版GPT-4o?快戳最详细升级教程,几分钟搞定:

升级ChatGPT-4o Turbo步骤icon-default.png?t=N7T8https://www.zhihu.com/pin/1768399982598909952

  • 论文地址:https://arxiv.org/pdf/2406.02528

  • 项目地址:https://github.com/ridgerchu/matmulfreellm


值得注意的是,AlexNet利用GPU提高了训练速度,超越了CPU的能力,使深度学习仿佛赢得了「硬件彩票」。

尽管MatMul在深度学习中很流行,但它占据了计算开销的主要部分,尤其是在训练和推理阶段消耗了大部分执行时间和内存访问。

研究者已经开始使用其他更简单的操作替代MatMul,主要有两种策略:

1. 使用初等运算代替MatMul,例如在卷积神经网络(CNN)中,用有符号加法代替乘法;

2. 使用二值或三值化量化,将MatMul值在累加之前翻转或清零。例如,脉冲神经网络(SNN)使用二值激活,而二值化网络(BNN)使用量化权重。



在语言建模方面,BitNet等技术表明量化的可扩展性,但这种方式仍然保留了昂贵的矩阵-矩阵相乘(MMM)的自注意力机制。

尽管研究者尝试了多种方法,但MatMul操作在GPU上仍然是资源密集型的。

由于MatMul占据了LLM整体计算成本,且随着LLM向更大的嵌入维度和上下文长度扩展,这种成本只会增加。

这引发了一个问题:是否有可能完全从LLM中消除MatMul操作?


在这项工作中,加州大学圣克鲁兹分校等机构的研究者证明了MatMul操作可以完全从LLM中消除,同时在十亿参数规模下保持强大的性能。

实验表明,该研究提出的MatMul-free模型达到了与最先进的Transformer相当的性能,后者在推理期间需要更多的内存,规模至少为2.7B参数。



此外,论文还研究了扩展定律,发现随着模型规模的增加,MatMul-free模型与全精度Transformer之间的性能差距逐渐缩小。

研究者还提供了一种高效的GPU模型实现方式,在训练期间相比未优化的基线模型减少了多达61%的内存使用。通过在推理时利用优化的内核,模型内存消耗可以比未优化的模型减少超过10倍。


最后,研究者在FPGA上构建了一个自定义硬件解决方案,以13W的功耗处理了十亿参数规模的模型,超出了人类可读的吞吐量,使LLM更接近大脑般的效率。

研究人员根据训练时间和内存使用情况评估了他们提出的融合型 BitLinear 和传统型 BitLinear 实现.

实验表明,他们的融合操作器在更大的批量大小下,能够带来更快的训练速度,并减少内存消耗。

当批量大小为 2 的 8 次方时,1.3B 参数模型的训练速度从每次迭代 1.52 秒提高到 1.21 秒,比 Vanilla 实现快了 25.6%。



推荐阅读:



如何免费使用GPT-4o?如何升级GPT...



更强大Mamba-2正式发布啦!!!



黎曼猜想取得重大进展!!

这篇关于LLM中完全消除矩阵乘法,效果惊人!10亿参数在FPGA上运行功耗接近大脑!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046252

相关文章

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

防近视护眼台灯什么牌子好?五款防近视效果好的护眼台灯推荐

在家里,灯具是属于离不开的家具,每个大大小小的地方都需要的照亮,所以一盏好灯是必不可少的,每个发挥着作用。而护眼台灯就起了一个保护眼睛,预防近视的作用。可以保护我们在学习,阅读的时候提供一个合适的光线环境,保护我们的眼睛。防近视护眼台灯什么牌子好?那我们怎么选择一个优秀的护眼台灯也是很重要,才能起到最大的护眼效果。下面五款防近视效果好的护眼台灯推荐: 一:六个推荐防近视效果好的护眼台灯的

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

HDU 2159 二维完全背包

FATE 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s只怪。请问他能

zoj 1721 判断2条线段(完全)相交

给出起点,终点,与一些障碍线段。 求起点到终点的最短路。 枚举2点的距离,然后最短路。 2点可达条件:没有线段与这2点所构成的线段(完全)相交。 const double eps = 1e-8 ;double add(double x , double y){if(fabs(x+y) < eps*(fabs(x) + fabs(y))) return 0 ;return x + y ;

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用