@Lenciel

我在看什么(2) - 《Born Standing Up》

1. 几句话总结

美国作家、演员、喜剧明星、制片人、编剧、音乐家、脱口秀从业者(厉害啊~),史蒂夫·马丁的自传。书名是个双关,因为他最大的成就是做脱口秀演员(standup comedian)。而他也用真诚而幽默的笔触,讲述了自己如何通过不懈的学习和努力,从一名普通的迪士尼乐园魔术表演者,磨到全美最受欢迎的脱口秀表演者的完整历程。全书展示了马丁「赫尔辛基公交车站理论」样板间般的坚韧和耐心,真的是始终 Standing Up,绝不下车。同时,书里还拿了相当篇幅,描述了马丁和父母的紧张关系以及最后的和解过程,读起来发人深省。

推荐给遇到点儿小挫折小情绪就丢盔卸甲想要夺路而逃的同学们翻阅。

2. 笔记

  • 在成功之前,他坚持了十几年。用他的话说:「10 years spent learning, 4 years spent refining, and 4 years spent in wild success.」
  • 对能够触动自己的东西要诚实对待,即使你不确定如何能够完全切换,也别害怕,先试试。
  • 他通过逐步增加自己的表演时长来衡量自己是不是获得了实质性的进步。从 5分钟左右的魔术表演,到俱乐部里面比较稳定的 10 分钟滑稽短剧,到舞台上 20 分钟的脱口秀。这是一个把远大目标通过一个合理的北极星指标进行拆解和跟踪的很好的例子。
  • 他有扎实的文学和哲学基本功,甚至会考虑「是什么样的环境可以让观众更好的笑出来」这样的细节,并且看起来他的总结已经成了行规:「Darkness is essential for stand up success. Audiences don’t laugh when they are in the light.」
  • 他一开始也很不自信,他通过强迫自己面对它来克服它。
  • 他的第一张专辑在 1977 年卖出了 150 万张。有人说他是「洛杉矶音乐史上最严重的预订系统故障」。他的经纪人告诉他要「坚持写作」,因为他在表演方面不会成功。
  • 结果在他的巅峰时期,他 80 天内在 72 个城市里面巡演, 最高单场人数 18695 人,光在纽约就售出 45000 张门票。1979年,他的预售已经排到了两年之后。
  • 在他最成功的阶段,他也感受到最孤独,一度抑郁。
  • 「It was easy to be great. Every entertainer has a night when everything is clicking. These nights are accidental and statistical. Like lucky cards in poker, you can count on them occurring over time. What was hard was to be good. Consistently good. Night after night. No matter what the abominable circumstances.」
  • 在他父亲去世之前,他们有过一段独处的时光。
  • 如果跟亲密关系里面的人有摩擦,最好及时处理,而不是放任它。 -「If you have anything to work out with your parents, do it now. One day it will be too late.」

Nvidia新GPU与算法工程师

今天看到介绍 Nvidia 新 GPU 的帖子,副标题是,「4nm 制程 800 亿晶体管,20 张即可承载全球互联网流量,全新 Hopper 架构太炸了」。

有点像爽文了,对不对。

正好,上周末看到特斯拉的 Andrej Karpathy 一篇关于神经网络的文章,自己也去把 Yann LeCun 的那个识别手写邮编号码的实验又做了一遍。

说「又」,是当年读研的时候,因为搞的是控制,也弄过一下神经网络,就查到过Yann LeCun 的那篇论文,也仿照着做过实验。

当时的数据我已经不太记得了。

这一次,基于 Karpathy 基于 PyTorch 的 Repo ,仍然用文章里最初采用的 Bootou 和 LeCun 在 88 年搞出来的的反向传播模拟器的实现机制,在 MacBook Pro (14-inch, 2021,M1 Pro 芯片)上训练数据集(很小,7291 个图例)只用了十几秒钟(论文里在 SUN-4/260 平台上花了三天左右),并得到了几乎一致的结果。

换句话说,过去的 33 年里,因为硬件体系结构的变化,带来的性能提升是近万倍的(如果 PyTorch 能够把 M1 Pro 里的 GPU 和 NPU 也用起来的话应该会更快)。

但,如果换个思路,要在「软一点」的层面去优化一下这个神经网络,会有什么样的效果呢?

首先,这个 33 年前的神经网络,麻雀虽小五脏俱全:它有一个数据集,有完整的架构和实现,还给出了训练集和测试集的实验结果和错误率。

然后,无论是像原来论文里留的 todo 一样去加上 weight normalization,还是把激活函数从 TanH 升级到 ReLu (这个主要是对 dropout 有帮助,但也会引入更多的噪声,使得训练时间变长),带来的收益都是很线性的。

最后,连 Karpathy 这样吃这碗饭的行家,想出来的不增加时间成本的优化方案,也是扩大数据集(这主要是因为最近 30 多年很多的进展或者优化都是基于更大数据集的,在这样的样本空间上,其实没有特别大的效果)。

所以,站在一个比较大的时间尺度上,深度学习在算法本身上的突破是线性的甚至可能是停滞的。但是数据集(当年不过万,现在动不动就是几个亿的样本)和算力(当年可以玩几千个参数,现在随便玩几万亿参数)方面带来的突破却可能是指数的。

一个背后的推论也许是,今天动辄百万年薪的算法工程师,可能未必是一个长期存在的行业。以后我们训练一个 AI,大概跟今天打开手机拍个照一样容易:于是掌握在暗房里冲洗胶卷的手艺的人大量下岗了。

类似的情况发生在各种有趣的地方。比如今天我们去看 NES 时代的《超级玛丽》或者说街机时代的《街头霸王》这样的游戏,在如何压榨有限的内存和存储,把音乐、图像、动效等综合处理和呈现做到极致,有过很多让人赞叹的设计和实现。

但突然有一天,硬件升级了,相关的所有需要大量理论和经验支撑的设计或者调优技巧全部都变得不重要了。

现在很多的程序员甚至不真正理解内存和存储。

我相信,世界上肯定有一些人做算法研究或者是在有限资源下的游戏开发,完全是出于兴趣,并不会被这样的改变剥夺所有的成就感。

但大部分人,投入工作是为了更好的生活。面对复杂的问题,能不能识别出关键杠杆,并且把红利真正吃下去,可能是会改变生活的决定。

这一点,在移动互联网红利终于消耗殆尽,下一个时代还不知道由什么硬件来承载,每个社交网络上都有一群挂着售价几十万美金的 NFT 头像的年轻人,在热烈讨论要不要辞职或者是辍学投入到 Web3 事业的今天,真是个特别有意思的话题。