※ 引述《xross (xross)》之铭言:
: AI 比你想得有料
: Andrej Karpathy 自己都说他自己大部分时间都靠 AI 生 code 了
: https://karpathy.medium.com/software-2-0-a64152b37c35
: 这篇老文章就有说
: 空间时间复杂度?? 可以吃吗
: Software 2.0 告诉我们
: Constant running time
: Constant memory use
: 内文也提到
: 人类智慧结晶 搞出来的 cache-optimized B-Trees 直接被 AI 干翻
: (版上卧虎藏龙 手鲁industry-ready-B-Tree的高手可以出来呛一下吗?)
: "outperforming cache-optimized B-Trees by up to 70% in speed while saving an
: order-of-magnitude in memory."
: 这让我想到 DLSS 也是借由 AI/DL 直接做到以前一堆专家搞出来的upscale + AA根本
: 到不了的好效果
: 说了这么多
: 希望能尽快看到 官方 PTT app
: 目前可能 AI 还在学习怎么写
下班前看到就认真回复一下,
先说你有点搞错Karpathy所谓的Software 2.0了,Software 2.0也不是什么很新的概念。
他的概念就是过往我们使用从底层打包上来的Library来显式开发API为Software 1.0,而
2.0则是只有定义数据集,定义神经网络框架跟训练,最后将网络编写成二进制透过工业
化流水线软件平台部署。
不过有一个很大的前提,“定义搜索空间跟优化方向”,这个神经网络优化方向是需要人
工来定义的,这边其实前几年AlphaTensor就有做出实验,直接透过强化学习去找矩阵乘
法的最佳解,结果确实找到了一组可以应用的比原本最佳矩阵乘法快了20%的解。
定义目标的依旧是电脑科学家/工程师,不是说什么老板/PM啊,你去跟老板/PM讲解Low r
ank tensor decomposition ,他只会跟你说听不懂。
其实Software 2.0就是现在我们在做的深度学习/LLM这件事情,理论上有可能让一个够大
的模型来解决一切的问题,让神经网络包覆整个底层软件。如果要做一个复杂功能就直接
给两个Software 2.0模组组合去一起做反向传播优化,然后就可以去配适到我们的开发任
务上,只是那个结果我们可能很难解释他(90%的ACC不一定代表能够fit到所有未知的数据
上)。
如果模型参数量不够大还是会有No free lunch的问题,所以未来很长一段时间依旧是会
有神经网络搭配显式编程的方式持续,Karpathy后面也有提出Software 2.0的限制,不是
绝对乐观看待的。
以上