AI 芯片的简要发展历史

随着人工智能领域不断取得突破性进展。作为实现人工智能技术的重要基石,AI芯片拥有巨大的产业价值和战略地位。作为人工智能产业链的关键环节和硬件基础,AI芯片有着极高的技术研发和创新的壁垒。从芯片发展的趋势来看,现在仍处于AI芯片发展的初级阶段。未来将是AI芯片发展的重要阶段,无论是架构还是设计理念都存在着巨大的创新空间。

一、芯片的发展历史

1956年达特茅斯会议上,科学家约翰·麦卡锡,克劳德·香农和马文·明斯基提出了"人工智能"一词。50年代末,阿瑟·萨缪尔(ArthurSamuel)提出了"机器学习"这个术语,他开发了一个西洋跳棋程序,可以从错误中吸取教训,经过学习后,甚至比编写程序的人棋力更强。

在这个计算机技术飞速发展的时代,乐观的环境让研究人员相信AI技术将在短时间内"攻克"。科学家们研究了基于人脑功能的计算是否能够解决现实生活中的问题,创造了"神经网络"的概念。1970年,马文·明斯基在《生活》杂志中讲到,"未来3~8年内,我们将拥有相当于普通人智力水平的机器。"

到了20世纪80年代,AI走出实验室,进入商业化,掀起了一股投资热潮。80年代末,AI技术泡沫最终破裂,AI又回到了研究领域,科学家们继续开发AI的潜能。行业观察者称AI是一种超前于时代的技术,也有人说是未来科技。经历了相当长一段时间的所谓"AI寒冬"之后,商业开发再次启动。

1986年,杰弗里·希尔顿(GeoffreyHinton)和他的同事发表了一篇里程碑式的论文,描述了一种称为"反向传播(back-propagation)"的算法,该算法可以显著提高多层或"深度"神经网络的性能。1989年,严恩·乐库(YannLeCun)和贝尔实验室的其他研究人员创建了一个可以训练识别手写的邮政编码的神经网络,展示了这项新技术在现实世界中的重要应用。他们训练深度学习卷积神经网络(CNN)只花了3天时间。时光飞逝到2009年,斯坦福大学的RajatRaina、AnandMadhavan和AndrewNg发表了一篇论文,阐述了现代GPU在深度学习领域拥有远远超过多核CPU的计算能力。AI已经准备好重新起航。

得益于摩尔定律在最近二十年的发展,充足的算力使得在可以接受的价格、功耗和时间内提供人工智能算法所需的计算性能。根据英特尔的处理器芯片能力和零售价格对比测算,单位价格可以购买到的计算力提升了1.5万倍,从而使"通用中央处理器"(CPU)可以支持各种人工智能任务。可以说,通过芯片技术来大幅增强人工智能研发的时机已经非常成熟。然而,由于CPU要面对成百上千种工作任务来进行设计和优化,因此不可能牺牲灵活性来专门为某一类应用做优化,因此未必针对所有AI算法都是最优的选择。为此,出现了多种CPU加专用芯片的异构计算方案,以解决计算资源和内存访问瓶颈的研究。此外,与"脑启发式"(brain-inspired)的深度神经网络不同的"类脑"(brain-like)计算研究也推出了先进的神经拟态芯片来支持超高能效比的自然学习方式。

二、AI芯片的发展阶段

人工智能核心计算芯片也经历了四次大的变化。

2007年以前,人工智能研究和应用经历了数次起伏,一直没有发展成为成熟的产业;同时受限于当时算法、数据等因素,这一阶段人工智能对于芯片并没有特别强烈的需求,通用的CPU芯片即可提供足够的计算能力。之后,由于高清视频、游戏等行业的发展,GPU产品取得快速的突破;同时人们发现GPU的并行计算特性恰好适应人工智能算法大数据并行计算的要求,如GPU比之前传统的CPU在深度学习算法的运算上可以提高9倍到72倍的效率,因此开始尝试使用GPU进行人工智能的计算。进入2010年后,云计算广泛推广,人工智能的研究人员可以通过云计算借助大量CPU和GPU进行混合运算,事实上今天人工智能主要的计算平台还是云计算。但人工智能业界对于计算能力的要求不断快速地提升,因此进入2015年后,业界开始研发针对人工智能的专用芯片,通过更好的硬件和芯片架构,在计算效率上进一步带来10倍的提升。

(一)基于FPGA的半定制人工智能芯片

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

这类芯片中的杰出代表是国内初创公司深鉴科技,该公司设计了"深度学习处理单元"(DeepProcessingUnit,DPU)的芯片,希望以ASIC级别的功耗来达到优于GPU的性能,其第一批产品就是基于FPGA平台。这种半定制芯片虽然依托于FPGA平台,但是利用抽象出了指令集与编译器,可以快速开发、快速迭代,与专用的FPGA加速器产品相比,也具有非常明显的优势。

(二)针对深度学习算法的全定制人工智能芯片

这类芯片是完全采用ASIC设计方法全定制,性能、功耗和面积等指标面向深度学习算法都做到了最优。谷歌的TPU芯片、我国中科院计算所的寒武纪深度学习处理器芯片就是这类芯片的典型代表。

寒武纪在国际上开创了深度学习处理器方向:以寒武纪处理器为例,目前寒武纪系列已包含三种原型处理器结构:寒武纪1号(英文名DianNao,面向神经网络的原型处理器结构)、寒武纪2号(英文名DaDianNao,面向大规模神经网络)、寒武纪3号(英文名PuDianNao,面向多种深度学习算法)。

寒武纪芯片计划于今年内实现产业化:其中寒武纪2号在28nm工艺下主频为606MHz,面积67.7mm2,功耗约16W。其单芯片性能超过了主流GPU的21倍,而能耗仅为主流GPU的1/330。64芯片组成的高效能计算系统较主流GPU的性能提升甚至可达450倍,但总能耗仅为1/150。

(三)类脑计算芯片

这类芯片的设计目的不再局限于仅仅加速深度学习算法,而是在芯片基本结构甚至器件层面上希望能够开发出新的类脑计算机体系结构,比如会采用忆阻器和ReRAM等新器件来提高存储密度。这类芯片的研究离成为市场上可以大规模广泛使用的成熟技术还有很大的差距,甚至有很大的风险,但是长期来看类脑芯片有可能会带来计算体系的革命。

这类芯片的典型代表是IBM的Truenorh芯片。TrueNorth处理器由54亿个连结晶体管组成,构成了包含100万个数字神经元阵列,这些神经元又可通过2.56亿个电突触彼此通信。

三、AI的研发方向

近几年,AI技术的应用场景开始向移动设备转移,比如汽车上的自动驾驶、手机上的人脸识别等。产业的需求促成了技术的进步,而AI芯片作为产业的根基,必须达到更强的性能、更高的效率、更小的体积,才能完成AI技术从云端到终端的转移。

目前,AI芯片的研发方向主要分两种:一是基于传统冯·诺依曼架构的FPGA(现场可编程门阵列)和ASIC(专用集成电路)芯片,二是模仿人脑神经元结构设计的类脑芯片。其中FPGA和ASIC芯片不管是研发还是应用,都已经形成一定规模;而类脑芯片虽然还处于研发初期,但具备很大潜力,可能在未来成为行业内的主流。

这两条发展路线的主要区别在于,前者沿用冯·诺依曼架构,后者采用类脑架构。你看到的每一台电脑,采用的都是冯·诺依曼架构。它的核心思路就是处理器和存储器要分开,所以才有了CPU(中央处理器)和内存。而类脑架构,顾名思义,模仿人脑神经元结构,因此CPU、内存和通信部件都集成在一起。

四、AI芯片技术特点和代表性产品

从GPU,到FPGA和ASIC芯片

2007年以前,受限于当时算法和数据等因素,AI对芯片还没有特别强烈的需求,通用的CPU芯片即可提供足够的计算能力。

之后由于高清视频和游戏产业的快速发展,GPU(图形处理器)芯片取得迅速的发展。因为GPU有更多的逻辑运算单元用于处理数据,属于高并行结构,在处理图形数据和复杂算法方面比CPU更有优势,又因为AI深度学习的模型参数多、数据规模大、计算量大,此后一段时间内GPU代替了CPU,成为当时AI芯片的主流。

GPU比CPU有更多的逻辑运算单元(ALU)

然而GPU毕竟只是图形处理器,不是专门用于AI深度学习的芯片,自然存在不足,比如在执行AI应用时,其并行结构的性能无法充分发挥,导致能耗高。

与此同时,AI技术的应用日益增长,在教育、医疗、无人驾驶等领域都能看到AI的身影。然而GPU芯片过高的能耗无法满足产业的需求,因此取而代之的是FPGA芯片,和ASIC芯片。

那么这两种芯片的技术特点分别是什么呢?又有什么代表性的产品呢?

"万能芯片"FPGA

FPGA(FIELD-PROGRAMMABLEGATEARRAY),即"现场可编程门阵列",是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

FPGA可以被理解为"万能芯片"。用户通过烧入FPGA配置文件,来定义这些门电路以及存储器之间的连线,用硬件描述语言(HDL)对FPGA的硬件电路进行设计。每完成一次烧录,FPGA内部的硬件电路就有了确定的连接方式,具有了一定的功能,输入的数据只需要依次经过各个门电路,就可以得到输出结果。

用大白话说,"万能芯片"就是你需要它有哪些功能、它就能有哪些功能的芯片。

尽管叫"万能芯片",FPGA也不是没有缺陷。正因为FPGA的结构具有较高灵活性,量产中单块芯片的成本也比ASIC芯片高,并且在性能上,FPGA芯片的速度和能耗相比ASIC芯片也做出了妥协。

也就是说,"万能芯片"虽然是个"多面手",但它的性能比不上ASIC芯片,价格也比ASIC芯片更高。

但是在芯片需求还未成规模、深度学习算法需要不断迭代改进的情况下,具备可重构特性的FPGA芯片适应性更强。因此用FPGA来实现半定制人工智能芯片,毫无疑问是保险的选择。

目前,FPGA芯片市场被美国厂商Xilinx和Altera瓜分。据国外媒体Marketwatch的统计,前者占全球市场份额50%、后者占35%左右,两家厂商霸占了85%的市场份额,专利达到6000多项,毫无疑问是行业里的两座大山。

Xilinx的FPGA芯片从低端到高端,分为四个系列,分别是Spartan、Artix、Kintex、Vertex,芯片工艺也从45到16纳米不等。芯片工艺水平越高,芯片越小。其中Spartan和Artix主要针对民用市场,应用包括无人驾驶、智能家居等;Kintex和Vertex主要针对军用市场,应用包括国防、航空航天等。

Xilinx的Spartan系列FPGA芯片

我们再说说Xilinx的老对手Altera。Altera的主流FPGA芯片分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的应用需求,如Cyclone和MAX系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix和Arria系列。Altera的FPGA芯片主要应用在消费电子、无线通信、军事航空等领域。

专用集成电路ASIC

在AI产业应用大规模兴起之前,使用FPGA这类适合并行计算的通用芯片来实现加速,可以避免研发ASIC这种定制芯片的高投入和风险。

但就像我们刚才说到的,由于通用芯片的设计初衷并非专门针对深度学习,因此FPGA难免存在性能、功耗等方面的瓶颈。随着人工智能应用规模的扩大,这类问题将日益突出。换句话说,我们对人工智能所有的美好设想,都需要芯片追上人工智能迅速发展的步伐。如果芯片跟不上,就会成为人工智能发展的瓶颈。

所以,随着近几年人工智能算法和应用领域的快速发展,以及研发上的成果和工艺上的逐渐成熟,ASIC芯片正在成为人工智能计算芯片发展的主流。

ASIC芯片是针对特定需求而定制的专用芯片。虽然牺牲了通用性,但ASIC无论是在性能、功耗还是体积上,都比FPGA和GPU芯片有优势,特别是在需要芯片同时具备高性能、低功耗、小体积的移动端设备上,比如我们手上的手机。

但是,因为其通用性低,ASIC芯片的高研发成本也可能会带来高风险。然而如果考虑市场因素,ASIC芯片其实是行业的发展大趋势。

为什么这么说呢?因为从服务器、计算机到无人驾驶汽车、无人机,再到智能家居的各类家电,海量的设备需要引入人工智能计算能力和感知交互能力。出于对实时性的要求,以及训练数据隐私等考虑,这些能力不可能完全依赖云端,必须要有本地的软硬件基础平台支撑。而ASIC芯片高性能、低功耗、小体积的特点恰好能满足这些需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/10685.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FFMPEG: [ API ] >打开/关闭一个输入文件

它们是成对出现的. ffmpeg 把输入文件--转换成--->AVFormatContext实例 ◆ avformat_open_input() int avformat_open_input(AVFormatContext ** ps,const char * url,ff_const59 AVInputFormat * fmt,AVDictionary ** options )Open an input stream and read the header.…

分子生物学 第二章 遗传物质

文章目录第二章 遗传物质第一节 遗传物质的分子本质大多数生物体的遗传物质是DNA有些生物体的遗传物质是RNA蛋白质能否充当遗传物质第二节 核酸的结构1 DNA双螺旋结构的特征2 影响DNA双螺旋结构稳定性的因素3 DNA结构的多态性4 DNA多链结构5 DNA的超螺旋结构6 RNA的二级结构第三…

归并排序(非递归实现) 计数排序

上一期我们说了归并排序的递归是如何实现的,但是递归如果层次太多的话容易栈溢出,所以我们还需要掌握非递归的实现,但是我们非递归需要如何实现? 下面我们就来看一下非递归的实现 归并排序的非递归实现他并不需要栈队列这些东西…

day10_oop

今日内容 零、 复习昨日 一、面向对象的概念 二、面向对象编程 三、内存图 零、 复习昨日 晨考复习… 一、作业 package com.qf.homework;import java.util.Arrays;/*** --- 天道酬勤 ---** author QiuShiju* desc* ----------------* 引用数据类型的默认初始值null*/ public …

Redis数据备份与恢复

Redis数据备份与恢复 文章目录Redis数据备份与恢复1. Redis备份的方式2. RDB持久化2.1 什么是RDB?2.2 Fork操作2.3 save VS bgsave2.4 关于RDB备份的一些配置项2.5 RDB的备份与恢复2.6 RDB的自动触发2.7 RDB的优势与劣势3. AOF持久化3.1 什么是AOF?3.2 A…

ASP一个简单的网上教务系统模型的设计与实现

对于一个学校来说,大量教师信息,学生信息管理,学生成绩管理,基本数据的维护都难于通过传统的方法进行管理:这就迫切需要利用计算机技术来帮助学校管理者处理这些日常管理。本系统正是为了简化教学任务的管理&#xff0…

Python爬虫之多线程加快爬取速度

之前我们学习了动态翻页我们实现了网页的动态的分页,此时我们可以爬取所有的公开信息了,经过几十个小时的不懈努力,一共获取了 16万 条数据,但是软件的效率实在是有点低了,看了下获取 10 万条数据的时间超过了 56 个小…

Vue——组件基础

目录 定义一个组件​ 使用组件​ 传递 props​ 监听事件​ 通过插槽来分配内容​ 动态组件​ DOM 模板解析注意事项​ 大小写区分​ 闭合标签​ 元素位置限制​ 组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行单独的思考。在实际应…

如何用 YonBuilder 构建线索管理应用

加速企业数智营销:如何用 YonBuilder 构建线索管理应用 如何用 YonBuilder 低代码开发线索管理应用? 线索管理是指通过各种渠道收集、筛选、打分、分配、跟进和培育潜在客户的信息,以便将其转化为成交客户的过程。 通过数智化手段实现良好…

00后整顿职场,我直呼太卷了....

内卷的来源 内卷最早的“出处”是几张名校学霸的图片。 大学生们刷爆朋友圈的几张“内卷”图片是这样的:有的人骑在自行车上看书,有的人宿舍床上铺满了一摞摞的书,有的人甚至边骑车边端着电脑写论文。这些图片最早在清华北大的学霸之间流传。…

C++学习从基础到高阶(基于黑马程序员教程)

视频链接:黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难(52个小时) C语言中文网:http://c.biancheng.net/cplus/ Visual Studio 2022 下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/ Visu…

JavaWeb - Web网站的组成,工作流程以及开发模式

一. Web Web:全球广域网,也称玩万维网(www Wrold Wide Web),就是能够通过浏览器访问的网站学习Web开发,其实就是要使用Java这门语言来开发这样的Web网站,这也是现在Java语言最主流的企业级应用方式。使用Java语言开发…

PERSIANN 降雨数据使用教程

一、前言PERSIANN,“使用人工神经网络从遥感信息中估算降水”,是一种基于卫星的降水检索算法,可提供近乎实时的降雨信息。该算法使用来自全球地球同步卫星的红外 (IR) 卫星数据作为降水信息的主要来源。 红外图像的降水基于云顶温度和降水率之…

一位腾讯在职7年测试工程师的心声...

作为一个在腾讯工作7年的测试工程师,今天就来聊聊腾讯工作压力到底从何而来。 压力的开始:时间回到7年前,我人生中的第一份实习工作,是在腾讯公司做一个自动化测试工程师。当时的我可谓意气风发,想要大干一场&#xf…

工厂模式白话 - 3种都有哦

前言 工厂模式(Factory Pattern)里所谓的“工厂”和现实生活中的工厂一样 主要作用都是生产产品 像食品厂、服装厂、汽车厂生产吃的、穿的、开的 设计模式里的工厂则是生产对象 划分 工厂模式可分为简单工厂、工厂方法、抽象工厂3种 有啥不同呢&a…

PyTorch笔记

Tensor torch中的Tensor是一种数据结构,使用上与Python的list、numpy的array、ndarray等数据结构类似,可以当成一个多维数组来用。 数学上对张量有特定定义,但通常理解为多维数组即可。 生成Tensor:torch包中提供了直接生成Tens…

【微信小程序】初识微信小程序组件

作者简介:一名C站萌新,前来进行小程序的前进之路博主主页:大熊李子🐻 一、组件的创建与引用 1.1 创建组件 在项目的根目录中,鼠标右键,创建 components -> test 文件夹在新建的 components -> test…

十分钟验证一个轻量化车联网解决方案

智能网联汽车在车联网的应用上,通常是以智能传感器、物联网、GIS技术为基础,结合大数据、人工智能技术,通过OT(Operation tecnology)和IT(information tecnology)融合的方式,实现智能…

2.3 连续性随机变量

思维导图: 学习目标: 我会按照以下步骤学习连续型随机变量: 复习概率论的基础知识,包括概率、期望、方差等概念和公式,以及离散型随机变量的概率分布函数和概率质量函数的概念和性质。 学习连续型随机变量的概念和性…

学生信息管理系统(student information manage system, SIMS)

一、前言 本项目为学生信息管理系统,使用C语言编写。 ★★★项目详见本人gitee仓库,地址 https://gitee.com/omnipotent-brother/student-information-manage-system.git ★★★ 二、项目介绍 开发环境: 基于windows 11系统下的Visual Studio…