大语言模型(LLM)属于概率系统,不是确定系统,所以没法提供完全准确的答案。这就引出了一个问题,那我们应该如何利用LLM来开发产品呢?文章来自编译。
我准备要到印度出个短差,于是我得去申请签证,那个错漏百出的在线网站折腾了我一个钟头。搞完之后,我特地找ChatGPT问了一通,结果回答的那些点不是完全搞错就是部分出错。
这个测试是“不公平”的。但却是使用大语言模型(LLM)“糟糕”方式的一个好例子。LLM不是数据库,不会针对问题生成精确的事实答案,LLM是概率系统,不是确定性系统。今天的大语言模型没法提供完全准确的答案。答案也许是对的,但不能保证。
大家有一种(经常将其与加密货币和 NFT 相提并论的)趋势,认为这意味着这些东西毫无用处。这是误解。思考生成式人工智能模型的一个有用方法,是它们非常擅长告诉你,对于这样的问题,一个好的答案可能是什么样子的。在有些用例中,“看上去像是个好答案”正是你想要的,而在另外一些用例当中,“大致正确”则是“完全错误”。
事实上,说得更深入一点,完全相同的提示和输出既有可能是好结果,也可能是坏结果,这要取决于为什么你想要这种输出。
不管怎样,在我的情况下,我确实需要一个精确答案,但原则上ChatGPT 并不能给我一个准确答案,相反,它给了我一个错误答案。我在要求它做自己做不到的事情,所以这个测试是不公平的,但这个测试很重要。而答案仍然是错误的。
可以试着用两种方法解决这个问题。一种是把这个看作是科学问题——现在还是早期阶段,模型会变得更好。“RAG”、“多智能体”这些可以大书特书。模型肯定会变得更好,但能好多少?就算用几周时间、上 YouTube 去看机器学习科学家争论这个问题的视频,结果就会发现其实他们也不知道。实际上,这是“LLM 能产生出 AGI (通用人工智能)吗?”这个问题的另一种说法,因为掌握看来,一个可以完全正确回答“任何”问题的模型似乎至少是 AGI 的一个好定义(不过,这个一样没人知道)。
但另一种方法是把它看作是产品问题。如何围绕那些我们本来就该假设会“出错”的模型开发出有用的大众市场产品?
对于类似我所举的例子,搞人工智能的惯常反应是说“你拿错了”(编者注:苹果对用户抱怨iPhone 4信号不好的回应)——1. 我问错了问题;2. 我问的方式不对。我应该做大量提示的工程!但过去 50 年消费者计算所传递的讯息是,你没法通过让用户学习命令行来推动采用——你得靠近用户(而不是让用户靠近你)。
早期的提示工程例子
我想我们还可以更进一步,把它分成两种产品问题。
一方面。截图的产品设计是在模型本身天然就是不确定的情况下传递确定性。谷歌会提供10个蓝色链接,意思是“大概会是其中之一”,但这里给到我们的却是一个“正确的”答案。这会误导很多人,尤其是(跟实际答案相比)鉴于文本生成几乎很完美了。的确,下面德勤的这项调查就表明,一旦大家用了这些系统,就很有可能被这种似然的确定性所误导。
对幻觉的意识依旧不足
但这个问题的另一半是产品在我的到一个“答案”之前都不能告诉我可以问什么。我给了它一个“不好”的查询(它没法回答好的问题),但产品却不能及时告诉我。相反,它给我感觉像是一个通用工具。如果产品想要回答任何问题,模型想要回答得对就困难得多了,但界面要想说明清楚好问题是什么样的也会困难许多。
下面这张片子是我去印度打算要讲的内容之一,里面给出了我建议的替代方案。
LLM的三种部署模式:1)功能与API调用 2)新的垂直向工具 3)通用化的人工智能
最激进的方案是完全通用的聊天产品,挑战我在前面已经讲过了。但至少还有另外两种做法。
第一种是将产品限制在很狭窄的领域内,这样就能围绕着输入输出定制UI,去沟通清楚它能做什么,不能做什么以及你可以问什么,也许还能聚焦模型本身(如RAG)。于是就有了过去12个月编程助理、营销工具的爆发,以及知识管理工具的第一次尝试。WPP已经做了一个内部仪表盘,让员工引导模型针对特定品牌语调或目标受众。“让该工具推荐品牌Y针对受众Z的产品X的50个点子”,然后把提示打包进按钮和UI(也就是产品)里面。
显而易见的早期LLM产品
但另一种方法是,用户永远看不到提示或输出,或者根本不知道这是生成式人工智能,输入和输出都被抽象成其他事物内部的函数了。这个模型启用了某些功能,或者就算你以前也能开发,但模型让开发该功能变得更快、更容易了。上一波机器学习的大部分内容就是这么被吸收到软件之中的:有了新功能,或者旧功能跑得更好或者开发更快、更便宜了,但用户永远不知道这个是“人工智能”。所以有个老生常谈的笑话说,任何还没见效的东西都是人工智能,因为一旦见效就只是软件罢了。
再换个角度来看:对于任何新技术,我们会先要试着让它去适配我们已有的问题,而现有企业则尝试让它成为一项功能(所以谷歌和微软去年才会把 LLM 扔到产品的各个角落)。而初创企业则用来挖现有企业的墙角(解绑搜索、Oracle 或电子邮件),但与此同时,还有一些初创企业业主尝试找出可以开发的,真正原生于新技术的东西。这会分阶段进行。一开始,Flickr 出了个 iPhone app,但后来 Instagram 利用了智能手机的摄像头,并用了本地计算来做滤镜,再后来,Snap 与 TikTok 用上了触摸屏、视频以及定位来打造真正原生于平台的东西。那我们能用它来开发什么样的原生体验呢?不是聊天机器人本身,“错误率”也无关紧要,重要的是如何用某种方式抽象这种新能力呢?
这当然就引出了一个悖论,我之前也谈到过:我们在拥有一项通用技术之后,部署的方式却是将其分解为单一用途的工具和体验。不过,把这个看作是悖论也许只是把抽象的层次弄错了。电动机是通用技术,但你不会去家得宝 (Home Depot) 买一箱电动机 – 你会去买钻头、洗衣机、果汁机。通用技术被实例化为用例了。个人电脑、智能手机都是取代单一用途工具的通用工具 - 取代的是打字机、计算器、录音机与音乐播放器 - 但这些功能个个都是通过某个单一用途的软件实现的:大多数人不会拿 Excel 当作文字处理器用。有些人之所以对 LLM 如此兴奋,原因之一是这个玩意儿可能不会遵循这种模式:LLM直穿所有这些抽象层次到顶部也说不定。这样一来那些“套 GPT 薄壳”的就没有生存空间了。不过,我认为LLM还不能真正做到这一点,所以,前面所写的一切其实也只是在思考,思考哪怕这种情况从未发生,你又能开发什么来改变世界呢?