像拼Lego一样重建LLM Accelerator,实现大语言模型推理加速


          
论文题目:AttentionLego: An Open-Source Building Block For Spatially-Scalable Large Language Model AcceleratorWith Processing-In-Memory Technology
          
论文链接:https://arxiv.org/abs/2401.11459
          
Code已开源:https://bonany.cc/attentionleg
      

自注意力模块是Transformer架构中的关键组成部分,但是,使用GPU进行计算时,自注意力模块对I/O带宽的需求非常高,这导致了在内存和处理单元之间传输中间计算结果时的瓶颈。

AttentionLego 的设计思想是创建一个可扩展的、基于自注意力机制的大型语言模型(LLM)加速器。这个加速器的核心是一个名为AttentionLego的基本构建块,它利用了处理内存(Processing-In-Memory, PIM)技术来提高计算效率。PIM技术将处理单元和内存集成在同一物理芯片上,从而消除了处理器和内存之间数据传输的需求,显著减少了延迟并提高了性能。

AttentionLego设计思想

picture.image

AttentionLego 的名称中的“Lego”暗示了其模块化和可扩展性。就像乐高积木(Lego)可以组合成各种结构一样,AttentionLego旨在通过重复使用其基本构建块来构建更大规模的LLM处理器。这种设计允许开发者根据需要轻松地扩展硬件架构,以适应不同规模的LLM应用。

具体来说,AttentionLego由以下几个主要部分组成:

  • 输入处理模块 ( Input Process module ):负责计算输入权重矩阵(WQ, WK, WV)与输入向量的乘积。
  • 分数模块 ( Score module ):计算查询(Q)和键(K)向量的点积,生成QKT矩阵。
  • Softmax模块 :计算softmax非线性激活函数,用于确定注意力权重。
  • DMA模块 ( Direct Memory Access ):控制模块间以及与外部存储器之间的数据传输。
  • 顶层控制器 ( Top controller ):协调不同模块之间的通信、数据流和功能操作,确保整个系统按照设计要求正常运行。

AttentionLego架构

picture.image


推荐阅读


欢迎关注我的公众号“ PaperAgent ”, 每天一篇大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。

0
0
0
0
评论
未登录
暂无评论