深度学习硬件(GPU、FPGA、ASIC、DSP)

2023-12-28 00:38

本文主要是介绍深度学习硬件(GPU、FPGA、ASIC、DSP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

深度学习最近取得的成功势不可挡:从图像分类和语音识别到图片标注、理解视觉场景、视频概述、语言翻译、绘画,甚至是生成图像、语音、声音和音乐! 随着我们的家变得越来越智能,你会发现许多设备都会需要连续地使用深度学习应用、收集和处理数据。

所以我们需要新的硬件,一个比 Intel Xeon 所驱动的服务器更加高效的硬件。一个英特尔服务器 CPU 可能会消耗 100-150 瓦功率并需要一个有着冷却装置的超大系统来支持其性能的正常发挥。

图形处理器、GPU
现场可编程的逻辑器件、FPGA(现场可编程门阵列/Field-Programmable Gate Array)
定制芯片、特殊应用型集成电路、ASIC
数字信号处理器、DSP
未来的、外星人发明的、由新的物理定律所发展出的技术

GPU

GPU 最早是为生成基于多边形网络的计算机图形而设计的。在最近几年,由于近来计算机游戏和图形引擎领域的需求和复杂度需要,GPU 积累了强大的处理性能。英伟达是 GPU 领域的领军者,能生产有数千个内核的处理器,这些内核的设计工作效率可以达到 100%。实际上这些处理器也非常适用于运行神经网络和矩阵乘法方面的计算。注意,矩阵向量的乘法运算被认为是「尴尬的并行(embarrassingly parallel)」,因为它可以通过简单的算法扩展被并行化(它们缺少分支因而可以避免缓存信息丢失)。

由于 GPU 的超多核(~3500 个,对比 Intel Xeon 的 16 个/ Xeon Phi 的 32 个),英特尔的 CPU 和英伟达的 GPU 之间的竞争助长了后者的发展,使其 GPU 比 CPU 在时钟频率快 2~3 倍。GPU 核是更为复杂(分支预测和流程)的 CPU 核的流线型版本,但是前者许多都支持更高级别的并行运算,因而拥有更好的性能。

这种 GPU 很擅长训练深度学习系统——卷积神经网络或者循环神经网络。它们可以在仅仅几毫秒之内就运行一批 128 或 256 张图像。但是它们同时也会消耗大约 250 瓦的功率并且需要一个完整的计算机来支持运行,这又消耗了额外的 150 瓦的功率。一个高性能的 GPU 系统至少需要消耗 400 瓦的功率。

这并不适用于增强现实眼镜、无人机、手机、移动设备和小型机器人。甚至对于未来的消费级自动驾驶汽车来说也是不可接受的。

英伟达正在致力于开发效率更高的器件,比如 Tegra TX1、TX2(深度神经网络需要 12 瓦的能耗和每秒 ~100 千兆次浮点运算的性能,TX2 需要的更多)和更强大的 Drive PX(250 瓦,与一个 Titan X 的消耗量差不多)。

这里还要注意,在自动驾驶汽车和智能摄像机中,直播视频是必要的而图像批处理是不可能实现的,因为视频需要针对及时响应进行实时处理。

一般 GPU 的水平大约是 5 G-flops/s per W。如果我们想在移动系统中部署深度学习解决方案,那我们还需要更好的方法!

GPU和CPU
GPU的工作大部分是这样:计算量大,但没什么技术含量,而且要重复很多很多次。
CPU和GPU因为最初用来处理的任务就不同。
CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。

FPGA

Xilinx 等公司的现代 FPGA 器件就是电子元器件中的乐高。我们可以使用其电路作为模块来构建出整个定制微处理器和复杂的异构系统。而在最近几年,FPGA 开始生产出越来越多的乘累加计算模块。这些 DSP 模块正如其名,能够执行乘法运算并可以被排列到一起来进行一定量的并行运算。

定制 SoC

高通、AMD、ARM、英特尔和英伟达都在致力于将定制化芯片整合进它们的现有解决方案中。Nervana 和 Movidius(目前都在英特尔旗下)已经或者说正在开发集合方案。SoC 在同一技术节点上所能提供的性能大约是 FPGA 系统的 10 倍,在特定结构中还要更高。由于 SoC 和处理器所需的功率变得越来越低,其区别将来自于新的集合内存系统和带宽对外部存储器的有效利用。在这一领域,整合为 systems-on-a-package(SOP)的 3D memory 至少可以节约 10 倍的功率。

DSP

DSP 已经存在了很长一段时间,它最初是用来执行矩阵算法的。但到目前为止,DSP 并没能真正提供任何有用的性能或是可以与 GPU 相匹敌的器件。为什么会这样呢?其主要原因就是核数量。DSP 主要用于电信系统,且无需拥有 16 个或 32 个以上的核。其工作负载并不需要这么多。相反,GPU 负载在近 10~15 年间一直在增加,因此它需要更多的核。最终,大约从 2006 年开始,英伟达的 GPU 在性能上就超过了 DSP。

Texas Instruments 公司还在开发 DSP,但是我们从中并没有看到任何有竞争力的性能。且许多 DSP 也已经被 FPGA 取代了。

Qualcomm 在它们的 SoC 中使用 DSP,并且其性能会有所加速,但是目前还没有足够多的信息来将它与其它的解决方案进行比较。

这篇关于深度学习硬件(GPU、FPGA、ASIC、DSP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷