大型语言模型(LLMS)使用称为自动性的技术生成文本,该技术涉及根据以前单词预测序列中最有可能的下一个单词。 LLM驱动的代理(例如ChatGpt)也经过微调以遵循用户意图。因此,他们不仅完成了输入序列,还可以在输入上捕获用户的意图并相应地生成一个响应。
如果您已经尝试了一段时间,我相信您已经意识到给定答案的
质量也取决于用户输入的质量,例如,代理人比其他。 返回的秘诀
最好的答案是了解LLMS如何生成输出并相应地制定输入提示。应用于用户输入以利用模型的全部潜力的一组技术称为及时工程。 在本文中,我们将探讨最强大的及时工程技术之一:经过思考链(COT)提示。该技术涉及以一种方式构造提示,从而使模型更容易完成需要推理或解决问题的复杂任务。已经表明,如果没有COT,相同的模型无法提供正确的答案。 模型默认功能
尽管LLM的概括能力闻名,但模型功能取决于任务。使用LLMS时,重要的是要考虑到每个模型都已在一个巨大但有限的数据库上进行了培训,并且已针对某些任务进行了优化。因此,尽管该模型可以在某些域中具有高度性能,但在其他域中可能会失败。
>> >类似于人类,这并不一定意味着该模型无法执行任务。 有一些时间或指导以推理问题,该模型仍然可以可靠地回答。 该模型的响应和生成所需的时间也可能受到各种因素的影响,例如该问题的特定措辞:
经过思考链提示指南LLMS成功地解决了复杂的任务,既可以选择制定提示的方式并为模型提供所需的时间或步骤,以生成正确的答案。
> 经过思考链的提示是一种通过明确提示该模型在到达最终答案之前生成逐步的解释或推理过程的技术。此方法有助于模型分解问题,而不是跳过任何中间任务以避免推理失败。
> COT是有效的,因为它有助于集中LLM的注意力机制。推理过程的分解使模型一次将注意力集中在问题的一个部分上,从而最大程度地减少了通过同时处理过多信息而可能引起的错误风险。
Google的研究人员在2022年介绍了一篇题为“促使大语模型中引发推理的思想链”的论文中引入了经过思考的促进。这项研究强调了如何通过一系列中级推理步骤来指导模型如何显着提高其在数学上解决问题,逻辑问题,逻辑上的推理,和多数 - 多人 - 可求和问题的任务上的任务,并提高了其在任务上的执行。
让我们来看看提议的示例之一:
标准提示和COT提示之间的比较。在左侧,指示模型直接提供最终答案(标准提示)。在右侧,指示模型显示推理过程以获取最终答案(COT提示)。 正如我们可以观察到的那样,产生一系列思想(一系列中间推理步骤)有助于模型提供正确的答案。 >最初的作者将思想链称为导致最终输出的一系列中间自然语言推理步骤,将这种方法称为经过思考的提示。 >思想链如何提示工作?
>该过程始于制定提示,鼓励模型以分步的方式思考问题,从而生成中间步骤,而无需直接跳到最终答案。这可以使用不同的策略来完成:给出明确的说明意味着将问题分解为用户提示本身。例如,使用诸如“首先,我们需要考虑……”之类的句子来提示该模型详细详细介绍其思维过程。
让我们看一下它!>
想象我的西班牙妈妈给我寄给我准备冷水的家庭食谱:>假设我们有兴趣将所有与咖啡相关的单词翻译成英语,我们想将Chatgpt用于任务:
input_text = """ ¡Preparar café Cold Brew es un proceso sencillo y refrescante! Todo lo que necesitas son granos de café molido grueso y agua fría. Comienza añadiendo el café molido a un recipiente o jarra grande. Luego, vierte agua fría, asegurándote de que todos los granos de café estén completamente sumergidos. Remueve la mezcla suavemente para garantizar una saturación uniforme. Cubre el recipiente y déjalo en remojo en el refrigerador durante al menos 12 a 24 horas, dependiendo de la fuerza deseada. """
这是对此提示的响应:
prompt = f""" Give me a numbered list of all coffee-related words in English from the text below: Text: <{input_text}> """ response = chatgpt_call(prompt) print(response)
>如果我们要求模型立即执行此任务,我们可以看到它错误地执行了任务。它不仅输出了非相关的咖啡单词,而且还以西班牙语而不是用英语输出。
我们可以考虑此任务很复杂,因为它需要两个步骤:
将文本从西班牙语翻译成英语。
prompt = f""" Give me a numbered list of all coffee-related words in English from the text below: The task requires the following actions: 1 - Translate the given text into English. 2 - List each coffee-related word from the English text. Text: <{input_text}> """ response = chatgpt_call(prompt) print(response)
您有兴趣使用其他LLM而不是ChatGpt或OpenAI API尝试此技术,如本文,“开发大型语言模型”课程适合您!
#2。隐式指令
有时,无需在提示中分解问题。东京大学与Google Research一起提出了一种改善LLM响应的好方法,其中包括在原始提示的结束时简单地添加“逐步思考”。
这个简单的句子提示该模型大声推理,并仔细阅读所有必需的步骤以执行任务。
>让我们分析作者在原始论文中提出的一个例子之一:
>
标准提示与隐式COT指令的使用之间的比较
>。在左侧,该模型立即为问题提供了最终答案(零射击提示)和失败。在右边,该模型将使用隐式COT指令(COT提示)指示正确响应。
在第一个示例中,作者要求模型解决算术问题,但在此任务中失败了。
将这个简单的技巧应用于多丽丝数学数据集,作者发现该隐式指令将准确性从18%提高到79%! 如果您有兴趣,可以在“使用此简短提示来提高Chatgpt的结果”的情况下阅读有关此技术的更多信息。
#3。示例>我们在上面的部分中使用了“零射”一词。
零射击是指模型执行任务的能力,而无需在该特定任务的示例中明确训练
。> >尽管如此,有一些方法可以显示模型我们要解决的几个类似任务的示例。根据提供的示例数量,提供一系列示例的示例被称为单发,很少射击。
>一次性提示>一次性提示涉及
显示模型一个示例,该示例类似于指导的目标任务。 例如,如果我们参考文章的第一个数字,我们可以观察到该模型可以生成思想链,这要归功于提示中提供的示例示例。 几次提示
Jason Wei和Denny Zhou等人研究了很少的射击提示。来自Google。这种方法对于需要更专业或特定于领域的知识的任务特别有用,在这种任务中,模型可能没有足够的背景知识来使用零射或一声提示执行任务。在新的或特殊数据的集合中,有时很少有射击提示是模型的小微调。 >请参阅更多一声示例,少量示例提示“通过及时的工程提高chatgpt性能”。
>几个射门cot提示一击和很少的射击提示不是COT。但是,研究人员已经探索了几乎没有射击的学习与COT提示,称为“很少射击的COT提示”。在几个镜头中,该模型提供了一些问题的示例,以及他们的逐步解决方案,以指导其推理过程
>将少量的cot与其他技术(例如检索型发电或交互式查询)相结合,可以进一步增强模型的性能和可靠性。集成外部知识库,数据库或信息检索系统允许该模型通过事实和最新信息增强其推理。
说明COT如何帮助模型浏览知识空间并解决复杂的任务。使用ChatGpt 4O图像生成的自我生成图像,并带有以下提示:“通过迷宫的数学问题想象语言模型代理”。 有多种方法可以在我们的提示中加入cot:
经过思考的提示提供了一些好处,尤其是在提高复杂任务中语言模型的性能和可靠性方面。
诸如数学问题,逻辑难题或多跳问题回答之类的任务的原因,从这种方法中受益,是因为
>他们已经自然需要多个推理的步骤>逐步推理过程是透明的,使用户可以理解该模型如何得出其结论。这种透明度建立了对模型输出的信任。
>
>>也可以帮助调试,因为用户可以更轻松地发现模型可能在其推理中出现问题的位置。
模型依赖性
模型依赖性技术。因此,COT的有效性在很大程度上取决于基本语言模型的能力。
提示生成>更新和维护提示针对不同类型的任务和域可能会很耗时,并且可能需要持续的细化。
性能> ,因此保持最新的知识基础和合适的提示至关重要。 权衡
> 结论 在本文中,我们已经看到了经过深思熟虑的促进链如何在增强大语言模型的推理能力以及其实施的一些实际示例方面取得了重大进步。
>
考虑尝试在本文中讨论的技术来构建更可靠,更高性能的提示,并牢记:提示工程可能会对您的输出产生重大影响!
>您可以通过DataCamp的课程了解有关及时工程的更多信息,了解及时的工程和CHATGPT迅速为开发人员提供工程。您还可以查看单独的指南,以提示工程认证,并找出最佳学习途径适合您。While Chain-of-Thought Prompting is particularly effective for complex, multi-step reasoning tasks, it may not always be necessary for simpler questions that can be answered directly. It’s most beneficial for problems where a detailed, step-by-step process is also naturally required to reach the correct answer.
Yes, for example, when training a robot to navigate a maze, the CoT approach can be used to break down the navigation into steps,例如识别当前位置,评估可能的路径并在最小障碍物中选择路径。
>经过经验链的提示和多个步骤的提示和多步骤链之间有什么区别?
以上是经过思考链的提示:LLMS分步推理的详细内容。更多信息请关注PHP中文网其他相关文章!