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

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

3天内不再提示

FPGA和ASIC在大模型推理加速中的应用

傅里叶的猫 来源:傅里叶的猫 2024-10-29 14:12 次阅读

今天我们再来看一篇论文。

随着现在AI的快速发展,使用FPGAASIC进行推理加速的研究也越来越多,从目前的市场来说,有些公司已经有了专门做推理的ASIC,像Groq的LPU,专门针对大语言模型的推理做了优化,因此相比GPU这种通过计算平台,功耗更低、延迟更小,但应用场景比较单一,在图像/视频方向就没有优势了。

整个AI的工业界,使用FPGA的目前还比较少,但学术界其实一直在用FPGA做很多的尝试,比如通过简化矩阵运算,使FPGA可以更好的发挥其优势。

今天看的这篇论文,是一篇关于FPGA和ASIC在大模型推理加速和优化方向的综述,我们看下目前的研究进展。

Introduction

Transformer模型在自然语言处理(NLP)、计算机视觉语音识别等多个领域都取得了显著的成就。特别是,这些模型在机器翻译、文本分类、图像分类和目标检测等任务中表现出色。Transformer模型需要比传统神经网络(如循环神经网络、长短期记忆网络和卷积神经网络)更多的参数和计算操作。例如,Transformer-B模型包含1.1亿参数,执行21.78亿次浮点运算,而Vision Transformer (ViT)-B模型包含8600万参数,执行16.85亿次浮点运算。

GPU的局限性

尽管GPU在加速大型深度学习模型方面发挥了主要作用,但它们的高功耗限制了在边缘环境中的适用性。因此,大多数大型深度学习模型在GPU服务器环境中处理,给数据中心带来了沉重的负担。

FPGA和ASIC的优势

FPGA和ASIC在并行处理、设计灵活性和功耗效率方面具有优势,被用作各种深度学习模型的专用加速平台。通过压缩和设计优化技术,可以优化FPGA和ASIC上的加速器性能,如吞吐量和功耗效率。

该论文对FPGA和ASIC基于Transformer的加速器的最新发展进行全面回顾,探索适合于FPGA/ASIC的模型压缩技术,以及对最新的FPGA和ASIC加速器的性能进行比较。

研究背景

论文中这部分内容比较长,对Transformer模型和Vision Transformer (ViT)模型的进行了详细介绍,包括它们的基本组件、不同的模型变体以及它们在计算上的特点,包含了很多理论部分,有兴趣的读者可以看原文,我只总结一下大概的内容。

Transformer模型主要由编码器(Encoder)和解码器(Decoder)组成。编码器处理输入序列生成上下文向量,而解码器使用编码器的上下文向量和前一步的输出标记来生成下一步的标记。编码器和解码器的核心操作模块包括多头自注意力(MHSA)和前馈网络(FFN)。通过MHSA,Transformer能够训练 token 之间的全局上下文信息,从而实现高精度。基于Transformer架构的也有不同的模型,如BERT、GPT等,他们的预训练和微调方法也均有不同。这些模型在不同的NLP任务中表现出色,但大型模型如GPT-3由于参数众多,难以在FPGA或ASIC上实现。

Vision Transformer (ViT)是针对计算机视觉任务提出的Transformer模型,主要用于图像分类。与原始Transformer架构不同,ViT只使用编码器,并且在编码器之前进行LayerNorm操作。ViT通过将输入图像分割成固定大小的patches,然后通过线性投影生成Transformer输入tokens。ViT的编码器操作和图像分类任务的执行方式也有详细说明。基于ViT架构也有多种模型变体,如DeiT、Swin Transformer和TNT,这些模型通过不同的方式改进了ViT,例如通过知识蒸馏、层次结构和窗口机制、以及改进的patch嵌入方法来提高性能。

Transformer模型压缩

要想在FPGA/ASIC上应用Transformer,肯定需要对模型进行改进,要让算法硬件实现更加的友好。目前有常用的方式:

量化(Quantization)

量化是将模型的参数和激活值从通常的32位浮点数转换为低精度数据格式(如INT8或INT4)的过程。这样做可以有效减少内存需求,同时加快计算速度并降低功耗。比如线性量化的过程,并通过量化感知训练(QAT)或后训练量化(PTQ)来恢复因量化而可能损失的准确性。还可以通过优化权重和激活值的量化策略来实现高压缩比和最小的准确性损失。

剪枝(Pruning)

剪枝是通过识别并移除模型中不重要的参数来减少模型大小的方法。剪枝可以基于不同的粒度,如细粒度、标记剪枝、头部剪枝和块剪枝。结构化剪枝(如标记、头部和块剪枝)会改变模型结构,而无结构化剪枝(如细粒度剪枝)则保留了模型结构,但可能导致内存利用效率低下。合理的Pruning可以在内存效率和准确性之间找到平衡点来实现SOTA性能。

硬件友好的全整数算法(Hardware-friendly fully-integer algorithm)

Transformer模型中的非线性操作(如Softmax和GeLU)需要高精度的浮点运算,这在FPGA或ASIC硬件上难以高效实现。为了解决这个问题,研究者们提出了一些近似算法和量化技术,以便在硬件上以整数形式处理这些非线性函数,从而减少对浮点运算的需求。

硬件加速器设计优化

在这一节,论文中详细探讨了针对FPGA和ASIC平台的Transformer模型加速器的各种优化技术。其实这一节的内容跟上一节是一个道理,都是在讲如何让大模型算法更好的适应FPGA/ASIC的平台。论文中也是花了很大的篇幅对每一个优化方法做了详细分析,这里我也只是总结一下论文中使用到的优化方法,具体的内容还是建议有兴趣的读者看原文。

稀疏性(Sparsity)

计算优化(Computing Optimization)

内存优化(Memory Optimization)

硬件资源优化(Hardware Resource Optimization)

芯片面积优化(Chip Area Optimization)

软硬件协同设计(Hardware-Software Co-design)

这些优化技术都可以帮助提高加速器的性能,降低功耗,并实现更高效的Transformer模型推理。

性能比较

这一部分主要是对基于FPGA和ASIC的Transformer加速器的性能进行了分析和比较。

FPGA加速器性能比较

下面这个表,展示了不同的加速器模型使用在数据格式、工作频率、功耗、吞吐量(GOPS)、推理速度(FPS)以及所使用的FPGA资源(如DSP、LUT、FF和BRAM)的统计。

1080ac7c-95a6-11ef-a511-92fbcf53809c.png

对于基于FPGA的加速器,分析的这些指标都是FPGA芯片的关键资源。

可以看到,这些模型其实都有各自的优势和劣势,某些设计可能在吞吐量上有优势,而其他设计可能在能效比或推理速度上有优势。

ASIC加速器性能比较

下面这个表是不同模式在数据格式、工作频率、制造工艺、芯片面积、功耗、吞吐量以及片上内存大小的统计。

1085f0b0-95a6-11ef-a511-92fbcf53809c.png

对于ASIC加速器,性能比较则侧重于诸如芯片面积和技术节点等ASIC设计的关键指标。这些因素影响着ASIC芯片的成本、能耗以及计算效率。

Further work

在前面的几节中,论文中调研了不同模型在FPGA/ASIC上的性能比较,本节作者提出了当前FPGA和ASIC基Transformer加速器研究的一些潜在方向和未来趋势。

复杂任务的加速器

除了传统的分类任务外,检测和分割等更复杂的任务对计算能力的要求更高。学术界正在探索如何通过剪枝和优化来降低这些任务所需的能量消耗。

异构计算平台

异构平台也是目前非常火的一个方向,如何将CPU、GPU、FPGA和ASIC集成到一个平台上,以利用每种处理器的优势。这种异构架构可以提高吞吐量,降低延迟,并提高能源效率。

混合网络性能提升

结合卷积神经网络(CNN)和Transformer的混合网络正在受到关注。

调度算法和通信协议

为了充分利用异构计算平台的潜力,需要开发高效的调度算法和通信协议,优化处理器之间的数据流,减少瓶颈,提高整体性能。

硬件-软件协同设计

软硬件协同设计方法可以进一步优化Transformer模型的加速。通过迭代模拟和优化,可以找到最佳的硬件和软件配置,以实现最低的延迟和最高的能效。

新应用和模型的开发

随着新技术的发展,如扩散模型和LLM,需要开发新的应用和模型来利用这些技术。这可能涉及到开发新的硬件加速器,以支持这些模型的特定计算需求。

其实论文中讲了这么多,我最关心的还是商业的部署,GPU的功耗就决定了它的应用场景不会特别广,像边缘计算设备,基本告别那种大功耗的GPU,FPGA/ASIC在这方面就会显得有优势。但目前来看,除了上面提到的LPU,现在ASIC已经在很多场景使用用于做一些“小模型”的推理任务,像现在比较火的AI PC,AI手机,都是在端侧运行参数量较小的大模型,但FPGA在AI 端侧的应用还任重而道远。

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

    关注

    1629

    文章

    21729

    浏览量

    602964
  • asic
    +关注

    关注

    34

    文章

    1199

    浏览量

    120429
  • AI
    AI
    +关注

    关注

    87

    文章

    30728

    浏览量

    268873
  • 深度学习
    +关注

    关注

    73

    文章

    5500

    浏览量

    121109
  • 大模型
    +关注

    关注

    2

    文章

    2423

    浏览量

    2638

原文标题:FPGA/ASIC在AI推理加速中的研究

文章出处:【微信号:傅里叶的猫,微信公众号:傅里叶的猫】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    GPU、FPGAASIC鏖战AI推理

    深度学习的概念,通常可以简化为两大工作流,一是训练,二是推理。两者完美融合才是一个现代化的完整深度学习网络,缺一不可。训练用于调整神经网络模型的参数,从而在给定的数据上实现良好的表
    的头像 发表于 03-15 07:39 2706次阅读

    到底什么是ASICFPGA

    提供的门电路规模足够大,通过编程,就能够实现任意ASIC的逻辑功能。 FPGA开发套件,中间那个是FPGA芯片 我们再看看FPGA的发展历程。
    发表于 01-23 19:08

    #硬声创作季 #ASIC 可编程ASIC设计-06.03设计模型FPGA上实现

    fpgaasicIC设计
    水管工
    发布于 :2022年09月25日 05:10:18

    好奇~!谷歌的 Edge TPU 专用 ASIC 旨在将机器学习推理能力引入边缘设备

    的 Edge TPU 扮演着关键角色——这款专用 ASIC 旨在将机器学习推理能力引入边缘设备。近一年之后,两款产品以“Coral”的名号推出了“Beta 测试版”,且目前已经可供感兴趣的朋友购买。另外,这
    发表于 03-05 21:20

    深度学习推理和计算-通用AI核心

    商业发行之前就已经过时了。算法明天需要对架构、内存/数据进行彻底改革资源和能力。推理的梦幻建筑重新定义重写在计算和交付突破性的人工智能加速和灵活的计算能力超越了服务器级CPU和比GPU/ASIC通用
    发表于 11-01 09:28

    FPGA能否继续SoC类应用替代ASIC

    FPGA能否继续SoC类应用替代ASIC?CoreConsole工具是什么,有什么功能?
    发表于 04-08 06:23

    压缩模型加速推理吗?

    你好我使用 STM32CUBE-AI v5.1.2 ApplicationTemplate 将简单的 CNN 导入到 STM32L462RCT我发现压缩模型推理时间没有影响。aiRun 程序 8
    发表于 01-29 06:24

    FPGAASIC/GPU NN实现进行定性的比较

    不同模型的NPU,而不是硬编码和只支持优化特定模型的NPU。ASIC加速特定NN算子的数字
    发表于 02-08 15:26

    AscendCL快速入门——模型推理篇(上)

    三步。 把经过ATC转化过的模型.om文件加载到内存。 为模型准备输入输出。 让模型设备端执行推理。 二、
    发表于 08-24 11:04

    HarmonyOS:使用MindSpore Lite引擎进行模型推理

    使用 MindSpore Lite 推理引擎进行模型推理的通用开发流程。 基本概念 进行开发前,请先了解以下概念。 张量 :它与数组和矩阵非常相似,是 MindSpore Lite
    发表于 12-14 11:41

    FPGA_ASIC-MACFPGA的高效实现

    FPGA_ASIC-MACFPGA的高效实现(理士电源技术有限公司)-该文档为FPGA_ASIC-MAC
    发表于 08-04 19:03 8次下载
    <b class='flag-5'>FPGA_ASIC</b>-MAC<b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的高效实现

    如何对推理加速器进行基准测试

      客户对基准推理学习曲线的最后阶段是开发自己的模型,使用通常来自 Nvidia 或数据中心的训练硬件/软件,然后可能的目标推理加速器上对
    的头像 发表于 06-06 16:02 1317次阅读

    如何加速大语言模型推理

    随着人工智能技术的飞速发展,大语言模型(LLM)已成为自然语言处理领域的核心工具,广泛应用于智能客服、文本生成、机器翻译等多个场景。然而,大语言模型的高计算复杂度和资源消耗成为其实际应用
    的头像 发表于 07-04 17:32 516次阅读

    LLM大模型推理加速的关键技术

    LLM(大型语言模型)大模型推理加速是当前人工智能领域的一个研究热点,旨在提高模型处理复杂任务
    的头像 发表于 07-24 11:38 855次阅读

    高效大模型推理综述

    模型由于其各种任务的出色表现而引起了广泛的关注。然而,大模型推理的大量计算和内存需求对其
    的头像 发表于 11-15 11:45 338次阅读
    高效大<b class='flag-5'>模型</b>的<b class='flag-5'>推理</b>综述