存内计算对大语言模型推理的加速

2024-04-16 13:28

本文主要是介绍存内计算对大语言模型推理的加速,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 本篇文章集中讨论了存内计算技术在加速大语言模型推理方面的潜力,从大语言模型的背景知识出发,探讨目前其面临的挑战,进而剖析两篇经典的文献以彰显存内计算有望解决目前大语言模型在推理加速方面存在的问题,最后围绕大语言模型与存内计算的结合展开构想。

  • 大语言模型的背景知识及其面临的挑战

(一)大语言模型的基础概念

通俗来说,大语言模型(Large Language ModelLLM)是基于海量文本数据训练的、包含百亿级别(或更多)参数的深度学习模型。它不仅能够生成自然语言文本,还能够深入理解文本含义,处理各种自然语言任务,如文本摘要、问答、翻译等。

大语言模型的表现往往遵循扩展法则,但是对于某些能力,只有当语言模型规模达到某一程度才会显现,这些能力被称为“涌现能力”,代表性的涌现能力包括三点:其一是具备上下文学习能力,可以通过完成输入文本的词序列来生成测试实例的预期输出,而无需额外的训练或梯度更新;其二是具有指令遵循的行为,通过对指令格式化的多任务数据集的混合进行微调,LLM在微小的任务上表现良好;其三是拥有循序渐进的推理特点,通过思维链推理策略,LLM可以通过利用涉及中间推理步骤的prompt机制来解决此类任务得出最终答案。

图1 LLM的发展时间线

目前具有代表性的LLM有GPT-4、LLaMA、PaLM等(如图1),它们在各种自然语言处理任务,如机器翻译、文本摘要、对话系统、问答系统等应用中展现出了强大的能力。此外,LLM通过提供增强的数据分析、模式识别和预测建模功能,在推动医疗保健、金融和教育等各个领域的创新方面发挥了重要作用。这种变革性的影响凸显了探索和理解这些模型的基础以及它们在不同领域广泛应用的影响的重要性。

(二)大语言模型面临的挑战

在传统计算架构中执行LLM推理时,主要面临计算延迟、能源消耗和数据传输瓶颈这几个挑战。随着模型如GPT和BERT等的参数规模达到数十亿甚至更多,这些模型在推理过程中需要进行大量的计算,特别是矩阵运算和激活函数处理。这种高密度的计算需求导致显著的延迟,特别是在需要快速响应的应用场合,如实时语言翻译或交互式对话系统。

此外,随着模型大小的增加,所需的计算资源也相应增长,这不仅导致能源消耗大幅提升,也增加了运营成本和环境负担。在数据中心或云环境中运行这些大型模型需要消耗大量电力,高能耗也限制了这些模型在边缘设备上的应用。数据传输瓶颈是另一个关键问题。因为LLM的参数量巨大,无法全部装入处理器的高速缓存中,这就需要频繁地从较慢的主存中调入数据,增加了推理延迟并进一步提高了能源消耗。

存内计算技术(Compute-In-Memory,CIM)通过在内存芯片中直接进行数据处理,有效地减少了数据在传统计算架构中从存储器到处理器之间的传输需求。这种减少数据移动的方式能显著降低能源消耗,并减少推理任务的延迟,使得模型响应更为迅速和高效。考虑到目前LLM面临的挑战,存内计算或许是解决这一问题的有效方法。

  • 案例剖析一——X-Former:In-Memory Acceleration of Transformers

X-Former架构是为加速LLM如Transformers设计的CIM硬件平台。这一架构通过通过在存储单元内直接进行计算、优化参数管理、提升计算效率和硬件利用率,有效地克服了传统计算硬件在处理自然语言任务时的高能耗、高延迟、参数管理难度和扩展性限制等性能瓶颈。

X-Former的独特之处在于其集成了特定的硬件单元,如投影引擎和注意力引擎,它们分别针对模型的不同计算需求进行优化(图2)。投影引擎使用NVM来处理静态的、计算密集型的矩阵运算,而注意力引擎则利用CMOS技术优化频繁且动态变化的计算任务。这种设计使得X-Former能够在执行过程中几乎消除对外部内存的依赖,因为大部分数据处理都在内存阵列内完成。

图2 X-Former硬件加速器由两种不同的计算引擎组成,投影引擎和注意力引擎

此外,通过采用层内序列阻塞数据流的方法,X-Former进一步优化了数据处理流程,这不仅减少了内存占用,而且通过并行处理提高了整体的计算速度。这种方法特别适合处理自注意力运算,因为它允许同时处理多个数据块,而不是按照传统顺序处理整个数据集。这样的设计使得X-Former在硬件利用率和内存需求方面都表现优异,尤其是在处理具有大量参数和复杂计算需求的模型时。

通过实际性能评估,X-Former在处理Transformer模型时显示出了显著的性能优势。与传统的GPU和其他基于NVM的加速器相比,X-Former在延迟和能耗上均有大幅改进。例如,与NVIDIA GeForce GTX 1060 GPU相比,在延迟和能耗上分别改善了69.8倍和13倍;与现有的最先进的NVM加速器相比,改善了24.1倍和7.95倍。这种显著的性能提升,证明了X-Former在自然语言处理领域特别是在处理复杂和参数庞大的模型如GPT-3和BERT时,硬件加速的巨大潜力。

  • 案例剖析二——iMCAT:In-Memory Computing based Accelerator for Transformer Networks for Long Sequences

2021年由Laguna等人提出的iMCAT的存内计算架构使用交叉阵列(XBars)和内容可寻址存储器(CAMs)的组合来加速Transformer网络。其中XBars是一种可以实现高度并行的矩阵向量乘法(MVM)的电路,一般用于实现RNN或记忆增强神经网络。加入了SDP-MHA(Multi-head Self-Attention)的机制后,XBars被证实比目前常用的Transformer注意力机制更适应并行计算处理(图3)。然而,记忆项的数量会随着序列长度的变化而变化,且随着序列长度的增加,延时和能耗会急剧增加。iMCAT架构通过存内计算的方法直接在存储单元中进行数据处理,从根本上减少了处理器与内存之间的数据传输需求,弥补了XBars加速Transformer网络的缺陷。

图3 LSH + SDP注意力MHA映射

CIM一大优势是其在执行复杂算法时的灵活性,可以在硬件的基础上使用高效算法简化计算或存储寻址。iMCAT通过集成局部敏感哈希(LSH)技术将输入元素映射到哈希表中,利用散列函数简化了键(K)与查询(Q)之间的匹配过程,iMCAT利用CAMs进行寻址,只在每个查询(Q)向量与其相似的键(K)向量之间计算Transformer模型的注意力得分,从而减少了需要计算的元素对数量。通过预筛选出与给定查询向量相关性较高的键向量,可以在不牺牲模型性能的前提下,显著提高注意力机制的计算效率。在处理包含大量序列元素的场景中,这种方法可以大大减少了计算量,有效降低了执行自注意力机制所需的时间和能量消耗。

另外,高度并行化的CIM硬件设计是iMCAT架构成功的另一个关键点。其中每个自注意力头部的计算都分配到独立的CIM单元上,每个CIM单元都包含专门的XBars分别处理不同的查询(Q)、键(K)和值(V)向量集。并行化处理不仅加速了自注意力的计算过程,还减轻了单一处理单元的计算负担,从而进一步提高了整体系统的性能和响应速度。通过这种方式,即使在处理极长的序列时,iMCAT也能保持高效的运算效率。

  • 总结与展望

CIM这种高效的计算方式不仅提高了处理速度,还使得在计算资源受限的环境中部署复杂的语言模型成为可能,极大地扩展了其应用场景,尤其是在对实时性要求极高的任务中表现出巨大的潜力。尽管CIM技术在加速LLM推理中表现出许多优势,但目前仍存在一些技术和实际应用的局限。例如,CIM技术在实际部署时可能需要特定的硬件支持和优化,这可能增加系统的复杂性和成本。此外,现有的CIM实现可能还未完全适用于所有类型的计算任务,对于某些特定的模型或数据类型,其效能提升可能不如预期。

未来,随着硬件技术的持续进步和优化,CIM技术有望支持更为复杂的算法并进一步提升计算精度和能效,在推动智能设备更广泛的普及、增强边缘计算能力以及提高数据安全性方面发挥更加重要的作用。

参考资料

  1. 大语言模型综述——http://ai.ruc.edu.cn/research/science/20230605100.html
  2. 什么是LLM大语言模型?Large Language Model,从量变到质变——知乎(https://zhuanlan.zhihu.com/p/622518771)
  3. S. Sridharan, J. R. Stevens, K. Roy and A. Raghunathan, "X-Former: In-Memory Acceleration of Transformers," in IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 31, no. 8, pp. 1223-1233, Aug. 2023.
  4. A. F. Laguna, A. Kazemi, M. Niemier and X. S. Hu, "In-Memory Computing based Accelerator for Transformer Networks for Long Sequences," 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, France, 2021, pp. 1839-1844.
  5. N. Challapalle, et al. Farm: A flexible accelerator for recurrent and memory augmented neural networks. Journal of Signal Processing Systems, Jun 2020.
  6. A. Ranjan, et al. X-mann: A crossbar based architecture for memory augmented neural networks. pages 1–6, 06 2019.
  7. CHRISTOFOROS KACHRIS. A Survey on Hardware Accelerators for Large Language Models. arXiv:2401.09890 [cs.AR]

这篇关于存内计算对大语言模型推理的加速的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

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

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

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费