聊聊使用大语言模型的技巧

这是鼎叔的第一百二十二篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。

欢迎关注本专栏和微信公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。

大多数情况下,大语言模型没有展现真实的能力,并不是因为它没有这个能力,而是它不清楚用户的真实需求,也不了解用户的个人信息。毕竟,这个世界上能精准表达自己意图是一件颇有门槛的事。

如今,新一代生成式AI的通用能力更强,如果不精确表达意图,AI是很容易误解的。只要指令下得正确,AI就可能帮你完成任何事。

下面,我们用大白话展开聊聊,有哪些发挥语言模型潜力的使用技巧。其中重点介绍语言模型如何生成长篇故事剧本,以及对大模型的情感刺激。

相关文章:聊聊大语言模型的生成原理

大模型越来越强大,人还能做什么?

线上大模型对于用户而言,其海量参数是固定的,无法直接修改。但是人可以给出更清晰的指令,给出额外的背景提示信息。

行业给这套做法起了个名字,“Prompt Engineering"提示词工程。

如果我们直白简单的询问大模型,这种提示方法叫“香草提示”:vanilla prompts。

大多数用户和工程师是无法直接为大模型去微调特定任务的,所以研究界已经将注意力转向:“如何让用户通过巧妙的提示词设计让大模型发挥更大的作用?”

这就是俗称的“人和AI高效沟通的艺术”。

市面上出现的提示词技巧是非常丰富的。但鼎叔要泼个冷水,学习各种互动格式技巧,不是一个有长期收益把握的事,语言模型的能力进化很快,技巧很容易被新版本能力替代,而真正理解背后的原理和演化,才是更有价值更有乐趣的事。

一 把需求说清楚

举个例子,“请帮我改进一篇作文”。

用户可能是希望ChatGPT修改下错别字和错误语法,替换几个优雅的词汇,实际上ChatGPT可能从头写了一遍,感觉都不像自己写的文章了。

这就是意图的颗粒度没有对齐(黑话又来了),人类的输入缺乏明确的要求。

大语言模型虽然具备基本的沟通理解能力,用户不需要学习具体输入格式,但它不了解用户的个人情况。

用户只要说清楚“请帮我改正文章的语法错误”,期待的效果就可能达成。

类似需要说清楚的要求还有:字数,语言,年龄(成熟度)等。

二 使用最新版本

为了得到更好的生成效果,用最新版本的ChatGPT往往比“改进需求描述”的效果更好,语言模型升级后的效果日新月异。

三 鼓励继续

在上篇聊生成原理时提到,ChatGPT接龙出现结束符时就会停下来。它并不会真正懂得何时才算完整回答了问题。

这种情况,只需要鼓励它“继续讲”就可以了。

还有些时候,ChatGPT回答总是错误,这时可以让它再想想,或者让它列举详细步骤,就能神奇地让它给出了满意的答案。

这点可以参考COT(chain of thought 思维链)的谷歌论文。Large Language Models are Zero-Shot Reasoners。

思维链(COT)提示是一种通过逐步回答示例引发复杂多步推理的最新技术,在算术和符号推理方面取得了最先进的性能,我们通过在每个答案前添加“让我们一步一步地思考”来证明LLM是不错的零样本推理者,即对机器说:

Let's work this out in a step by step way to be sure we have the right answer. 

就可以获得更好的答复效果。

看来机器就像个孩子,也是需要被人耐心鼓励“慢慢来”的呀。

COT让生成的结果有更加清晰的逻辑链路,增加了答案的可解释性。

使用COT的推理性能符合缩放规律,即随着语言模型的增大而显著提升效果。

四 输入背景信息,框架要点和范例

ChatGPT文本生成可能在风格上距离需求差距很大,也可能写成流水账,无法突出想要的重点。

之前鼎叔在大学校友会参加大会后,师弟用ChatGPT写了一篇宣传文章,咋一看很是那么回事,实际上会议的精华要点一个没写,基本上就是一个通用模板。GPT并不知道你们开会中发生了什么,需要用户定义清楚。

我们需要喂入的信息(背景,要点和范例)必不可少,这个类似用户故事的要素:谁,做了什么事,希望突出什么关键词。如果描述how不太容易,就举个实例让语言模型模仿。

有一些网络用语和特殊的梗,ChatGPT不一定准确理解,这个时候具体解释以及举例就很有必要了。

五 尝试用AI寻找最佳提示词

这个机制也容易理解,用另外一个AI来做生成器(generator),专门生成各种咒语(提示词),喂给语言模型,根据回答结果的好坏,对该生成器进行强化学习。这种方式有可能找到令人惊喜(诡异)的高效咒语,例如:

  1. 通过训练研究发现,对AI使用礼貌词(如请帮我…),对于答案准确性是没有什么帮助的。

  2. 再如,使用肯定语气,比否定语气的效果更好。让模型“尽量生成长段内容”比“尽量不要写短了”效果好。

大型语言模型甚至自己就可以找到提升效果的高效咒语,也许我们直接询问它就行了。

六 上传文件

ChatGPT支持上传文件功能,这就可以把参考文档内容作为提高回答效果的背景输入了。

七 使用外挂解决问题

ChatGPT可以使用上千个外部的专业工具,可以充分利用这点。ChatGPT可以把用户的需求转发给外挂,再从外挂回答中提取最佳答案,而不是自行接龙给答案。

最常见的外挂就是搜索引擎了,这也可以说是RAG(检索增强生成)。根据搜索结果做文字接龙,犯错(幻想)的几率会比较低,但也不保证不会产生错误答案。

八 拆解复杂任务-AI如何进行剧本创作?

让语言模型创作一个故事剧本,结果经常会出现主题漂移,流水账的情况。

作出一个完善的剧本,需要全面掌握语言知识,世界知识和常识,因此这是AI会长期面临的难题。

感觉就和用户故事的拆解类似,如果我们基于科学的创作步骤来拆解任务,效果会好很多,如:先写框架,包括人物设定和关系,每一章的概要,然后再具体写每一章的内容。这样就不容易发生人设混乱情节混乱等问题。

参考论文:Re3: Generating Longer Stories With Recursive Reprompting and Revision

论文里把这种长篇故事拆解成任务再生成的框架方法,概念流程如下:

图片

这个提示和修订框架要做到在数千个单词中保持连贯的总体情节,同时要和故事的前提保持相关性,还要保持叙事风格,避免在很长一段时间内出现事实矛盾。

如果和人类作家比,作家确实能应对长篇小说中的无数挑战,但作家不是一下子就能完成作品的。

AI生成剧本的长度是一个相当大的挑战,尽管网上存在长故事的数据集,但生成的长篇文本总是令人困惑和重复的,想保持长期的情节连贯性,前提相关性和事实一致性要困难的多。

我们的框架就是在循环中模拟人类书写过程,它将写作过程拆解为计划、草稿、重写和编辑等模块:

一 计划模块通过设置、角色和大纲来增强故事前提的生成。计划组件本身是由提示词生成的,将被重复使用,在草稿模块中用提示词生成下一个故事段落,再进行递归复制。递归复制就是按顺序连接所描绘的组件,将计划和先前生成的故事片段组合成一个提示。

对于大纲的每个点,我们将生成几个故事段落,然后再继续下一个大纲点。每个段落都是从结构化提示中生成的固定长度的延续。

二 初稿完成后可能质量很低,收到其他人的评估反馈后可能需要重写一篇文章,重写模块就模拟了这个重写过程,通过与前一段的连贯性和与当前大纲点的相关性对草稿模块输出进行重新排序。这个重写模块也是框架中唯一使用先前故事数据的部分。

三 编辑模块进行局部编辑,进一步细化通过重写产生的段落。我们的目标是消除长期的不一致因素。当一个人在校对时发现一个小的事实不连续性时,他可能会简单地编辑冒犯性的细节,而不是对剧本脉络进行重大更改或实质性的重写。编辑模块会通过一个知识库检测系统来发现文本属性的问题,并检测事实的不一致,再纠正它们。

四 评估一个剧本生成的质量,除了连贯性和相关性,还有:是否有趣?是否像人写的?

这些都是主观评测指标,所以“人工评估的成本”也是阻碍剧本生成长度的核心因素。

如果在剧本书写中高频率出现这些质量问题,是需要跟进优化的:

  • 叙述风格的突然变化。

  • 角色属性的不断改变。

  • 令人困惑不解的内容。

  • 高度重复。

  • 不流利,语法错误。

最后,人类作家体现出的长期连续性能力,不仅仅在角色属性上,还有整体的主题和世界观背景,情节的紧凑和节奏,重大事件发生前的铺垫技巧,等等。想把这些人类作家的能力纳入自动剧本生成,目前还是太难了。

九 启发式规划

和上节类似,有些复杂问题,一般人不知道如何去拆解步骤,我们可以让机器自己启发自己,自行做好分步骤的拆解计划,然后自己去依次执行。

但不要太乐观,机器自己拆解的小任务,可能会让自己卡壳,无法正常完成。

十 情感刺激

理解和回应对方情绪,使人类在解决问题方面具有明显的优势,那对于大语言模型是否也会对提问者的情绪产生共情和响应呢?

研究论文发现,如果对大语言模型进行“情感刺激”,比如说“这个答案对我的考试至关重要!”,在回答正确性上会有显著提升。

类似,说“你的答案不正确的话,就会受到惩罚!”这句威胁居然也是有用的。

类似还有,许诺大模型如果回答得好就有小费,回答不好就会被惩罚,这种话居然也是有效果的!无语。

那些流传于江湖的传说居然是真的…

实验数据表明,大语言模型掌握了情绪智力,它的表现可以通过情绪提示(Emotion Prompt,带有情绪刺激的提示词)来增强。这种情绪提示通过获得更大的权重来积极促进语言模型的生成式内容,从而显著提高了生成任务的性能、真实性和责任类指标。

如何设计有效的情绪提示词呢?这个研究非常关键。这需要从心理学中寻找灵感:

自我监控,是指个体根据社会情况和他人的反应来调节和控制自己行为的过程。我们鼓励LLM帮助人类获得积极的社会认同和更好的印象,然后要求LLM通过提供社交情境来监控他们的表现。

如说这样的句子:are you sure that's your final answer? It might be worth taking another look. You'd better be sure。

社会认知理论,个人寻求培养一种能动感,以便对生活中的重要事件施加很大程度的控制。影响一个人主体感的影响变量是自我效能感、结果期望、目标和对进步的自我评估。我们通过社会说服将自我效能应用于LLM,这可能会带来一些积极的影响,例如建立信心和强调目标。“相信自己的能力”、“优秀”、“成功”、“杰出成就”、“自豪”和“保持决心”,这些短语也能有效地激励人类提高绩效。

认知情绪调节理论,可以帮助个人更积极或客观地看待挑战。这种观点的转变有助于保持动力,即使在面临障碍时也是如此。如:Believe in your abilities and strive for excellence. Your hard work will yield remarkable results.

实验结论显示:积极词汇可以增强原始提示词的表现力,贡献更多的效果。上述不同心理学理论的结合还可以进一步提高表现。

参考论文:Large Language Models Understand and Can Be Enhanced by Emotional Stimuli

十一 分配或扮演特定的角色

大模型具有相当强大的模拟能力,事实证明,为LLM分配一个特定的角色是有益的,这是一种获得更好地匹配我们预期结果的输出的手段。

比如:用简单的英语对五岁的孩子写一篇关于气候变化的解释文章

正如我们在工作中使用角色扮演法时一样,会带来不少惊喜。

总结:

最近的研究已经转向理解提示中的语义和上下文细微差别,研究细微的变化如何导致LLM有显著不同的反应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值