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写的更好一些。

Categories
读书有感

消费主义、造星运动与宗教

久闻法国教育注重批判性思维,直到近日方才有机会亲身体验。法语学着学着,终于不是无聊的每日生存话题,开始进入讨论阶段。于是在我们的法语课本上,冒出来一章“信仰”。我本来对此话题不慎感冒,以为就是增加一堆宗教相关的词汇。出乎我意料之外的是,它并不单单是展现一些词汇,更有一篇有趣的文章,谈论宗教信仰和当下的消费主义。哎,这个话题我略有观察,很有趣。

原文不详细复述了,毕竟是为教法语而展现。让我有所思考的是文章的引入方式:六七成法国人当下其实是没有传统的宗教信仰的,那么他们的精神世界里面填充的又是什么呢?文章列举了两个很有意思的点:消费主义带来的奢侈品和造星运动。

这两个怕是当下小红书平台上的热点引爆器。(题外话,我对小红书的感想就一句:她是如何让人们主动去展现了人性中最恶的一面的?)那么就不妨细细分析一下他们和宗教的相似之处。

消费主义于我来说就是广义上的营销洗脑,反正无外乎屡试不爽的三条1)重复多了不信也信,2)人们总是相信自己希望相信的,以及3)人们总是从众的。只要钱砸得多,品牌总会出来的。奢侈品迎合了人们对于比较的需求,从而产生了对于消费者的效用(另一个题外话,这些年我对经济学和其立足的功利主义反思也越来越多了),使得品牌带来的溢价远远超出其物品本身的效用。这其实和宗教的底层逻辑并无二致,都是营造出“神圣”的品牌标签。

造星运动,或者说粉丝文化,就更直接了。消费主义注重的是在物质生活之上附加一层虚无缥缈的优越感,而造星运动则是从精神层面出发,直击人们本质的对于完美形象的需求。一个好的偶像本身如何并不重要,只要他们能表演出一个符合粉丝幻想中的模样,那就够了。(广义上的)爱其实是很难以界定情感倾注的对象的,比如我爱的到底是那个真实的他,还是我脑海里自我认定的他的模样?如果是后者,那我又是如何构建脑海中那个完美的形象的呢?回到前面那个逻辑,人的偏好其实很容易被左右,所谓的完美形象反映的无非是若干年来生活经历中的“罕见与缺失”,所谓物以稀为贵。一旦不稀有了,那很快就会移情别恋了。而罕见的感觉,其实是容易被影响和洗脑的。宗教里面的神或多或少都有一些异于常人的特点,比如超自然的能力,比如独特的个性(一般是正面的),比如美丽的外表,比如超凡的思维。这些都是罕见的,很容易引起人们的崇拜心理。那偶像呢,从这方面逻辑上来讲也并无二致。

想到这里,其实大概可以总结一下三者的共同点:对于精神需求的满足。我思故我在,人天生渴望精神上的充盈。实现的方式可以有所不同,但并无对错之分。宗教是对于神的信仰,消费主义是对于品牌的信仰,造星运动是对于偶像的信仰,就连科学,也逃不过一种对于理性的信仰。至此可见,每个人会有自己对于精神满足方式的选择,而理解了个中逻辑,也就不难理解他人不同的选择了。

狡猾地说一句。虽然我个人觉得每个人都应该有适合自己的选择,也都要对自己的选择负责,但是难免有人总希望别人认同并转向自己的选择。洗脑的方式或许多种多样,这里只是给出一个底层逻辑:对方最稀缺的是什么,新的选择能不能在这点上替代甚至超越以前的选择。当然,知道了这个逻辑,也容易反洗脑,只要暗示自己不缺那个就好了,哈哈……

Categories
读书有感

捉襟见肘补数学

前几天跟家父闲扯,说到我这辈子为数不多后悔的事情,就是本科选专业没选数学。我的性子基本上是不会多想过去已经发生的不可改变的事情的,所以人生中还真没多少后悔的事。这件事情是例外,是因为从毕业以来一直在为其还债,不得不怨念一下。当然,确实很难讲如果我当时学了数学,现在会不会过得更好。可能也不会。

假设过去未曾发生的事情没什么意义,不如讲讲为什么让我这么怨念。前几天在查一个模型,想知道一些大样本特性那边的结论,于是开始翻看相关的论文。结果论文读着读着就读不下去了,因为根本看不懂其中的引理。不仅仅是证明看不懂,而是根本不知道为什么要用到这些引理,这就很尴尬了是不?回头查了查,这些基础知识都是渐进理论那边的,属于概率论吧,确实没有学过,不知道就是不知道。

这种捉襟见肘的感觉实在是太熟悉了。去年看另外一个方向的论文,发现根本没学过concentration相关理论(这个名词不翻译了),然后现学现卖,抓紧去补那块儿的知识。然后看到Lipschitz 连续性,完全不记得实分析怎么讲的了,又得回头复习。为什么不记得呢,还是因为当年没理解,没有把数学融会贯通成自己的思维,自然考完试就忘了。不过至少因为学过,所以复习总是比重新学习容易一些,而且这次看到应用了也能加深对其本身的理解。数学虽说是个工具,但是如果不记得工具怎么来的可以怎么用,那要么就只能望洋兴叹,要么就闭着眼瞎用。鉴于后者着实不是我的风格,大部分时间我都只能止步之后扼腕叹息。

说到底,之所以数学让我这么痛苦,还是很多东西学的时候没有成体系,用到什么补什么。像微积分啊线性代数啊这种还好,宏微观计量各来一遍,到后面怎么也不会忘了。但是其他的不常用的就惨了, 只能两眼一抹黑,实在不行就死记硬背吧。我挺佩服那些随时可以从一个阶段捡起数学直接用的人,他们不需要知道下面的基础是怎么架构的,只需要往上盖就行。我受不了这样,对我来说数学一定是一以贯之的,若是我不曾理解基础那我就永远没法继续往下走。当然我可能不会一直记得每一个细节是怎么样子,但大体的脉络永远是清晰的。

可能事情并没有我想象的那么糟,我的数学知识也不是哪里都是窟窿永远填不完。但这种不知道我还有多少窟窿没填的状态,让我大部分时间都没有底气,特别惧怕又发现一个窟窿那种沮丧感。毕竟一直处于一种“追赶”的感觉会让人自信全无。若是曾经在本科阶段按部就班地训练过,或许就不会像现在这样不安了。比如看经济学我就不会不安,因为我知道自己的基础很牢,一切新生事物都是基于以往一些问题的拓展,这给了我很足的底气来辩证地学习新知识(以及看到胡说八道的理论知道他们是在胡说八道)。正是因为有这两者完全不一样的状态的对比,我才无法控制自己的怨念。

======

题外话,本科专业没选数学完全是当时的无知。按说我一个高中生无知就罢了,我得到的各种指导信息居然都是,“大学数学和高中数学不是一回事儿,高中数学再好大学数学都有可能让你失去兴趣。”之类。居然没有一个人告诉我数学本身对于其他基础科学是有多么重要。感觉数学教育出了很大问题,让前面学过数学的人并没有体会到数学的基础性和重要性,自然也就无法告知后来者。当然,从家父的角度,他觉得稳妥最重要,数学一看就是一个找不到工作的专业。我不否认,从现在来看确实很多数学专业学着学着就走进死胡同了。但更重要的是,我的性格决定我并不会安于现状,而除了数学之外,怕是少有一直能给我足够的智力挑战的东西了。那种从抽象层面理解事物的满足感,那种一脉相承融会贯通的舒畅感,至今不曾从别的事物上体验过。性格决定命运,所以虽然对于大多数人来说,本科学数学或许并不是一件好事,但对于我来说,却导致了十几年来的最大缺憾。

Categories
读书有感

岂为功名始读书

我的pet peeve(这个真不好翻译)里面大概有一条,见不得优秀的人被迫离开学术界道路,另谋生计。学术道路考验着他们一路披荆斩棘,一定耐得住寂寞和现实压力。然而,这条路毕竟是一将功成万骨枯,认识一些出于种种原因不得不退出的人,心里每次都觉得很遗憾和难过。

我不是不理解大家的种种无奈,没有人一开始就打算放弃的,一定是撞得头破血流、走投无路,才不得不选择了退出。但我还是会难过,因为这些人实在是太优秀了,他们的才智用在其他方面,真的是社会的损失。学术界无非也是一个产业,有着自己的规模限制和利益考量,一定会存在供需失衡的问题。只是当这件事情发生在我认识的人的身上的时候,看着他们云淡风轻背后藏不住的遗憾和不甘的尾巴,就无法控制地难过。

最近一直在反复萦绕一句诗,“岂为功名始读书”。我们第一天踏入学堂的时候,就被谆谆教导着,读书是一条通往远大志向的道路。可能老师们永远也不会告诉我们,这条路有多难。人总是要凭着一些信念来勇往直前的,不是吗?多亏了这种虚无缥缈的信念,人才可以为理想活着,而不是一开始就屈就于现实。我们仰望星空,不畏那深邃的黑暗,一点点发现着以前不曾了解的世界。我们不知道那里会有什么,可能是空的,但也总要探索过才知道虚实。我们无法挪开对那耀眼光芒的注视,阳光照进了洞穴,面壁者不用再只对着影子猜疑(这里是柏拉图那个洞穴)。

希望只是星光暂时的黯淡吧。小时候懵懂无知立下的宏图大志,怎能说变就变呢?