人工智能这些年真的是越来越火了。从2017年AlphaGo击败柯洁而走入大众的视野中,AI技术,特别是深度学习,迎来了一连串突破性的进展:人脸识别,自动驾驶,机器翻译,以及最近的AI绘画。深度学习从论文里的一行行公式走进了普通人生活中,捎带着把人工智能炒成高考录取分数线最高的专业之一。
而中国游戏市场呢,则迎来了属于自己的寒冬。从2019年开始,不断收紧的一系列外部条件,断崖式下跌的资金投入让数万中小游戏工作室相继倒闭。从“电子海洛因”到“精神鸦片”,许多人弹冠相庆:“终于消灭了这个祸害下一代的产业!”
但是鲜有人知道,没有游戏产业,就没有现代人工智能。
现代人工智能和它的基础深度学习分属“连接学派”。而二十世纪的人工智能,则是“符号学派”的天下。符号学派认为,人工智能的关键就在于制定逻辑规则:只要给定足够多的定义,计算机就可以算出命题的真与假。做计算语言学的人成天致力于将英语词典编写成一条一条的数学公式,做图像识别的人则在堆叠筛选规则的泥淖里无法自拔。虽然现在很多深度学习的模型和算法,其实在那时候就已经被发表过了:比如长短记忆,比如注意力机制,比如各式仿生神经网络。然而它们的效果,在当时的确不如符号学派构建的知识库好用。现代深度学习的领袖、加拿大帮三巨头Hinton, Bengio和LeCun的工作,则天天被人嘲讽是空中楼阁,一落地应用就抓瞎。
那么,究竟是什么改变了这一切呢?是芯片。更具体来说,是显卡。
随着英伟达显卡的一代代更新,深度学习神经网络展现出了惊人的力量。十年前,神经网络在图片识别的准确率上第一次超越了人类;五年前,深度学习算法击败了人类的围棋世界冠军;今天,人们点击几下鼠标,家用电脑就可以根据描述生成一张真假难辨的照片。而各式各样的对话机器人,我们也可以玩儿上几个小时不知疲倦。曾经被认为通向强人工智能道路上的圣杯,正在一个一个被摘取。这一切进步,都是发源于另一个产业的进步:游戏产业。
对于游戏来说,游戏场景里的一草一木,一人一物,都是由多边形组成的。而这些多边形互相之间的碰撞,运动以及显示效果,都是由存储这些多边形的矩阵之间的加减乘除得来。为此,人们发明了独立的硬件来进行这种计算。
Graphics Processing Unit (GPU),中文名字是图形处理器,或者我们也可以叫他的俗名“显卡”。顾名思义,它的发明就是为了加速图形的显示。
我们都知道,计算机是用来计算的设备。它的核心,Central Processing Unit (CPU) 或者我们叫中央处理器,可以处理许多不同种类不同复杂度的计算。相对于中央处理器,图形处理器只能用来进行有限的,简单的计算,但是它的速度非常快。如果要做一个不恰当的比喻的话,CPU就相当于一个大学教授,而显卡相当于几万个四则运算非常熟练的初中生。大学教授什么都会算,但是如果目的是计算出养鸡场有多少只鸡的话,还是几万个初中生一起数要快很多。初中生可以divide and conquer,将养鸡场分割出许多的格子,每个人负责一小格,这样很快就能数完了。大规模并行矩阵运算相当于数鸡,而英伟达为了更快捷的数鸡,开发了名为CUDA的一整套计算架构:用什么样的指令指挥这些初中生最方便,在什么情况下应当使用哪种数鸡的算法最迅速,同时数鸡鸭牛羊的话要怎么调度存储结果,安排时间和人手……为了让计算速度能达到今天的水准,英伟达几十年如一日地投入天文数字的人力物力来优化硬件和软件。这笔钱从哪儿来?从玩家那儿来。因为玩家们对于游戏画面越来越高的要求,显卡厂商们得到了大笔利润得以持续研发和升级。从二十世纪末一直到最近,游戏玩家和游戏机制造商都是显卡最主要的购买者。甚至在二十一世纪的头几年,游戏目的的显卡都占全部显卡销量的百分九十以上。
而人工智能神经网络的计算和游戏画面的计算有惊人的相似性:他们都高度依赖大规模的矩阵并行运算。随着显卡的发展,在CPU上屡屡碰壁的科学家们终于把目光投到了这个专用计算架构上:显示游戏画面的性能提升一点,相当于神经网络的收敛就可以快一分。乘着游戏行业的东风,将显卡用来做人工智能计算取得了辉煌的成功。高端显卡可以在十几天之内训练好一个神经网络来生成人脸,但同样的神经网络在CPU上训练也许需要几年。
强化学习之父Richard Sutton在2019年发表了一篇名为”the bitter lesson”的博文。迄今为止,这篇短文已经有了134个期刊会议引用。其中写道
“Seeking an improvement that makes a difference in the shorter term, researchers seek to leverage their human knowledge of the domain, but the only thing that matters in the long run is the leveraging of computation.”
我们可以这样翻译:“为了得到短期的提升,人工智能研究者们尝试使用他们可怜的人类知识来为算法做改进。但是长远来看,唯一真正让人工智能算法起作用的,是算力的进步。”
没有游戏玩家们给老黄贡献的显卡钱,就没有人工智能的今天。
当然,专门为游戏开发的硬件导致的算力进步同样催生了特效渲染行业,极大地提升了工业和艺术设计行业的效率(Blender, 3ds max, AutoCAD),甚至极大地影响了包括核武器设计和气象预报在内的科学计算领域,但这些都是后话了。
科学技术的发展最有意思的一点就是,你无法预见在什么犄角旮旯可以开出一朵颠覆生产关系的奇葩。而深度学习这朵奇葩,正是从游戏产业对图形渲染的需求中生长出来的。当我们封闭一部分产业的未来之时,也许我们同时也截断了自己未来的发展。
1999年,英伟达针对游戏玩家的GeForce系列显卡首次发布。
2007年,英伟达在GeForce 8800 上发布了CUDA 1.0,为图形处理器做通用并行计算铺平了道路。
2009年,吴恩达和他的两个学生使用CUDA编写了神经网络的训练程序,这个程序后来成为了现代人工智能训练框架(PyTorch和Tensorflow)的基础。
2012年,使用显卡训练得到的神经网络AlexNet在图像识别领域超越了人类,标志着深度学习热潮的爆发。
2022年8月26日,美国政府宣布限制英伟达向中国出口部分高端显卡。AMD和Intel随后也声称收到了类似的禁令。
Sutton R. The bitter lesson. Incomplete Ideas (blog). 2019 Mar 13;13:12.
John Nickolls, Ian Buck, Michael Garland, Kevin Skadron, Scalable Parallel Programming with CUDA. ACM Queue, vol. 6 no. 2, March/April 2008
Raina R, Madhavan A, Ng AY. Large-scale deep unsupervised learning using graphics processors. InProceedings of the 26th annual international conference on machine learning 2009 Jun 14 (pp. 873-880).
Krizhevsky A, Sutskever I, Hinton GE. Imagenet classification with deep convolutional neural networks. Communications of the ACM. 2017 May 24;60(6):84-90.
Silver D, Huang A, Maddison CJ, Guez A, Sifre L, Van Den Driessche G, Schrittwieser J, Antonoglou I, Panneershelvam V, Lanctot M, Dieleman S. Mastering the game of Go with deep neural networks and tree search. nature. 2016 Jan;529(7587):484-9.
Buber E, Banu DI. Performance analysis and CPU vs GPU comparison for deep learning. In2018 6th International Conference on Control Engineering & Information Technology (CEIT) 2018 Oct 25 (pp. 1-6). IEEE.
Rombach R, Blattmann A, Lorenz D, Esser P, Ommer B. High-resolution image synthesis with latent diffusion models. InProceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition 2022 (pp. 10684-10695).
LeCun Y, Bengio Y, Hinton G. Deep learning. nature. 2015 May;521(7553):436-44.
评论区
共 1 条评论热门最新