当前位置: 首页 > 编程日记 > 正文

性能比GPU高100倍!华人教授研发全球首个可编程忆阻器AI计算机

640?wx_fmt=jpeg


译者 | 陆离

责编 | 夕颜

出品 | AI科技大本营(ID:rgznai100)

导读:近日,密歇根大学研发成功第一台可编程的忆阻器计算机,它不仅是一个通过外部计算机运行的忆阻器阵列,而且还是可以在智能手机等小型设备上进行 AI 处理的计算机。

       640?wx_fmt=png       

忆阻器(Memristor,全称记忆电阻器)阵列芯片插入定制的计算机芯片,第一台可编程的忆阻器计算机就此诞生。该研究团队证明了忆阻器计算机可以运行三种标准的机器学习算法。图源:Robert Coelius,密歇根工程学院

 

这台可编程的忆阻器计算机可以直接在类似于智能手机和传感器等能耗受限的小型设备上来进行人工智能处理。智能手机的人工智能处理器意味着语音命令将不再需要发送到云端进行处理,从而加快了请求的响应时间。

 

 “每个人都想在智能手机上安装一个人工智能处理器,但大家都不想让自己的手机电量消耗得太快。”美国密歇根大学电气工程和计算机科学学院教授 Wei Lu这样说道。而在医疗设备中,人工智能算法就无需在云端运行,这可以确保更好的安全性和隐私保密性。


何为忆阻器?


实现可编程忆阻器计算机的关键可能是忆阻器的高级计算机组件。

 

那什么是忆阻器呢?简单来说,这是一个带有存储功能的电阻器,它有着可变电阻,可以作为信息存储的一种方式。由于忆阻器在同一位置进行信息存储和处理,因此可以绕过计算速度和功率的最大瓶颈:内存和处理器之间的通道。

 

用常见的水管来比喻,电流是通过的水量,而电阻是水管的粗细时,当水从一个方向流过去,水管会随着水流量而越来越粗,这时如果把水流关掉的话,水管的粗细会维持不变;反之,当水从相反方向流动时,水管就会越来越细。因为这样的组件会“记住”之前的电流量,因此被称为忆阻器。


忆阻器为何有利于机器学习?


由于忆阻器尺寸小、能耗低,所以能很好地储存和处理信息,一个忆阻器的工作量相当于一枚 CPU 芯片中十几个晶体管共同产生的效用。

 

这对于需要处理大量数据的机器学习算法尤其重要,例如识别照片和视频中的对象,或是预测哪些医院的患者更容易感染等实际问题。程序员已经倾向于在图像处理单元上运行这些算法,而不是在计算机的主处理器和中央处理单元上来运行。

 

Wei Lu 表示:“在功率和吞吐量方面,GPU 和定制化及优化度很高的数字电路的性能是 CPU 的 10 到 100倍,而忆阻器人工智能处理器的性能可能会再提高 10到 100 倍。

 

GPU 在机器学习任务中表现得更好,因为它们有数千个小型的内核可以同时进行计算,而不是等待一个 CPU 中少数几个功能强大的内核来运行这一系列的计算。

 

一个忆阻器阵列甚至可以更进一步,每个忆组器都能进行自己的计算,并且允许在一个内核里同时进行数千次的运算。在这台用于实验的计算机中,有 5800 多个忆阻器,如果是用于商业化的计算机则可能包括数百万个。

 

忆阻器阵列特别适用于解决机器学习领域的问题。这是因为机器学习算法在本质上是把数据转化为向量,即数据点列表。例如,在预测患者在医院里感染的风险时,向量可能以数字的形式列出患者的风险因素。

 

然后,机器学习算法将这些“输入”的向量与存储在内存中的“特征”向量进行比较。这些特征向量表示数据的某些特征(例如潜在疾病的存在几率)。如果相匹配,那么系统就知道输入的数据具有这种特征。向量存储在矩阵中,就像数学中的电子表格一样,这些矩阵可以直接映射到忆阻器的阵列上。

 

更重要的是,当数据通过阵列进行输入的时候,大部分的数学处理过程是通过忆阻器中的自然电阻进行的,这也就消除了为了执行计算而将特征向量移入和移出内存的需要,这使得阵列在复杂的矩阵计算过程中保持很高的效率。

 

早期的研究证明了忆阻器阵列在提高机器学习效率方面的潜力,但它们需要外部的计算组件来发挥作用。


创建可编程的忆阻器计算机


为了创建第一台可编程的忆阻器计算机,Wei Lu 的团队与密歇根大学电子与计算机工程学院的 Zhengya Zhang 副教授、Michael Flynn 教授一起合作,设计出了一种芯片,可以将忆阻器阵列与编程及运行所需的所有其余组件集成在一起,这些组件包括一个传统的数字处理器和通信通道,以及数字与模拟信号的转换器,作为模拟忆阻器阵列和计算机其余部分之间的解释器。

 

接下来,Wei Lu 的团队将忆阻器阵列直接集成到密歇根大学劳瑞纳米加工技术实验室(Lurie Nanofabrication Facility )的芯片上。另外,他们还开发了将机器学习算法映射到忆阻器阵列的矩阵结构上的软件。

 

该团队使用了三个很实用的机器学习算法进行了演示:

 

  • 感知器(Perceptron)用于对信息进行分类,能够 100% 地识别出不完美的希腊字母; 

  • 稀疏编码(Sparse coding)用于对数据进行压缩和分类,尤其是对图像数据,计算机能够找到最有效的方法来重建一组图像,并且能够 100% 地识别出模式; 

  • 双层神经网络(Two-layer neural network)用于在复杂的数据中查找模式,它在乳腺癌筛查数据中发现了其中的共性和区分因素的特征,然后将每一个病例都按照恶性或是良性进行分类,准确率可达到 94.6%。


华人教授领队开发

 

可编程忆阻器计算机是由美国密歇根大学电气工程和计算机科学学院的华人教授 Wei Lu 带队研发。

       640?wx_fmt=png照片为 Wei Lu 与第一作者 Seung Hwan Lee 在一起。Seung Hwan Lee 是一名机电工程博士生,手里正拿着一个忆阻器阵列。图片来源:Robert Coelius,密歇根工程学院

 

We Lu 教授的研究方向包括基于双端电阻器件(RRAM)的高密度存储器、忆阻器和忆阻系统、神经形态电路和其他新兴电子器件。他于 1996 年获得清华大学物理学学士和电子与计算机工程学士学位,2003 年获得德克萨斯州休斯顿大学、莱斯大学和德克萨斯大学博士学位。从 2003 年到2005 年,他是马萨诸塞州剑桥市哈佛大学的博士后研究员。他于 2005 年进入密歇根大学,现任密歇根大学劳瑞纳米加工技术实验室教授和主任。

        640?wx_fmt=png       

同时,他还是 IEEE 研究员,Nanoscale 期刊副主编,并于 2009 年获得 NSF CAREER 奖,2012 年获得 EECS 杰出成就奖,2014-15 获得 Rexford E. Hall 创新卓越奖,2016-2017 获得 David E. Liddle Research Excellent 奖。迄今为止,他已发表了 100 多篇期刊论文,论文引用量达 22,000,其 H 指数为 63(Google Scholar)。此外,他还是 Crossbar Inc 的联合创始人,该公司是一家开发下一代非易失性存储器的硅谷半导体公司。

 

2017 年,Wei Lu 的研究团队曾研究出储备池计算系统(reservoir computing system),并发表在《自然·通信》上。该新型神经网络由忆阻器构成,可以显著提高机器学习人类思维的效率,网络能够在对话期间预测接下来要讲词汇,并能够基于当前对话情况预测结果。

        640?wx_fmt=png       (图源:领英)


该项目的合作研发者 Zhengya Zhang 同样为电子与计算机工程学院的华人教授 ,资料显示,他在密歇根大学从事研究已超过 9 年。


忆阻器商业化前景


Wei Lu 的研究团队表示,在忆阻器的商业应用拓展层面,目前还存在着一些挑战,它还达不到该团队所期望的目标,而且存储在阵列中的信息也不是完全可靠的,因为它是在模拟的连续介质上运行,并不是以数字形式,这些都是 Wei Lu 团队未来的研究方向。

 

目前,Wei Lu 计划将这项技术商业化。该项研究的课题为“一种完全集成的可重编码的忆阻器 —— 用于高效的乘积-累加运算的CMOS系统”。该研究由美国国防部先进研究项目局、应用驱动架构中心和美国国家科学基金会进行资助。

 

原文链接:

https://news.umich.edu/first-programmable-memristor-computer-aims-to-bring-ai-processing-down-from-the-cloud/


(*本文为 AI科技大本营编译文章,转载请联系 1092722531



精彩推荐


640?wx_fmt=png



推荐阅读

  • 中文repo“霸榜”GitHub Trending,国外开发者不开心了

  • 性能提升3倍的树莓派4,被爆设计缺陷!

  • 豪投10亿!华为放话:3年培养100万AI人才!网友神回应了

  • 《长安十二时辰》教了哪些算法知识?

  • 非科班出身程序员,如何超越科班程序员?

  • 谷歌停止中国版搜索引擎;李楠宣布离职魅族;微软用 Rust 替代 C/C++ | 极客头条

  • 首批8款5G手机获3C认证:华为占4款;IBM获AT&T“几十亿美元”云计算合同;马库斯:未来薪酬将以Libra发放

  • 用50年前NASA送阿波罗上天的计算机挖矿什么体验? 出一个块要10^18年……

640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

相关文章:

深入解析redis cluster gossip机制

社区版redis cluster是一个P2P无中心节点的集群架构,依靠gossip协议传播协同自动化修复集群的状态。本文将深入redis cluster gossip协议的细节,剖析redis cluster gossip协议机制如何运转。协议解析 cluster gossip协议定义在在ClusterMsg这个结构中&am…

Python 3.8即将发布,这几个变化你必须知道

作者 | Jake Edge译者 | Rachel出品 | Python大本营(ID:pythonnews)【导读】近日, Python 3.8.0b1 版本和 beta 版相继发布, Python 3.8 版的新特征已经基本成型。尽管最终版本的官方发布时间为 10 月,但实际上&#x…

Ubuntu 12.10 拨号上网及停用方法

2019独角兽企业重金招聘Python工程师标准>>> 本人电脑在设置了拨号上网过后,本来原先插上网线就能上网,现在反而不能上了,在网上找了些办法,再进行了些修改,最后成功了,现在把我的方法给大家分享…

011:视图函数介绍

视图: 视图一般都写在 app 的 views.py 中。并且视图的第一个参数永远都是 request (一个HttpRequest)对象。这个对象存储了请求过来的所有信息,包括携带的参数以及一些头部信息等。在视图中,一般是完成逻辑相关的操作…

Windows XP下vs2010中配置OpenCV2.4.3

1、 从http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/下载OpenCV2.4.3; 2、 将OpenCV-2.4.3.exe放到D:\Soft\OpenCV2.4.3文件夹下,解压到当前文件夹下,生成一个opencv文件夹; 3、 下载并安装CMake&…

改变shell read命令的隔符

2019独角兽企业重金招聘Python工程师标准>>> orgIFSIFS IFS"." ls */.fst/.txt | while read var1 var2 var3 do IFS$orgIFS fstcompile --isymbols${path1}isymtab.txt --osymbols${path1}osymtab.txt ${var1}/.fst/.txt ${var1}/.fst fstdraw --isymbol…

AutoML前沿技术与实践经验分享 | 免费报名

传统机器学习的解决范式可表示为:ML Solution ML expertise Computation Data新机器学习范式可表示为:New ML Solution 100x Computation 100x Data通过表示的变化,可以看出,传统范式的“ML expertise”被“100x”的“Comput…

传承乡邦文化,展示国学之美,联墨香飘远,文明花放红;

2019独角兽企业重金招聘Python工程师标准>>> 12月16日上午,阳光普照,翰墨飘香。由揭阳市文联指导、揭阳市楹联学会主办、榕城区图书馆协办的“我们的美好生活”原创联墨作品展在榕城区图书馆隆重开幕。 此次活动意在传承乡邦文化,…

VS2010运行速度优化汇总

1、 工具-->选项-->环境:视觉体验,前对勾全去掉; 2、 工具-->选项-->环境-->启动:启动时(P)下拉列表框中选择:显示空环境; 3、 工具-->选项-->文本编辑器-->C/C-->高级&am…

(一)JDBC入门及简介

引用百度对JDBC的解释: JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供…

OpenCV中OpenCL模块函数

It currently develop and test on GPU devices only. This includes both discrete GPUs(NVidia,AMD), as well as integrated chips(AMD APU and intel HD devices). The ocl module can be found under the “modules”directory. In “modules/ocl/src” you can find the…

这位创造GitHub冠军项目的“老男人”,堪称10倍程序员本尊

作者 | 马超,CSDN博客专家,金融科技从业者来源 | CSDN博客7月12日一款叫做TDengine的时序数据库项目在GitHub上开源了,这个项目一经发布就稳稳占据了GitHub排行榜的C位,目前TdEngine已经累积了5000多个star,并且连续一周排在上升榜…

hdu 1724 Ellipse——辛普森积分

题目&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1724 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define db double using namespace std; const db eps1e-5; int T;db a,b,l,r; db f(db x){return sqrt(…

模仿Hibernate的逆向工程_java版_源码下载

在这篇blog&#xff1a;"Hibernate逆向工程原理_java版本"中谈到了Hibernate逆向工程原理。 我喜欢理论和实践相结合....so,今天我试着模仿hibernate的逆向工程&#xff0c;哈哈&#xff0c;我成功啦.... 话不多说....直接上图先&#xff1a; 项目结构&#xff1a; 运…

http协议进阶(三)http报文

一、报文流 http报文是在http应用程序之间发送的数据块&#xff08;也可称为数据包&#xff09;、这些数据块以一些文本的元信息&#xff08;meta-information&#xff09;开头&#xff0c;描述了报文的内容及含义&#xff0c;后面跟着 可选的数据部分&#xff0c;这些报文在客…

一行Python代码能实现什么丧心病狂的功能?

作者 | 天元浪子来源 | CSDN博客手头有 109 张头部 CT 的断层扫描图片&#xff0c;我打算用这些图片尝试头部的三维重建。基础工作之一&#xff0c;就是要把这些图片数据读出来&#xff0c;组织成一个三维的数据结构&#xff08;实际上是四维的&#xff0c;因为每个像素有 RGB…

Windows7 32位机上,OpenCV中配置GPU操作步骤

1、 查看本机配置&#xff0c;查看显卡类型是否支持NVIDIA GPU&#xff0c;本机显卡为NVIDIA GeForce 8400 GS&#xff1b; 2、 从http://www.nvidia.cn/Download/index.aspx?langcn下载最新驱动并安装&#xff1b; 3、 从https://developer.nvidia.com/cuda-toolkit根据…

【2018.12.15】【考试总结】【模拟+逆序对+树状数组+贪心+multiset】爆零之旅

这是我悲惨的接近爆零的一次考试&#xff0c;但是本蒟蒻不能放弃&#xff0c;还是要总结的QAQ 答题卡 【题目背景】 八月是个悲惨的月份。先不谈炎热的天气&#xff0c;对于新生来说&#xff0c;八月意味着军训&#xff1b; 而对于高二高三的同学来说&#xff0c;八月意味着开学…

RememberMe 功能的实现(base-auth使用说明)

2019独角兽企业重金招聘Python工程师标准>>> 日常记录&#xff0c;代码是根据SpringSecurity写的。 ###写个Entity类实现UserDetails <!-- lang: java --> package com.lqz.b2c.base.web.controller.member.support;import com.lqz.b2c.base.entity.Passport;…

AutoML前沿技术与实践经验分享 | 免费公开课

传统机器学习的解决范式可表示为&#xff1a;ML Solution ML expertise Computation Data新机器学习范式可表示为&#xff1a;New ML Solution 100x Computation 100x Data通过表示的变化&#xff0c;可以看出&#xff0c;传统范式的“ML expertise”被“100x”的“Comput…

Windows 7 64位机上搭建Android开发环境

1、从http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html下载Java JDK&#xff0c;根据机子本身配置&#xff0c;选择jdk-7u25-windows-x64.exe下载&#xff0c;将其安装到D:\ProgramFiles\Java\jdk1.7.0_25文件夹下&#xff0c;并将D:\Pro…

近4万Star,登月源码登顶GitHub,这位女程序员“拯救”了阿波罗

作者 | 伍杏玲转载自CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;1969 年 7 月 20 日&#xff0c;“阿波罗 11 号”飞船登月&#xff0c;宇航员尼尔阿姆斯特朗&#xff08;Neil Armstrong&#xff09;成功踏上月球表面&#xff0c;标志着人类第一次踏上月球&#xff0c…

Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤

1、 先按照http://blog.csdn.net/fengbingchun/article/details/10439281中操作搭建好基本的Android开发环境&#xff1b; 2、 打开Eclipse&#xff0c;-->Window-->AndroidVirtual Device Manager-->New-->AVD Name:Android_OpenGLES, Device:GalaxyNexus(4.65…

animate默认时长所带来的问题及解决

一、需求描述 做一个进度条长度逐渐减少的动画&#xff0c;当进度条长度小于等于0时&#xff0c;关闭动画&#xff0c;并弹出透明底板显示新提示。 二、问题描述 初始代码如下&#xff1a; //设置进度条初始长度 var progressLength 180; //设置一个定时器 var timer …

避坑指南:如何选择适当的预测评价指标?| 程序员评测

作者 | Nicolas Vandeput译者 | Tianyu责编 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导语】因为不存在一个适用于所有情况的评价指标&#xff0c;所以评估预测精度&#xff08;或误差&#xff09;就变成了一件不是那么容易的事情。只有通过…

利用JNI技术在Android中调用C++代码

JNI是Java Native Interface的简称&#xff0c;也就是Java本地接口&#xff0c;它提供了若干的API实现Java和其它语言的通信(主要是C&C)。 1、打开Eclipse&#xff0c;File-->New-->Project…-->AndroidApplication Project-->Application Name:TestJNI,Packag…

微软开源数据处理引擎 Trill,每天可分析万亿次事件

微软近日开源了数据处理引擎 Trill&#xff0c;它每天能够分析万亿次事件。项目地址&#xff1a;https://github.com/Microsoft/trill当下每毫秒处理大量数据正成为一种常见的业务需求&#xff0c;此次微软开源的 Trill&#xff0c;据说每秒能够处理高达数十亿事件&#xff0c;…

【杭电ACM】1097 A hard puzzle

【杭电ACM】1097 A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid1097 先用int手写了算法结果竟然wrong answer&#xff0c;估计是测试数据很大&#xff0c;直接上BigInteger 和modPow()&#xff0c;轻松解决。 1 //author:pz2 3 import java.math.BigInteger;4 im…

mvc 下的 signalR使用小结

2019独角兽企业重金招聘Python工程师标准>>> sirnal下有两种使用。 一种是 Persistent Connection &#xff0c;另外一种是Hubs 。详细请看 https://github.com/SignalR/SignalR/wiki &#xff1b; hubs支持浏览器与客户端互相调用方法。所以应用更广泛。 在前台…

利用JNI技术在Android中调用C++形式的OpenGL ES 2.0函数

1、 打开Eclipse&#xff0c;File-->New-->Project…-->Android-->AndroidApplication Project,Next-->Application Name:FillTriangle, PackageName:com.filltriangle.android,Minimum Required SDK:API 10Android2.3.3(Gingerbread),Next--&g…