长期以来,人工智能究竟是什么一直难以界定。几年前,这样的讨论会演变成长达数小时的会议,大家绘制维恩图,试图描绘出人工智能的不同子领域。快进到2024年,我们现在都确切地知道什么是人工智能了。人工智能 = ChatGPT。
或者不是。
对于大多数人来说,人工智能实际上没有明确的定义。就像美国最高法院对色情作品的定义一样,它更像是“你看到了就知道”。这种“眼见为实”的直觉,令人惊讶地概括了艾伦·图灵在他1950年的文章《计算机械与智能》中提出的逻辑,他在文中提出了“模仿游戏”,即让人类评委试图根据人类和计算机对评委问题的回答来区分两者。这是一种行为智能测试,通常被称为图灵测试(“如果它看起来像人类智能,那么它就是智能”)。
有几种方法可以破解图灵测试——例如,创建一个巨大的查找表,其中包含所有可能的问题和所有可能的答案,然后在提问时从中找到一个答案。这种算法(如果你能称之为算法的话)是一个简单的GET查询,但它展现了参与数据集创建的人类智能。
想象一下一位经验丰富的厨师。在她接受培训期间,她接触了数千种食谱,烹饪了无数道菜肴,了解了究竟什么是普罗旺斯炖菜,并培养了关于哪些食材搭配在一起效果好的直觉。现在,当你要求厨师准备一份带有川味风味的普罗旺斯炖菜时,她可以借鉴她的经验,创造出一道适合你口味的菜肴。厨师还可以通过准备同道菜肴的变体,然后询问关于哪一个最好的反馈来改进。
类似地,ChatGPT是一个神经网络,通过查看数万亿篇文章进行训练。在浏览这些数据的过程中,语言模型学习到哪些词倾向于跟在其他词后面(“很久很久以前……”通常后面跟着“有一个”),就像厨师学习到芝麻油和白胡椒的组合很可能与酱油相得益彰一样。该模型通过生成对给定提示的多个响应,并接收来自人类的反馈来学习准备定制的答案,人类会告诉模型哪些响应比其他响应更好。这个过程一遍又一遍地重复,直到模型能够可靠地为大多数提示生成良好的定制响应。
这一切听起来都不错,但如果我们无论如何都要处理如此庞大的数据集,为什么还要花费一个小岛国的GDP来训练一个模型,而不是简单地使用GET查询来查找答案呢?GET查询方法的问题在于创建一个包含用户可能提出的所有问题的答案的数据库。鉴于即使对查询进行微小的更改也可能需要一整套新的答案(例如,“你如何烤蛋糕?”与“你如何在户外烤蛋糕?”),这尤其困难。因此,这种方法要求你要么限制允许的问题集,要么创建一个包含关于生命、宇宙和一切的答案的数据库。
那么,关键的挑战是找到一种方法来压缩令人难以置信的庞大问题和答案空间。一种可能性是开发一个使用一组规则来解析和解释用户问题的系统,例如20世纪70年代开发的专家系统。例如,“你如何在户外烤蛋糕?”将被分解为动作“烤”,对象“蛋糕”和“户外”(这可能会触发与户外设备相关的规则)。这种类型的系统可以提供具体和准确的响应,但它需要不断更新以处理新的查询。显然,这不是一个可扩展的解决方案。我们需要找到另一种提取知识的方法,这种方法不需要手动写下每个规则。如果有一种方法可以从我们已有的数据中自动学习规则,那会怎么样?
人工智能的真正力量在于模式识别——也就是说,在大量数据中发现(通常是看不见的)模式。这是一种广泛的方法,因为模式可能与语言模型学习到的“下一个词的可能性”有关,也可能是能够识别图像数据中的耳朵和鼻子的过滤器。为了回答诸如“一天喝多少罐可口可乐是可以接受的?”,“这份10亿美元的车险索赔是否异常?”或“这张图片是否需要一片无花果叶来保持PG级?”之类的问题,人工智能系统必须有一种系统的方法来从可用数据中提取有意义的见解。
因此,现代人工智能最好被描述为表征学习,其目标是识别一组“特征”,这些特征捕获了数据中最重要的模式和变化。这就像找到一种方法将一小时长的烹饪视频转换为你实际需要的10行食谱。然而,与用文字编写的摘要不同,人工智能摘要将被打包成一个数字数组,其中捕获了关于数据的某些语义信息,我们称之为特征表示。
总结数据的一种方法是找到可以组合起来描述数据集的“构建块”。这在数据科学中经常通过PCA(主成分分析)来完成。PCA找到数据集中变化最显著的最重要“方向”,然后使用这些方向重新构建数据。这就像品尝各种食物,以识别食物变化的Key特性,例如甜度、辣度和质地。通过指出这些要素,PCA为我们提供了描述某些食物如何相似或不同的词汇。
当数据中的模式足够简单时,例如当输入和成分之间存在线性关系时,这种方法效果极佳。然而,有时,模式不容易从数据中提取。例如,在图像识别中,像素和物体之间存在复杂的非线性关系,难以提炼。
这就是更高级的表征学习技术发挥作用的地方。诸如使用神经网络的深度学习等方法旨在捕获这些数据集中的复杂模式。通常,这些方法通过学习对特定任务有用的表示(即数据的“转换”)来学习捕获模式。
方法学习这种表示的方式通常是通过反复试验。想象一下,你想能够品尝出1%牛奶和2%牛奶之间的区别。你可能会盲目地倒一杯牛奶,根据例如浓稠度和甜度来猜测它是1%还是2%,然后查看牛奶盒以查看你是否正确。然后你可以重复多次,并改进你的表示。通过足够的味觉测试和强大的乳糖耐受性,你应该能够区分1%和2%的牛奶,这很可能是通过提高对牛奶口感的意识来实现的。
这基本上就是神经网络的训练方式。我们可能希望神经网络能够执行某项任务,例如区分狗和猫的图片。通过反复试验,神经网络学习找到区分这两种动物的模式。例如,网络可能会学习识别耳朵的形状,猫的耳朵通常更尖,而狗的耳朵更耷拉。没有人提前告诉模型要看耳朵。然而,通过反复试验,模型将开始将这些识别为区分特征。然后,通过随着时间的推移调整其内部表示以最大限度地减少预测误差,神经网络将改进其区分这两种动物的能力,就像你通过所有这些牛奶味觉测试所做的那样。
学习到的表示类型将特定于模型已训练执行的任务。如果任务非常具体(有点像品尝1%和2%牛奶之间的区别),则学习到的表示可能非常适合完成该任务——但不一定适合做其他事情(例如,训练用于区分猫和狗的模型可能无法告诉你给定的猫是快乐还是悲伤)。尽管如此,虽然模型有时在特定任务之间不能很好地转移,但有些任务足够通用,可以学习表示,这被证明对许多不同的事情都很有用。例如,下一个词预测是大型语言模型(LLM)核心,它是一项非常广泛的任务
使用互联网上的所有文本,在下一个词预测任务上训练大型模型,使LLM能够学习极其通用的表示,这些表示可以灵活地用于各种任务。在我们看来,与其对人工智能进行更具体的定义,不如说表征学习可能作为一个更具体的概念,成为当前人工智能炒作周期的核心。
主要结论#1:现在,似乎几乎所有东西都是人工智能,但没有人能令人满意地回答人工智能实际上是什么。我希望下次你想到人工智能时,首先想到的是表示,而不是ChatGPT。
所以……表示是你所需要的全部,对吧?不幸的是,不一定。
当你只想将猫的图像分类为“可爱”、“脾气暴躁”或“困倦”时,一切都很好。然而,这些模式也被用于完成各种其他重要任务,例如确定保释金或贷款资格。在这些情况下,出错的后果远比发布错误的猫咪表情包严重得多。这就引出了我们在这些高风险场景中的一个关键问题:是什么让模型“好”?
从计算机的角度来看,如果模型在某些给定任务中倾向于接近理想行为,那么它就是好的。具体来说,模型经过训练以最小化损失函数,也称为目标函数。此函数指导模型的学习,引导它进行调整以减少错误并提高性能。而设计正确的目标取决于人类。
定义此目标可能是一件微妙的事情。在评估可能的皮肤癌图像时,最好是谨慎行事,将临界图像标记为“可能癌变”,还是最好是宽松一点?假阳性和假阴性在不同的场景中具有不同的含义,因此目标函数需要适当地反映这些权衡。
当任务更复杂时,定义良好的性能变得更加困难。假设一家社交媒体巨头正试图提高其平台上的参与度,因此它训练了一种算法来最大化文章的点击量。快进一下,你可能会看到耸人听闻的链接(“未公开的镜头:NASA证实了外星生命?”)上的高流量,随后是由于传播糟糕的建议而导致的一般参与度下降。这可能表明,不惜一切代价推动用户参与度的提高可能不是最佳的目标函数(咳嗽,咳嗽……定向广告)。
那么,你如何确保你的模型以你想要的方式执行?这就是人们所说的对齐,指的是你的目标和模型的成果如何对齐。目前,敲鼹鼠是最常用的对齐算法的策略——意思是,找出错误通常发生在哪里,然后尝试修补该问题。在社交媒体案例中,跟踪关于长期用户满意度和内容质量的指标可能会发出“最大化点击量”算法存在一些问题的警报。在金融应用中,这可能涉及审计你发现的模式是否对不同人口统计群体具有相似的错误率,然后使用新目标更新模型。在ChatGPT中,这种情况通过RLHF(基于人类反馈的强化学习)发生,也就是说,新的血汗工厂劳工对不同ChatGPT输出的价值进行排名。
然而,这些都相当于创可贴,而不是系统的解决方案。对齐模型的潜在方向之一在于理解这些模型收集到的模式。如果我们能够解释人工智能学习到的模式并清楚地描述它们,那么我们就可以进行讨论,以确定这些模式是否确实与期望的行为对齐。
想象一下,通过用弹弓发射不同重量的橡皮鸭,然后测量它们在空气中加速的速度来创建一个数据集。由此,可以创建一个人工智能模型,该模型将准确预测100公斤橡皮鸭的加速度(但我不想成为进行该实验的人!)。然而,我们拥有一个准确的预测模型这一事实并不意味着我们真正理解物理学。我们希望能够从此类模型中学到的是牛顿第二定律。
这方面的核心是理解模型学习到的“表示”。虽然以诸如“1%牛奶的口感”之类的概念来思考表示最为直观,但这些表示实际上被编码为极其庞大的数字矩阵。这些矩阵将输入转换为特征(即其他数字),这些特征有助于进行预测。通常,这些对于人类来说不易理解,但它们确实以某种方式帮助模型完成任务。因此,虽然我们对模型的行为有高层次的行为理解(“它预测正确的概率为92%”)以及对模型正在学习的矩阵有低层次的机械理解,但我们缺乏在适当抽象层次上对模型行为的解释,而这种抽象层次介于两者之间。
弄清楚这一点是一项极其困难的任务,而且这项任务在很大程度上仍未解决。截至今天,有各种旨在解释模型的技术,但没有一种技术可以帮助我们理解牛顿第二定律,更不用说更复杂的系统了。
到目前为止,我们假设在互联网上训练大型模型将使我们能够预测我们想要的一切。但是,当我们没有足够的数据来找到我们正在寻找的模式时,会发生什么呢?
占主导地位的人工智能范式是“在大量数据中找到模式”,但在数据稀缺的领域,我们不能期望灵丹妙药。例如,互联网无法根除疟疾。这项艰巨的任务将需要自然科学家和社会科学家进行细致的实验和数据收集。具有讽刺意味的是,长期以来,人工智能一直低估了数据(人工智能是数据的饕餮)。人工智能可以帮助这些科学努力,但也只能在一定程度上提供帮助。
此外,有意收集数据很难,而且一分钱一分货。精心收集的数据质量高于偶然收集的数据,尽管后者是大多数大型人工智能系统的主力军。这种偶然数据(有时称为“数据尾气”),补充了位置数据、搜索查询和社交媒体互动,是普通在线活动的副产品。人工智能实际上可以非常有效地利用这种无意中创建的数据,但可能会产生后果,例如侵犯版权或侵犯隐私。相反,有时缺乏数据尾气——例如在“低资源”语言(如特维语或高棉语)中——会导致这些语言中的模型能力较差。
如果要使人工智能达到人类水平的性能,从数据中学习模式非常重要。但是,我们如何超越简单地复制现有行为呢?
目前,人们正在努力创建人工智能系统,这些系统将“需求规范”作为输入,然后输出相应的代码。然而,此类系统无法做到的,是首先创建需求文档。如果你要求当前的人工智能做到这一点,你可能会得到一个通用的、千篇一律的规范,它实际上并没有捕捉到你的用例或推理你的设计权衡。最终的目标是能够使用人工智能做出更明智的决策。然而,要做到这一点,我们首先需要弄清楚需要做什么。
做出明智的决策通常需要当前人工智能系统无法获得的背景信息。如何将一个大问题分解成更小的块,如何有效地确定任务的优先级,如何管理项目中的延误……回答诸如此类的问题需要关于人员、资源和组织目标的背景信息。通常,这种背景信息的细微差别并未在可用数据中捕获。我们希望构建能够拥抱“知道你不知道什么”原则并明确编码不确定性和局限性的系统——这是人工智能系统目前无法做到的。
此外,随着人们开始更加依赖人工智能系统进行决策,奇怪的事情可能会发生。例如,如果每个人都采用谷歌地图上的“最快路线”,那么“最快路线”就不再是最快的路线。未来是你的行为和他人的行为的函数,如果每个人都更加依赖相同的人工智能决策工具,那么最佳策略将会改变。当前的人工智能系统没有考虑到这些类型的下游效应。
总而言之,对于我们听到的所有末日预言,科幻电影中人工智能的形象与当前的现实相去甚远。人工智能不会很快抢走你的工作,除非你的角色缺乏人类的判断力。与人类智能相当的通用人工智能(AGI)仍然是一个遥远的、神话般的里程碑。在定义我们的目标、理解我们构建的这些疯狂机器中究竟发生了什么,以及摆脱将人工智能视为预测机器的想法方面,还有很多工作要做。
主要结论#2:人工智能可以做事情,但只能在我们能够定义我们希望人工智能实现的目标的范围内做好。而现在,弄清楚“需要做什么”最好还是留给人类。
声明:本文主要由人类撰写TM,其中不超过15%的内容由ChatGPT生成。
机器学习——关注从数据中学习模式的研究领域。实际上只是改头换面的统计学,现在重新命名为“人工智能”。
强化学习——专注于训练“智能体”通过奖励来完成某些任务,很像你训练你的狗去咬邮递员。
深度学习——机器学习,但模型更大,名称更性感。
Transformer模型——用于顺序数据的热门新架构,使语言模型获得巨大成功。现在是每个90年代孩子的最爱玩具。
狭义人工智能 ——适用于感兴趣的问题(例如,图像描述)的人工智能。这已经超出了当前模型的能力范围。
通用人工智能(AGI) ——在跨任务方面具有通用性的人工智能,达到人类智能水平。硅谷的白日梦。
人工超智能(ASI) ——想想天网,《终结者》系列反派恐怖片。显然它离通用人工智能不远了。超越人类智能!
计算 —— 用于训练模型的时间和资源量。通常以FLOP(浮点运算)的数量或你烧毁的Nvidia GPU的数量来衡量。
Soylent ——一种“瓶装餐”,旨在最大限度地延长你编写代码的时间,并最大限度地缩短你享受生活的时间。也是衡量工程工作量的一个指标。
人工智能安全 ——研究如何防止机器人接管的子领域。
对齐 ——确保人工智能系统的目标与我们的意图对齐,使其更像Wall-E而不是天网。
机制可解释性 ——试图逆向工程神经网络学习到的特征(以弄清楚它们在想什么)。
奇点 ——一个假设的未来点,技术/人工智能增长变得不可控制。这就是导致人工超智能,然后最终导致末日的原因。
Sonja Johnson-Yu 是哈佛大学计算机科学系四年级博士生,导师是Kanaka Rajan。她使用强化学习和其他机器学习技术的混合方法来研究动物如何使用信号来实现其目标并协调群体行为。
Sanket Shah 是哈佛大学五年级博士生。他的研究重点是决策导向学习,这是一种通过根据算法决策的下游用例定制机器学习模型来提高其在算法决策中的性能的方法。
版权所有 © 2024 归所有者/作者所有。出版权已授权给。
最初发表于 Queue 第 22 卷,第 5 期——
在 数字图书馆 中评论本文
Mark Russinovich, Ahmed Salem, Santiago Zanella-Béguelin, Yonatan Zunger - 智能的代价
大型语言模型容易产生幻觉、提示注入和越狱,这对它们的广泛采用和负责任的使用构成了重大但可以克服的挑战。我们认为,这些问题是固有的,当然在当前一代模型中是这样,并且可能在大型语言模型本身中也是如此,因此我们的方法永远不能基于消除它们;相反,我们应该应用“纵深防御”策略来缓解它们,并且在构建和使用这些系统时,要假设它们有时会在这些方面失败。
Jim Waldo, Soline Boussard - GPT 和幻觉
本实验的发现支持了以下假设:基于大型语言模型的GPT在更受欢迎且已达成普遍共识的提示下表现良好,但在有争议的主题或数据有限的主题上表现不佳。应用程序响应的可变性强调了模型依赖于其训练数据的数量和质量,类似于依赖于多样化和可信贡献的众包系统。因此,虽然GPT可以作为许多日常任务的有用工具,但应谨慎解读它们对晦涩和两极分化主题的参与。
Erik Meijer - 虚拟的机巧:将大型语言模型用作神经计算机
我们探讨了大型语言模型(LLM)如何不仅可以充当数据库,还可以充当动态的、最终用户可编程的神经计算机。这种神经计算机的本地编程语言是一种受逻辑编程启发的声明式语言,它形式化并外部化了思维链推理,因为它可能发生在一个大型语言模型内部。
Mansi Khemka, Brian Houck - 为开发者提供有效的AI支持
将人工智能集成到软件工程师日常生活中的旅程并非没有挑战。然而,它预示着开发者如何将他们的创造性愿景转化为有形解决方案的变革性转变。正如我们所见,诸如GitHub Copilot之类的人工智能工具已经在重塑代码编写体验,使开发者能够更高效地工作,并将更多时间用于创造性和复杂任务。从对职位安全到其在现实世界中的功效的担忧,围绕人工智能的怀疑态度强调需要采取平衡的方法,优先考虑透明度、教育和伦理考量。