13. SoulChat 灵心健康大模型—— 通过长文本咨询指令与多轮共情对话数据集的混合微调,提升大模型的“共情”能力
项目简介
如BianQue项目所介绍,该项目是生活空间主动健康大模型基座ProactiveHealthGPT的一部分,是经过百万规模心理咨询领域中文长文本指令与多轮共情对话数据联合指令微调后,得到的心理健康大模型灵心(SoulChat)。
项目于2023年6月初初次发布。
论文及源码
项目尚未公开发布技术报告或者论文,虽然项目作者提到会后续发布。
项目源码
https://github.com/scutcyr/SoulChat
https://huggingface.co/scutcyr/SoulChat
项目同时给出了内测网址
https://soulchat.iai007.cloud
数据构建
项目组调研了当前常见的心理咨询平台,发现,用户寻求在线心理帮助时,通常需要进行较长篇幅地进行自我描述,然后提供帮助的心理咨询师同样地提供长篇幅的回复(见https://github.com/scutcyr/SoulChat/blob/main/figure/single_turn.png),缺失了一个渐进式的倾诉过程。但是,在实际的心理咨询过程当中,用户和心理咨询师之间会存在多轮次的沟通过程,在该过程当中,心理咨询师会引导用户进行倾诉,并且提供共情,例如:“非常棒”、“我理解你的感受”、“当然可以”等等。
考虑到当前十分欠缺多轮共情对话数据集,项目组一方面构建了超过15万规模的单轮长文本心理咨询指令与答案(SoulChatCorpus-single_turn),回答数量超过50万(指令数是当前的常见的心理咨询数据集PsyQA的6.7倍),并利用ChatGPT与GPT4,生成总共约100万轮次的多轮回答数据(SoulChatCorpus-multi_turn)。
特别地,项目组在预实验中发现,纯单轮长本文驱动的心理咨询模型会产生让用户感到厌烦的文本长度,而且不具备引导用户倾诉的能力,纯多轮心理咨询对话数据驱动的心理咨询模型则弱化了模型的建议能力,因此,项目组混合SoulChatCorpus-single_turn和SoulChatCorpus-multi_turn构造成超过120万个样本的单轮与多轮混合的共情对话数据集SoulChatCorpus。所有数据采用“用户:xxx\n心理咨询师:xxx\n用户:xxx\n心理咨询师:”的形式统一为一种指令格式。
模型训练及效果
项目选择了ChatGLM-6B作为初始化模型,进行了全量参数的指令微调,旨在提升模型的共情能力、引导用户倾诉能力以及提供合理建议的能力。
项目开源库中并没有相关的模型微调训练脚本或者具体操作方法,仅给出了微调后的模型,以及如何进行推理测试的脚本。
项目给出了可进行内测的网址:
https://soulchat.iai007.cloud
开放程度
项目并没有给出模型训练的全过程、所用的数据集及脚本,仅给出了微调训练后的模型,以及如何使用模型进行推理测试的脚本。Demo脚本采用的Streamlit快速web框架。
项目参与了PULSE团队的Elo评测(https://github.com/openmedlab/PULSE#elo%E8%AF%84%E6%B5%8B)