中国如何在AI芯片实现弯道超车?

浏览: 时间:2022-12-04
纵观芯片的历史,虽然我国长期处于追赶态势,但与发达国家差距仍然非常大。芯片到底是什么?又是如何一步一步发展到AI智能芯片的程度的?本文以芯片到AI智能芯片的发展历史为轨迹,来了解下AI智能芯片的“前世今生”。

经过长期的发展和探索,在近几年人工智能不断取得突破性的进展,无论是人脸识别、语音识别、机器翻译、视频监控,还是交通规划、无人驾驶、智能陪伴、舆情监控、智慧农业等,人工智能似乎涵盖了人类生产生活的方方面面。未来是人工智能的时代,作为实现人工智能技术的重要基石,AI智能芯片拥有巨大的产业价值和战略地位。

AI智能芯片其实是属于高端芯片的一类,近两年在中美贸易争端的背景下,我国的芯片产业被频频“点穴”,这也让我们开始重视芯片的发展。别看一块小小的芯片,内部集成数以亿计的电路, 广泛用于电脑、手机、家电、汽车、高铁、电网、医疗仪器、机器人、工业控制等各种电子产品和系统,它是各国竞相角逐的“国之重器”,也是一个国家高端制造能力的综合体现。如果没有芯片,中国的许多高端行业的发展均会收到限制,这也是美国要“围堵”我们的重要原因。

纵观芯片的历史,虽然我国长期处于追赶态势,但与发达国家差距仍然非常大。芯片到底是什么?又是如何一步一步发展到AI智能芯片的程度的?本文以芯片到AI智能芯片的发展历史为轨迹,来了解下AI智能芯片的“前世今生”。

概述芯片的起源史

我们看到的小小芯片,却演绎着这个世界尖端的科技,它遍布了消费电子、汽车电子、工业自动化、金融系统、国防军工等各个领域,为各行各业实现信息化、 智能化奠定了基础,芯片的发展正在改变着这个世界。

关于芯片的发展可以追溯到晶体管的诞生。在1947年,科学家威廉·肖克利、约翰·巴顿和沃特·布拉顿三人在美国贝尔实验室发明了全球第一个晶体管,他们也因此共同荣获了1956年诺贝尔物理学奖。在这之前人类已经发明了电子管,在1942使用了17468只电子管、7200只电阻、10000只电容、50万条线,耗电量150千瓦制造了第一台计算机,这是一个占地150平方米、重达30吨的庞然大物。如果可以把这些分立器件和线路集中制作在一块介质基片上,可以大大缩小体积,提高可靠性,这就是初期集成电路的构想。晶体管的出现使这种想法成为了可能,它替代了真空管的功能,很快为电子计算机所用,它把电子管做的计算机缩小为几个机柜。

1958年,在德州仪器(Texas Instruments,TI)就职的杰克·基尔比以锗(Ge)衬底,将几个晶体管、电阻、电容连接在一起,成功研制出世界上第一块集成电路。虽然看起来并不美观,但事实证明,其工作效能要比使用离散的部件要高得多。时隔42年之后杰克·基尔比也因此荣获诺贝尔物理学奖。在杰克·基尔发明基于锗的集成电路后的几个月,罗伯特·诺伊斯相继发明了基于硅(Si)的集成电路,当今半导体大多数应用的就是基于硅的集成电路。

集成电路的产生使得所有元件在结构上已组成一个整体,使电子元件向着微小型化、低功耗、智能化和高可靠性方面迈进了一大步。芯片即是将集成电路制作在一小块半导体芯片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构。

如今随着工艺的不断发展,芯片的集成度越来越高,按照戈登·摩尔1965年提出的摩尔定律的发展趋势——一个芯片上的晶体管数量大约每18-24个月翻一倍,制程从0.5微米、0.35微米、0.25微米、0.18微米、0.15微米、0.13微米、90纳米、65纳米、45纳米、32纳米、28纳米、22纳米、14纳米,一直发展到现在的10纳米、7纳米、5纳米……近几年,业界开始面临着摩尔定律失效的问题,因为随着硅片上线路密度的增加,其复杂性和差错率也将呈指数增长,科学家们正在思考从其他途径来维持摩尔定律的发展趋势。

处理器芯片的发展史

形形色色芯片种类繁多,但不外乎模拟芯片和数字芯片。模拟芯片用于测量模拟世界的一切感知,比如图像、声音、触感、温度、湿度等都可以归到其中。数字芯片则包含处理器(CPU、GPU、MCU、DSP等)、存储器(DRAM、NAND Flash、NOR Flash)和逻辑IC(手机基带、以太网芯片)等等。

在电子信息技术快速发展的今天,我们的身边离不开PC、手机、平板、数码相机、汽车电子、家用电器,这些电子产品之所以能够与人交互,是因为它们的内部都使用到了一种芯片——处理器。在不同的应用场景下诞生了各种类型的处理器,它们有不同的运算速度、不一样的成本、不一样的架构、不一样的功能。让我们打开时间长廊了解当前最热门的几类处理器的发展历史。

CPU(Central Processing Unit)是大家最不陌生的,我们现在所认识的CPU是一块超大规模的集成电路,在对计算性能要求较高的PC和服务器中广泛应用。但是CPU的发展并不是一触而就的,简单来说可以映射为Intel公司的发展历史。

1968年7月,罗伯特·诺伊斯和戈登·摩尔从Fairchild Semiconductor(仙童半导体/飞兆半导体)公司辞职,在硅谷创办了Intel(英特尔)公司,Intel为源自Integrated Electronics(集成电子)的缩写,分别选取了Integrated的“Int”以及Electronics中的“el”。当时戈登·摩尔是Fairchild的研发负责人,也正是著名的摩尔定律奠定者,而罗伯特·诺伊斯更是领袖级的人物,被视为“硅谷之父”。从此伟大的Intel开启了PC市场的辉煌,在这50年的处理器发展史上,Intel启到了至关重要的推动作用。

Intel的第一款处理器是于1971年开发的4位微处理器4004,它片内只集成了2250个晶体管,晶体管之间的距离是10微米,只能执行4位运算,组频只有0.74MHz。当时是一家日本计算器公司找Intel定制设计微处理器系统用于公司的打印式计算器产品上,Intel把4004作为CPU,组合RAM芯片4001、ROM芯片4002以及寄存器芯片4003,推出了MCS-4世界上首个商用微处理器系统。由于Intel交付延期的原因,退还了该公司部分费用,但是达成了可以在计算器之外的市场自由出售4004芯片的协议,这是具有划时代的意义的,自此Intel正式进军处理器市场,从4004开始不断壮大。

1972年推出8008,处理能力是4004的两倍,可处理8位数据、组频2MHz,集成晶体管的数量达到3500个。

1974年推出8080,不但具备更复杂的指令集,还采用了40针封装,两项革新极大的改变了微处理器行业。

1978年推出8086,可处理16位数据、组频5MHz,这就是首颗x86芯片。IBM在自己首台PC中采用了8086的精简版8088,而这台PC被尊为PC之父。

之后相继推出了80286、80386、80486,直到1993年推出Pentium处理器,从此Intel不再以数字命名处理器。Pentium是x86系列一大革新,它采用了0.60微米制造工艺技术,晶体管数大幅提高到320万个,增强了浮点运算功能、并把十年未变的工作电压降至3.3V,性能达到了工作站处理器的水平。

随后十年里,Intel又推出了很多代的Pentium处理器,到现在大家普遍使用的CPU已经发展为core系列i3\i5\i7,Intel在不断地技术创新中推动着处理器的革新升级,从微米到纳米制程、从4位到64位处理、从几千个晶体管到几亿个、从几百K到几G的组频……为世界各地的用户带来更加精彩的体验。

如同每台PC都有一个作为大脑的CPU在指挥一样,在工业控制器、医疗仪器、家用电器、便携式设备中也都有一个“大脑”在担负着控制、运算、信号转换及处理、通信等工作。在PC中仅仅一个CPU是不够的,还需要内存、硬盘等外设的协作,这使得PC的体积很大。其中的原因是一个芯片单位面积的门电路数量是有限的,为了满足高性能只能把芯片内所有的晶体管都设计为CPU。当我们为了追求更小体积而允许牺牲性能时,就可以将CPU、存储器、I/O……集成在一个芯片上,这样减小了系统的尺寸,降低设备的成本,这类处理器就发展成了MCU(Microcontroller Unit)。MCU正适合在消费电子、工业控制、汽车电子、消费电子等领域广泛应用。

MCU经过不断地研究和发展,历经了从4位、8位、16位到现在32位的发展历史。不过早期的MCU发展仍然是以Intel设计的4位、8位、16位微处理器为轨迹,直到ARM处理器的横空出现。

1978年,由奥地利籍物理学博士赫尔曼·豪泽(Hermann Hauser)和他的一个朋友,名叫Chris Curry的工程师,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是在当地市场设计和制造电子设备,他们的第一代产品Acorn System 1居然是做******机的微控制器系统。

随着公司经营逐渐步入正轨后,在1979年,CPU公司改名为Acorn Computer Ltd(Acorn计算机公司)。Acorn公司的机遇来自于1981年的一个项目,当时英国政府与英国广播公司BBC展开了一个计划,他们计划在整个英国播放一套提高电脑普及水平的节目,并且政府会出资一半费用为英国的每一间教室购置一台电脑,他们希望Acorn公司能生产一款与之相配套的电脑。

这对Acorn公司是一个难得的机遇,同时也是一个巨大的挑战,因为他们在选择CPU时陷入了困境。当时,CPU的发展潮流正在从8位变成16位,起先Acorn公司打算使用美国国家半导体或者摩托罗拉公司的16位芯片,但是评估后发现芯片执行速度太慢,售价也太贵。于是转而向Intel寻求合作,希望对方提供关于80286处理器的设计资料和一些样品,但是遭到了Intel的拒绝,备受打击的Acorn公司决定自主研发芯片。

当时来自剑桥大学的计算机科学家Sophie Wilson和Steve Furber芯片研发负责人,前者主攻指令集开发,后者负责芯片设计。他们采用了美国加州大学伯克利分校的David Patterson教授在1979年提出了RISC指令集架构,这恰好可以满足他们的需求。

RISC(reduced instruction set computer)简化的指令集是相对于Intel在内的处理器所采用的CISC(complex instruction set computer)复杂指令集的一个概念。随着CISC指令集的发展,有越来越多的指令加入其中,但实际上整个程序的80%只使用了约20%的指令,剩余20%的程序却使用了80%的指令。David Patterson教授主张硬件应该专心加速常用的指令,较为复杂的指令则利用常用的指令去组合。这样一来RISC精简了CISC指令种类和格式,简化寻址方式,达到省电高效的效果。

在1985年Acorn推出了他们自己的第一代32位、6MHz的处理器ARM1(Acorn RISC Machine),对标的是Intel的80286处理器,不过就在同一年,Intel发布了80386使得ARM1完全处于劣势地位。由于ARM采用了RISC精简指令集,所以功耗小、价格便宜,特别合适移动设备,正好可以选择与Intel不同的设计路线——Intel持续迈向x86高效能设计,ARM则专注于低成本、低功耗的研发方向。

之后Acorn陆续推出了ARM2、ARM3等几个系列。由于适合于移动设备,因此在1990年,Acorn与苹果一起成立了一家ARM(Advanced RISC Machines)公司,苹果投了150万英镑,芯片厂商VLSI投了25万英镑,Acorn本身以150万英镑的知识产权和12名工程师入股。此时ARM做出了一个改变产品策略的决定——不再生产芯片,而以授权的方式,将芯片设计方案转让给其他公司,收取一次性技术授权费用和版税提成。正是这种模式,开创了属于ARM的全新时代,形成了一个以ARM为核心的生态圈。

1991年,ARM将产品授权给英国GEC Plessey半导体公司。1993年,ARM将产品授权给Cirrus Logic和德州仪器(Texas Instruments,TI)。此后,包括三星、夏普等公司都参与到了这种授权模式中,与ARM创建了合作关系,到目前为止ARM合作社区包含了1200多位伙伴。

ARM的真正爆发还是得益于移动手机的爆发,特别是Iphone的热销,于是全球移动应用都彻底绑定在ARM指令集上,除了苹果应用外,谷歌推出了Android系统,也是基于ARM指令集,就连intel的联盟微软公司,也宣布Windows8平台将支持ARM架构,这使ARM在移动设备市场的份额超过90%。

当前ARM处理器家族成员以Cortex命名,分别为Cortex-A、Cortex-R、Cortex-M,它们在特性上针对于不同的应用场景。Cortex-A针对智能手机、平板电脑这类消费娱乐产品,Cortex-R面向如汽车制动系统、动力传动这类解决方案,Cortex-M系列面向针对成本和功耗敏感的微控制器领域应用。

可见ARM和是Intel截然相反的战略路线,Intel一直以来坚持全产业链商业模式,而ARM是开放的合作共赢模式,无论如何他们都是当今处理器领域的巨人。

从CPU发展出来处理器除了MCU之外,另外比较热门有DSP(Digital Signal Processing/Processor)数字信号处理和FPGA(Field-Programmable Gate Array)现场可编程门阵列。

DSP主要应用于数字信号处理这门新兴的学科技术。在DSP出现之前数字信号处理是依靠微处理器来完成的,随着越来越庞大信息量,微处理器无法满足快速傅立叶变换、数字滤波、矩阵运算等需要大量乘加法运算参与的高速信号处理,于是迫切的需要一类快速处理数字信号的处理器芯片。

1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑,不过内部并没有现代DSP芯片所必须有的单周期乘法器。在1980年,日本NEC公司推出的mPD7720是第一个具有硬件乘法器的商用DSP芯片,从而被认为是第一块单片DSP。

随着大规模集成电路技术和半导体技术的发展,DSP朝着高速度、低功耗、功能强大等方向快速提高,推动着数字信号处理技术在各个研究领域中广泛的应用。美国德州仪器公司(Texas Instruments,TI)在1982年推出TMS32010及其系列产品,运算速度已经比微处理器快了几十倍,到目前无论是运算速度、存储容量,还是系统集成度都已经有了质的飞跃,不仅在通信、计算机领域大显身手,而且逐渐渗透到人们的日常生活领域。

FPGA主要针对于定制专用集成电路(ASIC)的应用。早期设计师希望ASIC的设计周期尽可能短,最好是在实验室里设计出合适的芯片,并且立即投入实际应用之中,于是出现了现场可编程逻辑器件(FPLD)。FPGA则是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

1985年,Xilinx公司推出的全球第一款FPGA产品XC2064,采样用2μm工艺,包含64个逻辑模块和85000个晶体管,门数量不超过1000个。到了2007年,FPGA业界双雄Xilinx和Altera公司推出了采用最新65nm工艺的FPGA产品,其门数量已经达到千万级,晶体管个数更是超过10亿个。随后的工艺从150nm 、130nm、90nm、65nm……FPGA也在不断地紧跟并推动着半导体工艺的进步。

FPGA相比于CPU、MCU来说,它利用门电路直接并行运算,速度非常快,同时可以通过编程语言自由定义门电路和存储器之间的布线,定制芯片方案,目前是AI芯片非常合适的方案之一。

AI智能芯片的崛起史

对于AI芯片可以理解为面向 AI应用的处理器芯片,它属于AI和处理器芯片两大领域的结合。当前随着人工智能的蓬勃发展,AI芯片已经成为了最炙手可热的投资领域,除了Intel、Nvidia、ARM这些老牌的芯片厂商外,Google、Facebook、微软这样的互联网公司也进军AI芯片市场。

AI应用中通常包括基于深度神经网络的各类算法,以及图像识别、视频检索、语音识别、声纹检测、搜索发动机优化、自动驾驶等任务,其中最关键的能力是“训练”和“推理”,而“训练”是从海量的数据中完成特征的学习,这需要极高的计算性能和较高的精度。为了支持AI的计算性能和精度,理想的AI芯片需要具备高度并行的处理能力,支持各种数据类型的浮点计算,以及用于存储海量数据的存储器带宽。

目前适合AI的处理器有GPU(graphics processing unit)、FPGA(field-programmable gate array)、DSP(digital signal processing)和ASIC(application specific integrated circuits)等,业界各大厂商他们结合自身的特点推出了不同的方案,目前主要有两种设计思路:利用已有的GPU、FPGA、DSP、多核处理器等芯片实现;设计专用的ASIC芯片实现。这也成为了争论的焦点——哪个AI芯片方案是最佳的选择?

GPU是图形处理器,它的核数远超过CPU,由多核组成的大规模并行计算架构专用于同时处理多重任务。深度神经网络的训练过程中计算量极大,而且数据和运算是高度并行的,GPU具备进行海量数据并行运算的能力并且为浮点矢量运算配备了大量计算资源,与深度学习的需求不谋而合,因此最先被引入运行深度学习算法,成为高性能计算领域的主力芯片之一。Intel虽然也有GPU,但主要为集成显卡使用。Nvidia一直在独立显卡领域具有绝对优势,因此Nvidia的GPU是目前应用最广的通用AI硬件计算平台,在人工智能领域无疑已占据足够的优势。

Nvidia依靠自己在AI领域创建的优势,开发出CUDA平台,提供了cuDNN、NCCL、cuBLAS等诸多SDK为合作伙伴提供开发工具,逐步让众多合作伙伴熟悉这种生态,进一步巩固它在AI领域的领导地位。Nvidia的芯片应用十分普遍,现在所有的AI软件库都支持使用CUDA加速,包括谷歌的Tensorflow,Facebook的Caffe,亚马逊的MXNet等。当然Nvidia的GPU在复杂程序逻辑控制上仍然存在劣势,需要使用高性能CPU配合来构成完整的AI系统。为了弥补自己在CPU方面的弱势,在2019年宣布其用于超级计算机的加速平台将对ARM架构CPU支持,计划利用其芯片与使用ARM架构的CPU协作打造应用人工智能的超级计算机。

ASIC是一种为专用目的而定制设计的芯片,在大规模量产的情况下相比于FPGA性能更强、体积更小、功耗更低、成本更低、可靠性更髙等优点。近年来越来越多的公司开始采用ASIC芯片进行深度学习算法加速,其中最为突出的是 Google为机器学习定制的专用处理器芯片TPU(Tensor Processor Unit),它支持256×256个矩阵乘法单元、非线性神经元计算单元等模块,专为Google的深度学习框架TensorFlow而设计。

TPU受到业界的关注是从Google的AlphaGo大显神威后开始,最新一代 AlphaGo Zero已经将CPU结合GPU搭建方案升级为了TPU。在2018年Google I/O开发者大会上正式发布了TPU3.0,其性能宣称比去年的TUP2.0提升8倍之多,达到每秒1000万亿次浮点计算,比同时期的GPU或CPU平均提速15~30倍,能效比提升30~80倍。

FPGA其实也是一种定制芯片,在灵活度方面,它介于CPU、GPU等通用处理器和专用集成电路ASIC之间,它不像专用集成电路ASIC那样由芯片厂商固化编程,而是在硬件固定的前提下,允许设计者灵活使用软件进行编程,因此它的开发周期比ASIC短,不过相对于批量出货ASIC,单个FPGA的成本会更高。在性能方面,FPGA与 GPU相比,具备更强的计算能力和更低的功耗。以FPGA方案为代表的厂商主要有Intel和Xilinx。

Intel已经错失了移动设备的崛起,不想再错过对AI芯片领域的布局。为了增强在AI芯片领域的竞争力,2015年12月Intel斥资167亿美元收购了Altera公司,这是Intel有史以来金额最大的一次收购,意味着Intel希望实现CPU和FPGA深层次结合来布局AI芯片市场。2017年Intel又收购Mobileye,希望通过集成AI算法以获得关键的优势。2018年,Intel宣布收购芯片制造商eASIC,提高FPGA速度,降低FPGA成本和能耗需求。Intel通过霸气的购买将自己提升到AI芯片“玩家”的前列。当前Intel有两套FPGA的战略:打造CPU+FPGA混合器件,让FPGA与处理器协同工作;基于Arria FPGA或Stratix FPGA打造可编程加速卡。微软在2018年的Build大会上公布的Project Brainwave深度学习加速平台,就是基于Intel Arria FPGA和Stratix FPGA芯片所打造的。

Xilinx是FPGA芯片技术的开创者,从2011年起,Xilinx提出全编程的理念,作为FPGA行业长期的霸主,Xilinx拥有超过2万家下游客户,其中亚马逊AWS、以及中国的BAT云服务巨头都推出了专门的云端 FPGA 实例来支持 AI 应用。2018年Xilinx重磅推出全新一代AI芯片架构ACAP,重磅推出全新一代AI芯片架构ACAP,以及采用ACAP架构的首款代号为Everest的AI芯片,将正面 “宣战”Intel和Nvidia。同年Xilinx收购国内三大AI芯片独角兽之一的北京深鉴科技有限公司,该公司主攻终端人工智能,所采用基于FPGA来设计深度学习的加速器架构,可以灵活扩展用于服务器端和嵌入式端。

另外DSP芯片主要用于处理视觉系统如图像、视频等方面的任务,在自动驾驶、安防监控、无人机和移动终端等领域最为常见。众核处理器采用将多个处理核心集成在一起的处理器架构,主要面向高性能计算领域,作为CPU的协处理器存在,比如IBM CELL、Kalray MPPA和Intel Xeon Phi都是典型的众核处理器。

总结

AI智能芯片未来的发展势不可挡,从芯片的历史来看,目前AI智能芯片仍然处于初期阶段,未来在架构和设计理念上仍然有巨大的突破空间,这也提供给了我国“弯道超车”的机会,在国家“2025中国智造”的指引下,国内的科技巨头阿里巴巴、腾讯、百度和华为都参与进来,在全力发展自己AI智能芯片以突破“重围”,让我们一起拭目以待。


活动推荐:“5G场景应用研讨沙龙”

2019年6月6日,工信部向中国电信、中国移动、中国联通、中国广电发放5G商用牌照,中国也正式进入5G商用元年。中国信息通信研究院也发布了《5G经济社会影响白皮书》,白皮书预测,到2030年,5G有望带动我国直接经济产出6.3万亿元、经济增加值2.9万亿元、就业机会800万个。为充分发挥5G潜能,相关部门应未雨绸缪,超前部署网络基础设施。因此,在2019年5G技术赋能下,商业应用场景的落地受到行业内外人士的广泛关注。亿欧联合京东物流将在8月16日举办一场以“5G赋能 商用落地”为主题的沙龙,意在邀请各位专家学者共同探讨5G应用落地发展现状与未来趋势,旨在为行业内外人士提供一个交流学习的资源共享平台。活动详情请戳:https://www.iyiou.com/post/ad/id/848

HTTP/1.1 200 OK Date: 18 ?? 2024 07:31:01 G10T Content-Length: 3073 Content-Type: text/html Connection: Close Server: Microsoft-IIS/10.0 Runtime Error

Server Error


Runtime Error

Description: A server error has occurred. The current custom error settings prevent the details of the error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please define an errorDetails attribute within the "filter.config" configuration file. This errorDetails attribute should then have its value set to "On".


<!-- Filter.Config Configuration File -->

<configuration>
    <httpFilters errorDetail="On">
        <!-- managed filters configuration -->
    </httpFilters>
</configuration>

Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "errorPage" attribute of the <httpFilters> configuration tag to point to a custom error page location.


<!-- Filter.Config Configuration File -->

<configuration>
    <httpFilters errorDetail="LocalOnly" errorPage="mycustompage.htm">
        <!-- managed filters configuration -->
    </httpFilters>
</configuration>