【大厂AI课学习笔记NO.71】AI算力芯片GPU/TPU等

AI算力芯片的发展历程
人工智能(AI)算力芯片的发展历程紧密地跟随着AI技术的发展脚步。从早期的基于传统中央处理器(CPU)的计算,到图形处理器(GPU)的广泛应用,再到专门为AI设计的处理器如神经处理单元(NPU)和张量处理单元(TPU)的出现,AI算力芯片不断演进,以满足日益增长的计算需求。
一、早期基于CPU的计算
在AI技术发展的初期,大部分的计算任务都是由CPU来完成的。CPU是计算机的核心部件,负责执行程序的指令,进行数据的处理和存储。然而,CPU的设计初衷是为了处理通用的计算任务,而不是针对AI中大量并行的矩阵运算进行优化。因此,在使用CPU进行AI计算时,往往会遇到计算效率低下的问题。
二、GPU的崛起
随着AI技术的快速发展,尤其是深度学习的兴起,对计算能力的需求急剧增加。GPU由于其并行处理的能力,逐渐在AI计算领域崭露头角。GPU最初是为了加速图形渲染而设计的,但其高度并行的架构也非常适合进行大规模的矩阵运算,这使得GPU成为深度学习训练的首选硬件。
三、专门为AI设计的处理器
尽管GPU在AI计算中表现出色,但人们仍在探索更加高效、更加专用的AI算力芯片。于是,NPU和TPU等专门为AI设计的处理器应运而生。
NPU(神经处理单元)是一种专门为神经网络计算设计的处理器。它通过对神经网络算法进行硬件级别的优化,实现了更高的计算效率和更低的功耗。NPU的出现极大地推动了边缘计算和移动设备上AI应用的发展。
TPU(张量处理单元)则是谷歌开发的一种专门为深度学习设计的定制芯片。TPU通过优化深度学习中常见的张量运算,实现了比传统硬件更高的计算性能和能效比。TPU在谷歌的云服务中得到了广泛应用,为大规模深度学习训练提供了强大的支持。
CPU、GPU、NPU、TPU的定义、原理、特性、优势、场景及异同点
1. CPU(中央处理器)
定义:CPU是电子计算机的主要设备之一,是计算机中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。
原理:CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。
特性:通用性强,能执行多种类型的计算任务;但并行处理能力相对较弱。
优势:适用于复杂的逻辑控制和通用计算任务。
场景:日常办公、网页浏览等通用计算场景。
2. GPU(图形处理器)
定义:GPU是一种专门在个人电脑、工作站、游戏机和一些移动设备上进行图像运算工作的微处理器。
原理:GPU采用并行架构,拥有成百上千个核心,可以同时处理多个任务。它特别适合于处理大量的浮点运算和并行数据。
特性:并行处理能力强,适合进行大规模矩阵运算;功耗相对较高。
优势:在深度学习训练、游戏图形渲染等需要大量并行计算的场景中表现出色。
场景:深度学习训练、游戏、图形渲染等。
3. NPU(神经处理单元)
定义:NPU是一种专门为神经网络计算设计的处理器,通过对神经网络算法进行硬件级别的优化来实现高效计算。
原理:NPU采用针对神经网络优化的架构和指令集,能够高效执行神经网络中的各种运算,如卷积、池化等。
特性:高度优化神经网络计算,低功耗,适合移动设备和边缘计算场景。
优势:在神经网络推理任务中提供极高的性能和能效比。
场景:智能手机、无人机、自动驾驶汽车等边缘计算场景。
4. TPU(张量处理单元)
定义:TPU是一种专门为深度学习设计的定制芯片,通过优化深度学习中常见的张量运算来实现高性能计算。
原理:TPU采用针对张量运算优化的架构和指令集,能够高效执行深度学习中的矩阵乘法和卷积等运算。
特性:专门为深度学习优化,高性能和高能效比;但通用性相对较弱。
优势:在大规模深度学习训练和推理任务中提供卓越的性能。
场景:云服务、数据中心等需要进行大规模深度学习计算的场景。
异同点:
- 相同点:CPU、GPU、NPU和TPU都是用于计算的处理器,它们都能执行计算任务,只是优化的方向和适用的场景不同。
- 不同点:CPU是通用处理器,适用于各种计算任务;GPU擅长并行处理,适合大规模矩阵运算;NPU专门为神经网络优化,适合神经网络推理任务;TPU则专门为深度学习优化,适合大规模深度学习训练和推理。在性能和功耗方面,CPU通常性能较低但功耗较高;GPU性能较高但功耗也相对较高;NPU和TPU则针对特定任务进行了优化,实现了高性能和低功耗的平衡。
总结一下,就是:
- 算力:
- CPU:算力相对较低,因为其设计初衷是为了处理通用的计算任务,而不是针对AI中大量并行的矩阵运算进行优化。
- GPU:算力较高,由于其并行处理的能力,使得它在大规模矩阵运算方面表现出色,适用于深度学习训练等计算密集型任务。
- NPU:专门为神经网络计算设计的处理器,通过对神经网络算法进行硬件级别的优化,实现了更高的计算效率。
- TPU:专门为深度学习设计的定制芯片,通过优化深度学习中常见的张量运算,实现了比传统硬件更高的计算性能。
- 功耗:
- CPU:功耗相对较高,因为其需要处理各种复杂的逻辑控制和通用计算任务。
- GPU:功耗也相对较高,尤其在进行大规模并行计算时,需要消耗大量的电力。
- NPU:功耗较低,因为它专门针对神经网络进行了优化,实现了更高的能效比。
- TPU:功耗相对较低,因为它是专门为深度学习设计的,能够在保证性能的同时降低功耗。
由于不同芯片在设计和制造上的差异,以及任务类型的不同,很难给出一个具体的倍数关系来描述它们之间算力和功耗的对比。但是一般来说,在相同任务下,专门为AI设计的处理器(如NPU和TPU)往往能够在保证性能的同时实现更低的功耗。而CPU和GPU则可能在某些任务下表现出更高的功耗。
这里要注意的是:(考点)
GPU无法单独工作,必须由CPU进行控制和调用。
CPU擅长复杂的逻辑运算和数据格式,GPU浮点运算能力不断直线上升。
NPU视频,多媒体数据。
TPU张量处理单元,30-80倍效率提升。
相关文章:
【大厂AI课学习笔记NO.71】AI算力芯片GPU/TPU等
AI算力芯片的发展历程 人工智能(AI)算力芯片的发展历程紧密地跟随着AI技术的发展脚步。从早期的基于传统中央处理器(CPU)的计算,到图形处理器(GPU)的广泛应用,再到专门为AI设计的处…...
浅谈Redis和分布式系统
浅谈Redis Redis用于存储数据,且在内存当中进行存储。 但是在日常编写代码中,定义一个变量也就属于在内存当中存储一个数据。 Redis主要会在分布式系统当中发挥重要作用,如果只是单机程序,直接通过变量存储数据的方式会比使用Re…...
微信小程序onLoad加载定义好的函数
这里小程序开发中容易犯的错误-1 给客户做一个程序。需要在页面加载的时候在onLoad(options){}中加载定义好的函数,代码如下 onLoad(options) {get_week_()},运行时老报错 后来修改为正确的代码 onLoad(options) {this.get_week_()//必须加this},再尝试运行&#x…...
C++进阶:详细讲解继承
现在也是结束了初阶部分的内容,今天开始就进入进阶部分了。一刻也没有为初阶的结束而哀悼,立刻赶来“战场”的是进阶部分里的继承 文章目录 1.继承的概念和定义1.1继承的概念1.2继承的定义1.2.1继承的格式1.2.2再讲访问限定符(详讲protected)1.2.3**继承…...
第十一篇 - 应用于市场营销视频场景中的人工智能和机器学习技术 – Video --- 我为什么要翻译介绍美国人工智能科技巨头IAB公司(1)
IAB平台,使命和功能 IAB成立于1996年,总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司,互动广告局(IAB- the Interactive Advertising Bureau)自1996年成立以来,先后为700多家媒体…...
基于决策树实现葡萄酒分类
基于决策树实现葡萄酒分类 将葡萄酒数据集拆分成训练集和测试集,搭建tree_1和tree_2两个决策树模型,tree_1使用信息增益作为特征选择指标,B树使用基尼指数作为特征选择指标,各自对训练集进行训练,然后分别对训练集和测…...
上位机图像处理和嵌入式模块部署(qmacvisual三个特色)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 了解了qmacvisual的配置之后,正常来说,我们需要了解下不同插件的功能是什么。不过我们不用着急,可以继续学习下…...
电脑解锁后黑屏有鼠标--亲测!!不需要重装系统!!
问题:上周电脑黑屏,只有鼠标,鼠标还不能右键!! 中招:win10系统最新版火绒安全 ,那你有概率获得开机黑屏套餐一份。 原因是:火绒把我们的explorer删除了导致黑屏,这个文…...
Spring 事务的种类 ? 传播机制 ?
在Spring框架中,事务管理可以分为编程式事务和声明式事务两种主要形式。每种形式都有其特点和使用场景。以下是这两种形式的具体介绍: 编程式事务 编程式事务是通过编写代码来实现事务管理的。在Spring中,编程式事务管理通常通过Transactio…...
深入了解 Java 方法和参数的使用方法
Java 方法 简介 方法是一块仅在调用时运行的代码。您可以将数据(称为参数)传递到方法中。方法用于执行特定的操作,它们也被称为函数。 使用方法的原因 重用代码:定义一次代码,多次使用。提高代码的结构化和可读性。…...
自动驾驶技术解析与关键步骤
目录 前言1 自动驾驶主要技术流程1.1 车辆周围环境感知1.2 车辆和行人检测分析1.3 运动轨迹规划 2 关键技术概述2.1 车辆探测与图片输入2.2 行人检测2.3 运动规划2.4 电子地图2.5 轨迹预测2.6 交通灯分析2.7 故障检测 结语 前言 自动驾驶汽车作为未来交通领域的重要发展方向&a…...
[Electron]中IPC进程间通信
Electron中IPC 进程间通信 (IPC) 是在 Electron 中构建功能丰富的桌面应用程序的关键部分之一。在 Electron 中,进程使用 ipcMain 和 ipcRenderer 模块,通过开发人员定义的“通道”传递消息来进行通信。 本文介绍以下几个方面: 1-渲染进程到…...
数学建模-动态规划(美赛运用)
动态规划模型的要素是对问题解决的抽象,其可分为: 阶段。指对问题进行解决的自然划分。例如:在最短线路问题中,每进行走一步的决策就是一个阶段。 状态。指一个阶段开始时的自然状况。例如:在最短线路问题中ÿ…...
bat文件给多个Android设备安装apk
本文是安装一个apk 1、确保以下3个文件在同一个目录下 1>要安装的apk,这里是mmb.apk 2>设备名单,保存在.txt文件中,一行一个设备名,设备名通过adb devices获取,截图中是两个设备 txt文件中的样式 3>要运行…...
[数据集][目标检测]光伏板太阳能板缺陷检测数据集VOC+YOLO格式2400张3类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2400 标注数量(xml文件个数):2400 标注数量(txt文件个数):2400 标注…...
深入浅出计算机网络 day.1 概论④ 计算机网络的定义和分类
不要退却,要绽放魅力 我的心会共鸣 和你 —— 24.3.9 一、计算机网络的定义 计算机网络早期的一个最简单定义 现阶段计算机网络的一个较好的定义 二、计算机网络的分类 按交换方式分类 按使用者分类 按传输介质分类 按覆盖范围分类 按拓扑结构分类,可…...
rust引用-借用机制扩展
rust引用-借用机制还是有限制的,比如我们要在多次函数调用中修改参数、跨线程传递参数并发修改的场景,单纯使用引用-借用机制就不灵了(这种场景和引用-借用设计思想是冲突的)。这时需要借助rust提供的Rc、Arc、Cell、RefCell对机制…...
JVM的工作流程
目录 1.JVM 简介 2.JVM 执行流程 3. JVM 运行时数据区 3.1 堆(线程共享) 3.3 本地方法栈(线程私有) 3.4 程序计数器(线程私有) 3.5 方法区(线程共享) 4.JVM 类加载 ① 类…...
kibana配置 dashbord,做可视化展示
一、环境介绍 这里我使用的kibana版本为7.17版本。 语言选择为中文。 需要已经有es,已经有kibana,并且都能正常访问。 二、背景介绍 kibana的可视化界面,可以配置很多监控统计界面。非常方便,做数据的可视化展示。 这篇文章&…...
前后端分离项目Docker部署指南(下)
目录 前言: 一.安装nginx 创建目录 上传nginx.conf至/data/nginx/conf文件夹中 运行启动容器 上传静态资源文件 编辑 访问结果 前言: 在上一篇博客中,我们深入探讨了如何使用Docker部署一个前后端分离的项目中的后端部分。我们构建…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...
MLP实战二:MLP 实现图像数字多分类
任务 实战(二):MLP 实现图像多分类 基于 mnist 数据集,建立 mlp 模型,实现 0-9 数字的十分类 task: 1、实现 mnist 数据载入,可视化图形数字; 2、完成数据预处理:图像数据维度转换与…...
