AI
随着一篇名为《Attention is all you need》论文发布,全球开启了AGI的热潮,首先进入大家视野当属ChatGPT,那时候还是ChatGPT3, 紧接着又GPT3.5。如此同事DELL.1, MidJourney基于扩散模型的应用在网络上声名鹊起。一时间大家被这神奇的魔法所震惊。这也太神奇了,现在的计算机居然能够做到和艺术家一样的事情,画画,比如梵高向日葵风格的画,赛博朋克,等等。游戏行业和短视频PGC行业的从业者们,惊讶之余,立马就开始焦虑。自己的饭碗是不是不保了。
抽象泄露
抽象泄露是!艾林.约耳.斯波尔斯基于2002年提出的概念。更早于1992年![1], Gregor Kiczales描述了不完善的抽象画的一些问题并提出了一些解决方法。斯波尔斯基提出:“All non-trivial abstraction, to some degreem are leaky”。我们先从抽象对软件开发的影响。
对软件开发的影响
由于软件开发和运行环境越来越复杂,开发者必须依赖于各种抽象。使得开发者专注于高层次的领域相关的知识和技能,以提高工作的效率。但是,抽象泄露法则则指出“可靠”软件的开发者比较小了解抽象之下的底层细节,否则一旦出了任何问题,根本不知道怎么回事,也就不知道如何解决和恢复系统。程序设计工具抽象掉了某些东西,但和其他所有抽象机制一样都有漏洞,而唯一能适当处理漏洞的方法,就是弄懂该抽象原理以及其所隐藏的东西。也就是说抽象机制虽然节省了工作时间,但是学习的时间是省不掉的。
这里引用wiki百科的一些例子:[1]
* TCP/IP协议栈使得软件开发者只需使用可靠传输的TCP协议就能完成网络通信任务,并不需要了解下层的IP协议。不过有时网络会越过抽象机制泄漏出底层问题。例如劣化的网络通信情况会导致丢包现象严重,从而TCP协议之上的应用程序感受到吞吐量与延迟等性能上的起伏变化。
* 遍历一个大型二维矩阵数据结构,按照行序或者列序会有巨大的性能差异,这是由于矩阵数据在内存中的存储顺序与CPU cache不命中。即使对于一个汇编程序员知道这些底层细节,并且按照内存中连续存储来遍历这个矩阵数据,仍然会面临着页缺失这样更底层的抽象泄漏。
AI与抽象泄露
目前LLM是底层核心是基于统计学的,深度学习网络本质就是求解出一个宇宙函数,根据其节点数量的多少(通俗说就是神经节点数量)@TODO