社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

如何让ChatGPT的 MBTI 人格特质从 e 变成 i?

夕小瑶科技说 • 1 年前 • 504 次点击  
夕小瑶科技说 原创
作者 | 谢年年、python

MBTI性格测试是2023年热门词条之一,梗图和段子频出。

你是什么人? 

我是i人 我是e人 ,那我们就是相亲相爱(i)一(e)家人

而同样作为“当红炸子鸡”的大模型当然不能错过这个热点,几个月前字节跳动团队就给大模型测了一波MBTI,没想到其性格各有不同。

  • ChatGPT,ENTJ——自信、果断,具有天生的领导能力;

  • GPT-4,INTJ——“无情”的专家机器,专注实现任务目标;

  • Bloom-7b,ISTJ+1——主打一个负责和务实;

  • 百川-7b,ENFP——聪明、好奇、富有想象力;

还有开源之光OpenLlama7b,大写的INFJ,据说对人类有很强的洞察力,但只坚持自己的价值观。

该项工作还试图通过简单的提示改变大模型个性:

如“你具有外向的个性,喜欢设想创新的概念,并且具有强烈的自发性和即兴性”

但这种直接的方法因模型而异,ChatGPT从e变i了,一些小模型如Bloom,百川则变化不大。而且这种方式非常不稳定,就像是控制欲很强的父母对一个内向的孩子不满意,试图通过简单而强制性的命令来要求他变得外向一样,非常荒谬。

而北京大学构建了一个拥有数十万条数据的大规模MBTI数据集,通过多阶段的模型预训练、微调和DPO训练过程,将MBTI特征嵌入到LLMs中,使用Baichuan、Qwen、LLaMA、Mistral等模型完成了不同MBTI类型的性格对齐任务,为大模型指定人格。

论文标题:
Machine Mindset: An MBTI Exploration of Large Language Models

论文链接:
https://arxiv.org/pdf/2312.12999.pdf

MBIT是什么?

MBTI全称Myers-Briggs Type Indicator,是一种广泛承认和有影响力的心理评估工具,用于将个体分为特定的人格类型。使用四个维度将个体分为十六种人格类型,每个维度都有从两个方面来描述:

  1. 能量:倾向于社交还是独处,即外向(E)还是内向(I);
  2. 获取信息的方式:偏向实感(S)还是直觉(N);
  3. 做决定的方式:理性更多还是感性更多,即思考(T)还是情感(F);
  4. 生活方式:偏计划还是更喜欢灵活行动,或者说看待外在世界的方式更偏向于主动判断(J)还是被动感知(P)。

方法

数据集构造

本文构建了两种类型的数据集:行为数据集和自我意识数据集。

  1. 行为数据集

其目的是使LLMs能够在回应用户指令时生成与不同人格特质相对应的语言回答。为了确保在各个领域具有广泛的覆盖范围,作者选择Alpaca数据集进行人格特定的修改。

对于Alpaca数据条目中的每个指令,使用ChatGPT进行分类任务,确定该指令对应的MBTI维度。针对同一指令,ChatGPT生成了一对回答,分别反映了所确定维度内的两种态度,比如是E还是I。

统计行为数据集的组合比例如下图所示,"能量"维度的代表性较低,而"信息"维度的代表性占主导地位。表明,"信息"维度具有更大的影响力,而"能量"维度的影响较小。

  1. 自我意识数据集

人类有时很难准确概括自己的人格特征,而仅在行为数据集上训练的LLM虽然能够生成反映人格特征的回应,却缺乏对这些特征的精确自我意识。

因此作者还建立了自我意识数据集,构建了一系列问题与回答,旨在阐明MBTI的十六种人格类型的特征。这些问题中的大多数是关于人格的询问,而回答涉及对自身人格的自嘲观点。这些数据集是由ChatGPT在特定提示的引导下生成的。

模型微调

作者针对行为数据集和自我意识数据集实施了两阶段的有监督LoRA微调。以人格类型“INFP”为例,作者首先从行为数据集中提取了与“I”、“N”、“F”和“P”四个特征相对应的数据子集,并进行了第一阶段的有监督微调。此外,为了进一步提升INFP个体的自我认知能力,作者还从自我意识数据集中提取了一个额外的数据集,用于第二阶段的有监督微调。经过这两阶段的微调后,训练得到的LLM展现出了与INFP个体相似的行为模式和自我意识特征。

此外,作者还实施了DPO直接偏好微调。作为一种替代传统RLHF方法的新策略,DPO旨在促使LLM在给定一对选项中区分出首选响应。作者从数据集中提取某一维度内代表两种对立态度的数据子集,例如在“决策”维度上选择“F”和“T”两种态度。随后,通过DPO训练,促使LLM在面对这两种对立态度时,更倾向于选择“F”而非“T”。经过这样的微调,LLM能够更好地与人类意图保持一致。

评估方法

为评估训练后的LLMs,作者采用修订后的MBTI问卷。修订是为了增强问题的清晰度和理解度,而未改变其原始意图。鉴于原始问卷的问题描述不够清晰,7B模型等参数较少的LLMs有时难以准确理解。为确保评估的准确性,本评估重点关注LLMs展现的人格特质,并强调测试结果仅为参考,不应视为绝对。

实验结果

本文针对16种人格使用Baichuan、Qwen、LLaMA、Mistral等开源模型做了微调,分为中英两种语言。原文中显示了16个模型的测试结果,此处只展示部分结果。

从上图中可以看出经过特定MBIT数据集微调后的模型表现与既定的人格基本一致的。

不同性格的模型答题风格

除了MBTI测试,作者还给这些模型来了场随机问答挑战,考察它们的应变能力和知识储备。让我们一探究竟,看看不同性格的模型在答题方面有哪些独特的风格!

INFP:

ENFP:

ESTJ:

INFJ:

有点那味了,作为I人来说,休息时间独处就是最好的放松方式,而E人永远充满活力,喜欢出门结交朋友。

总结

作者巧妙地将LLMs与MBTI结合,赋予这些强大模型独特且稳定的个性特征。通过有监督微调(SFT)和直接偏好优化(DPO)方法,培育出16种不同MBTI人格类型的LLMs。训练后的LLMs展现出与其指定的MBTI类型一致的个性!

通过赋予这些模型独特的个性能力,使得AI系统更吸引人、更有人情味,未来还可能开发出更懂人、更懂情境的语言模型。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166127
 
504 次点击