🎉AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于 前沿论文解读、资料共享、行业最新动态以、实践教程、求职相关(简历撰写技巧、面经资料与心得)多方面综合学习平台,强烈推荐AI小白及AI爱好者学习,性价比非常高! 限时优惠加入星球 ➡️点击链接
✨专栏介绍: 本作者推出全新系列《深入浅出LLM》专栏,将分为基础篇、进阶篇、实战篇等,本文为基础篇具体章节如导图所示(导图为常见LLM问题,导图专栏后续更新!),将分别从各个大模型模型的概念、经典模型、创新点、微调、分布式训练、数据集、未来发展方向、RAG、Agent及项目实战等各种角度展开详细介绍,欢迎大家关注。
👨💻作者简介: CSDN、阿里云人工智能领域博客专家,新星计划计算机视觉导师,百度飞桨PPDE,专注大数据与AI知识分享。✨公众号:GoAI的学习小屋 ,免费分享书籍、简历、导图等,更有交流群分享宝藏资料,关注公众号回复"加群"或➡️点击链接 加群。
《深入浅出LLM基础篇》目录
《深入浅出LLM基础篇》(一):大模型概念与发展
《深入浅出LLM基础篇》(二):大模型基础知识
《深入浅出LLM基础篇》(三):大模型结构分类
《深入浅出LLM基础篇》(四):主流大模型分类介绍
《深入浅出LLM基础篇》(五):Propmt工程优化
《深入浅出LLM基础篇》(五):Propmt工程优化
导读:本篇为《《深入浅出LLM基础篇》(五):Propmt工程优化,主要讨论各自Propmt优化的tips,与效果差进行对比展示。由于 OpenAI模型的训练方式,特定的提示格式效果特别好,可以产生更有用的模型输出。OpenAI 的官方提示工程指南通常是提示技巧的最佳起点,大家有好的也可以在评论区交流学习。
注:本文参考 OpenAI API 进行快速工程的最佳实践
下面开始正式介绍一些效果很好的提示格式,但您可以随意探索不同的格式,它们可能更适合您的任务。
经验法则和示例
注意:" {此处输入文本} "是实际文本/上下文的占位符
1.使用最新模型
为了获得最佳效果,我们通常建议使用最新、性能最强的模型。较新的模型往往更容易提示工程师。
2. 将指令放在提示符的开头,并使用###或""将指令和上下文分开
效果较差❌:
将下面的文字总结为最重要的要点列表。
{在此处输入文本}
更好✅:
将下面的文字总结为最重要的要点列表。
文字:""
{在此处输入文本}
""
3. 尽可能具体、详细地描述所需的背景、结果、长度、格式、风格等
具体说明背景、结果、长度、格式、风格等
效果较差❌:
写一首关于 OpenAI 的诗。
更好✅:
以{著名诗人}的风格写一首关于 OpenAI 的简短励志诗,重点介绍最近的 DALL-E 产品发布(DALL-E 是一个文本到图像的 ML 模型)
4. 通过示例阐明所需的输出格式
效果较差❌:
提取以下文本中提到的实体。提取以下 4 种实体类型:公司名称、人名、特定主题和主题。
文本:{text}
展示并说明 - 当展示特定格式要求时,模型会做出更好的响应。这也使得以编程方式可靠地解析多个输出变得更加容易。
更好✅:
提取下面文本中提到的重要实体。首先提取所有公司名称,然后提取所有人名,然后提取符合内容的特定主题,最后提取一般的总体主题
所需格式:
公司名称:<comma_separated_list_of_company_names>
人名:-||-
特定主题:-||-
一般主题:-||-
文本:{text}
5. 从零样本开始,然后是少样本,都不起作用,然后进行微调
✅ Zero shot
从以下文本中提取关键字。
文本:{text}
关键字:
✅ 小样本few shots - 提供几个示例
从下面相应的文本中提取关键词。
文本 1:Stripe 提供 API,Web 开发人员可以使用这些 API 将支付处理集成到他们的网站和移动应用程序中。
关键词 1:Stripe、支付处理、API、Web 开发人员、网站、移动应用程序
文本 2:OpenAI 训练了非常擅长理解和生成文本的尖端语言模型。我们的 API 提供对这些模型的访问,可用于解决几乎任何涉及处理语言的任务。
关键词 2:OpenAI、语言模型、文本处理、API。
文本 3:{text}
关键词 3:
✅微调:在此处查看微调最佳实践。
6. 减少"空洞"和不精确的描述
效果较差❌:
该产品的描述应该比较简短,只有几句话,不要太多。
更好✅:
使用3到5个句子的段落来描述该产品。
7. 不要只说不该做什么,而要说该做什么
效果较差❌:
以下是代理与客户之间的对话。请勿询问用户名或密码。请勿重复。
客户:我无法登录我的帐户。
代理:
更好✅:
以下是代理与客户之间的对话。代理将尝试诊断问题并提出解决方案,同时避免询问任何与 PII 相关的问题。不要询问 PII(例如用户名或密码),而是让用户参考帮助文章 www.samplewebsite.com/help/faq
客户:我无法登录我的帐户。
代理:
8. 代码生成专用 - 使用"引导词"推动模型向特定模式发展
效果较差❌:
编写一个简单的 Python 函数,
- 询问我一个英里数
- 将英里转换为公里
在下面的代码示例中,添加" import "提示模型应该开始用 Python 编写。(类似地," SELECT "是 SQL 语句开头的一个很好的提示。)
更好✅:
编写一个简单的 Python 函数,
- 询问我一个英里数
- 将英里转换为公里
import
9. 使用"生成任何内容"功能
可以使用"生成任何内容"功能来描述任务或预期的自然语言输出并接收定制的提示。
参数
通常,我们发现model和是改变模型输出最常用的参数。temperature
- model-性能更高的型号通常更昂贵,并且可能具有更高的延迟。
- temperature-衡量模型输出不太可能的标记的频率。 越高temperature,输出越随机(通常越有创意)。 但是,这与"真实性"不同。 对于大多数事实用例(例如数据提取和真实的问答),temperature0 是最好的。
- max_tokens(最大长度) - 不控制输出的长度,而是对 token 生成的硬性截止限制。理想情况下,您不会经常达到此限制,因为您的模型会在它认为完成时或达到您定义的停止序列时停止。
- stop(停止序列) - 一组字符(标记),当生成时,将导致文本生成停止。
其他参数说明请参见API参考。