自从2018年整合Arm在华业务成立合资公司进行独立运营以来,业界一直关注安谋科技自研产品技术的发展。在这期间,围绕人工智能、CPU、信息安全、多媒体处理等核心领域,安谋科技推出了“周易”NPU、“星辰”CPU、“山海”SPU以及“玲珑”ISP、“玲珑”VPU等处理器IP,并实现了客户相关产品的流片和量产。截止目前,已经有超过160家本土客户采用了该公司自研的IP,而基于安谋科技自研IP的芯片出货量也已突破2亿颗。
这5年也是AI应用在纵深市场高速扩张的时期,对AI处理能力不断增加的需求推动了相关产品的快速迭代。日前,面向智能汽车和边缘计算AI图像处理,安谋科技推出了新一代NPU“周易”X2 NPU,该处理器不仅在算力、精度、灵活性等方面进行了大幅提升,还针对车载、边缘计算等应用场景进行了专门优化,进一步提升这些场景下的计算效率,满足包括4K高分辨率在内的多种分辨率和多路图像融合计算的需求。
安谋科技执行副总裁、产品研发负责人刘澍表示,“周易”X2 NPU首先面向汽车市场。中国的汽车发展动力强劲,中国市场汽车销量已占全球汽车销量的1/3。同时,安谋科技的中国客户也有长足的进步和发展,本土智能汽车品牌正在崛起,相信中国智能汽车的发展进程将经历类似于智能手机的发展,中国品牌会在全球市场上占据越来越重要的地位。
在汽车智能化中自动驾驶(ADAS)对AI的需求越来越多,包括ADAS系统中更多的摄像头和雷达信号的处理,以及车内车外各种辅助系统的决策,需要更高的帧率、更大的算力、更多人机交互、更多安全性等,这些都对处理器IP产品提出了更高的要求,而“周易”X2 NPU的推出,可以满足这些需求。当然,除了汽车,该产品也面向其他算力场景的边缘侧应用,如服务器、手机、PC、平板电脑等。
汽车智能化过程对AI图像处理提出了更多的要求。以多路图像融合计算——主要是ADAS应用——为例,其在AI算法演进上,不仅需要处理器能够在统一空间支持多模传感器感知融合与多任务共享,还要能够预测与规划联合建模,离线与在线学习相结合,能够自学习处理不确定性下的安全与可解释问题,通过持续学习解决新场景问题。
这一演进趋势需要更高的算力和一系列性能优化来实现。据安谋科技产品总监杨磊介绍,相较于上一代产品,“周易”X2 NPU 基于最新的V3架构指令集,在八个方面进行了技术升级:
一、其多核cluster, 可支持最高达320 TOPS子系统;
二、支持更好的i-Tiling技术方案,可大幅减少带宽需求,解决内存墙问题,进一步提升计算效率,从而大幅降低系统的成本;
三、采用TSM任务分拆和管理技术,可以充分发挥各个计算单元效能,提高算法效率;
四、支持混合精度计算,包括 int4/int8/int12/int16/int32, fp16/bf16/fp32。既可以做定点的、整型的数据计算,也支持浮点的16bit或者是32bit的计算,可以很好地平衡功耗、算力密度以及计算精度。这是V3架构里新支持的技术功能;
五、针对汽车领域常见的AI模型Transformer专门进行了性能优化。包括现在最火热的ChatGPT,模型基础架构也是基于Transformer的;
六、增加了无损的权重压缩技术,节省了数据传输的带宽;
七、低功耗技术升级,在7nm工艺节点上实现10TOP/W的能效;
八、面向手持设备做了专门的优化,例如拍照AI去噪声,视频的超分辨率、插帧等。
图1:“周易”X2 NPU主要功能升级
“周易”X2 NPU 基于最新的V3架构指令集。对此,安谋科技NPU研发高级总监孙锦鸿强调道:相较于“周易”V1、V2架构,V3架构更强调并行性和可扩展性。整个“周易”NPU设计的核心思想是在指令以及数据处理单元的同构计算里做到最大并行;而在异构上,则是把数据的Channel和Batch,甚至异构算子做成并行,在同构和异构的单元里得到统一。在此基础上扩展内核和Cluster,通过不同颗粒度的并行性来体现整个“周易”架构的强扩展性。虽然“周易”V3架构的扩展维度多样,但都可以通过统一的OpenCL界面把不同扩展性的计算单元通过统一的编程方式进行编程,因此提供了较好的用户体验。
孙锦鸿表示,“周易”NPU团队自主定义了V3架构所有的超过1000个的指令集。针对不同场景,这些指令基于VLIW结构,由长指令和短指令构成,并且可以支持64bit和128bit的指令包,做到统一的指令集组合。
为了开发者可以方便、快速地进行算法移植和调试,从第一代“周易”NPU推出开始,安谋科技就提供了一套完整的人工智能软件开发套件,该套件支持主流的人工智能框架,如 TensorFlow、Caffe、ONNX、PyTorch等模型,具有多种开放接口,支持用户模型和自定义算子等开发和调试。套件搭载了丰富的调试工具。支持多种层次的开发和调试,满足高级开发者白盒开发的性能调优的需求。其他资源包括支持 Android、Linux、RTOS 、QNX 等不同 OS,支持 TVM、Arm NN 的 SoC 异构计算,从而有效使用 CPU、GPU、NPU等计算资源,具有Bit精度的软件仿真平台,便于算法移植和部署。
目前“周易”NPU这套工具链及技术服务,可适配100多种算法。杨磊强调,“周易”NPU也可以支持客户的自定义算子,以满足各种模型部署的需求,支持定制差异化的AI解决方案。
纵观安谋科技的产品路线,不难看出其立意在于打造完整的异构计算矩阵,而就IP商业模式而言,生态建设至关重要。安谋科技在去年7月发起了生态伙伴计划,目前已有来自智能汽车、AIoT、终端领域的40家头部芯片设计公司、解决方案提供商和系统平台公司加入。
异构计算的IP解决了底层硬件重复开发的问题,而面向着多元化的应用,要实现每一个领域的广泛参与,“开源”是一个重要的举措。例如“周易”NPU面向物联网、智能终端、汽车等市场,而面向这些领域的芯片设计工程师通常要面对上层软件的应用、算法开发、选择适合自身硬件的推理软件工具、算法移植等共性问题。
因此,继生态伙伴计划之后,去年11月,安谋科技开始发起“周易”NPU软件开源计划,通过开放源码,来满足客户更自主、更灵活的算法移植需求,携手更多开发者以及合作伙伴共建国内NPU产业生态。而随着此次“周易”X2 NPU的发布,该公司也正式对外发布这一计划,在第一阶段,安谋科技对外开放的资源包括NPU中间表示层规范、模型解析器、模型优化器、驱动等,并提供免费的软件工具链,包括软件模拟器、调试器、C编译器。
图2:“周易”NPU软件开源计划
具体而言,安谋科技目前已开源其“周易” Compass软件平台的前端,并在开源计划的第一阶段开放以下资源:
Compass解析器——解析器源代码和中间层表示规范;
NPU Linux驱动——更易在现有SoC上部署,并符合GPLv2协议;
Compass集成——提供“周易”NPU网络构造工具端到端验证环境;
模型仓库——已验证的开源NN模型,便于测试和快速上手。
其中,Compass解析器的主要作用是将多种框架的模型转换成“周易”NPU的中间表示,开发者可以基于源码进行修改以适配更多神经网络模型。除了调试、验证解析器本身功能之外,开发者还可以在极术社区上免费获取软件工具链,进行算法模型端到端的调试和验证。如下图所示,Compass解析器不仅支持基于软件仿真器的调试和结果验证,还可以部署到内嵌“周易”NPU的芯片上进行测试和性能优化。
图3:“周易”Compass软件平台
杨磊表示,“周易”Compass软件平台不仅能充分发挥NPU的性能,还能支持安谋科技提供的一揽子IP组合异构计算解决方案,包括Arm CPU、GPU,以及安谋科技自研ISP、VPU、SPU等。目前,“周易”Compass软件平台支持TVM以及Arm NN两套异构计算平台,能够将SoC芯片中的CPU、GPU、NPU IP的性能协同发挥出来,这也是比较新的功能。
安谋科技已分别在代码托管平台Gitee、GitHub上建立该项目的开源库,开发者可以方便地在这些平台上获取资源。据悉,这只是“周易”NPU软件开源计划的第一步,安谋科技后续还将逐步开放更多资源,例如模型优化器、模型量化、算子实现等源代码。
“周易”X2 NPU已经可以正式交付客户,今年将会有多款搭载“周易”X2 NPU的芯片产品面世。截止目前,“周易”NPU软件开源计划已吸引了首批合作伙伴“入驻”。随着安谋科技异构计算产品的发展和演进,其独立运营的基础进一步夯实,在坚持开展自研IP业务和发展Arm IP业务这一模式不变的基础上,安谋科技对其在中国半导体及自研IP产业发展中扮演的角色充满信心。