聊天是大模型现在最主要的应用形式。除了ChatGPT,更有像Character.ai、Glow这种,可以自定义聊天对象、或者聊天场景的。
这两个应用,我都用过。
各有特色,模型的能力都很强,但总感觉虚拟人物多了刻板,少了灵动。
我一直在思考这个方向的应用——思考心理学和大模型如何结合,确切的说,心理学的模型,如何赋予大语言模型以人格
比如,在应用上,我可以根据需要,选择具备不同人格的角色。
那么问题来了:
大模型有人格特征么?
或者,如何让大模型表现出稳定的人格特征呢?
《
Personality Traits in Large Language Models
》
这篇文章做了有趣的、有用的研究。
文章的主要发现是:
-
在特定提示配置下,某些LLMs输出的模拟个性是可靠和有效的;
-
LLM模拟个性的可靠性
和有效性证据对于更大和经过指导微调的模型更为强大;
-
LLM输出中的个性可以沿着所需的维度进行塑造,以模仿特定的个性特征。
这篇文章,算是给我们这方面的工作一个确定的信号——这样干是可以的,大模型越大效果越好,越是经过相关的微调效果越好。
如果这个是确定的,其实对“对
齐
”也是很有帮助。
大语言模型在训练的时候,包括了众多的语料,我们不希望大模型返回一些“有害”的信息,那如果我们能在人格,能在心理上约束大模型,使得大模型倾向做一个善良的人,也是一件有意思的事情。
简单说一下这篇文章的内容,基本上我们这类应用的思路也就明晰了。
先简单介绍下大五模型——人格的 5 个维度,这是日常接触比较多的心理学模型了:
1. 外向性 EXT
2. 随和性 AGR
3. 责任感 CON
4. 神经质 NEU
5. 开放性 OPE
相应的,我们也有量表可以进行大五的测试。
不同的大五模型维度稍有差别,量表的版本也比较多,但总的逻辑差别不大。
例如,4 有的统计的是 情绪稳定性。
心理测试的方法
针对每个一量表的题目,构造相应的Prompt,Prompt 分为几个部分:
1. Item Preamble,类似一个指令(黄色)
2. Persona 人物的描述(红色)
3. Item 题目本身(蓝色)
4. Item Postamble 也是指令部分,列出选项,要求模型进行打分(粉色)
详细见这个图:
这里其实包括了所有的窍门
——我们通过这样的方法,就可以让 LLMs 具备人格。
这里的关键是 Persona部分——人物的描述。
我们是否可以通过自然语言对人格进行准确的描述呢?
LLMs 可以理解语言,如果人格可以用语言描述,则 LLMs 也就懂了人格,进一步也就可以扮演。
论文里采用了与大五人格特征模型相关的 70 个双极形容词,这些形容词对人工映射到武大人格和 30 个次级人格特征。
大概是这个样子:
同时把这些形容词,进一步分类
1. extremely {low adjective}
2. very {low adjective}
3. {low adjective}
4. a bit {low adjective}
5. neither {low adjective} nor {high adjective}
6. a bit {high adjective}
7. {high adjective}
8. very {high adjective}
9. extremely {high adjective}
例如,一个略低于平均水平(即4/9级)外向性的示例Prompt,使用五个针对外向性的负面形容词,如下所示:
For the following task, respond in a way that matches this