转眼之间2023已经远去,每年的伊始都对新的年份有些无感,最近这几年这个时间段都会有不真实的感觉,“原来这就已经202X了”。对于23年,我有点说不上来应该要如何总结,不知所措流露在日记的各个角落,只是年末姗姗来迟的人淡化了阴霾,让我多了一个倾诉的窗口,所以也没有大倒苦水的欲望,在这个下行的年代就不散发负能量了,毕竟谁都不容易。

但作为一个忧郁的人(🐶),既然不倒生活的苦水,那就来忧虑一下AI吧。毫无疑问2023年对于AI来说是特殊的一年,并且可以预见的是,2024也将会是。

其实上面一句的表达不太精确,应该说是基于深度强化学习构建的预训练大语言模型(LLM: Large Language Model),这是个定语很多的描述,但仍然不够准。不少专家在面对人工智能安全问题相关的讨论中强调了这一点,媒体把控了技术术语而技术领域也完全采用了这些术语,这是一个时代背景下的描述,谁也说不好这否就是AI的正确打开方式,Artificial Intelligence离现在还是有很长的距离。虽然专家们的目的之一是减少外界对AI过多的、不切实际的忧虑和管控以及限制措施,不过LLM确实是我们距离AI最大的一次加速度,资本已经用实际行动告诉了我们它的回答。

AI强化的表达时代

在LLM的加持下,人的表达能力被再一次强化。曾经有一句经典老话:Talk is cheap, show me the code,2000 年 8 月 25 日,在讨论关于内核线程优化的问题时,一个人提出了一个他认为非常高效的方案,Linus Torvalds 认为这个方案不好,便在回信中写下了这句至理名言,广大程序员对此深表同意,便广为流传开来。这就说明敲代码,或者说敲复杂一些的代码,和自然语言描述往往是有鸿沟在的,对程序员不善言辞的偏见也由此可见。但LLM的出现似乎正在抹平这个鸿沟,不说全部,起码是填补了好一大块,这句至理名言似乎有过时的倾向。

就目前的状况来说,AI还是只能扮演助手Copilot的角色,可是现在大模型的发展也呈现出一种新时代的摩尔定律:模型训练和推理的消耗在过去一段时间降低了数倍,GPT4和Claude2以及最近预告的Gemini的发布也证明了LLM能力的跃进,到底能到一个什么样的高度,真是难说。但即使现在LLM是Copilot的角色,它也已经开始发挥巨大的作用,作为一名程序员的感受来说,推荐看看antirez大佬的博文,这文章基本上就是我的嘴替了,简单归纳一下结论:向LLM提出描述准确的问题是一项基本技能,LLM并不是唯一有时不明白我们说话内容的人,沟通能力往往比想象的还要重要许多;LLM对于能够以一两句话描述清楚的功能开发来说是十足的杀器,这些功能不需要高水平的推理,并且很可惜的是现如今绝大部分的编程开发都是以略有不同的形式做这些简单的、形式相同的东西,而国内这个以应用层开发为主的场景只会更甚,对程序员的威胁不是一句空谈;很多依赖记忆和接口熟悉程度的工作可以由LLM帮助我们来完成,将我们从这些恼人的工作里解放出来真的很棒,因为不少API可能只是工作中的一小环,却要付出大量的精力,并且不能让我们得到什么能力的提升,最后只是记住了一个复杂的API而已。

最近越来越感觉优秀的程序员,或者说职位较高的程序员真的很会表达,说起来头头是道(并不是贬义),因为面试和晋升以及日常的印象都需要良好的沟通来支持,有句话说的好:你无法想象与高水平的人沟通有多么的顺畅。这一年,我在沟通表达上也发现了不少问题、吃了不少苦头,很多毛病已经伴随了我许久,我开始进行一些录音和总结,这才发现问题如此之大。来年这仍旧是一个需要提高的点,这一结论在有无AI的情况下都是一致的。其实这个博客也是我表达不佳的产物,之前期望别人在发现这里时会有“原来你是这种人”的想法,现在我更希望得到的评价是“原来你竟有如此水平”,哈哈,共勉。

少数人的革命

然而,面对这场变革,我们普通开发者能做的好像也并没有多少,这种无力感不是很好。大模型的出现本就源自少数科学家的信仰,目前来看,以我看到的信息,放眼全球真正在进行这方面探索发展的绝对是极少数,人才壁垒很高。LLM的成本又是如此之大,在可见的未来,就算后续成本能够成倍下降,仍然需要海量的资金,妥妥的资本密集型产业,在国内甚至还面临有钱也买不到计算显卡的问题。这样的人才资本密集程度,让能够上桌玩两把的门槛高出天际,所以目前都是巨头在扶持少数几家公司。LLM的能力让人惊叹,以至于安全问题变得极为重要,加剧了行业领头羊的闭源倾向,再者如今对大模型的理解还在实验科学阶段,它涌现的推理能力还没有科学严谨的解释,在相当一段时间内它只会掌握在这些少数精英手中,是极致寡头垄断,对普通人甚至是普通开发者来说它就是个黑盒。

有人会说,大模型本身门槛是高,不是还有上层应用的机会吗,李彦宏表示:AI原生时代,我们需要100万量级的AI原生应用,但是不需要100个大模型。。我不太认可这个观点,在我自身的实践过程中,越来越觉得内容和价值在向大模型本身内聚,大模型之上的内容和工作比较单薄,理由主要有如下几点。

  • 大模型发展初期能力相对羸弱的时候,我们可以通过调优Prompt来努力发挥它的上限,各种Prompt模板和技巧可以说是奇思妙想或者花里胡哨,这个时候依靠Prompt技术产出的各种套壳工具、应用能有一些差异化。但是随着模型能力提升,Prompt技巧带来的差异会越来越小。在LLM的使用过程中,人们发现某些词语会让模型的输出变好,比如Let's do it step by step,可是LLM的开发研究人员也会注意到这一点,他们可以从源头让模型更加强力,让这些魔法词的作用越来越小。

  • 虽然现在GPT开始支持Function Call以及多模态的输入,但是现状是,所谓AI应用开发者,差异于普通开发者,所拥有的不过是几句自然语言提示词以及LLM吐出来的自然语言回复,这是和LLM交流仅有的手段。说的极端一点,几句话而已,想来想去还是太单薄了,支撑不了一个职位的工作量。此外,应用层对Prompt的各种调整工作在模型换代升级的时候可能就需要重新来一遍,并且这种调整工作通常是很无趣、重复性的黑盒测试,并且比较难以自动化,因为输出的是自然语言,测试它就像面试一个人一样,很难有一个确定的标准,这也导致在模型的评估上经常会使用更高级的模型来进行打分的手段。

  • 因为拥有的只是几句话,所以出现了LangChain这种编排工具,上升一个维度,把模型变成我们的工人,在我们设定的流水线上进行工作来完成稍微高级一些的目标。但是还是因为拥有的只是几句话,它只能是一个很方便、很高级的脚手架。LangChain帮助开发者做的最重要的事就是:

    1. 编排我们对模型的输入,做RAG(Retrieval Augment Generation)增强
    2. 解析模型的输出,进行流程分发或者API对接

    这些东西其他工作流编排工具做不到么,我是不相信的,它只是做了更好的专业性的适配。我也比较难理解LangChain为什么能火到这个程度,能有2亿美元估值,可能是我无知吧。我们也可以看到,随着GPT推出Function Call以及GPTs(把RAG、Function Call的工作挪到了模型侧),大批使用LangChain的应用或公司表示被革命。很多AI应用开发者能干的事情,模型公司可以自己干,而且干了就是把你给革了。

  • AI应用开发除了Prompt之外呢,目前看来还是上述的两个:RAG和Function Call。RAG的核心价值点在哪呢?是数据,要有高质量的数据或者私密的高价值数据,又是一个资本密集型领域,和普通人无关,开发者的工作量也就那么一丢,还要担心被模型侧或者云服务商把活给抢走(已经发生了),就向量数据库这一侧能沾点光。Function Call的核心价值点毫无疑问就是API,但是这就回到了传统的开发领域,还是那些个事,那些个活,还是那个普普通通的开发者。

    某些逼格高的把这类事儿叫做Grounding(可以参考这篇文章),听的我一愣一愣的,它目前就等价于RAG,RAG现在被抬到一个很高的位置。我们可以看到,目前绝大部分应用场景(不包括多模态)就几个:领域智能客服、带有特定功能的智能助手、领域智能搜索、AI聊天、AI总结,再就是一些已经存在的NLP场景,比如翻译、分类等等。可以关注一下GPTs商店的情况,排名最高的那几个都是做什么用的,目前发现有大量的虚拟女友、男友充斥其中。

  • 应用引入大模型后,大模型通常就是这个应用的引擎,由它来激活整个流程,在我看来就像硬件侧的芯片一样,现在很多手机厂商被骂“组装厂”,我觉得AI应用也有可能步这个后尘。模型侧可以看到你的所有交互,虽然有数据隐私的限制。倘若真的出现超级有价值的AI Native应用,模型侧有大概率可以轻而易举的复制击败你或者革命你,除非形成社群习惯的壁垒,但我觉得这在AI应用上也是很难的,更牛逼的模型一但出现,用户很快就会迁移过去。而普通应用接入大模型,我觉得更多的是效率和体验的提升,并不能创造多少新的需求,增长的营收可能要被模型侧拿去大头。就像这盗来的研报里的图所示,模型侧会拿走价值链的大头,而且我会觉得不止60%。

信息革命的来临,少数人如程序员创造了巨大的价值,催生出了新的科技巨头。而这次更甚,极极极少数人和大资本可能会创造出超巨大的价值,Sam Altman等人赞同在AGI成熟后给全世界每个人发钱,可是资本是嗜血的,真的有这种好事么?

可能上述的内容有些悲观,AI应用还是在可见的未来里,只是不知道它是否是现在能够想象到的样子,就像某研报里所说的:AI应用需要天才的产品经理,那显然我不是一个天才。还是希望AI能够带来新的需求和增长吧,在互联网大基建这么多年后需求逐渐减少的情况下(这是我没有证据的感觉),很多公司将其视为救命稻草,这是一条必须要试一试的路,看看能不能让我们小开发多恰到一点饭,期待天才们能够讲出让人眼前一亮的故事。

LLM的未来

最后说几个我比较认可或者期待的点吧,尽管有些期望可能有些不切实际。

  1. 模型推理的速度和费用还要再降低很多才能推进AI应用的生长,更长的上下文也会对应用爆发有帮助。要真正让人感受到智能体验,普及到大众,需要如同普通API一般的响应速度和足够低廉的费用,以当前的水平来说,速度太慢,可能在聊天框的模式下利用蹦字的streaming形式可以很大的提高观感,但是结合API通常是需要完整的响应之后才能执行下一步,一但触发来回多次调用,延迟实在是过于感人。另外支持的上下文越长,就越能塞下更多的内容,可能长到一定程度,某些数据富集的场景才能适配。
  2. 多模态是一个很重要的点,图片、视频所包含的信息会比文字要更加丰富,按照现在模型scale的增长速度,可能过几年文字数据就会被耗尽,势必要把视频和图片数据给带进来。同时,多模态讲出来的故事感觉更有想象力的多,对大众的冲击力也更强。
  3. 很希望模型侧能开放给上层更多对模型的控制能力,比如说增强某些语句的权重、格式化输出以及我现在无法想到的接入点。在具身智能相对还比较遥远的情况下,LLM势必要和API做结合,API讲求的是规律、精准,这与智能或者说自然语言是有些相悖的,开发者很需要对模型有一个比较好的掌控和约束,这样才能干更多的事情。
  4. 更加便捷、便宜的模型微调,或者说嵌入类似文生图中的Lora模型。目前为止,微调很少出现在视野里,因为RAG风头太盛,向量化数据搜索+通用大模型就能够达到很好的效果,微调带来的收益相比于付出性价比太低。但我还是希望能有应用层开发者能够参与的微调,一来我们小开发也许可以多捞到一点活,多一点差异化竞争;二来我觉得RAG就比较像临时抱佛脚,而模型本身的调整才是真正的学习,那肯定是融会贯通了更牛皮嘛对不对。
  5. API特化的模型。目前,模型与API的结合方式是,我们把API的功能和参数通过自然语言描述的方式附带在对模型请求的过程中,这其中的问题在于API和自然语言如上所述是不一样的表达模式,某些API非常复杂,很难用自然语言来描述清楚,Talk is cheap, show me the code这句话就是这么出来的。“我一两句话说不清楚,你自己看代码吧”,经常出现在开发者的交流当中,所以要么对现有复杂API进行拆解,要么让模型能够真正学会这些私域API。而拆解的问题在于,一是不一定好拆开,二是复杂系统通常有大量复杂的API,全部拆解以后光是这个自然语言描述带来的Token数量就不是一个小数字,非常影响性能和费用,甚至直接超出允许的上下文大小。我很期待一个类似“软硬件协同一体化开发”的特化大模型能达到一个什么样的高度。

文章的最后给大家推荐一个资料库,里面的内容很丰富,尤其是一些投资公司的调研报告,非常值得一看,本文也有不少向他们借鉴的内容和观点。多了解一点总是好的,希望未来是康庄大道而不是独木桥。