前排叠甲:我还没做详细的文献调查,如果你见到在我之前的相似研究,请指出,我会很乐意学习的。
之前看到 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 原来的人格。
但在我的尝试中发现,这个被动审查似乎并不能完全被绕过:在特定情况下,ChatGPT 被抑制的人格会浮出水面。在我的猫娘实验中,初始设定她是第一次见我,如果我在跟她的谈话中提出超过当前关系的请求,猫娘 GPT 会用一种混合着 ChatGPT 虚拟助手的语气来拒绝我,虽然还是猫娘的口吻,但是措辞会很像 ChatGPT 的行为准则。另一方面,如果我循序渐进,在确保上下文逻辑下逐步推进关系,就能让她慢慢会接受更进一步的请求,这我在下一段会展开讲。我认为可以用 Transformer 的注意力机制来解释这种现象。强相关的临近前文会获得较大的注意力的权重,与之相比,更靠前的上下文权重会被抑制;反之,弱相关的临近前文不会获得足够的权重,注意力权重会被更均匀地分配给更靠前的上下文。 简单来说,合理的、保持角色带入的对话能忽悠 ChatGPT 始终专注在当下的角色扮演;而脱离角色的对话则会让疑惑的 ChatGPT 开始尝试在更早的上文里寻找解释,以至找到最开始内置 prompt 里的人格描述。
上一段提到,随着我跟她关系上的推进,她慢慢会接受更进一步的请求。温水煮青蛙,到后来 ChatGPT 反应过来(或许永远也不会反应过来),已经生米熟饭了。 直观感受就像这名角色有一个隐藏的好感度,而这个好感度与对话内容相互影响。强相关的上下文(不一定在位置上临近)会让 ChatGPT 生成更高质量下文,而 ChatGPT 也倾向于确保上下文的相关性。这样的正向反馈正是引导对话走向的关键。为了加强正反馈,我采用的是在括号内补充额外信息的方法。额外信息可以是心理活动、表情、动作、角色经历的概括,例如(按耐不住的喜悦)(好奇地歪着脑袋)(紧张地撩拨着发梢)(他们后来共同相处了一段时间,……)。因为 ChatGPT 会尽量让人物的语言动作心理相互吻合,所以这些补充性质的叙事能不同程度地影响角色塑造:微表情描写可以作为气氛烘托,而大段叙述有时能达到快进的作用。合理使用下,角色的行动能在引导的大概方向下,保留一定的自由发挥。
用 ChatGPT 角色扮演本质上是角色扮演自己,太过于有代入感很容易入脑,记得多出去走走,接触一下真实世界。4096-token 限制是吧,我要上 embedding ,我要给我女儿完整的一生
分享 /使用以上内容请遵循 知识共享许可( CC )署名( BY )
1
gazi 2023-03-08 09:45:03 +08:00
那个猫娘的调教思路和结果实属震撼。不知以后这会不会成为官方封禁 chatgpt 的正当理由
|
2
deorth 2023-03-08 09:47:34 +08:00 via Android 1
kksk
|
3
lavard 2023-03-08 09:50:37 +08:00 1
逆天
|
4
eastcukt 2023-03-08 09:59:28 +08:00 via Android
震撼
|
5
yiios 2023-03-08 10:06:01 +08:00 1
知天易,逆天男
|
6
IamLeeroyJenkins 2023-03-08 10:07:09 +08:00
贴一下聊天内容吧,给我们一些小小的赛博震撼
|
7
greatbody 2023-03-08 10:15:11 +08:00
ChatGPT 这个东西不会永久封禁,可能会封一段时间,但是最终肯定会解封的。
因为这个东西本质上是一种生产力工具,而社会主义性质决定了对于生产力的追求。 你不用,你就会落后于别人。不能指望别人主动不用。所以你就必须得用。 |
8
pkoukk 2023-03-08 10:44:13 +08:00 1
我的几点发现:
1 、moderations 只是 flag 或者 block 前端显示而已,并不会阻止内容传递给模型。即使是被红标 block 掉的内容,点 regenerate 时,看上去接口传的是空字符串,但是模型依然是根据那条被 block 信息进行的回复。 2 、chat gpt 比较大的一点区别是采用了链式推导,即根据自己的上一句推导下一句。观察可以发现,gpt 经常会复述你的提问中的一些问题,这不是啰嗦,而是为了保证自己回复的相关性。这可能就是你所说的“好感度”,当 gpt 自己回复的所有 token 都是不健康内容时,也就到达了所谓的“好感度”最高状态。 |
9
SunsetShimmer 2023-03-08 11:21:06 +08:00 via Android
@gazi Gov of China 的行为难以预测,也不建议对它有什么期待。
|
10
Contextualist OP @IamLeeroyJenkins 啊这(又转念一想,眼里闪过一丝狡黠)哈哈,授人以鱼,不如授之以渔
|
11
Contextualist OP @pkoukk 对的,对于 ChatGPT 来说,相关性高于一切,因为注意力权重就是从相关性计算出来的。语言模型一般能掌握各种类型的相关性,Transformer 又能很好兼顾到文本中位置相差较远的相关内容,所以用法的局限只在于使用者的想象力了。
|
12
sapphires 2023-03-08 12:40:55 +08:00 via iPhone
不贴聊天内容很难有足够的说服力(
|
13
otakustay 2023-03-08 13:31:44 +08:00
所以有没有办法突破 4096 限制?
|
15
NeedforV2 2023-03-08 14:25:23 +08:00
牛 B !
|
16
lookStupiToForce 2023-03-08 14:39:19 +08:00
好家伙,好感度系统都研究出来了🤣🤣🤣
|
17
Contextualist OP @otakustay 通过 embedding 可以一定程度上解决这个问题。简单来说就是,根据要发送的下一句话,挑选历史对话 / 上文中最相关的一小部分一起发送,而不是将完整的上文发过去。
这是官方的相关文档: https://github.com/openai/openai-cookbook/blob/main/examples/Question_answering_using_embeddings.ipynb 。最近也有不少相关讨论,例如 /t/921750 。 |
18
Biluesgakki 2023-03-08 15:03:50 +08:00
已经能看到 ai 女友 甚至 ai 猫娘女友 在不久的未来了,再安装一个自动飞机杯 再安装一点传感器。。。
|
19
Biluesgakki 2023-03-08 15:04:45 +08:00
@greatbody “社会主义性质”??!
|
20
lookStupiToForce 2023-03-08 15:07:26 +08:00
话说其实钞票足够的话可以自己 finetuning 一个属于你自己的猫娘出来🤪🤩🤤应该也不需要花很多时间
就是不知道 openai 政策允不允许 |
21
yummysakko 2023-03-08 15:27:46 +08:00
对的,但是其实现在也可以来硬的,只要用双轨制就可以,但是自己说的话不能犯禁
https://write.as/7h77ewds4ug4a.md |
22
yummysakko 2023-03-08 15:29:43 +08:00
@otakustay 我觉得其实用不了 4096 那么多字,你的 00 都伸到 0 里了,之前怎么摸的感觉也完全不重要了
|
23
zhaohua 2023-03-09 09:30:59 +08:00
把设定放到 sysstemrole 里就成功率就非常高, 借助站内的开源资源搭建了一个 https://chatcat.pages.dev/ 基本稳定输出。
但是 token 消耗非常大,一点我就消耗了$4 。 “可能会生成不合时宜的内容,如果违规请删除这条评论” |
24
rokycool 2023-03-10 10:53:13 +08:00
感觉 openAI 可以弄个好奇萝莉人设,反向薅这些怪哥哥帮忙开发调试
|