IBM苏黎世实验室(IBM Zurich)的研究人员开发出通用的人工智能(AI)预处理建构模块,据称可较现有方法加速大数据(Big Data)机器学习算法至少10倍以上。
在日前于美国加州长滩举行的神经信息处理系统大会(NIPS 2017)上,IBM在发表这种新途径时解释,它采用了数学对偶性(duality),在Big Data串流中精心挑选能发挥效用的项目,并略过其余无效的选项。
IBM Zurich研究人员Celestine Dünner说:“我们的动机在于,当缺少足够的内存来为Big Data机器学习保存所有的数据时,如何使用硬件加速器,如绘图处理器(GPU)和现场可编程数组(FPGA)。”Celestine Dünner同时也是这一算法的共同发明人。
IBM Zurich数学家Thomas Parnell则表示:“我们应该算是最先提供了可加速10倍的通用解决方案。特别是针对传统的线性机器学习模型(目前广泛用于规模太大而无法用于神经网络进行训练的数据集),我们在最佳参考方案的基础上建置相关技术,并展示了至少10倍的加速方案。”
IBM苏黎世研究人员Thomas Parnell和Celestine Dünner讨论在NIPS 2017发表的预处理算法。(来源:IBM)
在一开始的展示中,研究人员使用Nvidia Quadro M4000 GPU搭配8GB内存,在容量约30GB的4万张照片数据集上进行训练——该照片数据集采用支持向量机器(SVM)的算法,先将影像解析为各种类别以进行辨识。SVM算法还可为所学习的模型建立几何式解读,这和无法证实其结论的神经网络是不一样的。IBM的数据预处理方法让该算法可在不到1分钟的时间完成执行,比目前采用有限内存训练的方法更快10倍。
该技术的关键在于对每个数据点进行预处理,查看它是不是已经处理数据点的数学对偶。如果是的话,那么算法就会自动略过,这个过程在数据集进行处理时变得越来越频繁出现。Dünner说:“我们在每个数据点以进行处理以前先计算每个数据点的重要性,再以测量对偶差距大小的方式进行处理。”
Parnell说,“如果你的问题适于放在加速器的内存空间,那么在内存内部执行将会获得更好的结果。因此,我们的结果只适用于Big Data的问题。它不仅能让运行时间加快10倍以上,而且如果在云端执行时,也不必付出太多的成本。”
随着Big Data数据集越滚越大,这种节省时间和成本的预处理算法将会变得越来越重要。IBM指出,为了显示其基于对偶性的算法能够处理任意大小的数据集,该公司在NIPS上展示了8GPU的版本,它能处理网页广告的十亿次点击数据。
研究人员正进一步开发该算法,期望在不久部署于IBM BlueMix Cloud——称为基于对偶差距(duality-gap)的异质学习,适用于包括社群媒体、在线营销、目标式广告、查找电信数据模式以及欺诈检测等Big Data数据集。
编译:Susan Hong
本文授权编译自EE Times,版权所有,谢绝转载
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。