CEA开源性能测试工具N2D2 人工智能芯片竞赛开始了

本文涉及的产品
性能测试 PTS,5000VUM额度
简介:

 深度学习在2016年持续成为业界热门话题。而在即将来临的2017年里,专家们称人工智能社区对高性能、高效的深层神经网络“推理”引擎的需求将迅猛增加。

时下的深度学习系统主要是在定义网络、训练大数据集时利用强大的计算资源,而在达到目标时则需访问大型计算机系统。

不幸的是,要在嵌入式系统(如汽车、无人驾驶飞机和物联网设备)上有效地实现类似的学习并不容易,原因是嵌入式系统的处理能力、内存和带宽通常是有限的。

因此,深度神经网络(DNN)使得创新技术大有可能在端点设备上发挥其威力。

Movidius首席执行官Remmi El-Ouazzane 几个月前告诉记者,“在网络边缘上部署人工智能是大趋势。”

CEA开源性能测试工具N2D2  人工智能芯片竞赛开始了

Marc Duranton 

Marc Duranton是CEA(Commissariat à l'Énergie Atomique法国能源委员会)的架构、集成电路设计和嵌入式软件部的院士。记者最近采访他时问到推动人工智能的动力是什么。他提到三个因素——“安全、隐私和经济”,他认为这三个因素将推动业界在端节点处理数据。Duranton觉得 “尽可能早地将数据转换成信息” 的需求在不断增长。

他表示,自主汽车就是个例子。如果目标是安全的话,自主功能就不应该依赖总是有连接的网络。比如一个老人在家里摔倒了,这一事件应该在本地检测和识别。Duranton表示,由于隐私的原因,这一点颇为重要的。他还表示,家里安装的用于触发警报的10个相机将收集大量图片,不发送这些图片可以减少“功率、成本和数据的大小”。

竞赛开始了

从许多方面来看,芯片厂商已经充分认识到了业界对更好的推理引擎的需求在日益增长。

诸如Movidus(配备了Myriad 2)、Mobileye(EyeQ 4 & 5)和英伟达(Drive PX)的半导体供应商都在竞相开发超低功率、具更好的性能的硬件加速器,以用于嵌入式系统上实现更好的学习。

Duranton指,单片机系统(SoC)方面的研究表明,推理引擎已经在后移动时代成为许多半导体公司的“新目标”。

谷歌今年早些时候发布了张量处理元(TPU),这标志着工程社区在机器学习芯片方面渴望创新,是个转折点。

搜索巨头谷歌在发布TPU时称,TPU产品比 “商业FGPA和GPU在每瓦特性能上高一个数量级 “。谷歌还透露,击败人类围棋冠军的AlphaGo系统也用了这些加速器。但谷歌未公开讨论过TPU结构的细节,谷歌亦不会在商业市场出售TPU。

许多SoC设计师认为,谷歌之举印证了机器学习需要自定义架构的说法。而在他们试图设计自定义机器学习芯片时,他们很好奇TPU的架构是什么样子。更重要的一点是,他们想知道业界是不是已经有基准测试工具可以衡量深层神经网络在不同类型硬件上的性能。

工具来了

CEA称已经准备就绪,将探索各种不同硬件结构的推理引擎。CEA开发了一个软件框架,名为N2D2,设计师利用N2D2能够探索和生成DNN结构。Duranton表示, “我们开发这个工具的目的就是为了选择正确的DNN硬件。“他还承诺,N2D2在2017年第1季度将开源提供给公众使用。

新工具N2D2的关键是,N2D2比较硬件时不仅仅是基于识别精度。N2D2还将比较硬件的“处理时间、硬件成本和能源消耗”。Duranton表示,“这一点至关重要,因为不同的深度学习应用在各种硬件实现中用的参数可能不同。

 CEA开源性能测试工具N2D2  人工智能芯片竞赛开始了

N2D2的工作方式(来源:CEA)

 

N2D2提供了各种市场上有售的商业硬件的基准测试,包括多内核/博内核CPU、GPU和FPGA。

边缘计算遇到的障碍

CEA是个研究机构,一直在研究如何最好地利用深层神经网络在边缘计算中的使用。在被问到DNN在边缘计算遇到的障碍是什么时,Duranton表示,很明显,“浮点” 服务器解决方案是不能用的,因为“功率、大小和延迟的约束”。 他还表示,其他局限性包括:“许多MAC、带宽和片上内存大小”。

即是说“整数而不是浮点”是我们需要考虑的第一件事。还要考虑别的吗?

Duranton认为,另外,还可以在专业架构里使用新编码,如“高峰编码”(Spike coding)。

CED研究人员对神经网络的属性进行了研究,他们发现这些属性本质上可以容许一些计算误差的存在。他们因此确定,神经网络适合”近似计算“。

如果这样的话,我们就不一定需要用二进制编码。Duranton表示,这是个好消息,因为如高峰编码之类时间编码在边缘上能得到更节能的结果。

高峰编码有其吸引力,因为经高峰编码过的(基于事件的)系统可以显示神经系统的数据如何被编码。而且,基于事件的编码可以兼容专用传感器和预处理。

再者,使用与神经系统所用的码类似的码将有利于模拟和数字的混合实现,研究人员因此可以构建一个更小的、能量消耗也更小的硬件加速器。

还有一些其它因素可以帮助加快DNN在边缘计算中的使用。

例如,CEA正在考虑微调神经网络结构的潜在需要,并将其用于边缘计算。Duranton指,“人们开始谈 “SqueezeNet”的使用,不再谈AlexNet。他解释说,有报告说SqueezeNet可以达到AlexNet层面的准确性,但用的参数只有1/50。在边缘计算中需要的就是这种简化,在拓扑方面和减少MAC数量方面都有需要。

在Duranton看来,目标是将 “经典”DNN自动转换到“嵌入式”网络。

P-神经元(P-Neuro)临时芯片

CEA的目标是开发神经形态电路。CEA研究所认为这种芯片电路是“对深度学习的有效补充,可以在接近传感器的数据里提取信息” 。

在实现该目标前,CEA觉得先要采取几个临时措施。像N2D2的开发工具对于芯片设计者十分重要,可用于开发定制的“每瓦特高TOPS(tera operations per second,每秒Tera操作)性能的DNN”解决方案。

此外,想在边缘计算中利用DNN的开发者可以用真正的硬件做实验。为此,CEA提供一款超低功耗的可编程加速器,名为P-Neuro。

目前的P-Neuro神经网络处理单元基于FPGA。据Duranton说,CEA以后会将FPGA转成ASIC。

 CEA开源性能测试工具N2D2  人工智能芯片竞赛开始了

试验演示:P-Neuro与嵌入式CPU的比较

Duranton在实验室演示了基于FPGA的P-Neuro卷积神经网络用于人脸检测的应用程序。演示将P-Neuro与嵌入式CPU(Raspberry Pi上的四核ARM;运行Android的三星Exynos)进行比较,运行的都是相同的嵌入CNN应用程序,任务是从18000张的图片数据库里做 “人脸提取”。

演示 (如上图所示) 结果显示,P-Neuro的速度性能是每秒6942张图片,能源效率每瓦2776张照片。

CEA开源性能测试工具N2D2  人工智能芯片竞赛开始了

P-Neuro栈与嵌入式CPU、GPU的对比(来源:CEA)

与嵌入式GPU(Tegra K1)相比,频率为100 Mhz的基于FPGA的P-Neuro的运行速度要快2倍,节能达4到5倍。

P-Neuro建立于集群SIMD架构上,特点是内存层次结构和互连得到优化。

 CEA开源性能测试工具N2D2  人工智能芯片竞赛开始了

P-Neuro框图(来源:CEA)

 

欧盟项目

Duranton强调指出,对于CEA研究人员而言,P-Neuro只是个”短期芯片”。P-Neuro的建立用的是使用二进制编码的完整CMOS元件。CEA研究小组也在研究使用高峰编码的完整CMOS元件。

而为了充分利用先进的元件解决密度和功率上的问题,CEA团队必须设定更高的目标。

在采访期间,CEA-Leti纳米电子学技术营销和策略主管Carlo Reita表示,关键是要在设计专用组件的物理实现时利用先进的硅元件和记忆技术。Reita表示,一个方法是用传统的整体式三维集成,用上CEA-Leti的CoolCube。另一个方法是用电阻式RAM作突触元素。诸如FD-SOI等先进元件技术和纳米线技术也将发挥其作用。

与此同时,欧盟推出了欧盟地平线2020计划,其中一个项目的目标是“制造能实现神经形态架构的芯片,以支持先进的机器学习和基于高峰编码的学习机制”。

神经形态处理器

该项目名为NeuRAM3。NeuRAM3称自己的芯片将具有“超低能耗、可伸缩和高度可配置的神经结构“的特点。其目标是提供“针对一些选定的应用程序比传统的数字解决方案优于50倍的功耗”。

CEA开源性能测试工具N2D2  人工智能芯片竞赛开始了

神经形态处理器(来源:Giacomo Indiveri教授)

CEA开源性能测试工具N2D2  人工智能芯片竞赛开始了

神经形态处理器基本规范 (来源:Giacomo Indiveri教授)

Reita表示,CEA深度参与了NeuRAM3项目。CEA自己的研究目标与NeuRAM3项目的目标一致,这些目标包括开发在FD-SOI上单片集成的3D技术及集成RRAM突触元素的使用。

Reita解释说,NeuRAM3项目研究出新的混合信号多核神经形态元件,与IBM的名为TrueNorth的人脑式元件比较,NeuRAM3的神经形态元件的功耗显著降低了。

CEA开源性能测试工具N2D2  人工智能芯片竞赛开始了

NeuRAM3的神经形态元件与IBM的TrueNorth的比较(来源:NeuRAM3)

NeuRAM3项目的其他参与者包括:IMEC、IBM(苏黎世)、ST Microelectronics、CNR(意大利国家研究委员会)、IMSE(El Instituto de Microelectrónica de Sevilla in Spain,西班牙塞维纳微电子研究院)、苏黎世大学和德国雅各布斯大学。


原文发布时间为: 2016年12月25日

本文作者:刘新萍 

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
1月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
1天前
|
数据挖掘 测试技术 项目管理
2025年测试用例管理看这一篇就够了 ----Codes 开源免费、全面的测试管理解决方案
Codes 是国内首款重新定义 SaaS 模式的开源项目管理平台,支持云端认证、本地部署、全部功能开放,并且对 30 人以下团队免费。它通过整合迭代、看板、度量和自动化等功能,简化测试协同工作,使敏捷测试更易于实施。并提供低成本的敏捷测试解决方案,如同步在线离线测试用例、流程化管理缺陷、低代码接口自动化测试和 CI/CD,以及基于迭代的测试管理和测试用时的成本计算等,践行敏捷测试。
2025年测试用例管理看这一篇就够了 ----Codes 开源免费、全面的测试管理解决方案
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
MarS 是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM,支持无风险环境下的交易策略测试、风险管理和市场分析。
31 8
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
|
30天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
172 17
Selenium:强大的 Web 自动化测试工具
|
26天前
|
人工智能 自然语言处理 前端开发
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
CodeArena 是一个在线平台,用于测试和比较不同大型语言模型(LLM)的编程能力。通过实时显示多个 LLM 的代码生成过程和结果,帮助开发者选择适合的 LLM,并推动 LLM 技术的发展。
53 7
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
|
2月前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
46 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
2月前
|
监控 测试技术 开发工具
移动端性能测试工具
移动端性能测试工具
59 2
|
2月前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
2月前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
248 2
|
2月前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具