网站首页

产品中心

智能终端处理器 智能云服务器 软件开发环境

新闻中心

关于PG电子

公司概况 核心优势 核心团队 发展历程

联系PG电子

官方微信 官方微博
主页 > 新闻中心

人工智能三大核心要素简析(下)

发布时间:2023-10-26 03:52浏览次数: 来源于:网络

  AI芯片的定义: 从广义上讲只要能够运行人工智能算法的芯片都叫作 AI 芯片。但是通常意义上的 AI 芯片指的是针对人工智能算法做了特殊加速设计的芯片。

  人工智能芯片按功能可分为训练(training)和推断(inference)两个环节,按应用场景分为云端和边缘端(有时分为云端、边缘端和终端),按技术架构分类,包含CPU、GPU、FPGA、ASIC、DPU等。

  AI 系统通常涉及训练和推断过程。简单来说,训练过程是指在已有数据中学习,获得某些能力的过程;而推断过程则是指对新的数据,使用这些能力完成特定任务(比如分类、识别等)。虽然训练和推断有很多类似的基本运算,都需要具有大量的并行处理,高内存带宽和低延迟操作,但是两者在计算和存储资源方面的需求方面存在显著的差异。

  训练:首先,对于训练来说,计算精度非常重要,因为它直接影响推断的准确度。支持训练的硬件必须支持具有较长字长的浮点数或定点数。其次,训练中通常同时包括正向和反向的计算过程,需要多次迭代,计算量要求非常高。这就需要支持训练的芯片不仅要具有强大的单芯片计算能力,还要具备很好的扩展性,可以通过多芯片系统提供更强大的计算能力。再次,训练过程,特别是离线训练,必须处理大量的数据(高达10的15次方到10的18次方字节),因此,它对内存数量、访问内存的带宽和内存管理方法的要求都非常高。第四,由于训练需要更新(写入)和使用(读取)神经网络中的参数(权重),因而需要更复杂的数据同步技术。最后,重要参数的频繁写入也要求存储器能支持更快速的写入(特别是对于在线训练),这对于一些存储器技术来说是很大的挑战。目前市场上通常使用英伟达的 GPU集群来完成,Google 的 TPU2.0/3.0 也支持训练环节的深度网络加速。

  推断:对推断来说,运算和存储的需求都远远低于训练。但由于推断的应用场景多种多样,部署在从云到端的各种设备,如数据中心、自动驾驶汽车、智慧家庭和 IoT 设备等,其需求和约束呈现出多样化的特点。对于多数应用来说,速度、能效、安全和硬件成本等是最重要的考虑因素,而模型的准确度和数据精度则可以依具体情况适当降低。在推断环节中,除了使用CPU或 GPU 进行运算外, FPGA 以及 ASIC 均能发挥重大作用。

  总的来说,云端AI处理主要强调精度、处理能力、内存容量和带宽,同时追求低延时和低功耗 ;边缘端中的 AI 处理则主要关注功耗、响应时间、体积、成本和隐私安全等问题。

  云端:在深度学习的训练阶段,由于数据量及运算量巨大,单一处理器几乎不可能独立完成一个模型的训练过程,因此, 负责 AI 算法的芯片采用的是高性能计算的技术路线,一方面要支持尽可能多的网络结构以保证算法的正确率和泛化能力;另一方面必须支持浮点数运算; 而且为了能够提升性能必须支持阵列式结构(即可以把多块芯片组成一个计算阵列以加速运算)。在推断阶段,由于训练出来的深度神经网络模型仍非常复杂,推断过程仍然属于计算密集型和存储密集型, 可以选择部署在云端。

  边缘端:边缘端 AI 芯片在设计思路上与云端 AI 芯片有着本质的区别。首先,必须保证很高的计算能效;其次,在高级辅助驾驶 ADAS 等设备对实时性要求很高的场合,推断过程必须在设备本身完成,因此要求边缘端设备具备足够的推断能力。而某些场合还会有低功耗、低延迟、低成本的要求, 从而导致边缘端的 AI芯片多种多样。

  就像传统的 CPU 需要编译工具的支持, AI 芯片也需要软件工具链的支持,才能将不同的机器学习任务和神经网络转换为可以在 AI 芯片上高效执行的指令代码,如 NVIDIA GPU 通过 CUDA 工具获得成功。基本处理、内存访问及任务的正确分配和调度将是工具链中需要重点考虑的因素。当工具链将神经网络或其它模型映射到 AI 芯片上时,也有很多优化代码的机会,比如神经网络剪枝、权重压缩和动态量化等。目前,AI 算法开发框架如 TensorFlow、Caffe 和 PyTorch 等,在 AI 应用研发中已经起到了至关重要的作用。对 AI 芯片来说,构建一个集成化的流程,将 AI 模型的开发和训练,硬件无关和硬件相关的代码优化,自动化指令翻译等功能无缝的结合在一起,将是成功部署的关键要求。

  通常CPU 由控制器和运算器这两个主要部件组成。传统的 CPU 内部结构图如图所示,从图中我们可以看到:实质上仅单独的 ALU 模块(逻辑运算单元)是用来完成数据计算的,其他各个模块的存在都是为了保证指令能够一条接一条的有序执行。这种通用性结构对于传统的编程计算模式非常适合,同时可以通过提升 CPU 主频(提升单位时间内执行指令的条数)来提升计算速度。但对于深度学习中的并不需要太多的程序指令、却需要海量数据运算的计算需求,这种结构就显得有些力不从心。尤其是在功耗限制下,无法通过无限制的提升CPU 和内存的工作频率来加快指令执行速度,这种情况导致CPU系统的发展遇到不可逾越的瓶颈。

  在传统的冯·诺依曼结构中,CPU 每执行一条指令都需要从存储器中读取数据,根据指令对数据进行相应的操作。从这个特点可以看出,CPU 的主要职责并不只是数据运算,还需要执行存储读取、指令分析、分支跳转等命令。深度学习算法通常需要进行海量的数据处理,用 CPU 执行算法时,CPU将花费大量的时间在数据/指令的读取分析上,而 CPU的频率、内存的带宽等条件又不可能无限制提高, 因此限制了处理器的性能。而 GPU 的控制相对简单,大部分的晶体管可以组成各类专用电路、多条流水线,使得GPU 的计算速度远高于 CPU;同时 GPU 拥有了更加强大的浮点运算能力,可以缓解深度学习算法的训练难题,释放人工智能的潜能。但GPU无法单独工作,必须由 CPU 进行控制调用才能工作,而且功耗比较高。

  随着英伟达、 AMD 等公司不断推进其对 GPU 大规模并行架构的支持,面向通用计算的 GPU(即GPGPU,GENERAL PURPOSE GPU,通用计算图形处理器)已成为加速可并行应用程序的重要手段。

  但是 GPU也有一定的局限性。 深度学习算法分为训练和推断两部分,GPU平台在算法训练上非常高效。但在推断中对于单项输入进行处理的时候,并行计算的优势不能完全发挥出来。

  基本原理是在 FPGA芯片内集成大量的基本门电路以及存储器,用户可以通过更新 FPGA配置文件来定义这些门电路以及存储器之间的连线。

  与GPU不同,FPGA 同时拥有硬件流水线并行和数据并行处理能力,适用于以硬件流水线方式处理一条数据,且整数运算性能更高,因此常用于深度学习算法中的推断阶段。不过 FPGA 通过硬件的配置实现软件算法,因此在实现复杂算法方面有一定的难度。将FPGA 和 CPU 对比可以发现两个特点, 一是FPGA 没有内存和控制所带来的存储和读取部分,速度更快, 二是FPGA 没有读取指令操作,所以功耗更低。劣势是价格比较高、编程复杂、整体运算能力不是很高。 目前国内的 AI 芯片公司如深鉴科技就提供基于 FPGA 的解决方案。

  FPGA 一次性成本(光刻掩模制作成本)远低于 ASIC,在芯片需求还未成规模、深度学习算法暂未稳定,需要不断迭代改进的情况下,利用 FPGA 芯片具备可重构的特性来实现半定制的人工智能芯片是最佳选择之一。

  为实现特定要求而定制的芯片。定制的特性有助于提高 ASIC 的性能功耗比,缺点是电路设计需要定制,相对开发周期长,功能难以扩展。 但在功耗、可靠性、 集成度等方面都有优势,尤其在要求高性能、低功耗的移动应用端体现明显。谷歌的 TPU、寒武纪的芯片、地平线的 BPU都属于 ASIC 芯片。谷歌的 TPU比 CPU和 GPU的方案快 30至 80 倍,与 CPU 和 GPU 相比, TPU 把控制电路进行了简化,因此减少了芯片的面积,降低了功耗。

  DPU是继CPU、GPU 之后,数据中心场景中的第三颗重要的算力芯片,为高带宽、低延迟、数据密集的计算场景提供计算引擎。如果把一台计算机或服务器比作一个团队,CPU 相当于这个团队的“大管家”,负责思考并处理各种业务;GPU 是“美工”,专攻图像处理;DPU 则相当于“前台”,负责打包、拆包“数据包”,提升整个团队的工作效率。DPU 的运用可以降低算力中心成本,提高运算效率,同时降低成本。

  DPU本质作用在于承载网络侧专用性的网络堆栈算法和传输协议运算转移,核心效用在于释放CPU算力资源、助力其他计算模块高效处理业务数据。相对而言,传统网卡仅负责数据链路的传输,故而CPU承担存储、数据、网络加密等繁杂事务,占用大量业务计算资源。

  DPU可基于FPGA、MP(Multi-core,MP)与ASIC三类核心处理器进行设计,DPU是网卡与处理器的结合,具备传输与计算的能力。

  全球DPU市场排名前三的企业包括NVIDIA、Intel与Broadcom,在技术积累与市场渠道上优势显著。其中,NVIDIA通过收购优质标的Mellanox,在DPU市场实现弯道超车。

  人工采集对象主要包括语音数据、图像数据、视频数据等。语音采集通过采集不同人群的普通话、方言、英文和小语种等各类语音音频,可应用于智能家居、智能设备、智能客服、智慧门店等场景落地。图像采集通过人工拍摄包括人像、商品、汽车、风景等各类真实生活中的图像,助力图像识别模型的训练,可应用于智慧零售、智能设备等场景。视频采集通过人工拍摄指定的物体、人脸、安防等场景的视频,满足多角度、多光线、多场景的多样化采集要求,可在智能安防、智能设备、智慧金融等视觉场景落地。以百度众测为例,其拥有1万名专职外场数据采集员,覆盖40多个国家和地区,遍布国300+城市,通过其众包平台向数据采集员分配任务,短期内满足客户采集需求。

  系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件,用户通过分析系统日志来检查错误发生的原因或者寻找设备受到攻击时攻击者所留下的痕迹。互联网公司每天都会产生大量的日志,这些日志一般为流型数据,比如搜索引擎的页面浏览量、查询量,数据量非常庞大。通过进行比对分析和数据挖掘,能够帮助企业更精准的了解用户情况,了解设备的运行情况及安全状态,能够帮助企业提高对用户的服务能力,进而提升营销策略,实现智能运维和统一管控。

  网络数据采集包括通过网络爬虫等方式获取数据,对象主要是各类网站,包括新闻类、社交类、购物类以及相应的一些API、用户接口和一些流型数据。网站 Website、AP、流型数据是目前网络爬虫主要爬取的三大类对象,其中 Website网站数据是网络爬虫的首要对象。

  数据清洗广义上是指将原始数据进行精简以去除冗余和消除不一致,使剩余数据转换成可接收的标准格式和过程,狭义特指构建数据仓库和实现数据挖掘前对数据源进行处理,使数据实现准确性、完整性、一致性、唯一性和有效性以适应后续操作过程。数据清洗的流程基本分为数据分析、定义数据清洗规则、数据检测、数据清洗、数据评估和干净数据回流六个步骤。数据清洗的方式包括全人工清洗、全机器清洗、人机同步清洗和人机异步清洗四种,质量评价标准包括成本效益、数据集成、数据质量三个方面。

  数据标注的形式包括人工标注和自动标注两种,目前主要以人工标注为主,属于劳动密集型产业。随着机器学习不断完善,自动标注成为大趋势,Google、Microsoft等互联网公司相继推出自动标注系统,利用计算机来完成对部分数据的标注。

  从运营模式来看,数据标注企业通过三类模式提供标注服务。众包模式通过搭建众包平台,汇聚数据标注兼职人员力量,成为数据需求方和兼职数据标注员的中介。众包模式有利于节省企业运营成本,但公司对兼职人员管理较为困难,质量难以把控,现有发展较好的众包企业有蚂蚁众包、阿里众包等。自建模式通过自建标注工厂或基地,提供数据标注服务。自建模式有稳定的数据标注员,可以保障专业性和数据质量。但该类数据标注公司大都规模较小,业务承载能力有限,且在项目断档情况下成本压力较大,市场上具有一定规模的专业数据标注公司有 Testin云测、倍赛、梦动科技、标贝科技等。组合模式将众包模式与自建模式相结合。一方面是互联网公司加入数据标注市场,由于其资本雄厚、自身数据需求强、用户基数大,可凭借自建的标注基地、科学的众包任务分发模式、智能化的数据采集与标注工具,实现规模效应和高效作业。另一方面,随专注标注运营的企业规模扩大,可根据项目大小和客户保密要求灵活部署,将众包和自建模式相结合。

下一篇:美国加速实施AI芯片出口管制 A股人工智能板块强势拉涨
上一篇:人工智能是什么行业

咨询我们

输入您的疑问及需求发送邮箱给我们