在这里,我们讨论了几个撰写提示(输入模型的内容)的原则和技巧,这些提示将帮助您为您的任务获得最佳的生成结果。选择正确的温度也会对生成质量产生很大的影响,我们会在这里单独讨论温度。
主要的原则:
我们发现,在设计我们的模型的提示时需要牢记两个主要的想法。
1. 提示将引导模型生成有用的输出。
例如,如果您需要一篇文章的摘要,足够训练的大型语言模型可以在您的引导下生成摘要:
这个提示有两个部分:您想要进行摘要的文本以及任务描述。
2. 尝试多种提示表述以获得最佳的生成结果
在使用generate时,尝试不同的提示对于解决问题非常有用。即使看起来类似的不同提示表述也可能导致生成结果截然不同。这可能是因为我们的模型已经学习到这些不同的提示表述在不同的上下文和用途中使用,因此会产生不同的结果。下面我们将给出一些我们发现在不同任务中特别有效的示例。 以摘要为例,如果使用“In summary”无法得到好的生成结果,我们可能需要尝试使用“To summarize in plain language”或“The main point to take from this article is that”。
此外,您还可以在playground中使用可能性特征来查看模型是否存在特定的单词、短语或结构理解困难的问题。但是,请记住,序列开始时的标记平均可能性总是很高的。模型可能会将首次引入新概念或名称的可能性降低,但一旦它看到它一次,就可以轻松地在生成中使用它。您还可以使用可能性功能查看是否有任何拼写或标点符号会导致记号化问题。
3.描述任务和一般情境
通常在任务描述中包含额外的组成部分会很有用,自然而然地,这些组成部分往往会在我们要处理的输入文本之后。
为模型提供足够的上下文。例如,在文章之前更详细地描述摘要任务。
示例:以自然语言塑造我们需要模型完成的任务,可以使用输入文本之前和之后的文本。
让我们通过另一个示例来考虑这个问题的更多方面。假设您想要使用我们的模型通过自动生成合理的回复来协助您的客户满意度部门(注意:生成结果不会发送给客户,这只是一种模拟)。
一个客户向您的公司提出了以下问题:
代码语言:javascript
代码语言:javascript
如何设计一个提示语以便与顾客进行交互时得到有用的生成呢?首先,我们需要让我们的模型知道这个问题的一般背景,并且明确指出我们将在提示语中包含什么内容:
代码语言:javascript
This is a conversation between a customer and a polite, helpful customer service agent.
Question of the customer: Hi, I'd like a refund for the coffee maker I ordered. Would that be possible?
代码语言:javascript
好的,我们已经告诉模型可以期望什么,并清楚地表明我们的查询是针对顾客提出的问题。接下来,让我们展示模型我们想要给顾客的回答的开头部分。
代码语言:javascript
Response by the customer service agent: Hello, thank you for reaching out to us. Yes,
代码语言:javascript
请注意,我们已经明确表示下一个句子是对问题的回答,它来自客户服务代理,并且我们希望给出一个积极的答案。将这一切结合在一起,我们得到以下提示:
代码语言:javascript
This is a conversation between a customer and a polite, helpful customer service agent.
Question of the customer: Hi, I'd like a refund for the coffee maker I ordered. Would that be possible?
Response by the customer service agent: Hello, thank you for reaching out to us. Yes,
在提示语中包含特定的组件(例如输入和输出指示器)有助于向模型描述所需的任务,特别是在提示语中包含多个示例时(如下图所示)。
将其多次输入到我们的中型模型中,我们得到以下的完成结果:
- 是的,如果产品未使用并且未打开,我们可以接受退货。
- 是的,我们很乐意退还您的购买款项。但是,我们需要您将物品退回到我们的商店以获得全额退款。
- 是的,我们可以这样做。请给我们发送一条消息,包括您的姓名、电话号码和退款原因。我们将尽快回复您。
- 请注意,即使这只是一个简化的示例,我们也可以从基线模型中获得可信的完成结果,而且只使用了很少的客户服务交互!通过对特定问题和请求的处理示例进行微调,这可以进一步改进。
4. 展示给模型您希望看到的内容
将示例添加到提示中是实现良好生成的关键方式之一。示例向模型展示了我们所针对的输出类型。
请提供您想要的一些生成类型的示例。这被称为少样本学习。我们来看一个例子。假设您想要使用我们的模型来分类电影评论是积极的、消极的还是中性的。想象一下,您将以下提示输入到我们的模型中:
代码语言:javascript
Review: "I really enjoyed this movie!"
This sentiment of this review is
代码语言:javascript
根据此提示,我们的 Medium 模型实际生成了以下内容:
代码语言:javascript
This sentiment of this review is apt, considering the movie's plot,
代码语言:javascript
显然,我们的模型看到可能是我们不希望得到的生成类型。
在提示中,示例应包括要模拟的示例输入和输出。
将所有这些内容结合在一起,将其馈入Medium Generation模型,我们可靠地获得积极的生成。
代码语言:javascript
This is a movie review sentiment classifier.
Review: "I loved this movie!"
This review is positive.
Review: "I don't know, it was ok I guess.."
This review is neutral.
Review: "What a waste of time, would not recommend this movie."
This review is negative.
Review: "I really enjoyed this movie!"
This review is
代码语言:javascript
这个提示的一个更简单的版本可以这样展示:
一个将提示的各个组成部分结合起来的示例。我们还可以在每个示例中重复任务描述,以强调对模型的指示。
少样本生成通常会在我们更大的模型中更好地工作。您可以使用可能性终点来查看模型对示例中给出的正确答案的不确定性。
如果命令格式不起作用,请尝试将其结构化为散文。与生成模型进行直观互动的一种方式是向模型发出有关所需生成类型的命令,例如:列举艺术职业的清单。但是,由于我们的模型看到的大部分文本都是互联网文章,有时会误解这种写作方式。尝试将命令重新表述为散文的方式,以使模型产生所需的输出:
代码语言:javascript
The table lists the following professions as artistic careers:
1. Painter 2.
代码语言:javascript
总的来说,您可能希望尝试不同的写作风格,直到找到适合您的东西。例如,写新闻文章、博客文章或对话的风格。
案例
在这里,我们将展示如何应用上述原则来完成两项具体任务:根据给定的文章生成关键词和根据少数已有示例生成更多示例。
生成关键词:假设我们有一些文本段落,希望自动标记其中最相关的概念。
通过结合上述技术,我们可以实现这一目标!首先,在提示语的开头说明此提示的设定。然后,我们展示模型两个要完成的示例:用标签“约翰·冯·诺依曼”标记来自约翰·冯·诺依曼维基百科页面的段落,用标签“女权主义”标记来自女权主义维基百科页面的段落。最后,我们向模型提供来自 Python 维基百科页面的一段。
代码语言:javascript
This is a bot that automatically finds the most important keyword for a given text passage.
Text: "John von Neumann (/vɒn ˈnɔɪmən/; Hungarian: Neumann János Lajos, pronounced [ˈnɒjmɒn ˈjaːnoʃ ˈlɒjoʃ]; December 28, 1903 – February 8, 1957) was a Hungarian-American mathematician, physicist, computer scientist, engineer and polymath. Von Neumann was generally regarded as the foremost mathematician of his time[2] and said to be "the last representative of the great mathematicians".[3] He integrated pure and applied sciences."
Most important key word: "John von Neumann"
Text: "Some scholars consider feminist campaigns to be a main force behind major historical societal changes for women's rights, particularly in the West, where they are near-universally credited with achieving women's suffrage, gender-neutral language, reproductive rights for women (including access to contraceptives and abortion), and the right to enter into contracts and own property.[9] Although feminist advocacy is, and has been, mainly focused on women's rights, some feminists argue for the inclusion of men's liberation within its aims, because they believe that men are also harmed by traditional gender roles.[10] Feminist theory, which emerged from feminist movements, aims to understand the nature of gender inequality by examining women's social roles and lived experience; feminist theorists have developed theories in a variety of disciplines in order to respond to issues concerning gender."
Most important key word: "Feminism"
Text: "Guido van Rossum began working on Python in the late 1980s, as a successor to the ABC programming language, and first released it in 1991 as Python 0.9.0.[31] Python 2.0 was released in 2000 and introduced new features, such as list comprehensions and a garbage collection system using reference counting and was discontinued with version 2.7.18 in 2020.[32] Python 3.0 was released in 2008 and was a major revision of the language that is not completely backward-compatible and much Python 2 code does not run unmodified on Python 3."
Most important key word:
代码语言:javascript
这个提示可靠地生成“Python”作为答案,有时还会返回另一个可信选项“Guido van Rossum”。
示例生成:常见的任务是让模型根据某些描述生成示例。以以下格式列出提示通常效果良好。
代码语言:javascript
This is a list of ideas for blog posts for tourists visiting Toronto:
1. The best sights to see in Toronto
2. My favourite walks in Toronto
代码语言:javascript
这将给我们带来类似以下的生成结果:
代码语言:javascript
3. An overview of Toronto
4. Toronto events
5. Restaurants in Toronto
6. Shopping in Toronto
7. Travel tips for Toronto
8. Sightseeing in Toronto
9. What to do in Toronto
如何系统的去学习大模型LLM ?
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
阶段1:AI大模型时代的基础理解
- 目标:了解AI大模型的基本概念、发展历程和核心原理。
- 内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践 - L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
- 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
- 内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例 - L2.2 Prompt框架
- L2.2.1 什么是Prompt
- L2.2.2 Prompt框架应用现状
- L2.2.3 基于GPTAS的Prompt框架
- L2.2.4 Prompt框架与Thought
- L2.2.5 Prompt框架与提示词 - L2.3 流水线工程
- L2.3.1 流水线工程的概念
- L2.3.2 流水线工程的优点
- L2.3.3 流水线工程的应用 - L2.4 总结与展望
- L2.1 API接口
阶段3:AI大模型应用架构实践
- 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
- 内容:
- L3.1 Agent模型框架
- L3.1.1 Agent模型框架的设计理念
- L3.1.2 Agent模型框架的核心组件
- L3.1.3 Agent模型框架的实现细节 - L3.2 MetaGPT
- L3.2.1 MetaGPT的基本概念
- L3.2.2 MetaGPT的工作原理
- L3.2.3 MetaGPT的应用场景 - L3.3 ChatGLM
- L3.3.1 ChatGLM的特点
- L3.3.2 ChatGLM的开发环境
- L3.3.3 ChatGLM的使用示例 - L3.4 LLAMA
- L3.4.1 LLAMA的特点
- L3.4.2 LLAMA的开发环境
- L3.4.3 LLAMA的使用示例 - L3.5 其他大模型介绍
- L3.1 Agent模型框架
阶段4:AI大模型私有化部署
- 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
- 内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
学习计划:
- 阶段1:1-2个月,建立AI大模型的基础知识体系。
- 阶段2:2-3个月,专注于API应用开发能力的提升。
- 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
- 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的所有 ⚡️ 大模型 LLM 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
】
全套 《LLM大模型入门+进阶学习资源包》↓↓↓ 获取~