如何使用 GPT?

打印 上一主题 下一主题

主题 988|帖子 988|积分 2964

​通过实例,来展示如何最好地使用 GPT。

生成笔墨
假设你在写一篇文章,需要在末端加上如许一句:「California’s population is 53 times that of Alaska.」(加州的生齿是阿拉斯加州的 53 倍)。
但现在你不知道这两个州的生齿数据,我们会怎样完成这个任务呢?大致推想,我们会经历连续串的思索过程。
   如下图,
  1、起首会想到为了得到结果,需要比较生齿数量,那么就需要查询生齿数据;
  2、然后使用查询工具查一下——在维基百科上找到了加州和阿拉斯加的生齿数据;
  3、接下来显然需要做个除法运算,大概会需要计算器;然后得到倍数结果 53;
  4、然后我们的大脑大概会用经验理智快速检验一下 ——53 倍感觉挺公道的,毕竟加州是美国生齿最多的州。
  5、信息有了之后,就进入了创造性写作的部门。你大概起首会写下:「California has 53x times greater」,然后你想一下感觉又不太合适,又删了重新想哪种表达更合适一点,终极得到你满意的句子表达。
  简朴来说,为了写如许一句话,你的内心会经历大量独白式的思索。


GPT 在生成如许一句话时又会经历什么呢?
GPT 处置处罚的都是 token 序列。不管是阅读还是生成,它都是按部就班地一块块地进行,此中每一块都是针对一个 token,计算工作量也都一样。这些 Transformer 的层数不少,足有 80 个推理层,其实80 也不是非常多。Transformer 会通过这些来尽力模仿写作,但其思索过程和人类的大不类似。
   如下图:
  GPT 没有什么内心独白,它只会检视每一个 token 并在每个 token 上投入同等的计算量。
  它们就像是 token 模拟器 —— 它们不知道本身知道什么或不知道什么,只是模仿地写出下一个 token;
  它们也不会反思,内心不会思索结果是否公道;它们写错了也不会反过来修改。它们只是按序列采样 token。
  

但是,Karpathy 以为 GPT 依然具有某种形式的认知本领优势,比如它们具备非常广博的究竟知识,涵盖很多不同领域,因为它们数以百亿计的参数,足以储存大量究竟。
同时它们还有相对来说很大且完美的工作记忆。只要能填入 Transformer 的上下文窗口,它就能通过其内部自留意机制来加以使用。也就是说 GPT 能以无损的方式记住能嵌入其上下文窗口的任何内容。
Karpathy 表示:人类通过 prompt 使用 GPT 的过程本质上是大脑和 LLM 这两种不同的认知架构相互配合的过程。

用 GPT 实行推理
再来看 Transformer 在实践中表现相当好的一种用例:推理。
假如只有单个 token,固然不能指望 Transformer 推理出什么。推理的实行需要涉及更多 token。
比如,你不能向 Transformer 提一个非常复杂的问题,然后指望它通过单个 token 就找到答案。Transformer 需要通过 token 来「思索」。
   如下图,输出结果中看到 Transformer 为相识答问题而进行的「思索」。假如你提供了一些示例(上方) ,那么 Transformer 就会模仿那个模板,结果看起来相当不错。
  固然,你也可以通过说「Let’s think step by step」(请按步调解答)引导 Transformer 给出类似的输出 —— 这在某种程度上展示了其工作过程。
  而且由于它有点像是进入了工作过程展示模式,那么其在每个单独 token 上投入的计算量就会少一点。如许一来,它实行的就是一个速度更慢的推理过程,也就更大概成功得到准确答案。
  

   再看下例。人类写作时会写不好,类似地,Transformer 在选择下一个 token 时大概会出错,但不同于人类可以及时停下进行修改,Transformer 会继承生成,一错到底,终极得到错误答案。
  

类似于人类写作时没写好可以重来一样,Transformer 也可以多次采样,然后我们可以使用某个过程找到此中较好的。这被称为自我一致性(self-consistency)。通过让模型反思(reflection),可以发现模型其实能知道本身出错了。
   如下图,假如让 GPT-4 生成一首不押韵的诗然后它生成的诗却押韵了。然后你只需要问它「你完成任务了吗?」它就会知道本身没有完成任务,然后为你重新完成任务。
  

但假如你不给出那样的 prompt,它就不知道本身错了。它并不会本身去回顾,毕竟它只是一个 token 模拟器。你必须通过 prompt 让它回顾。
Karpathy 表示,可以按照目的将 AI 模型分为两种:一类系统(System 1)和二类系统(System 2)。


  • 一类系统的处置处罚过程速度快并且是自动化的,对应于只是采样 token 的大型语言模型。
  • 二类系统的速度慢一些,会反复思索进行规划。
现在有很多人在通过设计 prompt 来让 LLM 表现出类似人类大脑的思维过程。
   如下左图 (d) ,这是近期一篇论文提出的 Tree of Thought(思维树)。该论文提出为任意给定 prompt 维持多个完成结果,然后对这些结果进行评分,保留得分较好的结果。
  要做到这一点,不光要用一个 prompt,而是需要用 Python Glue 代码将多个 prompt 组合到一起。这实质上是维持多个 prompt,还需要实行某个树搜刮算法来找到可扩展的 prompt。可以说这是 Python Glue 代码与各个 prompt 组成的共生体。
  Karpathy 在这里类比了 AlphaGo。AlphaGo 的每一步都是下接下来的一步棋,其策略的训练方式最初是模仿人类。但除了这个策略之外,它还会实行蒙特卡洛树搜刮。
由此造成的结果是,AlphaGo 会在头脑里尝试大量不同的大概性然后对它们进行评估,最后仅保留此中结果好的。思维树就有点像是 AlphaGo 下围棋时的思维过程,只不外处置处罚的是文本。


不光是思维树,现在也有更多人在实验让 LLM 完成比简朴问答更加复杂的任务,但很多都像是 Python Glue 代码,将很多 prompt 连接起来。
   下图给出了两个例子:
  右图:论文提出了 ReAct,研究者是将 prompt 的答案构造成一个思维、动作、观察构成的序列,此中在动作部门,模型还能使用工具。这就像是某种回答查询的思维过程。
  左图:是 AutoGPT。这个项目最近有些炒作,但也确实是很有趣的研究。AutoGPT 可以或许生存一个任务清单并递归式地分解这些任务。现在来说这种做法的结果并不很好,Karpathy 也不建议人们将其用于现实应用,但他表示从研究角度看,这种方法还是很有启发性。
  以上就是创造二类系统思维方式的一些研究成果。


Karpathy说到LLM 的另一个有趣征象:「LLM 就好像有种生理怪癖。它们不想成功,只想模仿。」
你想要它给出准确答案,你就要明白要求它。这是因为 Transformer 的训练数据集中数据并不总是准确的,也存在低质量的数据。
举个例子,假如有某个物理问题,数据集中大概有某个弟子给出的错误答案,同时也会有某个专家给出的准确答案。而 Transformer 不知道该模仿哪个或者说它都想模仿,毕竟它们的训练目的是语言建模,不是分辨对错。因此在使用和测试时,假如你想要准确答案,你就要明白提出要求。
   如下图,论文中,研究者尝试了多种不同的 prompt,发现对于同一问题,不同 prompt 得到的输出结果准确度竟然不一样!
  可以看到,假如在 prompt 中明白要求模型一步步推理并给出准确结果,其准确度会高一些,因为如许 Transformer 就不必再为低质量解答分配概率了。
  因此,假如你想要准确答案,就大声说出来!
像是在 prompt 中添加「你是某领域的专家」或「假设你的 IQ 为 120」。但是也不要太过了,比如要求模型假设本身的 IQ 为 400,如许的话你的问题大概会超出数据的分布或者虽在分布中但结果却很科幻 —— 如许模型大概就会开始扮演什么科幻角色了。



让 LLM 使用工具  插件
针对具体问题,使用合适的工具往往能事半功倍。对 LLM 来说也是如此。根据具体任务的不同,我们大概希望 LLM 能使用计算器、代码解释器、搜刮引擎等工具。


但起首我们需要记住一点:Transformer 默认情况下大概并不知道它们无法做到某些事情。
用户以致大概需要在 prompt 中明白告知 Transformer:「你不擅长心算,假如要做大数运算,请使用这个计算器,这是使用这个计算器的方法。」你必须明白要求它使用某个工具,因为模型自身不知道本身擅长或不擅长什么。
检索是能极大提拔 LLM 性能的重要工具。因为 LLM 是专精于记忆的(memory only),因此专精于检索的搜刮引擎能为 LLM 提供极大补充。实践也证实,能使用检索工具的 LLM 的实用性会大大提拔。
之前已经提到,Transformer 的上下文窗口就是其工作记忆范围。假如能在其工作记忆中载入与当前任务相关的信息,那么模型的表现就会更好,因为模型可以或许立即读取全部记忆。现实上用检索增强生成也是很多人感爱好的课题。
   下图,展示了 LlamaIndex,此中有一个连接大量不同类型数据的数据连接器。这个工具可以索引各种数据并将它们提供给 LLM 使用。
  现在时兴的做法是:选取相关文档,然后将其分成文本块,再实行嵌入操作,得到表示那些数据的嵌入向量。这些嵌入向量会被生存起来。当使用模型时,我们可以向存储的向量发出查询,从中取用与当前任务相关的文本块。然后将这些文本块加入到 prompt,再让 LLM 生成。这种做法在实践中的结果很好。
这其实与人类完成任务的方法类似。人也可以仅靠本身的记忆办事,但假如能检索到与任务相关的资料,做起事来也自然会更容易。Transformer 虽然记忆广博,但也能从检索中受益。



在 prompt 中添加约束条件
在 prompt 中设定约束条件能迫使 LLM 按特定模板输出结果。
   如下图:微软资助用户更好使用 LLM 的 Guidance 工具,可访问https://github.com/microsoft/guidance 。
  这个例子中,LLM 输出的结果会是 JSON 格式。这是可以得到保证的,因为 prompt 会调解 Transformer 输出不同 token 的概率,而这些 token 的输出位置受限了,即只能补充文本中的空缺位置。如许就实现了对文本留空处的严格限制。带约束条件的采样对某些任务来说非常有用。
  


微调
通过设计 prompt 能让 LLM 模型完成更多不同任务,但我们其实也能通过微调来做到这一点。
对模型进行微调是指改变模型的权重分布。这种事情做起来不难,因为现在已经有 LLaMA 等开源的大模型以及一些用于微调的软件库。
   如:LoRA 等参数高效型微调技术让用户可以仅训练模型中少量稀疏的部门。使用该技术时,底子模型的大部门都保持不变,而某些部门可以变化。
  实践中,这种技术用起来很不错,能让人以很低的成本对模型做少量调解。同时,因为模型大部门都是固定不变的,以是可以使用非常低精度的推理来计算那些部门,因为梯度降落不会更新它们。
  由此,团体的微调效率就能非常高。
  不外,微调需要专业技术,而且多半还需要相应的专业领域知识,毕竟不管是雇佣人类专家来编写数据集还是通过自动方法合成数据都非常复杂,而这也会拉长迭代周期。
别的,对用户来说,监督式微调(SFT)还是可以做到的,因为这其实就是继承实行语言建模任务;但 RLHF 是还需进一步研究的课题,实现难度就大多了,因此不建议初学者来做。



Karpathy 的 GPT 使用建议
为了资助人们更好使用 GPT,Karpathy 给出了一些建议。
在使用 GPT 来完成任务时,可以将任务分成两个部门:一,取得最佳结果;二,依照指定顺序优化结果。
   如图:
  对第一部门,起首是选模型,现在最强的模型是 GPT-4。
  有了模型后,当实行具体任务时,你需要把 prompt 设计得足够详细,此中要包含任务的配景、相关信息和说明。你要想一想人类会怎么完成这一任务,但你同时也要明白人类有内心独白、可以或许自省,LLM 却不可。相识 LLM 的工作方式对设计 prompt 大有裨益。
  你可以检索一些相关配景和信息并将其添加到 prompt 中。网上已有不少人分享过相关经验和技术。
  你不消急于让 LLM 一步到位完成你的任务。可以多做频频实验,测试一下各种大概性。你可以向 LLM 提供一些例子,让它真正明白你的意图。
  对于原生 LLM 难以解决的问题,可以将其交给工具和插件处置处罚。你要想想如何将工具整合进来,这固然无法通过单个 prompt 问答就可以解决。你需要多做频频实验,实践出真知。
  最后,假如你成功搞出了得当本身的 prompt 设计方案,你可以再继承对峙一下,看看可以如何对模型进行微调以更好地服务你的应用;但要明白微调模型的速度会更慢,也需要投入更多。
  对于想要使用 RLHF 的研究型专家来说,虽然假如真能用起来,RLHF 现在是会比 SFT 好一些,但成本也会更高。为了节流成本,探索性研究可以使用性能更低的模型或更短的 prompt。
  

Karpathy 强调:用 LLM 解决用例时大概会出现一些问题,比如结果大概有偏见、编造出幻觉信息、推理错误、无法明白应用类型(比如拼写相关任务)、知识隔断(GPT-4 的训练数据截止于 2021 年 9 月)、大概会被攻击(比如 prompt 注入攻击、越狱攻击、数据毒化攻击)……
建议用户现在仅在低风险程度的应用中使用 LLM 并且要搭配人工监督一起使用。LLM 可以作为灵感和建议泉源,让它们辅助我们而不是完全自主地替换我们工作。


Karpathy 在总结时说:「GPT-4 是了不起的造物。我很感激它存在于世而且它很漂亮。」它具有非凡的本领,能资助用户解答疑问、编写代码等等。围绕它的生态系统也正在蓬勃发展。



Karpathy 问 GPT-4 的问题
Karpathy 向 GPT-4 提了一个问题:「假如要鼓励 Microsoft Build 2023 的观众,你会说点什么?」


GPT-4 给出了如下回答:


把ChatGPT 将这段话翻译成成中文,它是这么说的:





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表