麻省理工学院:如果芯片不能变小,那么程序员就必须变得更聪明

2020-06-07 05:03:07

CSAIL的一项研究提出了从创建较小的硬件转向开发更智能的软件的理由。

我们认为理所当然的许多科技设备之所以成为可能,是因为多年来计算能力的提高,不仅让个人电脑和智能手机等东西变得更快,而且变得更小。这一切都始于1965年,当时英特尔联合创始人戈登·摩尔(Gordon Moore)预测,计算机芯片上可以容纳的晶体管数量将呈指数级增长-事实的确如此,大约每两年翻一番。摩尔定律经久不衰,最近庆祝了它的55周年纪念日。但小型化的趋势只能持续这么长时间,东西也只能变得这么小:有了最新的硅芯片,1万块端到端的硅片仍然不会比人的头发宽。因此,在过去的十年里,研究人员一直在试图找出如何提高性能,以便技术人员能够继续创新。请参阅:成为数字转型冠军指南(TechRepublic Premium)。

一些专家对量子计算或碳纳米管等新技术寄予厚望。但麻省理工学院计算机科学和人工智能实验室(CSAIL)的一个团队最近发表的一篇论文认为,答案很可能不是未来的某种范式转变。相反,该团队确定了继续提高计算速度需要优先考虑的三个关键领域-新算法、更好的软件和更专业的硬件。资深作者查尔斯·莱瑟森(Charles Leiserson)表示,使智能手机成为可能的小型化在许多方面鼓励了编码快捷方式。几十年来,程序员一直能够优先考虑快速编写代码-而不是编写代码以使其快速运行-因为更小、更快的计算机芯片总是能够填补空闲时间。麻省理工学院电气工程和计算机科学系(EECS)教授莱瑟森在文章中说,这还没有造成问题,但如今要想在机器学习、机器人和虚拟现实等领域取得更大进展,将需要巨大的计算能力。如果我们想要充分利用这些技术的潜力,我们必须改变我们的计算方式。

作者将他们的建议分为软件、算法和硬件架构三个类别。在软件方面,他们认为,程序员以前把生产力放在性能之上,导致了像减少问题这样的有问题的策略(取下处理问题A的代码,并用它来解决问题B)。

例如,根据CSAIL的论文,如果有人必须创建一个系统来识别是或否的语音命令,但又不想编写一个全新的定制程序,他们可以利用一个能够识别广泛单词的现有程序,并对其进行调整,使其只对是或否的答案做出响应。该报称,虽然这种方法减少了编码时间,但它增加了低效:如果单次减少的效率是自定义解决方案的80%,并添加了20层减少,那么代码的效率最终将比它可能的效率低1万倍。研究科学家、合著者尼尔·汤普森(Neil Thompson)表示,随着硬件改进速度的放缓,程序员必须重新考虑这些策略。如果我们想继续获得我们已经习惯的提速,我们就不能继续照常做生意了。参见:摩尔定律55岁了:它仍然有意义吗?(TechRepublic)。

取而代之的是,研究人员推荐像并行化代码这样的技术。他们说,多核技术使复杂任务的完成速度提高了数千倍,并以更节能的方式完成。至于算法,该团队提出了一个三管齐下的方法,包括探索新的问题领域,解决对算法如何扩展的担忧,以及对它们进行调整以更好地利用现代硬件。最后,在硬件架构方面,团队提倡精简硬件,这样可以用更少的晶体管和更少的硅来解决问题。报告称,精简包括使用更简单的处理器和为特定应用程序量身定做的硬件,比如图形处理器(GPU)是为计算机图形量身定做的。研究科学家和合著者陶沙德尔说,为特定领域定制的硬件可以更高效,使用更少的晶体管,使应用程序的运行速度提高数十到数百倍。更广泛地说,硬件精简将进一步鼓励并行编程,创造更多的芯片面积,用于更多可以并行操作的电路。虽然这些方法可能是前进的最佳途径,但研究人员告诫称,它们并不总是那么容易。使用这种技术的组织可能要等到他们投资了一个月后才会知道他们的努力的好处