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

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

3天内不再提示

什么是加速计算?加速计算的应用场景和解决方案

OSC开源社区 来源:又拍云 2023-12-28 10:07 次阅读

随着科技的发展,处理大量数据和进行复杂计算的需求越来越高,人工智能、大数据和物联网等领域更是如此,传统的计算方式已经无法满足这些需求。因此,加速计算作为一种现代计算方式,成了必要的手段。加速计算具有前所未有的处理能力,在云基础设施中发挥着核心作用,因为它有助于更高效、更有效地管理数据中心的海量信息。此外,加速计算还能提供必要的计算能力和内存,以便更高效地训练和实施 GPT-4 等高级生成式人工智能模型。这种能力可加快训练时间、处理大型数据集和开发日益复杂的模型。

加速计算利用 GPUASIC、TPU 和 FPGA 等专用硬件来执行比 CPU 更高效的计算,从而提高速度和性能。它尤其适用于可并行化的任务,如高性能计算、深度学习机器学习和人工智能。

加速计算发展迅速,各种硬件和软件解决方案如 GPU、ASIC、TPU、FPGA、CUDA、OpenCL 和网络技术层出不穷。下面我们来深入了解一下加速计算,就能明白为何它会成为 AI 时代的计算力“新宠”。

什么是加速计算

加速计算是指使用专用硬件来执行某些类型的计算,其效率要比仅使用通用中央处理器(CPU)高。利用图形处理单元(GPU)、专用集成电路(ASIC)(包括张量处理单元(TPU))和现场可编程逻辑门阵列(FPGA)等设备的强大功能,以更高的速度执行计算,从而加速计算过程,一般我们也将这些设备称之为加速器。

这些加速器尤其适用于可被分解为较小并行任务的项目,如高性能计算 (HPC)、深度学习、机器学习、人工智能和大数据分析。通过将指定类型的工作分派到这些专用加速计算硬件上,大大提高了系统的性能和效率。

加速计算因其高效处理海量数据的能力,从而推动了机器学习、AI、实时分析和科学研究的进步。加速计算在图形、游戏、边缘计算和云计算领域的影响力与日俱增,是数据中心等数字基础设施的骨干力量。随着对更强大应用和系统的需求日益增长,传统的 CPU 方法难以与加速计算竞争,而加速计算可提供更快、更具成本效益的性能升级。

加速计算解决方案

加速计算解决方案涉及硬件、软件和网络的结合。这些解决方案专门用于提高复杂计算任务的速度和效率。

硬件

硬件加速器是加速计算的基础,这些加速器包括图形处理器 (GPU)、专用集成电路 (ASIC) 和现场可编程门阵列 (FPGA)。

16de7d68-a4a9-11ee-8b88-92fbcf53809c.png

GPU

图形处理器(GPU)广泛用于各种计算密集型任务,其优势在于可以同时执行许多复杂的计算,因此非常适合高性能计算(HPC)和机器学习中的神经网络训练等任务。

英伟达公司数据中心和计算密集型任务(机器学习、人工智能)的 GPU 市场上处于领先地位。该公司用于数据中心的主要 GPU 架构包括 Hopper (H100) 和 Ampere (A100)。值得一提的是,H100 GPU 非常适合加速涉及大型语言模型 (LLM)、深度推荐系统、基因学和复杂数字孪生的应用。

应用型专用集成电路 ASIC

应用型专用集成电路(ASIC)是为执行特定任务而设计的定制芯片,与 CPU 不同, CPU 可处理各种应用。由于专用集成电路是为特定功能定制的,因此执行任务的效率比 CPU 更高,在速度、功耗和整体性能方面都具有优势。

我们常常在科技文章中看到的神经处理单元(NPU)和深度学习处理器(DLP)就是 ASIC 中的一员,还有谷歌的张量处理单元(TPU)也是 ASIC 下的一员猛将。TPU 专为加速机器学习工作荷载而设计,它们被广泛应用于语言翻译、谷歌助手中的语音识别智能化广告排名等项目中。

现场可编程逻辑门阵列 FPGA

现场可编程逻辑门阵列(FPGA)是一种半导体集成电路,与 CPU 相比,FPGA 可重新编程以便能更高效地执行特定任务。与 ASIC、GPU 和 CPU 的固定架构不同,FPGA 硬件包括可配置逻辑块和可编程互连。这样,即使在芯片出厂和部署后,也可以进行功能更新。

FPGA 凭借其灵活性和并行计算能力,在数据中心的高性能计算、AI、机器学习中越来越受欢迎。不过,与 GPU 和定制 ASIC 解决方案相比,FPGA 的开发速度较慢,其软件生态系统目前也不够健全,由于其编程复杂,专业工程师的数量也很有限。

软件

加速计算利用应用编程接口(API)和编程模型(如 CUDA 和 OpenCL)来连接软件和硬件。这样可以优化数据流,从而提高性能、能效、成本效益和准确性。开发人员通过 API 和编程模型,就能够编写在 GPU 上运行的代码,并利用软件程序库实现高效算法

CUDA

CUDA(全称为 Compute Unified Device Architecture,统一计算架构)是英伟达公司开发的专有并行计算平台和 API 模型,通过这个技术,开发者可利用英伟达的 GPU 进行图像处理之外的运算,显著加速计算任务。该平台包括 cuDNN、TensorRT 和 DeepStream 等深度学习库,可增强人工智能训练和推理任务。

自 2006 年推出以来,CUDA 已被下载 4000 万次,在全球拥有 400 万开发者用户群,已形成了一个庞大的开发者社区,因此英伟达公司在数据中心硬件和软件市场上占据了显著优势。

OpenCL

OpenCL(Open Computing Language,开放计算语言)是一个为异构平台编写程序的框架。OpenCL 的一个特别显著的特点是它在不同硬件类型之间的可移植性,平台可由 CPU、GPU、FPGA 或其他类型的处理器与硬件加速器所组成。其广泛的兼容性使开发人员能够利用这些不同硬件的强大功能,来进行加速计算。

网络

网络在加速计算中发挥着至关重要的作用,因为它有助于成千上万个处理单元和内存以及存储设备之间的通信。各种网络技术被用来实现这些计算设备与系统其他设备之间的通信,并在网络内的多个设备之间共享数据。常见的技术有:

PCI Express(PCIe):PCIe 是计算机总线的一个重要分支,它沿用既有的 PCI 编程概念及信号标准,并且构建了更加高速的串行通信系统标准。这一标准提供了计算设备与 CPU、内存之间的直接连接。在加速计算中,PCIe 通常用于将 GPU 或其他加速器连接到主机系统。

NVLink:英伟达公司专有的高带宽、高能效互连技术,可提供比 PCIe 高得多的带宽。该技术旨在促进 GPU 之间以及 GPU 与 CPU 之间更高效的数据共享。

Infinity Fabric:AMD 公司专有的互连技术,用于连接其芯片中的各种组件,包括 CPU、GPU 和内存。

Compute Express Link (CXL):CXL 是一种开放式互连标准,有助于减少 CPU 和加速器之间的延迟同时增加带宽。它将多个接口合并为一个 PCIe 接口,连接到 CPU。

InfiniBand:一种高速、低延迟的互连技术,通常用于高性能计算(HPC)设置。它实现了服务器集群和存储设备之间的高速互连。

以太网:应用最广泛最成熟的网络技术,主要用于在数据中心的服务器之间传输大量数据。但是,它无法提供与 NVLink 或 InfiniBand 相同的性能水平。

16f6e740-a4a9-11ee-8b88-92fbcf53809c.png

△ NVLink 和 PCIe 与 CPU 连接的 GPU 架构

加速计算应用场景

生成式AI

加速计算是开发和实施先进的生成式 AI 模型的关键因素。生成式 AI 涉及使用算法来统计特征上与训练集相似的数据,在图像、文本和语音领域都有广泛应用。

在生成式 AI 领域,会用到生成对抗网络(GANs)、变异自动编码器(VAEs)和变换器(Transformers)等模型,还有包括 OpenAI 的 ChatGPT 的大型语言模型(LLMs)。这些模型所涉及到的复杂数学运算,需要在大型数据集上进行训练,并需要大量的计算能力和内存。更具体地说,模型大小、每层复杂度、序列长度和多样化是计算需求日益增加的最主要因素。

加速计算在解决生成式 AI 的计算能力和内存需求方面发挥着至关重要的作用,其主要作用在加快训练时间、处理大型数据集、支持复杂模型、促进实时生成并保障高效梯度计算。

加快训练时间

加速计算在生成式 AI 中最重要的作用是缩短 GAN、VAE 和 Transformer 模型的训练时间。在基于 CPU 的传统架构上,这些模型的训练通常需要数天、数周甚至数月的时间,但 GPU 和 TPU 等加速计算平台是专为并行处理而设计的加速硬件,它们能够同时并行处理多个计算,从而大大缩短了训练时间。

处理大型数据集

生成式 AI 模型通常在海量数据集上进行训练,与传统 CPU 相比,加速计算硬件可以更高效地处理这些大型数据集。此外,使用先进的内存架构(如某些 GPU 中的高带宽内存)可以在训练过程中高效处理这些大型数据集。

创建复杂模型

加速计算所带来的计算能力的提升,可以创建更复杂、更大型的模型,从而获得更好的结果。例如,像 GPT-4 这样拥有 170 万亿个参数的生成型预训练变换模型,只有通过加速计算才能实现。

实时功能

在某些应用中,人工智能模型需要实时(或接近实时)生成输出。这对于交互式应用(如视频游戏中的人工智能和实时翻译)尤为重要。加速计算可确保快速执行这些操作,从而实现实时功能。

高效的计算梯度

深度学习模型通过使用基于梯度的优化技术(如反向传播)进行学习。这些计算方法以误差或损失函数最小化的方向来迭代调整模型参数。由于计算是基于矩阵的,因此具有很高的并行性,非常适合选用加速计算方案来处理。

AI数据中心

加速计算平台的目的是加速各类数据中心的计算密集型工作,包括人工智能、数据分析、图形和科学计算。这些数据中心包括企业、主机托管、超大规模/云、边缘和模块化设施,其主要目标是提高工作负载性能,同时降低功耗和每次查询的成本。

生成式 AI 和大型语言模型(LLM)在消费者、互联网公司、企业和初创公司中的兴起,使人工智能的应用进入了一个快速发展时刻,加速了数据中心和云平台中的 AI 推理部署。目前,大多数 AI 推理工作都部署在 CPU 和网络接口卡(NIC)上运行。然而,由于性能、能效、成本效益和功耗限制的日益增加,业界正在转向利用 GPU 和 ASIC 等专用硬件进行加速计算。

现代数据中心的发展方向之一,就是建立一个可持续运行的 " AI 工厂"。通过 LLM、推荐系统以及最终的推理模型等人工智能模型,配备推理机群,以便支持各种各样的工作任务,例如视频处理、文本生成、图像生成以及虚拟世界和虚拟 3D 图形。

使用GPU进行加速计算

使用 GPU 进行加速计算方法主要有三大类:

使用商业套装软件

使用开源或官方函式库

自行编程 CUDA

第一项种类繁多,其中又以有限元素分析领域最多,此领域相关计算包含流体力学分析、热传导分析、电磁场分析或应力分析等等应用。由于范围涵盖 IC 设计、建筑设计、甚至许多交通工具或化工厂也需要通过这类软件进行模拟分析,所以开发这类软件有很大的商业价值。

第二项则比较个性化,由开发者自行编写程序,GPU 的计算组件则可以引用他人已经准备好的函数库,或者参考英伟达官方提供的函数库,也可以从 GitHub 上进行搜索。

第三项就必须通过编程语言进行 CUDA 编写,不同的编程语言能够操纵的自由度也各不相同,其中 C/C++ 或 Fortran属于开发自由度最高的编程语言,可从底层控制 GPU 计算,甚至可以针对本机内存与 GPU 内存数据的传输进行优化。其次则为 Python,Python 也是目前市面上最主流的 AI 应用开发语言,实现的方式包括 PyCuda 或者使用Numba 函数库。另外,Java、R、C# 等也都可以支持 CUDA。

审核编辑:汤梓红

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

    关注

    68

    文章

    19155

    浏览量

    229041
  • FPGA
    +关注

    关注

    1625

    文章

    21663

    浏览量

    601666
  • AI
    AI
    +关注

    关注

    87

    文章

    30072

    浏览量

    268334
  • 深度学习
    +关注

    关注

    73

    文章

    5491

    浏览量

    120958
  • 算力
    +关注

    关注

    1

    文章

    925

    浏览量

    14732

原文标题:加速计算,为何会成为AI时代的计算力“新宠”

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    加速云发布新品,异构计算加速平台有效满足AI及高性能计算业务需求

    致力于提供异构计算加速整体解决方案、业界领先的异构加速和业务卸载方案厂商——杭州加速云信息技术有
    的头像 发表于 04-17 16:52 6717次阅读

    FPGA与MCU的应用场景

    FPGA的应用场景有这些: 快速原型设计 FPGA可以快速配置成多种定制数字电路,允许在不需要昂贵且耗时的制造过程的情况下进行快速部署和修改。 硬件加速 在需要高性能和低延迟的应用中,FPGA的并行
    发表于 07-29 15:45

    计算十大应用场景

    和创新制造等全行业延伸拓展。云计算将在IT产业各个方面都有其用武之地,以下是云计算十个比较典型的应用场景!1. IDC云IDC云是在IDC原有数据中心的基础上,加入更多云的基因,比如系统虚拟化技术、自动化
    发表于 03-20 15:07

    解决方案加速海啸模拟

    挑战海啸模拟将物理过程模拟与大量深海数据相结合。这些计算通常在大规模并行超级计算机上完成,但具有硬件利用率低和性能差的缺陷。解决方案通过硬件浮点 FPGA 加速模拟内循环可实现高达 3
    发表于 07-27 15:04

    加速度传感器的7大不同应用场景

    制动启动检测、地震检测、工程测振、地质勘探、振动测试与分析以及安全保卫振动侦察等多种领域。下面就举例几种应用场景,更好的认识加速度传感器。三轴加速度传感器的应用1、车身安全、控制及导航系统中
    发表于 09-18 11:48

    请问怎么通过MPU6050的x,,y,z轴加速度,计算出合加速

    如题,MPU6050采集出来的是三轴加速度,但是我现在想通过计算求出合加速度。要怎么计算呢?这是我自己写的算法,合加速度a = a[0] /
    发表于 04-19 05:07

    机器学习实战:GNN加速器的FPGA解决方案

    场景。如上所述种种设计挑战的存在,使得业界急需一种可以支持高度并发实时计算、巨大内存容量和带宽、以及在数据中心范围可扩展的GNN加速解决方案。5. GNN
    发表于 10-20 09:48

    GNN(图神经网络)硬件加速的FPGA实战解决方案

    。如上所述种种设计挑战的存在,使得业界急需一种可以支持高度并发实时计算、巨大内存容量和带宽、以及在数据中心范围可扩展的GNN加速解决方案。5.GNN加速器的FPGA设计
    发表于 07-07 08:00

    ARM MPcore系统中ACP(加速器一致性接口的 )应用场景如何配置

    ARM MPcore系统中ACP(加速器一致性接口的 )作用,具体应用场景?如何配置?
    发表于 09-08 11:24

    异构计算是未来趋势,看加速云玩转FPGA

    在人工智能时代,深度学习和机器学习成为企业进行业务创新的重要基础。而这些有赖于计算力、算法的支撑,于是我们看到异构计算风起云涌。作为专注于异构计算加速平台
    发表于 06-08 13:46 1482次阅读

    业内最强的FPGA图像加速解决方案

    近日,百度云与联捷计算科技(CTAccel)共同推出基于FPGA的图像加速解决方案(CIP,CTAccel Image Processor),实现对JPEG转码JPEG、JPEG转码WebP(M6)等进行FPGA
    发表于 06-18 14:35 1595次阅读

    FPGA与GPU计算存储加速对比

    为了提升计算基础设施的性能,并紧跟数据分析与 AI 不断攀升的需求,众多企业将硬件加速视为主要的解决方案。在大多数情况下,先进的可编程硬件(主要是指 GPU 和 FPGA)是加速的主要
    的头像 发表于 08-02 08:03 2202次阅读
    FPGA与GPU<b class='flag-5'>计算</b>存储<b class='flag-5'>加速</b>对比

    计算芯片发展加速.zip

    计算芯片发展加速
    发表于 01-13 09:07 3次下载

    加速场景智能化:华为行业感知出席2023计算产业生态大会

    产业健康可持续发展。 华为行业感知以“感知边缘,加速边缘场景智能化”为主题参与本次盛会, 并以“好望智能边缘解决方案”荣获“2023边缘计算十大解决
    的头像 发表于 12-15 16:05 758次阅读
    <b class='flag-5'>加速</b><b class='flag-5'>场景</b>智能化:华为行业感知出席2023<b class='flag-5'>计算</b>产业生态大会

    GPU加速计算平台是什么

    GPU加速计算平台,简而言之,是利用图形处理器(GPU)的强大并行计算能力来加速科学计算、数据分析、机器学习等复杂
    的头像 发表于 10-25 09:23 210次阅读