Categories
经济、IT观察与思考

归纳法对世界的改造

从简单的统计模型,到后面的计量经济学,到机器学习,到现在的人工智能,过去的二十年是归纳法大发展的二十年。为什么只看二十年呢,因为二十年前的园主不知世事,超出认知范围之外了。

经济学在大规模应用计量经济学之前,一直是和物理学神似的,也被叫做社会科学中的物理学。而计量经济学的发展与突破也不是纯属巧合,主要是大规模经济金融数据的爆发。

早期的计量经济学,无论是宏观还是微观,其实都还是有深深的“结构化”的影子,就是需要一个结构化的模型来解释为什么会这样,有一堆变量和与之相对的系数,然后再用数据来估计系数。现在回头看,这个时期的计量经济学还是停留在一个“辅助”的阶段,数据的价值只是帮助计算系数。

然后计量经济学就向着弱结构化的方向一去不复返。可以说这是理论的发展赶不上数据的爆发,也可以说是人们渐渐失去了对结构化的理论的执念。这大概等同于量子力学之于传统物理学的革命,人们开始接受这个结构的模糊化。可就算是在这个阶段,人们的执念还是“因果关系”,直到今日计量经济学还是把因果推断作为其存在的哲学本源,试图从归纳法的角度倒推演绎法需要的因果关系。

然后随着机器学习的大爆发,人们从开始的“预测”和“因果推断”是两回事,到逐渐的审问自己,为什么对因果有这么强烈的执念?退一步说,到底什么是因果关系?这个时候才发现,因果关系其实在哲学上的定义也不是那么得清晰。园主在这里就不挖太深了,否则填因果这个坑就要填好久。

这些年,随着大语言模型的爆发,人工智能好像又解锁了一个新的阶段。虽然一边说着大语言就是一个预测方向无意的突破,另一边园主却看到人工智能落地层面对于结构化关系的依赖性慢慢减弱。以前我们的解决办法是对一个问题不断地细分梳理,然后逐个攻破。而现在大模型的冲击就是,我们真的有必要这样分解问题本身吗?如果深度学习模型本身可以就自动学出来一个等同于以前结构化的东西,就算我们没有办法把它明确的表达出来,哪又如何呢?

到这里,深度学习无疑是冲击到一个哲学层面的问题。当数据远远超过了理论的发展的时候,是不是演绎法的价值就远远不及归纳了?我们是像以前那样路径依赖,一定要对问题做一个外科手术一样精准的分解,还是可以容忍结构慢慢演变成一个黑盒子,给它无尽的自适应的能力,然后只需要关注结果就可以了?

这一波深度学习对于人工智能的冲击,我觉得体现到最后, 其实可能是一个去结构化的冲击。我们选择放弃对于结构关系的清晰表述,然后拥抱强化的预测能力对于世界的适应和改造。

人们对于深度学习和大模型的恐惧在于我们无法解释、进而无法控制。一旦我们适应和接受,下一步就是挖掘其无尽的潜力,实现下一轮生产力的爆发。

无论如何,我还是看好科技发展与世界进步的,就算过程中会有无尽的波折。

Categories
经济、IT观察与思考

AI时代的摩尔定律与赢者通吃

技术的发展真的是让人感慨自身的局限与保守。看完今年CES Nvidia的发布会,感慨就是赢者通吃。当你有了一个基于硬件算力的软件通用平台,就像发电机接入了电网,应用层面的爆发就是只争朝夕了。

以前听闻摩尔定律,觉得指数式增长简直天方夜谭。而今看AI的发展速度,确实是指数级别的爆发。

这有多么颠覆呢?以前学经济学的时候有个概念叫做自然垄断,就是一个东西的规模成本导致这个市场只需要单一生产者(或者少数寡头)就足够了。最典型的就是基础设置比如水和电,公路网铁路网等。

AI的规模的乘数效应之强大,自然而然形成了一个新的基础设置。自然垄断最后的结果一定是政府规制,而AI还处于一个野蛮生长的阶段,赢者通吃。

作为一个宏观经济学渣,唯一记得的经济增长模型就是里面有个外生的科技进步系数,这个系数决定了经济增长的上限。没想到,在有生之年,居然能看到这个系数又一轮的变化,工业革命的井喷。

哎,虽然无法直接贡献到技术增长本身,但身在其中还是让人心潮澎湃,感慨命运的眷顾。

Categories
互联网产业观察

被归纳迭代统治的世界

在这个AI快速改变世界的时代,园主已经从一开始被GPT表现出来的潜在智力的震撼,到现在对于层出不穷的图像视频音频AI工具有点审美疲劳了。去年的时候和朋友们感慨,在归纳和演绎之间,这个阶段归纳的力量远远超越了演绎。算力的突破仿佛像《三体》中描述的突破智子封锁一样,让可以被计算改进的模型都深深享受着巨量数据带来的断层优势,层出不穷地展现着未来的可能性。

AI模型之外,很多产业也都被基于数据的归纳和快速迭代逐渐颠覆着。shein在快时尚的成功,是千千万万的时尚元素排列组合迭代出来的。时尚爆款可能是玄学,但只要样本量足够大、选择足够多,就一定会出现几个爆款,然后只要快速跟进就可以吃到一波流量红利。类似的玩法不仅仅局限于快时尚,但凡是“义乌制造”可以连夜复制出来的消费品,都可以用这个打法。譬如手机壳,原型相对固定,考验的是设计师的创意和流行元素变化。看一个纪录片说,人们平均一个月换一个手机壳(可能是北上广的消费数据),那么消费者对于新意的渴望就成为显而易见的需求。

从文字,到图像,到视频,到落地成为一件工业制造品,快速迭代的可能性充分地考验着人们的贪心。行业之中的人们各司其职, 努力地优化着每一个可以减少成本或者提高效率的环节。那些看似玄学的艺术和非理性,最后也没敌过归纳和迭代的降维打击。

毁灭吧,消费主义快点变回极简主义吧,要不园主实在是跟不上这个光怪陆离的世界了。毕竟这人脑子还是习惯基于演绎的思考,重新训练到归纳的角度有点超出人脑算力和记忆存储的局限了。以有限对抗无限,怪不得庄子说,

吾生也有涯,而知也无涯。以有涯随无涯,殆已;已而为知者,殆而已矣!

附录:看到一个纪录片《这货哪来的》(B站的?)来的灵感,把这些观察串联了起来。

Categories
读书有感

吾日三省吾身

  1. 逆水行舟,不进则退。每一次偷懒的后果都会反噬自己。
  2. 透过现象看本质。热点永远层出不穷,不能以有限的精力来应对无限的新闻。但也不能两耳不闻窗外事,否则换了人间都不知。
  3. 用进废退。记忆是有限的,不可能面面俱到。

——-

舒适圈还是躺太久了,忘了外面的血腥残酷。

Categories
读书有感

大语言模型LLM的基本逻辑

上一篇说到我准备入个坑,结果就是最近埋头苦苦补习最基本的一些知识。随便写点东西梳理一下思路吧,这样万一我真的开始做点什么也算是一个基本素材。一些英文的名词我就不翻译了,反正现在大家英语都挺好的。

先来一些可以基本望文生义的名词解释。LLM=large language model = 大语言模型。这简直是个不能再俗的名字了。GPT = generative pre-trained transformer ,也是够直白的。

再来个极其简单的(受限于园主阅历)历史回顾。自然语言处理基本上经历了 word2vec, RNN,然后就是现在的transformer了。其实说到底,自然语言处理的基本问题就是一个时间序列问题。当园主意识到这点的时候也是惊掉了下巴,什么,计量里面的时间序列不是Autoregression, moving average,stationary 那些东西么,怎么看都跟自然语言扯不上关系了。后面看到做量化的人都在跟这个方向的进展,才明白说到底都是时间序列嘛。想想也是,自然语言就是一个把词按照特定顺序排列起来的数据,词与词之间的关联和顺序最终表达了一定的意义。

nlp模型想法差不多,就是基于已经有的词,预测对应的下一个词的概率。建模不是问题,但数据上来后计算是问题啊……于是有了transformer 那篇著名的 Attention is all you need,伴随着经典的encoder-decoder结构,就出现了让图灵测试不再是问题的大语言模型们。

再来一轮名词解释。自然语言到建模之前,需要先把unstructured data转换为可以计算的数字,这就是embedding 这一步,也叫token 化。然后再怎么办呢?transformer的核心是再算一下attention 矩阵,这个矩阵主要涵盖了词与词之间关联程度(不贴公式了),然后要做的就是放到神经网络里面去算了。这里有意思的是,encoder里面不只有一个基于attention数据的模型,而是多个,所以称之为 multi-head attention (多头注意力)。为啥需要多个模型呢,因为神经网络很有名的一个feature(bug)是local optima,即随着初始值的不同,参数可能会迭代到一个局部最优。至于全局最优嘛,存不存在都还是个迷。反映到encoder这里,有意思的是每个单独的模型就有可能抓住语言的某一个层面的特征,比如语法,比如逻辑,比如修辞,比如情绪,以及一些语义学还无法解释的神秘模型。但不要紧,大力出奇迹,只要计算机能算得出来就行。

encoder到这里已经可以做很多任务了,最显著的大概是sentiment analysis, 就是判断里面的情绪。比如一个评价是正面负面,或者是关于价格还是物流速度,等等。这些分类模型对于很多应用场景都是很有价值的信息提取过程,也称为auto-encoding。

decoder呢,任务就更直接,就是通过输入的新数据来预测并生成下文。这也是GPT的厉害之处,可以自己写小作文了。所以这一类也叫autoregressive model ,即AR!再看下去,其实decoder的架构和encoder很像,所以他们的并不是模型架构本身,而是任务的目标不同。

那什么时候我们会同时需要encoder和decoder呢?典型的例子就是两种语言之间的翻译。大概的数学任务就是,给定前后的词,来猜中间缺失的词是什么。这一类就是sequence to sequence 模型了。至于模型的评价,现有Rouge, Bleu等指标(怎么都是法语里的颜色……)。

好了,现在我们有一个transformer模型了,就可以高枕无忧了么?当然不是,下一阶段就是,fine-tuning 或者更准确的说,instruction fine tuning。

这一步,说到底就是让模型理解人们的意图。比如,我想让ChatGPT给我写代码,那我就会先给一个指令,help me write a code in python,这样它才可以理解我要的是代码而不是一个翻译任务。这类对于指定任务类型的 instruction 的训练,不仅仅在于理解目的,还牵扯到对于不同类型任务的参数细调。最简单粗暴的,我们可以要求对某一类型任务完全刷新所有参数,即full fine tuning,也可以省点资源,来只训练部分参数,即parameter efficient fine tuning PEFT。近期还有比较有意思的LoRa方法,在原来的参数矩阵外额外训练两个rank小很多的矩阵,最后再把新的两个小矩阵的乘起来,加到原始的参数矩阵上。甚至我们可以对instruct 的数据单独做一个小模型单独训练,然后在embedding 那一步把数据预处理后再喂给encoder or decoder。

fine tuning之后,理论上llm模型已经有了不错的预测能力了,但还需要一步alignment,即通过reinforcement learning 来进一步训练模型给出更符合人们需求的回答,比如 HHS (helpful, honest, harmless)。这一步主要是利用额外的人为标记的数据,比如对于多个候选答案之间的排序等等。当然,我们还可以搞个单独用来打分的模型给GPT的答案打分,哈哈,让机器自动自我修正。

这一些做完,基本上就是chatGPT 的雏形了。然后我们发现,不够,远远不够,一个AGI不能只有对话功能。下一步显然就是多模态Multimodality,即文字语音图像视频等等形式的结合。到这里,我们大概可以窥见这是一种“搭积木”的挑战了,即每一块儿自己的AI模型要和其他领域的结合起来,互通有无。

再来一组名词解释。Langchain,主要想法是各领域最后都转化为一个文本语言问题,然后互通有无。RAG (retrieval augmented generation) ,主要用来引入额外的信息来补全LLM的知识储备。ReAct (Reasoning and Acting augments) 主要是理解指令并利用各种多模态的模块来执行具体任务。

——

对了,为啥么这里园主通篇不提prompt。因为,园主觉得这就是个成长过程中不成熟阶段的伪命题……过两年可能就完全嵌入大模型本身了。

——

园主这些知识大概一半是Coursera 这门Generative AI with LLM 课扫盲来的。这门课主打一个深入浅出,适合理清大模型的整体逻辑,极其适合入门。剩下一半就是读各类的新闻和paper,还有各种视频。只能说,互联网时代,知识本身触手可及,考验的是系统学习的鉴别能力。

——

这篇本来是想写个提纲然后扔给GPT帮我完成的,结果最后还是老老实实的手动敲完了。哎,下次试试能不能用GPT写的更好一些。