优化问题分解成多个小问题
━━━━
乔治亚理工大学的工程师称他们研发出了可编程的原型芯片,能够有效地解决一大类优化问题,包括神经网络训练、5G网络路由和磁共振成像重建中涉及的优化问题。该芯片的结构体现了一种特殊的算法,能够将大型问题分解成为很多个子问题,然后解决子问题并分享结果。这种算法会不断重复这一过程,直到得出最佳答案。与运行该算法的GPU相比,这种名为Optimo的原型芯片的功效是其4.77倍,速度是其4.18倍。机器学习系统的训练和大量的其他数据密集型工作都可以被视为一系列名为约束优化的数学问题。乔治亚理工大学的教授阿里吉特•雷乔杜里(Arijit Raychowdhury)解释说,在这些问题中,你要在某些约束条件下尽量缩小某一函数的值。例如,训练神经网络时,可能需要在约束神经网络范围内,寻求最低的误差率。“如果你能使用灵巧的结构和高能效的设计来加速(约束优化),就能够加速解决一大类有关信号处理和机器学习的问题。”雷乔杜里说。20世纪80年代,一种名为交替方向乘子法(ADMM)的算法就是一种解决方案。这种算法能够分解庞大的优化问题,然后经过多次迭代形成一个解。“如果你想要使用大量数据(例如具有100万个变量的100万数据点)解决一个重大问题,借助ADMM,你就能够将这个重大问题化解为更小的子问题。”他说,“你可以把问题分解成为具有1000个数据点的1000个变量。”每个子问题解决之后,在“一致”步骤中,将其结果与其他的子问题合并,从而得到一个中间解。中间解合并到子问题中以后,该过程会不断重复,直至该算法得出一个最优解。在典型CPU或GPU中,ADMM受到了限制,因为其中需要有大量的数据移动。因此,乔治亚理工大学的团队开发了一种具有“邻近内存”结构的系统。
“作为一种解决优化问题的方法,ADMM架构可以很好地映射为多核结构。多个核心之间有通信信道,还有临近信道的存储和逻辑单元。”雷乔杜里说。测试芯片包括由49个“优化处理单元”组成的网格、专为执行ADMM而设计且包含高带宽内存的内核。这些单元彼此连接,可加速执行ADMM。每个单元被分配一部分数据,然后开始解决自己的子问题。系统会收集合并结果,然后调整数据并将其发送到优化单元以执行下一次迭代。经过特殊设计、连接49个单元的网络可加速这一集—散的流程。今年4月,乔治亚理工大学团队的研究生张木亚(Muya Chang,音)和贾斯汀•龙伯格(Justin Romberg)教授在得克萨斯州奥斯汀的IEEE定制集成电路大会上公开了Optimo。雷乔杜里说,这种芯片可增加核心数量,在云端开展工作,也可减少核心数量,解决靠近互联网边缘的问题。之所以限制优化原型芯片中核心的数量,主要是因为他的学生时间有限,他开玩笑说。IEEE Spectrum
《科技纵览》
官方微信公众平台