“ 知其然也要知其所以然,为什么会有提示词工程?”
了解和使用过大模型的人应该都知道提示词工程,即使不了解提示词工程,至少也应该听说过,提示词工程说白了就是一种和大模型交流的方法,它的作用就是让大模型更好的理解人类的需求。
而且在网上很多关于大模型提示词的文章和视频中,都提到了提示词的质量能够直接影响到大模型的性能和推理效果。
但很少有人能明白这是为什么?为什么不同的提示词会产生完全不同的效果。
今天我们就来透过现象看本质,深入了解一下提示词工程。
01.提示词工程的背后
要知其然也要知其所以然
在我们学习大模型技术的时候,很多文章和视频教程都告诉我们要写好提示词,好的提示词能直接影响到大模型的输出质量。
但从来没有人告诉你,为什么不同的提示词会得到完全不同的结果,换句话说为什么会有提示词的出现?
技术的出现是有一个先后顺序的,先有的提示词,再有的提示词工程;提示词工程是为提示词服务的,目的就是怎么写出一个更好的提示词。
简单来说就是,大家把写提示词的经验总结成一种方法,这个方法就叫做提示词工程。
OK了解了提示词和提示词工程之间的关系,那么就来回答上面那个问题。
为什么会有提示词?
提示词的产生是有历史原因的,虽然这个历史很短。
我们知道人工智能的发展经历了多个阶段,虽然近些年机器学习大行其道,但并没有产生特别大的影响,直到openAI基于Transformer架构开发出了GPT系列,特别是GPT-3版本发布,以及谷歌发布的BERT模型。
在GPT和BERT模型开发前期,由于参数量小,模型体量也小,直接的结果就是当时的模型训练成本比较低;因此,那时开发大模型主要以预训练和微调为主。
这时研究深度学习模型的方法也被称为——预训练-微调范式。
但直到GPT-3的出现,模型的参数出现爆炸式增长,直接从刚开始的上亿参数量增长到上千亿参数量;这时大模型这个词出现了,大模型代表的不只是模型规模大,参数量多;也代表着模型的训练和微调成本直线上升。
比如说,GPT-3模型训练成本好像达到了上千万美元;因此,从成本的角度训练和微调模型不再是一个好的选择。
这时,大家就开始考虑一个问题,上千亿参数的模型已经具有了非常丰富的知识量,那么怎么更好的更有效率的利用好这些知识呢?
我们知道,在预训练和微调学习范式中,需要通过训练数据不断调整模型的参数来让模型达到最优解。
而经过一段时间的研究和实验,这时就有人发现了一种在不需要调整大模型参数的情况下,用少量样本或零样本的方式,就可以让大模型输出更好的结果。
基于这种结果,人们又经过其它研究发现,对同一个问题使用不同的提示词会输出不同的结果。
简单来说就是,提示词写的越好,模型的输出效果越好,因此就把这种现象命名为提示学习。
而为什么会产生这种现象,这个就像大模型的涌现能力一样,它是一种现象,但不知道产生的原因。
所以总结来说,提示学习是一种基于实验发现的一种现象,它能够在不改变模型参数的前提下,让模型拥有更高的输出质量。
因此,基于提示学习这个理论就产生了提示词,而怎么把提示词写的更好就有了提示词工程。
不同提示词产生不同效果的原因
网上也有这种说法,在预训练-微调阶段是让大模型去适配不同的任务;比如,电商类大模型需要用电商数据进行训练或微调,工业类大模型需要使用工业数据进行训练或微调。
而提示学习阶段,却是让任务去适配大模型;就类似于男女之间的感情,在之前大都是男追女,男人需要给女人买礼物,请客吃饭等等,需要花费大量的金钱;而最近两年男人突然明白过来了,我不追了,花钱把自己收拾干净,买房买车让女人倒追。
下面我们用一个例子来说明为什么提示词不同,效果也不同,拿一个情感分类任务来说:
问题 Q = “这个电影不错”
加上提示词模板P_Q = “这个电影不错,我很喜欢,因此这是一个X电影”。
这里的X就是大模型需要预测的结果,而如果再把这个X加一个限定范围,比如A:无趣的,B:好玩的;这时大模型就可以轻易的判断出这是一个好玩的电影。
而不加提示词模板,模型给出的答案可能就千奇百怪,比如说这是一个难看的电影,这是一个糟糕透顶的电影,这是一个某某主演的关于某某事情的电影等等,都是有可能的。
而这就是为什么提示词工程中有些人会要求,写提示词要给大模型设定角色,背景,明确任务要求,限定任务范围等要求。
基于NLP自然语言处理模型开发的人工智能机器人,感兴趣的可以点击查看:
总结
简单来说,不论是预训练-微调,还是提示词都是为了让模型表现的更好,为了发挥大模型庞大知识能力的一种方式,而提示词是一种成本相对较低的方式。
而对使用者来说,使用第三方模型是根据Token进行计费的,而更长的提示词意味着更多的Token,因此怎么写出一个简短又高质量的提示词就是一个需要考虑的问题。
如何学习大模型 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 的正确特征了。