0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

大模型学习笔记

处理器与AI芯片 来源:处理器与AI芯片 2024-01-08 10:05 次阅读

Apple最近发表了一篇文章,可以在iphone, MAC 上运行大模型:【LLM in a flash: Efficient Large Language Model Inference with Limited Memory】。

50e52fd2-adca-11ee-8b88-92fbcf53809c.png

主要解决的问题是在DRAM中无法存放完整的模型和计算,但是Flash Memory可以存放完整的模型。但是Flash带宽较低,LLM in Flash通过尽量减少从Flash中加载参数的数量,优化在DRAM中的内存管理,实现在Flash带宽有限的条件下提高计算速度的目的。

这篇文章很多都是工程上的细节,很少理论。下面是这篇论文的总结,如有不对的地方,欢迎私信。

利用FeedForward 层的稀疏度,只加载FeedForward层输入非0和预测输出非0的参数

通过Window Sliding 只加载增量的参数,复用之前的计算,减少需要加载的参数。

将up-projection的row和down-projection的column放在一起存放,这样在flash中可以一次读取比较大的chunk,提高flash的带宽利用效率。

如下图所示,chunk越大,带宽也就越大,初始加载chunk的latency可以被平摊。

50f29eba-adca-11ee-8b88-92fbcf53809c.png

1. 大模型在FeedForward layer有超过90%的稀疏度。将embedding和attention 矩阵一直保存在DRAM中。Attention 的权重占据了model总量的1/3。对于FeedForward Layer,只有非稀疏的部分被动态的加载进去DRAM。

2. 预测Relu层的稀疏性。在attention层的输出后面增加low-rank predictor,预测在relu层之后可能是0的元素。

经过优化后,最终只需要加载2%的FeedForward层的参数到DRAM中。

50ff0060-adca-11ee-8b88-92fbcf53809c.png

3. Sliding Window

每次滑动窗口,在生成新的token后,删掉不在window内的neuron,增加新的neuron。

51059a38-adca-11ee-8b88-92fbcf53809c.png

上图右侧为一个window size为5的示意图,粉色的是要删除的元素,蓝色的是新加入的元素。

上图左侧是如何在aggregated usage和incremental transfer中保持平衡,window设置的越大,每次新需要加载neruon也就越少,但是需要在memory中累计保存的空间占用的也就越大。

上图左侧的目标就是如何让aggregated usage和incremental transfer都比较小。

译者疑问:这个window就是Longformer: The Long-Document Transformer中的sliding window吗?欢迎私信。

4.内存管理

内存管理也是因为sliding window引入的。

译者注:

就像c++中vector的维护一样,如果每次删除vector中间的一个元素,都需要导致该元素后面所有元素的移动。

下图描述的就是删除和加入新neuron的内容。

5110e6ea-adca-11ee-8b88-92fbcf53809c.png

最后文章还提出了比较有意思的一点,他们主要进行了稀疏化的优化,在计算和加载参数方面。他们也尝试了通过和当前neuron关系紧密的 “closest friend”绑定,每次加载neuron时,也都加载他的closest friend。

作者说但是这样带来了负面作用,因为存在一些closest friend是很多neuron的closest friend (译者注:类似于大众之友),这些neuron被频繁的加载到DRAM中,反而降低了性能。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DRAM
    +关注

    关注

    40

    文章

    2303

    浏览量

    183286
  • Mac
    Mac
    +关注

    关注

    0

    文章

    1099

    浏览量

    51363
  • 大模型
    +关注

    关注

    2

    文章

    2314

    浏览量

    2448
  • LLM
    LLM
    +关注

    关注

    0

    文章

    272

    浏览量

    304

原文标题:大模型笔记【2】 LLM in Flash

文章出处:【微信号:处理器与AI芯片,微信公众号:处理器与AI芯片】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PADS应用学习笔记

    本内容提供了PADS应用学习笔记,PADS2007学习及Power PCb使用经验
    发表于 11-24 10:42 1.1w次阅读

    记录一下Linux设备模型学习历程

    Linux设备模型学习笔记1KobjectKobject, Kset和KtypeUeventsysfs文件系统wowo这里写的很好了:内核等看wowo写的很有帮助我写一下我的理解。记录一下自己的
    发表于 02-17 06:05

    Allegro学习笔记

    Allegro学习笔记 不收积分,需要的看下
    发表于 11-23 17:41 0次下载

    模拟电路学习笔记

    模拟电子的相关知识学习教材资料——模拟电路学习笔记
    发表于 09-20 16:10 0次下载

    PADS_2007学习笔记

    PADS_2007学习笔记
    发表于 01-16 13:54 18次下载

    Ansoft学习笔记

    ansoft学习笔记与常见问题
    发表于 03-23 10:24 0次下载

    Java设计模式学习笔记

    Java设计模式学习笔记
    发表于 09-08 10:15 5次下载
    Java设计模式<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>

    ARM学习笔记

    ARM学习笔记
    发表于 10-13 14:28 3次下载
    ARM<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>

    机器学习的个人学习笔记

    本文档的主要内容详细介绍的是机器学习的个人学习笔记免费下载。
    发表于 03-01 09:28 22次下载
    机器<b class='flag-5'>学习</b>的个人<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>

    Altera FPGA CPLD学习笔记

    Altera FPGA CPLD学习笔记(肇庆理士电源技术有限)-Altera FPGA CPLD学习笔记                 
    发表于 09-18 10:54 82次下载
    Altera FPGA CPLD<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>

    学习笔记】单片机汇编学习

    学习笔记】单片机汇编学习
    发表于 11-14 18:21 15次下载
    【<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>】单片机汇编<b class='flag-5'>学习</b>

    Linux设备模型学习笔记(1)

    Linux设备模型学习笔记1KobjectKobject, Kset和KtypeUeventsysfs文件系统wowo这里写的很好了:http://www.wowotech.net
    发表于 12-22 18:52 0次下载
    Linux设备<b class='flag-5'>模型</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b>(1)

    RT-Thread 内核学习笔记 - 设备模型rt_device的理解

    RT-Thread 内核学习笔记 - 内核对象rt_objectRT-Thread 内核学习笔记 - 内核对象管理RT-Thread 内核学习
    发表于 01-25 18:19 8次下载
    RT-Thread 内核<b class='flag-5'>学习</b><b class='flag-5'>笔记</b> - 设备<b class='flag-5'>模型</b>rt_device的理解

    Sentaurus TCAD学习笔记

    半导体仿真Sentaurus TCAD 学习笔记,仅供学习
    发表于 08-07 14:54 4次下载

    Allegro学习笔记.zip

    Allegro学习笔记
    发表于 12-30 09:19 6次下载