ACCEL的图像识别过程,分为OAC(Optical Analog Computing,光模拟计算)和EAC(Electronic Analog Computing,电模拟计算)两个环节。小车的光学图像包含极多光学信号,经过光学元器件阵列,不断进行“特征提取”,相当于用ONN实现深度神经网络运算,在OAC里生成了小量光学信号(但包含了关键信息)。OAC输出的光信号,经过少量光电二极管阵列转换(只有32 × 32个),变成电信号(仍然是模拟信号)。这些电信号在EAC里的SRAM阵列里传输,用巧妙的办法模拟了一个神经网络全连接层。最后电信号形成了简单的脉冲序列输出,完成识别过程。
可以看出,OAC借鉴了ONN的技术,主要的创新是在EAC环节。SRAM是static random-access memory,存储一个比特。EAC模拟实现了一个二值化的神经网络全连接层。全连接是模式识别的深度神经网络最后一层常用办法,EAC里是1024 × N的全连接(1024就是32 × 32个从OAC转换来的电信号,N是需要识别的物体种类数,ACCEL里N小于等于16)。
二值化神经网络连接是说,权重系数只有两种状态(正和负)。每个从光信号转来的电信号,会根据其连接的SRAM存储的比特值是0还是1,决定连到V+还是V-这两条线之一。两条线各有一些电信号连过来,先各自根据基尔霍夫定律合并出电流值,再在输出Node互相比较电流大小,得出一个电压差脉冲输出。如果有N个物体需要分辨,从OAC转换来的电信号会同时接到N组SRAM里,组合出N个脉冲输出。最后脉冲在Comparator里比较,哪个大就代表识别结果是它。神经网络训练,就是根据正确输出结果,告诉EAC,对应Node输出的脉冲大了、小了,反向去修改SRAM里的0和1值。训练好了,1024×N个SRAM里就存储了一套权重系数,可以用于模式识别了。
整个过程很巧妙,EAC的输出直接就识别好了,不需要再在传统计算机里计算处理。所以,ACCEL芯片实现了完整的图像识别计算过程。它里面有光学信号、电信号,在一级级传输,有个计算过程,但完全没有传统芯片的数字逻辑过程。所以叫做All-analog,全程模拟信号,不需要ADC转换,这就非常厉害了,能效极高。
ACCEL的优点有多种。在OAC环节,光学图像输入包含海量的细节,用透镜和掩码组不断变换,最后就形成32×32的小规模输出。这个特征提取过程非常重要,它是光电融合芯片能快速计算的主要功臣,是一个光学过程,光速、低时延、低能耗。这个过程如果用传统芯片来做,需要非常多的晶体管,而且并行不容易,需要GPU加速。光学过程天然就是并行的,而且实现简单。
但OAC的输出是“抽象”的,谁也看不懂。如果导入传统计算机系统里解读,就又引入了传统内存与逻辑芯片的弱点,还不如只用传统芯片处理简单。ACCEL用EAC去解读OAC的输出,用SRAM阵列很简单地就进行了电流计算,最终的电流脉冲结果能和识别结果很好地对应上,这是一个让人叫绝的办法。
架构设计不错,还要评估实际效果。清华研究团队对MNIST、ImageNet数据集的几个典型学术研究型案例,评估了运行效果。这些案例包括,10个手写数字的识别、3类图形样例的识别,还有一个视频行为的分类识别。
要注意,ACCEL芯片架构评估其实不需要实际造出芯片,可以先模拟评估。就如同芯片设计时,可以选用工具软件模拟运行看效果,看设计是否成功。ACCEL的OAC和EAC的信号处理行为,都可以用计算机模拟出来。模拟运行、训练神经网络,验证架构可行性、模式识别效果让人满意,再去实际造出ACCEL。
这种模拟就能发现传统光计算芯片的弱点了。如ImageNet中256×256的图像分类识别,对传统光计算架构很困难,因为要放很多MZI,需要的ONN层数较多,会导致光信号在光路上经过的环节过多,非线性特性发作,性能乱套。ACCEL对这类较大的图像还能应付过来,说明架构上比传统光计算要强很多。
但是需要指出,ACCEL模拟评估的方法,就说明它仍然是一个研究型的芯片。这些评估的任务是相对简单的,如对ImageNet中的三类物体进行分辩,栗色马、救护车、衣柜。ACCEL的识别率是80.7%,这听起来不高,但仍然高于它的比较对象、一个传统数字神经网络的75.3%。为什么呢?因为这个比较对象只是一个三层的简单网络。显然这意味着双方离真正应用都很远。现在真正实用的深度学习模式识别的识别率很高,能够处理的图片较大,应用的神经网络层数非常多,跟这种“玩具模型”不是同一层面的。
之后,清华团队实际造出了ACCEL芯片,进行了评估。但由于其研究型目的,用的工艺是相对简单的。传统光计算芯片的问题是,在制造过程中,会出现光路对齐、信号噪声之类的缺陷,大大影响实际表现。ACCEL由于芯片架构简单,所以在这方面表现好一些,制造引入的缺陷少,信号噪声、低光照条件下表现不错,也是一个优点。ACCEL就算造的不完美,因为权重是根据实际样例训练的,能在训练中纠正一些。
ACCEL制造出来后,在一些测试样例中,识别率表现和模拟评估一致,有的数值稍差一点但可以理解。到这一步,才说明芯片设计和制造算是成功的,实现了意图,之后对于优越性能的说明才有意义。
总体来说,ACCEL识别率方面的性能指标还不错。一个特别大的优点是,在低照度的情况下,传统办法全部会失败,但ACCEL还能很好地处理。这是因为其它架构都需要ADC模数转换,信号强度不够就不行了。而ACCEL在低照度情况下,模拟信号仍然能正常地自然运算,直到整个计算完成。
现在我们回到文章开头的问题,新闻里说的“算力是商用GPU的3000多倍”,这话究竟对不对呢?其实完全误导,它只能理解为一种形容,并不是实际的算力表现。
首先来理解一下,这个说法是怎么来的。ACCEL的优点是,它就是一个光信号、电信号传播的过程,不象传统芯片那样计算速度受限于“时钟周期”。可以想象,传统芯片的计算过程是一步步的,象僵直的机器人一样一个节拍动一下。而ACCEL是一个流水一样的自然过程,几乎没有卡顿,虽然有时钟周期,但不太受限制,只有SRAM存储更新之类的明显需要节拍的地方会用到。
实测下来,ACCEL用2-9个纳秒就能完成一幅图像的处理。1纳秒是十亿分之一秒,是100万之一毫秒。通常人们用CPU处理一幅图像识别是几十到几百毫秒,用GPU加速也要几个毫秒。也就是说,ACCEL的处理时间只有一般芯片的百万分之一以下。
因此,可以认为ACCEL的时钟频率是500M,也就是一个时钟周期2纳秒。等于是说,几个时钟周期,ACCEL就把计算任务办完了。而在传统计算机里,无论是CPU还是GPU,这类计算任务都要很多个时钟周期的,做个乘法就要好多步。并行是说,海量数据可以组成向量加速,但对某个数据处理的时钟周期是省不了的。
所以清华论文报告说,在进行ImageNet三类物体分类时,ACCEL的计算速度约相当于4550个TOPS。TOPS是Tera Operations Per Second,代表每秒1万亿次操作。这个计算速度确实能有商用GPU的3000多倍,因为GPU每秒能有1万亿次操作已经很好了。所谓“算力是商用GPU的3000多倍”,就是这么来的。但这个说法,究竟是哪里不对呢?
真正的问题,在于持续计算。ACCEL确实能在几纳秒之内处理一幅图像的光信号,但它能不能持续运算,真的用一秒时间,完成4550TOPS的运算量?这就不行了,因为准备任务是需要时间的。例如以它的计算速度,一秒能处理1亿个图片,但把这么多图片的光信号在一秒内发送给它,是不可能的。实际准备一个图片需要的时间就不短,真正的瓶颈是在这儿。
ACCEL芯片测试准备
ACCEL芯片是一个光电芯片,它的输入是光信号,要把它运行起来,需要准备好光信号输入,而这是个相当复杂的任务。按论文描述,清华团队要搭起光学镜片组,才能将识别目标的光信号输入给ACCEL进行处理,换下一个识别目标要不少操作。而GPU、CPU在计算机系统中应用多年了,处理输入已经很成熟了,所以能将海量数据组织起来,象流水线一样送到运算核心不停处理。高性能GPU的核心技术之一,就是海量数据输入管理,要用到上百G的高速存储器,多级缓存。
所以,论总的算力ACCEL并不大,它只是对整个流程中的一步处理得极快,而这一步快的代价是另一些步骤慢。一个比喻是,一个士兵面前正好有一个敌人,他开枪只用1秒钟就消灭了一个敌人。但这不代表他可以一小时消灭3600个敌人,更不是说他可以一个人顶3000多个人。如果有人说他的“战力”有3000多个士兵这么多,这就错得离谱。再一个比喻是,一张弓,可以在1秒内让箭飞出100米,速度很快。但是,不能说它的“运送能力”是1小时360公里,因为没法持续飞。如果射一箭,人走过去再射一箭,这样接力,一小时跑不了多远。
如果是了解可控核聚变的朋友,可能会想到另一个更有技术含量的比喻。可控核聚变有两条途径,磁约束和惯性约束。我们平时经常看到新闻的EAST、ITER等托卡马克属于磁约束,而激光打靶属于惯性约束。2022年12月,美国国家点火装置(NIF)实现了一个里程碑,能量输出超过了输入。然而,这意味着惯性约束聚变能用来发电了吗?其实还差得远。原因有很多,其中之一就是激光打靶是不连续的,聚变反应时间只有几纳秒,而准备一次打靶却要一天(美国NIF激光聚变“点火”成功,聚变电站还远吗?|DrSHI观科技)。这比“一曝十寒”还夸张,是“纳秒曝一天寒”,所以总的效率非常低,离实用还很远。
而相比之下,GPU的算力就是真实的,它确实能连续一直跑,跑到芯片发烫,人人都能听见风扇的声音。GPU应用时,会有配套的计算机系统、应用程序、CUDA驱动支持,有时需要上百G的HBM3快速存储,这都是为了连续处理海量数据。
另一个指标是与能耗相关的。ACCEL几乎不用能量,只有激光、SRAM用一点,能耗指标非常优秀。论文中给出的能耗指标是74800TOPS每瓦,这就是新闻中提到的“能效提升四百万倍”。
同样的道理,这种说法也是很误导的。这是因为ACCEL处理整个流程中的一步几乎不用能量,而不是ACCEL真用了与CPU或GPU相当的能量,完成了四百多万倍的运算。一个比喻是,一只蚂蚁几乎不用能量就能爬1米,能耗效率比人要高多了。但是人可以把10斤重的箱子提起来,蚂蚁却不可能做到。
最后,我们来总结一下。清华ACCEL芯片融合了光电的特性,是非常巧妙的芯片架构,技术指标优秀,将光计算的潜力进一步展示。所以这个工作发表在《自然》上,引发了相当的轰动。它的快速计算、低功耗的特性,正如论文中提到的,在可穿戴设备、自动驾驶、工业检测等领域很有应用前景。应该说清华团队的总结是清醒的,在这些领域视频图像信号能低功耗快速处理,会是不错的应用。
但是,一些媒体将指标引申到与GPU对比,认为ACCEL的算力与功耗指标比GPU好得多,甚至暗示ACCEL可能解决先进GPU问题,这就完全误读了。一方面的问题是,GPU有“通用计算”能力,能完成很多复杂任务,而ACCEL只用于视频与图像模式识别,应用领域较窄。但根本的问题是,指标对比方法错误。这种比法对ACCEL来说是只看到优势,没看到代价,对GPU来说是忽视了GPU连续计算的能力。
更深层次的问题是,媒体为什么经常犯这种错误呢?恐怕是因为他们总想搞个大新闻,而忽略了提高知识水平。
【三大指数集体低开 创业板指跌近1%】沪指低开0.66%,深成指低开0.86%,创业板指低开0.97%,算力芯片、智慧灯杆、通感一体化等板块指数跌幅居前
2024-08-02 13:07:29三大指数集体低开民生证券最近的研究报告强调,量子计算作为一种前沿技术,有望突破人工智能算力限制,带来颠覆性变革。它与传统计算方法不同,不仅大幅增强了数据处理的并行性,还显著降低了能源消耗
2024-05-21 13:26:39机构:量子计算有望解决AI算力瓶颈在9月10日的凌晨1点,苹果的发布会拉开了帷幕。发布会上,苹果揭晓了其最新的A18芯片,这款芯片采用了先进的3纳米工艺制造,将首次装载于iPhone16系列之中
2024-09-10 08:50:04苹果A18芯片发布:CPU提升30%2024中国算力大会将于9月27日至29日在河南郑州举行,华为将参与此次大会,主题定为“共赢算力新时代”
2024-09-25 09:12:00华为将参加2024中国算力大会