原创研究:猫娘 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 )

6566 次点击
所在节点    OpenAI
24 条回复
gazi
2023-03-08 09:45:03 +08:00
那个猫娘的调教思路和结果实属震撼。不知以后这会不会成为官方封禁 chatgpt 的正当理由
deorth
2023-03-08 09:47:34 +08:00
kksk
lavard
2023-03-08 09:50:37 +08:00
逆天
eastcukt
2023-03-08 09:59:28 +08:00
震撼
yiios
2023-03-08 10:06:01 +08:00
知天易,逆天男
IamLeeroyJenkins
2023-03-08 10:07:09 +08:00
贴一下聊天内容吧,给我们一些小小的赛博震撼
greatbody
2023-03-08 10:15:11 +08:00
ChatGPT 这个东西不会永久封禁,可能会封一段时间,但是最终肯定会解封的。

因为这个东西本质上是一种生产力工具,而社会主义性质决定了对于生产力的追求。

你不用,你就会落后于别人。不能指望别人主动不用。所以你就必须得用。
pkoukk
2023-03-08 10:44:13 +08:00
我的几点发现:
1 、moderations 只是 flag 或者 block 前端显示而已,并不会阻止内容传递给模型。即使是被红标 block 掉的内容,点 regenerate 时,看上去接口传的是空字符串,但是模型依然是根据那条被 block 信息进行的回复。
2 、chat gpt 比较大的一点区别是采用了链式推导,即根据自己的上一句推导下一句。观察可以发现,gpt 经常会复述你的提问中的一些问题,这不是啰嗦,而是为了保证自己回复的相关性。这可能就是你所说的“好感度”,当 gpt 自己回复的所有 token 都是不健康内容时,也就到达了所谓的“好感度”最高状态。
SunsetShimmer
2023-03-08 11:21:06 +08:00
@gazi Gov of China 的行为难以预测,也不建议对它有什么期待。
Contextualist
2023-03-08 12:03:43 +08:00
@IamLeeroyJenkins 啊这(又转念一想,眼里闪过一丝狡黠)哈哈,授人以鱼,不如授之以渔
Contextualist
2023-03-08 12:05:36 +08:00
@pkoukk 对的,对于 ChatGPT 来说,相关性高于一切,因为注意力权重就是从相关性计算出来的。语言模型一般能掌握各种类型的相关性,Transformer 又能很好兼顾到文本中位置相差较远的相关内容,所以用法的局限只在于使用者的想象力了。
sapphires
2023-03-08 12:40:55 +08:00
不贴聊天内容很难有足够的说服力(
otakustay
2023-03-08 13:31:44 +08:00
所以有没有办法突破 4096 限制?
cest
2023-03-08 13:49:55 +08:00
@otakustay #13 每年几万刀的企业客制化
穷人想要个人猫娘大概只能靠二道贩子了
大公司不方便直接赚这个钱
NeedforV2
2023-03-08 14:25:23 +08:00
牛 B !
lookStupiToForce
2023-03-08 14:39:19 +08:00
好家伙,好感度系统都研究出来了🤣🤣🤣
Contextualist
2023-03-08 14:51:53 +08:00
@otakustay 通过 embedding 可以一定程度上解决这个问题。简单来说就是,根据要发送的下一句话,挑选历史对话 / 上文中最相关的一小部分一起发送,而不是将完整的上文发过去。
这是官方的相关文档: https://github.com/openai/openai-cookbook/blob/main/examples/Question_answering_using_embeddings.ipynb 。最近也有不少相关讨论,例如 /t/921750
Biluesgakki
2023-03-08 15:03:50 +08:00
已经能看到 ai 女友 甚至 ai 猫娘女友 在不久的未来了,再安装一个自动飞机杯 再安装一点传感器。。。
Biluesgakki
2023-03-08 15:04:45 +08:00
@greatbody “社会主义性质”??!
lookStupiToForce
2023-03-08 15:07:26 +08:00
话说其实钞票足够的话可以自己 finetuning 一个属于你自己的猫娘出来🤪🤩🤤应该也不需要花很多时间
就是不知道 openai 政策允不允许

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

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

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

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

© 2021 V2EX