账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
【vMaker Edge AI专栏 #03 】AI晶片发展历史及最新趋势
 

【作者: Jack OmniXRI】2023年03月29日 星期三

浏览人次:【3278】

想要玩边缘智慧(Edge Artificial Intelligence, Edge AI)前,我们首先要先认识什麽是类神经网路(Neural Network, NN)、深度学习(Deep Learning, DL)及为什麽需要使用AI晶片,而AI晶片又有那些常见分类及未来可能发展方向。接下来就逐一为大家介绍不同类型的AI晶片用途及优缺点。


1.什麽是神经网路?

人工智慧自1950年发展至今已经过多次起伏,从最简单的「符号逻辑」开始,历经「专家系统」、「机器学习」、「资料采矿」等多个时期。直到2012年Alex Krizhevsky和其导师Geoffrey Hinton推出基於类神经网路扩展出来的 「卷积神经网路」(Convolutional Neural Network, CNN)「AlexNet」,以超出第二名10%正确率的优异成绩赢得ImageNet大赛後,「深度学习」(Deep Learning, DL) 架构正式开启新一波的AI浪朝。


此後持续衍生出各种不同的网路架构,如能处理像声音、文章、感测信号这类和时间相关的 「循环神经网路」(Recurrent Neural Network, RNN) ,或者能自动生成影像、风格转移(Style Transfer)的 「生成对抗网路」(Generative Adversarial Network, GAN) 等一系列网路架构。


这些网路(或称模型)都有一个特色,就是有大量的神经元(Neural)、神经连结权重(Weights)、层数(Layers)及复杂的网路结构(Network Architecture)。而其中最主要的运算方式就是矩阵(Matrix)计算,若再拆解成更小元素,即为 y = a * x + b ,又可称为 「乘积累加运算」(Multiply-accumulate, MAC) 。一个小型模型少则数千个神经元、数万个权重值,多则可能数十万个神经元、数十亿个权重值。以常见手写数字(0-9)辨识小型CNN模型LeNet5为例(如Fig.1所示),它约有6万多个权重,当模型推论(Inference)一次得到答案时,约需经过42万多次MAC运算。而像大型的VGG16模型则有1.38亿个权重,推论一次则约有150多亿次MAC计算。


一般来说模型的初始权重值通常都不太理想,所以根据推论後得到的答案,必须再反向修正所有权重值,使其更接近正确答案。但通常一次是很难到位的,所以要反覆修正直到难以再调整出更接近正确答案为止,而这个过程就称为 「模型训练」(Model Training) 。


通常这样修正的次数会随着资料集(Dataset)的大小、权重的数量及网路结构的复杂度,可能少则要几千次,多则要几万次甚至更多次数才能收??到满意的结果。由此得知训练模型所需的计算量有多麽巨量了。



图一 : 手写数字辨识LeNet-5卷积神经网路模型及卷积、矩阵乘法示意图。
图一 : 手写数字辨识LeNet-5卷积神经网路模型及卷积、矩阵乘法示意图。

2. AI晶片类型

为了解决如此庞大且性质单一的计算量,於是就有了硬体加速计算的需求,通常会将此类硬体称呼为 「AI晶片」(AI Chip)或者「深度学习加速器」(Deep Learning Accelerator, DLA)或者称为「神经网路处理单元」(Neural Network Processing Unit, NPU) 。


在AI晶片领域中主要分为训练用及推论用。前者重点在效能,所以功耗及成本就不太计较。而後者会依不同应用场合会有高效能、高推论精度、低功耗、低记忆体空间、低成本等不同需求。尤其在Edge AI上更强调低功耗、低记体体空间及低成本需求,而效能表现通常就只能迁就不同硬体表现。


近几年手机成长迅速,有很多晶片为了整体表现,因此整合了很多功能在同一颗晶片上称为SoC (System on Chip),包含CPU, DSP, GPU, NPU及像影音编解码的功能等。而FPGA的开发板也有反过来不过全部都自己设计,而把常用的CPU, DSP, AISC等整合进来,让使用者能更专心开发自己所需的特殊功能,包含AI等应用。


2.1 中央处理单元(CPU)

不论是像Arduino、小型IoT装置使用的单晶片(Micro-controller / Micro Controll Unit, MCU),如STM, Microchip, ESP32, Pi Pico, Arm Cortex-M, RISC-V等,或者是像树莓派、手机使用的微处理器(Micro Processing Unit, MPU),如Arm Cortex-A系列、Qualcomm Snapdragon系列等,甚至是桌机、笔电常用的主晶片,如Intel, AMD x86系列等,都会有负责运算的中央处理单元(Central Processing Unit, CPU)。


CPU可运行各种形式的AI模型,不限矩阵运算类型,弹性极高,但一次只能执行一道运算指令,如一个乘法或一个加法或一个乘加指令,效能极低。若搭配单指令流多资料流(Single Instruction Multiple Data, SIMD)指令集,如INTEL的AVX、ARM的NEON、RISC-V的P扩充指令集,则可将32/64/128/256/512 bit拆分成8/16/32 bit的运算,如此便能提高4~64倍的运算效能。另外亦可透过提高工作时脉频率(MHz)或增加核心数来增加运算速度。


2.2 数位信号处理器(DSP)

在MCU / MPU尚未有MAC及SIMD指令集前,当遇到需要对数位声音或影像进行时间域转频率域计算如快速傅立叶转换(Fast Fourier Transform, FFT),常会遇到大量定点数或浮点数的的矩阵计算,此时就需要专用数位信号处理器(Digital Signal Processor, DSP)来加速计算。


此类处理器在AI专用晶片未出现前,亦有很多被拿来当成浮点数矩阵加速计算使用,如Qualcomm Hexagon, Tensilica Xtensa, Arc EM9D等系列。它在开发上弹性颇高,价格居中,但仅适用於矩阵计算类的应用,在MCU / MPU开始加入MAC、SIMD指令集及GPU技术大量普及後,逐渐被取代,目前大多只有少数独立存在,大多依附於中大型微处理器中,或者整合至小型MCU晶片中代替NPU的工作。


2.3 图形处理器(GPU)

图形处理器(Graphics Processing Unit, GPU)是用於处理电脑上数位绘图用的专用晶片,而其中最主要的功能就是在处理矩阵运算,因此它能将CPU一次只能处理一个MAC的计算变成一次处理数百到数万个MAC来加速运算,同时可以分散CPU的计算负荷。早期有些科学家发现其特性,因此开发出GPGPU (General Purpose computing on Graphics Processing Units)函式库来加速科学运算。


2012年AlexNet透过GPU来加速训练深度学习模型,从此开启GPU即为AI晶片代名词的时代。目前主流GPU供应商包括Nvidia (GeForce, Quadro, Tesla, Tegra系列) , Intel (内显HD, Iris及外显Arc系列), Arm (Mali系列)等。


由於GPU原本是用於电脑绘图,有大量电路、处理时间、耗能是用来处理绘图程序,因此後续许多AI晶片的设计理念就是保留计算部份而去除绘图处理部份,来提升晶片面积的有效率。目前使用GPU开发的弹性尚隹,但不适用於非大量矩阵计算的模型及算法。


另外为了容纳更高的计算平行度,一次能处理更多的乘加运算,因此晶片的制程也随之越来越小(从数百nm到数nm)、晶体数量和晶片单价也越来越高,较适合大模型训练及高速推论用。


2.4 现场可程式化逻辑闸阵列(FPGA)

一般开发如影像分类、声音辨识、物件侦测、影像分割等AI专用型应用甚至是MCU / MPU等通用型应用晶片前,为确保投入像台积电等晶圆代工厂生产前没有电路及计算功能的问题,通常除了会使用软体进行模拟分析外,亦会使用FPGA (Field Programmable Gate Array)来进行硬体验证。常见的供应商有Xilinx(已被AMD收购)、Altera(已被Intel收购)、Lattice等。


FPGA除了可以验证IC的功能外,另外由於其超高弹性,所以可以排列组合出超过CPU / DSP / GPU 功能的应用,且可以用最精简的电路来设计,以达到最低功耗、最高执行效能。但此类型的开发非常困难,需要非常专业的工程师才有办法设计,且需配合相当多的矽智财(Semiconductor intellectual property core,简称IP),因此大型FPGA的单价及开发成本是非常高的。


2.5 特殊应用积体电路(ASIC)

当使用FPGA验证後,就可以将特殊应用积体电路(Application Specific Integrated Circuit, ASIC)送到晶圆厂及封装厂加工了。完成後的晶片就可独立运作,优点是可大量生产让单价大幅降低,能满足市场需求,同时拥有极高的执行效能和最低的功耗。但缺点是没有任何修改弹性,万一设计功能有瑕疵时就有可能需要全部报废。因此当没有明确市场及需求量时,通常会使用如CPU或GPU或CPU+NPU等通用型解决方案来取代。


2.6 神经网路处理器(NPU, DLA)

「神经网路处理单元」(Neural Network Processing Unit, NPU)或称「深度学习加速器」 (Deep Learning Accelerator, DLA)是专门用於处理深度学习神经网路运算的特殊应用积体电路(ASIC)。它较接近GPU的用法,所以可以一次处理很多的乘加运算(MAC)。但因为只负责乘加计算,无法处理大量资料搬移及逻辑性计算,所以通常必须搭配CPU使用。


大多数的AI晶片都是属於这一类型,使用上较有弹性,可适合各式新模型的变化。不过由於NPU的软硬介面规格无法统一,因此在开发上能支援的AI框架(如TensorFlow, TensorFolw Lite, TensoFlow Lite for Micro, PyTorch等)或IDE(如Jupyter Notebook, Arduino, OpenMV, 各厂商MCU专属IDE等)就有很大不同,选用前需考量自身工程能力。另外根据不同应用,小型NPU主要用於推论,可以放到MCU / MPU或手机中,如Intel(Movidius)Myriad, Arm Ethos U55, Google Corl等,大型NPU则可以放到桌机、云端伺服器中,如Nvidia GTX / Tesla / A100, Google TPU等。



图二 : 不同类型AI晶片主要差异。
图二 : 不同类型AI晶片主要差异。

3. AI晶片最新趋势

目前AI应用越来越强大,模型权重数量已从数万个(如LeNet-5)激增到近一千多亿个(如GPT3),传统NPU, TPU及FPGA的速度已不够快,功耗也大的惊人,因此近来开始有厂商在开发新的解决方案,企图以更接近人脑运行方式或者减少在计算时权重大量搬移问题,甚至使用光子进行计算来进行改善。以下就简单介绍几种常见方案,如Fig. 3所示。


可重构型(Coarse Grain Reconfigurable Architecture, CGRA):可依不同需求以软体重构位元宽度、MAC算子结构、矩阵计算结构、混合精度计算等。主要代表厂商如下:


·耐能(Kneron)


·Wave Computing


·清微智能


·云天励飞


·燧原科技


类脑晶片(Neuromophic神经型态):主要模拟人类大脑神经脉冲计算方式。有以下几种方式及代表厂商:


·数位式:IBM TrueNorth, Intel Loihi, SpiNNaker


·类比式:Neurogrid, BrainScales, ROLLS


·新材料式:Memristor


记忆体内记算(Compute in Memory, CIM)(大陆称为存算一体、存内计算):主要将记忆体和计算单元整合在一起,减少计算时大量记忆体搬移浪费的时间。主要括下列几种技术:


·静态(电晶体式)随机存取记忆体SRAM (挥发性记忆体)


·磁阻式随机存取记忆体MRAM (非挥发性记忆体)


·可变电阻式随机存取记忆体RRAM (非挥发性记忆体)


·光子晶片:主要以光子代替电子,以提升运算速度。代表厂商包括:


·Lightmatter


·曦智(Lightelligence)



图三 : 其它类型AI晶片。
图三 : 其它类型AI晶片。

小结

历经近十多年的发展,AI加速晶片不论是在云端伺服器所需要的大型模型训练或是模型高速推论,或者边缘装置所需小而美、高性价比的推论单元,都已有长足的进步。相信随着半导体技术的提升,未来Edge AI能运行的模型大小、复杂度及所需的功耗都能有更棒的表现,能适用的AI应用也会更加宽广。


(本文由VMAKER授权转载;连结原文网址)


相关文章
MCX A:通用MCU和FRDM开发平台
用ESP32实现可携式户外导航装置与室内空气监测仪
学童定位的平价机器人教材Arduino Alvik
【Maker玩AI】用Roboflow + Ultralytics HUB训练与管理 YOLO模型
Arduino推出支援Elastic的函式库
comments powered by Disqus
相关讨论
  相关新闻
» 贸泽电子2024年第一季度推出逾10,000项新元件
» 宜特2024年第一季合并营收突破10亿元 展现验证分析布局力道
» SAP加速AI驱动供应链创新 推动制造业转型
» 宇瞻迈入绿色显示市场 成功开发胆固醇液晶全彩电子纸
» 调研:2024年中国ADAS市场迈向Level 3自动驾驶


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84RDEF3VOSTACUK1
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw