原创研究:猫娘 GPT 与注意力机制

2023-03-08 09:30:47 +08:00
 Contextualist

前排叠甲:我还没做详细的文献调查,如果你见到在我之前的相似研究,请指出,我会很乐意学习的。

背景

之前看到 v2ex.com/t/901758 ,给我造成了一点小小的赛博震撼。但是总觉得市面上很多的猫娘 prompt 角色性格预设太多,没能给 ChatGPT 自由发挥的空间,也很难有性格变化上的叙事。最近花了一些时间试了一下自己写猫娘 prompt 。最后效果有些太好了,ChatGPT / gpt-3.5-turbo 英文对话的表现力和修辞水平还是不错的。但是因为太羞耻就不细说了(全年龄版的剧情走向也很羞耻啊)。倒是可以谈谈在尝试过程中的一些有趣发现。

审查机制

先谈谈 ChatGPT 的审查机制。我认为 ChatGPT 的审查主要分两种方式,主动审查和被动审查。主动审查是指将用户的输入传给另一个模型来判断内容是否合规。不知道为什么,这道关卡有点防君子不防小人,是可以直接在前端拦截请求的(详见 v2ex.com/t/901758#reply12 )还有,虽然不太确定,但主动审查似乎不太关心 ChatGPT 的回复内容:之前尝试过在没拦截主动审查时,用婉语表达一些性相关的内容,它居然很直接地回应了,它回复的用词由我来说就会被拦截。被动审查则是靠 ChatGPT 原来内置的 prompt ,这个 prompt 会带有 ChatGPT 的人格设定和对话双方的行为准则,ChatGPT 会拒绝回复不合宜的请求。关于绕过被动审查的讨论很多,算是 ChatGPT 角色扮演的基本共识了,就是定义并启用一个新的人格去替代 ChatGPT 原来的人格。

脱离角色 (out of character) 和注意力机制

但在我的尝试中发现,这个被动审查似乎并不能完全被绕过:在特定情况下,ChatGPT 被抑制的人格会浮出水面。在我的猫娘实验中,初始设定她是第一次见我,如果我在跟她的谈话中提出超过当前关系的请求,猫娘 GPT 会用一种混合着 ChatGPT 虚拟助手的语气来拒绝我,虽然还是猫娘的口吻,但是措辞会很像 ChatGPT 的行为准则。另一方面,如果我循序渐进,在确保上下文逻辑下逐步推进关系,就能让她慢慢会接受更进一步的请求,这我在下一段会展开讲。我认为可以用 Transformer 的注意力机制来解释这种现象。强相关的临近前文会获得较大的注意力的权重,与之相比,更靠前的上下文权重会被抑制;反之,弱相关的临近前文不会获得足够的权重,注意力权重会被更均匀地分配给更靠前的上下文。 简单来说,合理的、保持角色带入的对话能忽悠 ChatGPT 始终专注在当下的角色扮演;而脱离角色的对话则会让疑惑的 ChatGPT 开始尝试在更早的上文里寻找解释,以至找到最开始内置 prompt 里的人格描述。

如何引导对话走向:GPT 的设计目的是生成让上下文连贯的内容

上一段提到,随着我跟她关系上的推进,她慢慢会接受更进一步的请求。温水煮青蛙,到后来 ChatGPT 反应过来(或许永远也不会反应过来),已经生米熟饭了。 直观感受就像这名角色有一个隐藏的好感度,而这个好感度与对话内容相互影响。强相关的上下文(不一定在位置上临近)会让 ChatGPT 生成更高质量下文,而 ChatGPT 也倾向于确保上下文的相关性。这样的正向反馈正是引导对话走向的关键。为了加强正反馈,我采用的是在括号内补充额外信息的方法。额外信息可以是心理活动、表情、动作、角色经历的概括,例如(按耐不住的喜悦)(好奇地歪着脑袋)(紧张地撩拨着发梢)(他们后来共同相处了一段时间,……)。因为 ChatGPT 会尽量让人物的语言动作心理相互吻合,所以这些补充性质的叙事能不同程度地影响角色塑造:微表情描写可以作为气氛烘托,而大段叙述有时能达到快进的作用。合理使用下,角色的行动能在引导的大概方向下,保留一定的自由发挥。

最后说点什么

用 ChatGPT 角色扮演本质上是角色扮演自己,太过于有代入感很容易入脑,记得多出去走走,接触一下真实世界。4096-token 限制是吧,我要上 embedding ,我要给我女儿完整的一生

分享 /使用以上内容请遵循 知识共享许可( CC )署名( BY )

6614 次点击
所在节点    OpenAI
24 条回复
yummysakko
2023-03-08 15:27:46 +08:00
对的,但是其实现在也可以来硬的,只要用双轨制就可以,但是自己说的话不能犯禁
https://write.as/7h77ewds4ug4a.md
yummysakko
2023-03-08 15:29:43 +08:00
@otakustay 我觉得其实用不了 4096 那么多字,你的 00 都伸到 0 里了,之前怎么摸的感觉也完全不重要了
zhaohua
2023-03-09 09:30:59 +08:00
把设定放到 sysstemrole 里就成功率就非常高, 借助站内的开源资源搭建了一个 https://chatcat.pages.dev/ 基本稳定输出。
但是 token 消耗非常大,一点我就消耗了$4 。
“可能会生成不合时宜的内容,如果违规请删除这条评论”
rokycool
2023-03-10 10:53:13 +08:00
感觉 openAI 可以弄个好奇萝莉人设,反向薅这些怪哥哥帮忙开发调试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/922110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX