历史上的今天
返回首页

历史上的今天

今天是:2024年11月15日(星期五)

正在发生

2018年11月15日 | 如果摩尔定律不再适用,我们该如何前进

2018-11-15 来源:StarryHeavensAbove

“摩尔定律已死”这样的说法我们已经听到很多,不管这么说是不是严谨,摩尔定律的延续非常非常困难是不争的事实。更重要的问题是,在这个背景下,我们该怎么做?这个问题已经有很多讨论,我也有自己的一些思考。正好今天看到黄老板在SC18讲演中的这幅图,正好可以把我的一些想法串起来,不妨和大家分享一下。

 

image.png?imageView2/2/w/550


在朋友圈写了下面一段话,可以作为一个摘要:

以前,在摩尔定理作用下,我们可以依赖半导体技术的发展“粗放经营”,很多优化的工作都停留在学术圈。现在失去了这个“红利”,我们必须“精耕细作”:找到合适的架构,合适的方法,合适的精度,进行全栈优化。而这些“细活”都需要更多的时间和精力,能否实现依赖于提高生产效率(productivity)的工具。


首先是找到合适的架构,这个在我的公众号文章里已经讨论的太多了。CPU,GPU,DSP,ASIP,ASIC,FPGA,CGRA等等,我们有各种选择,永远是trade-off。在之前摩尔定律可以给我们10x的性能提升的预期下,对于很多应用来说,不需进行太多权衡。现在,如果我们还想要更强的算力,则必须把目光放到其它选择上,更多的使用专用的架构,构成更高效的异构系统。我们已经看到很多这方面的讨论和各种创新(或者“复古”),就不多说了。

 

找到合适的方法是个有趣也更大的话题,多说几句。在HPC的背景下,这部分主要是在讲仿真和AI的结合。我们知道,HPC的很多典型应用都是大规模的数值仿真,比如天气建模和预测,分子动力学,天体运动等等。而这些工作,需要大量的运算资源,消耗大量时间。过去,随着半导体技术的进步,过一段时间我们就自然能有性能大幅提升的系统,可以运行越大越大的模型。但是,现在这个预期越来越难实现。那么,针对这些应用,是否可以找到更高效的硬件架构呢?如果不改进传统的算法,这条路也很困难。在这个背景的下,AI方法似乎又成了“救世主”。现在很多研究是在传统的数值仿真中使用机器学习的方法,或者把仿真和机器学习相结合。具体来说,可以先用传统的仿真方法来训练神经网络模型,然后使用这个神经网络模型的inference结果来代替数值计算,对特定问题的结果进行预测。训练这个神经网络虽然仍然需要大量运算,但inference的成本则非常低。另一方面,神经网络的运算可以很好的使用专用硬件来加速,这就更进一步提升了整体的效率。其实这个思路适用于HPC之外的领域。一般的说,当我们无法直接找到一个合适的硬件架构来加速特定算法的时候,我们该思考的是能否找到对硬件更友好的算法。我之前谈过5G的基带处理用AI方法实现的问题(AI芯片在5G中的机会),也可能有类似的收益。当然,无线通信基带处理已经是高度优化的系统,AI方法要击败传统方法难度要大得多。比如,在基带处理中一般都对比特精度做过非常细致的优化。这就引出下一个问题,选择合适的精度。

 

对于实现成本和运算效率来说,减少比特精度的收益是很大的(下图之前贴过)。


image.png?imageView2/2/w/550

source: Graphcore



从目前的实践来看,AI算法和传统HPC算法相比,对精度的要求低得多。因此我们看到很多AI芯片主要强调在FP16或者INT8中的精度。可以说,对目前AI芯硬件效率的提升,低比特精度有很大贡献。在HPC领域,如果结合上面讨论的用神经网络模型替代传统算法的方法,这部分优化的空间也很大。再对比一下通信基带处理,我们通常为了能够减少一个比特而做大量的优化和验证。在一个接收机中,不同的算法模块采用不同的比特是很常见的。当然这种优化有一个前提,就是算法必须定型。在目前AI算法还在不断优化的过程当中,同时支持多种精度的硬件就是目前更为合理的选择。

 

下一个话题是全栈优化,我之前也讨论过。毕竟,如果可能,谁不想实现全栈优化呢?现在,这个话题被越来越多的提及,除了对计算效能的需求越来越高,通过单纯优化软件或者硬件都难以满足这个原因之外,另一个重要原因是,在特定领域,比如AI,确实有实现的可能。全栈优化的难度在于探索空间太大,我们不得不分而治之。而对AI来说,目前基于神经网络的方法有个很好的特征,就是可以用比较规则的硬件进行加速,大大缩小了硬件优化的空间。当然,即便是在特定领域,全栈优化也还是个难题,也许最终还是要靠AI来解决,但我们总算有信心往前趟趟路。

 

总得来说,上述这些方向大多还是老生常谈,在过去的几十年有各种各有的研究和实验。但很多相关的工作停留在了学术圈或者研究阶段,而没有大规模的应用。原因主要在下面几个方面:第一是在驱动力方面,或者没有足够的收益,不能提供支持商用的投入产出比;或者没有足够的竞争压力。第二是技术上确实很难实现,比如全栈优化的问题。还有一种情况,我们有一定的驱动力,也知道怎么去做,但就是没办法高效的去做。换句话说,即生产率(productivity)太低导致成本太高。如果阻碍我们前进的关键问题为此,那么最可能的结果是新工具或新的方法学的出现。各个AI Framework对ML/DL快速发展起到的关键作用就是很好的佐证。其实,黄老板在后面也着重讲了这个问题,赞扬了开源领域的各种工具,当然重点还是CUDA和RAPIDS。要应对AI领域给我们带来的各种新挑战,发明新工具或者改造老工具的需求将会非常旺盛。另一方面,不断强化的AI本身在工具中的应用也会越来越普遍,AutoML就是很好的例子。最终也许会真的实现AI设计AI,AI设计计算机。甚至,也许真的像阿西莫夫的科幻小说所描述的,星际旅行的飞船并不是由人类发明,而是由人类设计的AI(金头脑)所发明。

 

写到这里,发现题目起的有点大,上面讲的只是几个点而已。不过,如果我们仔细观察,这些点都是相互关联的,结合在一起又可能形成新的机会,这才是最有趣的地方。毕竟,现在是黄金时代嘛。

 


推荐阅读

史海拾趣

Dexter Research Center Inc公司的发展小趣事

随着业务的不断发展,Dexter开始积极拓展市场。公司首先将目光投向了国内市场,通过深入了解客户需求,提供定制化的解决方案,成功占领了国内市场的一定份额。随后,Dexter又将目光转向了国际市场。通过参加国际展会、拓展海外销售渠道等方式,Dexter成功打入了欧美、亚洲等多个国家和地区的市场。全球化战略为Dexter带来了更广阔的发展空间和市场机遇。

Astron Wireless Technologies Inc公司的发展小趣事

随着公司的发展,Astron Wireless Technologies Inc开始寻求与其他行业的领军企业建立战略合作关系。通过与一家知名通信设备制造商的合作,公司成功将其无线通信技术集成到了对方的产品中,从而进一步扩大了市场份额。这一合作不仅提升了公司的知名度,还为公司带来了稳定的收入来源。

EF Johnson Technologies Inc公司的发展小趣事

在电子通信技术的浪潮中,EF Johnson Technologies Inc公司凭借其卓越的研发团队,成功开发出一款新型无线通信设备,该设备在信号稳定性和传输距离上均取得了重大突破。这一技术突破不仅让EF Johnson在市场上获得了显著的竞争优势,也推动了整个行业的技术进步。随着产品的广泛应用,EF Johnson逐渐确立了其在无线通信领域的领先地位。

CHENMKO公司的发展小趣事

在电子行业中,技术创新是企业持续发展的关键。EF Johnson公司深知这一点,始终将研发作为公司发展的核心驱动力。公司不断加大对研发的投入,积极引进高端人才,并与高校和研究机构建立紧密的合作关系。这些举措让EF Johnson在技术上始终保持领先地位,不断推出具有竞争力的新产品和解决方案。

ALCOA公司的发展小趣事

近年来,随着环保意识的提高,ALCOA积极推动可持续发展和环保倡议。公司致力于减少生产过程中的能源消耗和废弃物排放,同时也在研发更环保的铝材和生产工艺。这些努力不仅提升了公司的社会形象,也为其在电子行业中的长期发展奠定了坚实的基础。

以上五个故事,只是ALCOA公司发展历程中的一部分。然而,这些故事足以展现出这家公司在电子行业中的卓越成就和持续创新的精神。

Alpha Industries公司的发展小趣事

Alpha Industries一直致力于面料的研发与创新。近年来,公司借助电子技术的支持,成功研发出一种智能面料。这种面料具有自动调节温度、防水透气等功能,为士兵提供更为舒适的穿着体验。智能面料的研发不仅提升了Alpha Industries产品的科技含量,也进一步巩固了其在军事服装领域的领先地位。

问答坊 | AI 解惑

jffs2文件系統挂載出錯,求助

瘋狂的出jffs2_scan_eraseblock錯誤。 我使用的是 8M Nor Flash 但是 沒有分區,請問 分區的作用是什麽? 這個問題最可能的原因是什麽,仰仗各位的經驗了。…

查看全部问答>

出现: hr -2147221164 {没有注册类别 } HRESULT

        if (dlgPush.DoModal())         {                 //得到pCERDA接口                 HRESULT hr = CoCr ...…

查看全部问答>

jedec_probe探测SST39vf3201的疑问

CPU:NXP LPC2478 Flash:NOR SST39VF3201:4MB,4k扇区,地址:0x81000000 想在4M的NOR flash上作jffs2根文件系统,自己写了MTD驱动: #define FLASH_BASE_ADDR                0x81000000 #define F ...…

查看全部问答>

求bin、com、exe二进制文件之间的区别

求bin、com、exe等二进制文件之间的区别…

查看全部问答>

我现在从事MIS系统的开发,想向硬件开发上深入一下,大家给点意建!!!

我已经从事MIS开发二年多了,主要是J2EE.这类开发是纯软件的,感觉现在做起来很辛苦而且市场越来越不理想了.     现在的软件产品能体现出大利润的我发现都要和硬件结合,于是我想在这方面深入一下,业内的朋友能不能给点议建?   &nbs ...…

查看全部问答>

南京招聘:有嵌入式及硬件基础知识的Delphi BCB程序员,从事监控主站开发

南京招聘:有嵌入式及硬件基础知识的Delphi BCB程序员,从事监控主站开发 要求:      1:熟悉Delphi开发环境。      2:熟练使用SQL-Server编程语言      3:了解一定的硬件知识和 ...…

查看全部问答>

求DXP常用元件封装库 pcblib格式的

求DXP常用元件封装库 pcblib格式的 邮箱是xubbwd@126.com…

查看全部问答>

请教:液晶显示屏选型

本帖最后由 dontium 于 2015-1-23 13:32 编辑 打算利用TMS320LF2407A作主控芯片,作一些有关控制和AD采样方面的课题,要求在液晶显示屏上能实时显示信号波形和幅值。不知用什么显示屏适合,望大虾指点!! 谢了先 …

查看全部问答>