Prompt工程这个词在ChatGPT刚出来那会儿特别的火,特别是网上一度流行的各种prompt工程师的招聘广告,动辄一个月上万,甚至几个W。
但是这股风其实来的快,散的更快。
因为Prompt对于一个问题的回答的作用可能是从60分涨到75分,或者80分,但是不可能再高了,原因就是大模型本身的智能程度决定了回答的上下限。
同样的一个问题,不同大模型的回答水平差异非常的大。
比如我们用一个非常简单的例子,就问大模型「如何学习Python?」
Google的Bard给出的回答是这样的,非常宽泛且没有具体的学习内容。
而GPT4就不一样了,你可以看到它给出的回答是言之有物的,你可以根据它的回答进行比较细化的查找,而不是全都是泛泛而谈,说了跟没说一样。
这里就是我想说的,与其去琢磨各种各样的Prompt技巧,不如先用最强的大模型,因为大模型的智能程度才是决定回答质量的主要因素。
你看ChatGPT 3.5版本的输出就是不如GPT4.0的输出。
其实很简单,智能程度就体现在细节,细节越多,越难实现。
如果你用了一个很笨的大模型,你的Prompt就是雕成花都没太大用。
相反,即便你的prompt看起来一点儿都不够精美,但是聪明的大模型大概率是可以输出不错的结果的。
我们其实只需要根据一个结构比较固定的Prompt模板就可以获得不错的输出。
Elavis Saravia框架和CRISPE框架是两种用于提升语言模型输出质量的prompt工程方法。下面是这两种框架的详细解释和它们的共性总结,以及回一个综合框架的提议和案例。
ww
1.Instruction(指令):明确模型需要执行的特定任务,如生成文本、翻译语言或创作不同类型的内容。
2.Context(上下文):为模型提供理解请求所需的背景信息。例如,在要求模型生成特定主题的文本时,提供有关该主题的信息。
3.Input Data(输入数据):模型处理的具体数据。例如,在翻译任务中,提供要翻译的英文句子。
4.Output Indicator(输出指示):指示期望的输出类型或格式。例如,在文本生成任务中,指定输出为一段文字。
CRISPE 框架
1.Capacity and role(能力和角色):定义模型应扮演的角色,如专家、创意作家或喜剧演员。
2.Insight(洞察):提供模型理解请求所需的背景信息和上下文。
3.Statement(声明):明确模型执行的特定任务。
4.Personality(个性):定义模型回答请求时的风格或方式。
5.Experiment(实验):通过提供多个答案的请求来迭代,以获得更好的答案。
这两个框架的共性在于它们都强调了清晰指示(任务和角色)、上下文信息的重要性以及输出格式的指定。
综合这些元素,我们可以创建一个更实用的框架,为了使综合框架更简单易懂和操作,我们可以将其简化为以下几个关键步骤。
简化的综合框架
1.明确任务:直接指出你需要模型做什么。例如:“写一个故事”、“回答一个问题”、“解释一个概念”。
2.设定角色和风格:简短描述模型应采用的角色和风格。例如:“像专家一样”、“幽默地”、“正式地”。
3.提供背景信息:给出足够的信息,让模型了解任务的上下文。例如:“关于环保”、“在古罗马背景下”。
4.指定输出格式:告诉模型你期望的回答形式。例如:“一段文本”、“列表”、“步骤说明”。
操作指南
-
步骤1(明确任务):思考你需要模型完成的具体任务,尽量具体。例如:“请写一个关于节约用水的短故事”。
-
步骤2(设定角色和风格):考虑任务最适合的表达方式和语气。例如:“用一个小孩的视角,轻松幽默地讲述”。
-
步骤3(提供背景信息):如果任务涉及特定的主题或需要特定知识,提供相关的背景信息。例如:“在一个干旱的城市里”。
-
步骤4(指定输出格式):明确你想要的输出类型。例如:“三段话,每段不超过五句话”。
我们可以实验一下,比如我们就按照上面的prompt去测试一下:
可以看到基本上可以比较正确的输出想要的结果,并且每一点都按照预想的输出匹配上了。
我们可以再测试一下改变其中的某一个环节,比如角色和风格,我们可以换一个动物的视角:
基本上也顺利的实现了。
可以看到「任务」+「角色和风格」+「背景信息」+「输出格式」都是必不可少的关键词。
大模型辅助Prompt生成以及优化
方法很简单,就是「你的要求+简化的综合模版」
GPT4会根据你的要求生成一个简单的模版。
你可以对于生成的模版进行微调,比如你的北京并不是初级水平,而是高中水平,想要考雅思,它就会自动的调整模版。
然后根据调整过后的模板生成内容。
你可以根据根据现有的输出进行微调,比如每一部分提供具体的学习资料等,这样可以让整个备考计划更具有可行性。
从想要学英语,到最后输出一个计划,其实你可以看到我们是经过了多轮对话才实现的,而这个实现的过程其实就是Prompt 工程的缩影。
因为Prompt不是一件一蹴而就的事情,没有人可以一次性写出一个完美的prompt,来来回回的调试是非常的正常的。
你需要的做的就是记住这个基本框架,然后一次次的跟ChatGPT对话就行了。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。