为了感受这个速度,OpenAI发布了一份分析报告,说的是2012年开始,AI训练所用的计算量呈现指数增长,平均每3.43个月便会翻倍。
对比一下,摩尔定律的翻倍时间是18个月。从2012年到现在,计算量扩大了300,000倍。如果是周期是18个月,那只会扩大12倍。
看着计算力对AI发展的影响,如果按这个趋势发展下去,未来系统的能力可能会远远超过我们今天的想象。
△ 对数表示
图表显示的是每只AI的计算量,以petaFLOPS-day (pfs-day) 为单位。一个pfs-day),是一天中每秒进行10^15次神经网络运算,或者说每天10^20次运算。
计算速度乘以时间,可以给人类一种比较直观的感受,就像千瓦时一样。
△ 线性表示
注意一下,这些数据并不是硬件的理论峰值,而是估算实际进行了的运算次数。
每个加法,每个乘法,都看做一次运算,不论数值精度怎样 (这样看来,说是FLOP可能有些用词不当) 。另外,这份报告并没有考虑集成模型。
单个模型的计算量
AI的发展中有三个因素至关重要:算法革新,数据 (可以是监督数据,也可以是交互式环境) ,以及训练可用的计算量。
算法革新和数据这两项上的进展,都比较难追踪。相比之下,计算能力还是可以量化的,给了人们评估AI发展进程的一个方式。
系统完成大量计算的时候,常常会让算法中的一些短板暴露出来。不过,至少在许多现有领域,更大的计算量表现为更好的性能,也与算法的发展相辅相成。
报告认为,单个GPU的速度不是最有用的数字,最大数据中心的容量也没那么重要。相比,训练单个模型所需要的计算量,才是更好衡量标准,可以反映模型到底有多强大。
单个模型的计算量,和总计算量有很大的不同。因为并行性的限制,会影响模型的大小,以及它能够接受怎样的训练。
当然,即便没有那么大的计算量,也可以产生重大的突破。不过,这份报告只讨论了计算能力。
运算速度呈现快速增长,一部分原因可能是,在GPU/TPU价格相同的情况下,定制硬件能够支持每秒更多次的运算。不过,主要原因可能还是研究人员一直在探索,让更多芯片并行的方法,且愿意为此投入大量资金。
两年就是一个时代
我们大概可以从图中看出四个不同的时期。
· 2012之前:GPU在机器学习里的应用还不多见,彼时取得成就相对艰难。
· 2012-2014:在许多GPU上训练的基础架构还很少,所以大多成就都是用1-8个GPU、1-2 TFLOPS的运算速度达成的,相当于0.001-0.1 pfs-day。
· 2014-2016:100-1000个GPU,速度在5-10 TFLOPS,结果是0.1-10 pfs-day。数据并行获得的收益越来越少,更大规模的训练价值有限。
· 2016-2017:出现了大批量处理、结构搜索、专家迭代 (EXIT) 等支持更强并行性的方法,还有TPU等专用硬件和更快的互联,冲破了局限。
AlphaGo是大规模并行算法最有名的栗子之一,不过很多规模相似的应用,现在在算法上都可行了,并且已经应用在生产环境里。
车要开得快,还是开得稳
分析认为,图中显示的增长趋势很可能持续下去。
许多硬件领域的初创公司都在研发AI芯片,其中一部分还宣称,能够在未来1-2年内大幅提升FLOPS/Watt,即提升FLOPS/$。除此之外,重新配置硬件也可能为同样的运算速度降低成本。
至于并行性,最近发生的许多算法革新,理论上都可以用“乘法”组合在一起——比如结构搜索和大规模并行SGD。
问题是成本可能抑制并行性的发展,芯片的效率也会受到物理方面的限制。但问题是可以解决的。
报告认为,虽然最大规模的训练所需的硬件,要花费数百万美元;不过,目前大多数神经网络计算都不在训练上,而在部署上。
这就是说,公司可以调整芯片的用途,或者有能力购买更多的芯片用于训练。
因此,如果能够刺激更多的资金投入,我们就可能看到更加庞大的并行训练,增长趋势也会持续更久。
这个世界的硬件总预算,达到了每年1万亿美元,所以成本上的压力都不是太强硬的挑战。
根据数据、指数增长的先例、机器学习专用硬件的发展以及经济因素,OpenAI认为短期内增长趋势还会继续。
以往趋势并不足以预测,正在发生的增长会持续多久,也不足以判断,增长过程中会发生什么。不过,就算只是一个合理假设,我们也有理由开始重视安全问题和恶意使用问题了。
要制定政策,要负责任地发展科技,预见是非常重要的。
未雨绸缪,好过亡羊补牢。
评论列表(29条)
1
123
这么逗?
没有表情包
ok.加油?
牛牛
测试
感觉挺好的
测试
这个看看
?
三大大大大
不错
jjjjjkcs
哈哈哈
1123123
测试一下
好像是还可以哈
我也测试
好像不错
宝贝宝贝
测试发表评论
测试发表评论
@帅:测试发表评论测试发表评论
@子午:测试发表评论测试发表评论测试发表评论
@子午:测试发表评论
@子午:一
@子午:发
@帅:不错