ChatGPT以降,彻底引爆了AI,大模型进入了公众视野,每个人都可以享受AI带来的乐趣。大语言模型(Large Language Model LLM)虽然可以达到「类人」的水平,但仍需要以「大模型角度」去思考和对话才能最大限度的利用大模型的威力。这便是Prompt Engineer需要做的事情。今天就让我们学习总结一些Prompt技巧,以能优雅的训服大模型。
说起来挺吓人的,但其实也没那么复杂,只要稍学习一下,厘清LLM的本质,就能掌握到Prompt的精髓,从而就能大大提高使用LLM的效率。
本质是提问的技巧
大模型第一次达到了「类人」水平,用户可以用自然语言与计算机进行交流了。那么为了达到事半功倍的效果,我们就要精进提问的技巧,这便是Prompt Engineering。如何做呢?要把大模型视为精通某一领域的专业顾问,要以与专业顾问(比如导游,咨询师)对话的角度来看待问题。
比如说马上五一假期了,想要去上海玩,你问大模型『五一假期去上海玩,推荐一些行程』,大模型肯定会给你一个中规中矩的万能日程。这不能怪大模型,如果你如此问一个导游,负责的导游会直接反问你一大堆细节问题,因为这是行程所必须的;或者也是随便推荐一些大家都知道的地方。但肯定 是没有参考价值的。
为了达到最好的「沟通」效果,避免「Garbage In, Garbage Out」,就需要:
- 视为在与专业人士对话,也就是要拟定大模型的角色
- 一次对话尽可能的专注于一个问题或者一个主题
- 把问题描述清楚,需要的关键要素都列清楚,比如时间,地点人物,关键事件等等
- 限定问题,也就是说要尽可能多的补充问题细节,限定问题需要的回答,比如说可以做什么,不可以做什么,需要什么是时间点
- 恰当的分隔,要多多使用标点符号对提问进行分隔,这样更有利于大模型抓住重点
可以发现,这其实是沟通的技巧,抛开大模型,我们与正常的人沟通时,不也应该这样做吗?平时里的闲聊除外,正式的与人沟通时也应该使用这些技巧以达到最好的沟通效果。所以,最先需要掌握就是沟通技巧中的提问技巧。
继续我们上面的问题,使用上面的方法来优化提示:『五一假期,从南京出发,坐高铁,目的地上海,亲子3日游,不去迪士尼,不去动物园,安排详细行程』。这回得到的回答肯定有更大的参考价值。
及时补充上下文
大语言模型较以往的AI最大的进步在于超长的上下文记忆能力,这是它能达到「类人」水平的最主要的原因。那么在与大模型进行对话的时候,就要及时的补充上下文信息。一方面,你不可能一次性的把提问信息全都写全写对,那么一旦想到新的提示,就要及时的给到大模型;另外一方面,大模型有时候会胡编乱造,甚至胡言乱语(大模型都有一个叫做温度temperature的参数以控制这方面的行为),这并不是bug,而是语言创造力的一个体现。那么,一旦发现大模型跑偏了,就需要及时提供新的提示,补充上下文信息,对大模型进行纠正。
另外,就是如果感觉问题不太好理解,或者对输出有特殊的要求,还有一个补充上下文的办法就是给一个输出的示例,大模型是能够很好的捕获这一点的,并且这个对让大模型输出优质的回答非常有帮助。
不用担心溢出哈(就是输入字数太多,导致大模型理解不了),都4202年了,现在的大模型的上下文能力至少在4096个Token以上,对于大部分的常规问题来说足够了。
掌握常见的命令和特殊标记
大模型的输入是自然语言,但计算机毕竟是程序化的机器,那么就会有一些特殊的命令和标记以代表一些常用的功能。这个其实不是大模型所特有的,凡是接收字符串输入的地方,都会有一些特殊的命令和标记,如搜索引挚,如一些聊天应用。
特殊命令和特殊标记的作用在于简化输入,提升效率,特别是对于一些复杂的问题,比如像专业领域的问题,标准化的标记能大大的加强共识程度。这也跟大模型关系不大,就比如说数学和物理学上的符号,能达到一符号胜千言。
命令就是简洁,清晰和无歧义的动词:如描述,拟定,写出,规划等等。
而特殊标记则像方括号[],三个引号"“”,三个###等等。
理解专业领域知识
前面的几点都是一些通用的提示优化小技巧,适用于常规的通用的小问题。如果是专业领域的问题,光有以上的技巧明显是不够的。这时就需要领域知识了,对领域要有深刻的理解,并熟悉领域的专业术语,把抽象的,泛化的问题或者需求,用专业术语进行描述,甚至对领域进行建模,转化为详细的,具体的提示词。然后输入到大模型,由大模型进行求解或者实现。最为典型的两个领域就是代码生成和图像生成,这是两个专业性比较强的领域,对结果的要求也比较高,因此对提示词的要求也更高。
Code prompts
要想让大模型写出更好的代码,就必须尽可能详细的给出代码要素,例如:编程语言必须指明,输出输出的参数或者格式必须指明,把限制说清楚,比如不能用什么,比如时间空间复杂度的限制,最重要的就是把需求写清楚,也就是要实现什么功能的代码。
图像生成
对于像Stable Diffusion的AIGC,更是需要一些特定领域的专业知识,才能写出比较好的提示词,达到预期的效果。比如提示词中要包含艺术风格,尺寸,比例,色彩,线条等等,而且要是关键词式的。所以,已经有[一些工具],直接给出各种领域参数的可选择的具体值,以代替文本输入框,只需要在众多的参数的值中选择后,即可生成图片,确实方便很多。
优质的资源
Prompting是有固定的套路可循的,就好比写代码,不用重复造轮子,已经有很多优质的prompt模板了。学会坐在现成的轮子上面,不但可以提高效率事半功倍,且能走的更稳更远。
GitHub是个座金矿,每当需要什么资源的时候就去搜索「awesome xxx」就能得到非常优质的相关资源合集,这比自己一个一个的去找要方便太多了。
Prompt Engineer工具
提示工程Prompt Engineering已经成为了一个新的专业,有专职的职位叫做提示工程师Prompt Engineer,它们需要对领域有深刻理解,把抽象的,泛化的需求,描述为具体的提示词以让大模型去求解或者实现。除了提示工程师外,也有专门的提示工具,用以生成提示词,或者帮助做提示优化,当不知道如何提示时,或者想优化提示词时,就可以使用这些工具来帮忙:
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓