ADOP科普人工智能:对它是什么以及它如何工作的主要非技术性解释

文章探讨了人工智能,特别是基础模型(如GPT)的工作原理,涉及模型训练、微调、部署和参数选择,强调了实现方式对产品性能的影响。作者还讨论了如何在法律文件应用中处理限制和约束。
摘要由CSDN通过智能技术生成

人工智能就像体外的大脑。它本身从未经历过任何事情,但可以访问互联网上的所有信息。哦,它还有完美的记忆力,而且非常擅长统计。

由于多种原因,这种类比并不完美——其中之一是人工智能模型无法访问互联网上的所有内容——但重要的是要注意人工智能没有任何生活经验。它并不真正知道事物是什么。

它所做的是访问大量内容,并识别该内容中的模式。它不知道“再见”是什么意思,但如果你对它说“再见”,它也会说“再见”——因为在它读过的数十亿条对话中,这是对一个参与者说“再见”的最常见反应另一个人也在说同样的话。

简而言之,人工智能只是基于大量数据的非常好的模式识别。

这是“像我 5 岁一样解释”版本。但当然,事情比这更微妙。在这篇博文中,我们将深入探讨什么是人工智能、如何创建和使用人工智能模型以及我们可以用它们做什么。

当我们谈论人工智能时,我们到底在说什么?

真正的人工智能(AI),即机器可以像人类一样独立学习和行动,仍然是一个遥远的梦想。相反,目前有关人工智能的大多数讨论都使用“AI”作为机器学习(ML)的同义词。

机器学习已经存在很长时间了,而且您几乎肯定已经在使用它了。我们使用机器学习进行转录、音频校正、预测文本、面部识别、移动语音到文本以及大量其他操作。

既然它已经存在这么久了,为什么我们现在对它如此兴奋呢?

由于像 GPT(Generative Pre-trained Transformer)系列这样的模型:

  • 它们更大、更强大。 GPT3 模型尤其标志着第一次可以用自然语言向模型发出命令并用类似人类的文本进行回复。
  • 它们也更易于访问,因此任何人都可以与它们进行交互——使用允许其他企业使用模型的 API,以及 ChatGPT 等应用程序,让任何人都可以使用简单的聊天界面与模型进行交互。

GPT 模型是基础模型——这个术语指的是经过训练可以做一般事情并且可以适应各种不同任务的模型。特别是,它们是大型语言模型(LLM),之所以这样称呼是因为它们使用语言作为输入和输出,而且无论是用于训练它们的数据量还是它们拥有的参数数量,它们都是巨大的。

出于本博客的目的,我将重点关注基础模型而不是其他形式的 AI/ML,并研究它们的使用方式。我将在这里多次提及 ChatGPT,因为它非常出名 — 如果您还没有尝试过,我强烈建议您访问https://chat.openai.com/进行体验。

训练基础模型

基础模型是经过大量数据训练的神经网络(一种识别数据模式和关系的算法) 。它们实际上拥有数万亿个参数,训练成本高达数百万美元。

训练基础模型就像从婴儿开始并将其带入青少年世界一样。他们需要学习很多东西但大多数都是非常基础的。目的是让模型了解世界是什么样子,这样它就可以创建更多符合这种理解的内容。

大多数使用人工智能的公司并不训练自己的基础模型。它不仅非常昂贵和耗时,而且大多数模型都需要定期重新训练。例如,法学硕士只能访问他们的培训数据,因此如果他们不及时更新,他们的知识和他们使用的语言最终就会过时。

相反,大多数使用人工智能的公司(包括完全基于人工智能的产品,如 Jasper AI*)都使用现有的基础模型并在其基础上进行构建。为此,他们可以采取的第一步是微调

微调

再次用教育类比来说,微调就像把一个受过基础高中教育的人送到香肠制作班、会计课程或工程学位。

与这些示例一样,微调的时间和复杂性取决于您要微调的任务。与训练人类一样,在各种不同的输入和输出上训练人工智能模型越多,它的工作效果就越好。

ChatGPT 对对话进行了微调,因此它非常擅长输入和输出的问答格式。事实上,在其早期迭代中,您与 ChatGPT 进行的所有对话都被用来对其进行进一步微调。**

从技术角度来看,微调是对模型的额外训练,因此它还需要大量良好的标记数据,并且根据任务的复杂程度,可能需要数小时到数月的时间。这是一个复杂的过程,如果做得不好,您最终会得到一个不太稳健的模型,或者经常产生不正确或低质量的输出。

在某些情况下,当您的数据类型和任务有限时,微调是很好的,但在其他情况下应该避免,因为虽然它可以为您微调的任务带来更好的结果,但它会为除此之外的任何任务产生更糟糕的结果。那。***

那么我们是否只使用常规的基础模型而不进行任何微调?大多数时候,没有:

  • 大多数模型创建者都会提供具有非常通用的微调功能的模型版本,例如 OpenAI 的 Instruct 模型,这些模型经过训练可以遵循单轮指令。
  • AI/ML 社区还对各种任务的模型进行微调,其中许多模型都可在HuggingFace上使用。

部署模型

部署模型是指将其放入生产环境。你可以把这想象成类似于给人类找一份工作——有点像。

我将跳过大部分技术细节,但需要了解的重要内容是:

  • 您部署模型的实例。每个实例就像模型的克隆,每个实例一次只能回答一个问题,但您可以克隆它们的许多实例,以便它们可以一次回答多个问题。
  • 自动缩放等功能将根据需要自动创建和销毁克隆,但少数克隆将始终“保持温暖”,以便当出现问题时,它们准备好回答它们 - 而创建新克隆需要一些时间。
  • 如果您针对不同的任务微调一堆模型,则需要为每种类型的微调模型进行克隆,因此您的基础设施成本会呈指数级上升。

这是目前人工智能最大的限制之一——成本。 2023 年 2 月,SemiAnalysis 对运行 ChatGPT 的成本进行了建模,估计每天接近 70 万美元。****

但我们暂时先把成本放在一边。您选择了一个基础模型,对其进行了微调——或者使用了其他人微调过的模型——并且已经部署了它。下一步是什么?选择 API 参数。

选择API参数

模型创建者在其 API 中公开越来越多的参数,以便您可以使用模型来做更多事情。其中一些很简单,例如最大标记,它控制发送到模型和从模型返回的文本的总长度。

令牌是 LLM AI 用于处理和生成语言的文本或代码的基本单位。
- 微软语义内核:什么是令牌?

还有各种参数会影响返回的概率。

  • 温度:影响响应的随机性——温度越高,响应越不寻常。
  • TopP:从概率加起来为 (p ≥ 1) 的顶部标记中挑选结果。
  • TopK:从 (k ≥ 1) 个最可能的响应中挑选结果。

还有各种重复惩罚,例如频率、计数和存在惩罚,以鼓励或阻止模型重复使用提示中的文本。

什么是“好的”参数取决于用例和提供的输入,并且由于这些参数通常是相互依赖的,因此很难找出最好的值。我们通常通过测试多个测试输入的值来尝试确定什么可以提供最佳结果来做到这一点。

有多种方法可以以编程方式执行此操作,但由于模型不是确定性的,因此每次都会返回不同的结果 - 并且对一个输入有效的方法可能不适用于另一个输入 - 这不是一个简单或稳健的过程,并且通常需要许多示例“良好”的输出。

选择这些参数是在部署后完成的——我们在调用 API 时将参数发送到模型。这意味着我们可以将许多不同的参数发送到模型的同一实例,而不需要新的基础设施。

当您使用 ChatGPT 时,您不需要执行任何此操作 - OpenAI 已为您选择了所有参数 - 但如果您想使用他们的 API 并了解更改参数如何影响输出,请尝试他们的游乐场位于https://platform.openai.com/playground

书写提示

提示是你告诉人工智能你想要它做什么的部分,如果你曾经有人误解了你的指令,你就会明白为什么这会很难:

  • 不同的模型根据不同的数据进行训练(和微调),因此会出现不同的提示。例如,Anthropic 的模型 Claude 要求将提示表述为“人类”和“助手”之间的对话。
  • 经过自然语言训练的模型会像人类一样做出回应。因此,如果您问“5+5 是多少?”,他们可能会回答“10”、“答案是 10”、“5+5=10”或类似的内容。
  • 法学硕士确实擅长弄清楚,给定特定的单词组合,下一个单词应该是什么。这意味着他们通常不擅长完成复杂的任务。让他们正确回答需要多次传递或要求他们使用思维链推理,向你展示他们的锻炼情况。如果您将 ChatGPT 与 GPT4 结合使用,您会注意到,当您提出复杂的数学问题时,它会以思路链的格式给出答案,并向您展示其计算结果。
  • 编写一个简单的提示很容易,例如“公司的好名字是什么?”。但是,如果您使用人工智能来支持应用程序中的功能,您需要为用户编写提示,然后让他们传入数据。这需要用另一个提示来包装该提示。例如:
`You are an assistant who only answers questions that include the word "Please". 
You respond to any other questions with "You are ill mannered and I refuse to answer you". 
The question you are getting asked is: ${question}. Your answer is: `
  • 不过,输出中也可以出现提示!因此,提示中的任何内容都可能会暴露给用户。这是一个例子——因为人工智能模仿了其训练数据的偏差,法学硕士经常将医生称为“他”,无论他们的实际性别如何。有时,向法学硕士提出这一点并在提示中加入诸如“医生可以是男性、女性或其他性别”之类的说明会有所帮助,但这有时也会导致法学硕士说“医生提供了她的意见”之类的话。医生也可以是男性。

想象一下,如果你雇佣了一个没有背景的自由职业者,只能一次性给他们所有的指示,再也不会与他们沟通。您必须给他们一些非常具体的指示,以确保他们理解您希望他们执行的任务。您需要传达大量背景信息,给他们举例可能会有所帮助。为人工智能编写提示很相似,只不过它们会与复杂的指令混淆。

这是实施人工智能来执行特定任务的困难部分之一——如何为他们提供详细的说明和示例,但确保他们仍然可以处理许多不同类型的输入?

这就是实施的切入点。

执行

除了模型之外,一个产品是否能很好地利用人工智能,很大程度上取决于该产品如何实现它。以 ChatGPT 为例:

  • 您之前的所有对话都在侧边栏中。这与人工智能无关,只是保存并保持可用的数据。
  • 当您与它交谈时,它会“记住”您所说的话。这是伪造的——你所说的每一条新内容都会与你之前所说的内容或你之前所说内容的摘要一起发送回 API,以便人工智能了解整个对话的上下文。这个上下文窗口的大小有限 - 你会注意到,如果你继续与人工智能交谈,它会开始“忘记”你之前所说的事情。
  • 人工智能回复之前闪烁的光标让人想起消息传递应用程序中的模式,这使得对方看起来像是正在输入他们的回复——这比加载屏幕更好的交互。

ChatGPT 只需要做一件事 - 以对话方式回复您。但是,虽然 ChatGPT 的聊天界面很好,但如果您想创建一个可以提供法律文件的应用程序,并可以用它来查找特定案件的相关文件,包括询问有关哪些特定法律的问题,会发生什么情况?

让我们首先讨论一些我们必须处理的约束:

  • 令牌限制:许多模型的令牌限制约为 2-4k。大约有 1-2k 字。最近代币限制一直在增加——GPT4 标准提供 8k,扩展模型提供 32k,而 Anthropic 的模型 Claude 有 100k 代币限制——迄今为止所有 LLM 中最大的(截至撰写本文时)。不过,更大的上下文窗口需要权衡——它需要更长的时间。
  • 速度:模型越强大,运行速度越慢且成本越高。
  • 隐私/安全:如果我们允许强化学习,我们的模型可以更好地产生我们想要的输出,但如果我们希望数据流仅是单向的,以保护客户数据,那么它们永远不会向用户学习' 反应输出是否良好。
  • 成本:运行模型的 GPU 越多,运行速度就越快。模型越大,运行它所需的 GPU 就越多。使用我们模型的客户越多,我们需要同时运行的克隆就越多。

因此,使用具有最大代币限制的最佳模型并不总是正确的答案。我们可以做什么呢?

  • 我们可以使用向量化模型对所有文档进行向量化——这会将文档转换为一系列编码,其中包括文本嵌入和文档的语义。当您搜索某些内容时,我们还可以对您的查询进行矢量化,然后使用矢量数据库来识别相关内容。
  • 有些库(例如langchain)可以对文档进行分块并搜索它以回答特定问题。这是使用 LLM 完成的,但每个块需要较小的令牌限制,因此速度要快得多。

当然,处理法律文件的应用程序需要非常准确,因此也许您希望引用法学硕士告诉您的所有内容 - 该部分可以使用正则表达式和一个简单的函数来完成。如果多个文档的答案不同怎么办?我们可以添加额外的智能,从较旧的文档开始,然后在新文档中发现冲突的答案时覆盖任何信息。

总而言之,人工智能功能或产品的工作方式很大程度上与人工智能本身无关,而是与它的实现方式有关。

结论

人工智能非常强大——但它只是模式和概率。了解它的工作原理对于了解如何有效地使用它大有帮助,并避免新闻中经常报道的许多不幸事件,即人们信任人工智能的反应并了解到它给他们的信息是不正确的,或者它引用了来源不存在。

这是一个令人难以置信的激动人心的时刻,也是一项非常酷的技术,但如果您使用的唯一人工智能工具是 ChatGPT,那么实施起来也比看起来要复杂得多。

  • 33
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值