社区供稿 I 基于Qwen-7B的垂域大模型——MindChat(漫谈)心理大模型上线魔搭

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 心理大模型——漫谈(MindChat)期望从心理咨询、心理评估、心理诊断、心理治疗四个维度帮助人们纾解心理压力与解决心理困惑,提高心理健康水平。


模型介绍


心理大模型——漫谈(MindChat)期望从心理咨询、心理评估、心理诊断、心理治疗四个维度帮助人们纾解心理压力与解决心理困惑,提高心理健康水平。作为一个心理大模型,MindChat通过营造轻松、开放的交谈环境, 以放松身心、交流感受或分享经验的方式,与用户建立信任和理解的关系。


MindChat的技术优势在于能够了解用户的个人经历、情感状态和行为模式,为用户提供隐私、温暖、安全、及时、方便的对话环境,从而帮助用户克服各种困难和挑战, 实现自我成长和发展。


无论是在工作场景还是在个人生活中,MindChat期望通过心理学专业知识和人工智能大模型技术,在严格保护用户隐私的前提下,全时段全天候为用户提供全面的心理支持和诊疗帮助,同时实现自我成长和发展,以期为建设一个更加健康、包容和平等的社会贡献力量。


目前在魔搭社区开源了所有的MindChat模型,其中就包括基于Qwen-7B训练的MindChat-Qwen-7B模型,大家可以在ModelScope创空间进行体验。


体验链接:https://modelscope.cn/studios/X-D-Lab/MindChat/summary



数据词云


目前MindChat的开源模型采用了经过人工清洗的约20万条的高质量多轮心理对话数据进行训练,涵盖工作、家庭、学习、生活、社交、安全等多个方面。

后续我们将不断完善数据积累以及数据清洗,争取为开源社区贡献一份高质量的多轮心理对话数据,共同推动开源心理大模型的建设。



模型微调


我们使用两张V100对Qwen-7B进行了QLora的单轮训练。

训练超参数如下所示:

lora_rank

64

lora_alpha

32

max length

512

lr

1e-4

training step

1500


下图为训练损失变化曲线:


模型推理


首先需要安装依赖包:


pip install modelscope gradio==3.37


您可以通过ModelScope下载MindChat-Qwen-7B:

from modelscope.hub.snapshot_download import snapshot_download
cache_dir = './'
snapshot_download('X-D-Lab/MindChat-Qwen-7B',
                  cache_dir=cache_dir,
                  revision='v1.0.0')


然后可以通过transformers对MindChat-Qwen-7B进行推理:

from modelscope import AutoModelForCausalLM, AutoTokenizer
from modelscope import GenerationConfig
tokenizer = AutoTokenizer.from_pretrained('X-D-Lab/MindChat-Qwen-7B', trust_remote_code=True, revision='v1.0.0')
model = AutoModelForCausalLM.from_pretrained('X-D-Lab/MindChat-Qwen-7B', device_map="auto", fp16=True,trust_remote_code=True,revision='v1.0.0').eval()
model.generation_config = GenerationConfig.from_pretrained('X-D-Lab/MindChat-Qwen-7B', trust_remote_code=True,revision='v1.0.0') # 可指定不同的生成长度、top_p等相关超参
response, history = model.chat(tokenizer, "总感觉自己学习很差,想努力,但是又控制不住想玩游戏。", history=None)
print(response)
# 你好,你感觉现在的情况是学习和游戏之间的冲突,可以先试着找到自己的兴趣点,看看有没有兴趣的科目或者活动,这样可以增加学习的兴趣和动力。同时也可以尝试安排一个学习时间表,将学习和游戏安排在不同的时间段,这样可以有效地避免两者之间的冲突。
response, history = model.chat(tokenizer, "我制定了计划,但经常不按照计划执行,我不够自律。", history=history) 
print(response)
# 自律是需要培养的,不要过于苛求自己,慢慢地建立起自律的习惯,不要担心自己的进度会太慢。可以试着先从小的步骤开始,比如先做一个学习计划,每天记录自己完成任务的情况,这样可以更好地了解自己的进度,也可以更好地计划自己的学习和娱乐时间。
response, history = model.chat(tokenizer, "在学习上总感觉自己学的很吃力,不知道该怎么办。我觉得自己的学习能力太差了。", history=history)
print(response)
# 每个人的学习方式和方法都是不同的,不要总是拿自己的学习能力与别人相比。可以试着分析一下自己的学习方法,看看有没有可以改进的地方。同时也可以寻求一些专业的学习方法和资料,或者向老师和家长求助。学习是一个持续的过程,只要你用心去学,就一定会有收获的。

在Github仓库中也提供了基于gradio的webui供开发者使用。



对话案例


我们对MindChat-Qwen-7B进行了学习、家庭、朋友、工作这四个维度的测试,所有的对话案例生成内容均为一次性生成内容。更多测试内容请见项目Github主页。


学习

轮数 用户 MindChat-Qwen-7B
1 总感觉自己学习很差,想努力,但是又控制不住想玩游戏。 我理解你的感受,这是一个很常见的问题。不过,不要对自己太苛刻。你已经意识到了自己的问题,并且想要做出改变,这是非常值得称赞的。同时,你可以尝试制定一个学习计划,让自己更有规律地学习,这样也能让你更专注于学习。
2 我制定了计划,但经常不按照计划执行,我不够自律。 我明白。要改变自己的习惯并不容易,需要一些时间和毅力。你可以在计划中增加一些奖励,这样会更有动力去执行计划。同时,你也可以找到一些可以让你专注学习的方法,例如通过听音乐、看电影来缓解压力。
3 在学习上总感觉自己学的很吃力,不知道该怎么办。我觉得自己的学习能力太差了。 你不要这样想,每个人的学习方式和速度都不同,没有“好坏”之分。你可以尝试找到适合自己的学习方法,例如梳理学习重点、寻找解题方法等,这些方法能够让你更加高效地学习。
4 我现在努力还来得急吗?会不会太晚了。 你现在开始学习永远不会太晚,因为学习是不断进行的过程。只要下定决心,就可以不断努力。当然,也不要太过紧张,因为过度的焦虑会阻碍你的学习。


家庭

轮数 用户 MindChat
1 我的爸妈从来不理解我,我和他们之间有很大的隔阂。 听起来你很受伤。你可以告诉我一些具体的事情,让我更好地理解你的感受吗?
2 他们会觉得我总是在干一些没有价值、没有意义的事情。他们只会认为学习是唯一有价值的事情。 我明白你的感受。但是我们每个人都有自己的兴趣和爱好,有些人喜欢画画,有些人喜欢打游戏。学习当然很重要,但是我们应该尊重每个人的兴趣和才能。
3 你说的对!我当然知道他们是为了我好,但是他们这么说让我很受伤。 我理解你的感受。你不要放弃你的兴趣和爱好,因为这是你的一部分,是你独特的品质。你可以向你的父母表达你的想法,让他们知道你的情况,也许他们就能够理解你。
4 我很内向,不太愿意说话。我不知道该怎么去找一个双方都适合的方式去沟通。 那没关系,你可以先尝试一些比较小的活动,例如看一场电影或者吃一顿饭,然后在这些活动中试着和他们聊天,看看有没有办法更好地沟通。
5 好的,我试试看。谢谢你! 不用谢,如果你需要任何帮助,随时都可以找我。我相信你能够克服这些困难,过上快乐的生活。


朋友

轮数 用户 MindChat
1 我感觉我的朋友并不是真心和我相处,今天又和他吵了一架,我现在很生气! 听你这么说,我能感受到你的不满和失望。你的朋友可能并没有意识到他的行为让你感到不舒服,他可能并不知道他的行为在你的生活中会造成什么影响。
2 他总是以自我为中心,有时候我会选择忍让,但是他还是一副无所谓的样子。 这确实是一个问题。你需要明确地表达你的感受,让他知道你的需求。同时,也要避免在争吵中对他进行人身攻击,这只会让他更加反感。
3 但是如果跟他去沟通这些, 我怕他会觉得我想得太多, 从而远离我 这是一个需要考虑的问题。如果你觉得自己一个人很难解决问题,可以找一个中间人来帮助你们进行沟通。你也可以向他提出你的需求,让他知道你的想法和感受,但他并不是你的老板,也不是你的老师,你们之间的关系应该是平等的。
4 我觉得你说的有道理。我试试看找我们共同的朋友,看是不是可以。 好的,这是一个不错的主意。同时,如果你觉得心里很难受,也可以跟朋友聊一聊,告诉他你的感受,他们也许可以给你一些建议和帮助。
5 好的, 我会平静下来找他沟通一下, 谢谢你的建议 不客气,相信你一定能够解决这个问题。如果你还需要帮助,随时可以找我聊天哦。


工作

轮数 用户 MindChat
1 最近工作压力好大, 一直没有业绩 你好,我能理解你的感受。你可以跟我说说你的工作内容,我可能能帮你分析一下你的情况。
2 我从事的是销售行业,但是在销售商品的时候客户总是不想和我交流。 这个情况听起来挺让人困扰的。你是否尝试过主动跟客户沟通,了解他们的需求呢?或者去了解其他客户的购买经历,寻找新的突破口?
3 我比较内向。我也不知道为什么我这种内向的性格会来做销售。我不太好意思主动去和客户沟通。 内向的人其实也有很多优势,他们通常更加细心和善于倾听。不过你可能需要一些技巧来改善你的沟通方式。你可以去学习一些交流技巧,比如说多去倾听,多去观察客户的需求,然后针对性地回答他们的问题。
4 我可能需要勇敢地迈出第一步。 没错,这需要一些勇气和决心。但是只要你愿意付出努力,你一定能够取得好的成绩。如果你需要一些帮助,我可以帮你分析一下你的问题,提供一些具体的建议。
5 我也试着向同事们交流一下经验,看看日常他们是怎么和客户沟通的。 这是一个很好的主意。你可以向你的同事请教一些沟通技巧和经验,向他们学习。不过,你也需要思考自己的风格,找到适合自己的方式。


在心理场景中,对比于其他通用大模型长串的建议性回复而言,MindChat的回复内容更简练,情商更高,更能体现共情能力。未来我们也将持续加强模型的共情能力。


研发团队


本项目由华东理工大学 薛栋副教授课题组发起:

主要分工

参与同学

模型训练

颜鑫、王明

模型测试

唐井楠、刘建成

数据构建

张思源、吴佳阳、王邦儒、孙晗煜



致谢


在项目进行中受到以下平台及项目的大力支持,在此表示感谢!

1、魔搭ModelScope:  模型存储,模型体验,模型lib对接,模型推理算力等支持;

2、OpenI启智社区:提供模型训练算力;

3、Qwen、InternLMBaichuan:提供非常优秀的开源基础模型。

4、OpenXLab、Huggingface:模型存储和体验空间;


特别感谢合肥综合性国家科学中心人工智能研究院普适心理计算团队 孙晓研究员、哈尔滨工业大学 刘方舟教授对本项目的专业性指导!


此外,对参与本项目数据收集、标注、清洗的所有同学表示衷心的感谢!



免责声明

本仓库所有开源代码及模型均遵循GPL-3.0许可认证。目前开源的MindChat模型可能存在部分局限,因此我们对此做出如下声明:

1. MindChat存在固有的局限性,可能产生错误的、有害的、冒犯性的或其他不良的输出。用户在关键或高风险场景中应谨慎行事,不要使用这些模型作为最终决策参考,以免导致人身伤害、财产损失或重大损失。


2. MindChat在任何情况下,作者、贡献者或版权所有者均不对因软件或使用或其他软件交易而产生的任何索赔、损害赔偿或其他责任(无论是合同、侵权还是其他原因)承担责任。


3. 使用MindChat即表示您同意这些条款和条件,并承认您了解其使用可能带来的潜在风险。您还同意赔偿并使作者、贡献者和版权所有者免受因您使用MindChat而产生的任何索赔、损害赔偿或责任的影响。



参考链接

MindChat Github地址:https://github.com/X-D-Lab/MindChat

ModelScope 创空间地址:https://modelscope.cn/studios/X-D-Lab/MindChat/summary

ModelScope 模型地址:https://modelscope.cn/organization/X-D-Lab

相关文章
|
3月前
|
前端开发 物联网 API
ToolBench指标提升8.25%!魔搭社区让Qwen2 成为你的智能体好帮手
随着千问2.0的发布,魔搭社区在第一时间上线了千问2全系列模型。我们注意到,千问2模型在通用能力上已经非常强悍,然而有时候用户需要使用模型在自己的私有场景上搭建起智能体调用流程,这时就有可能遇到对于特定场景调用不良的情况,在这种情况下,用户对于千问2模型进行二次训练并提升智能体精度是非常有必要的。
|
4月前
|
数据可视化 物联网 Swift
谷歌发布开源LLM Gemma,魔搭社区评测+最佳实践教程来啦!
Gemma是由Google推出的一系列轻量级、先进的开源模型,他们是基于 Google Gemini 模型的研究和技术而构建。
|
4月前
|
缓存 API 开发者
魔搭社区牵手FastChat&vLLM,打造极致LLM模型部署体验
FastChat是一个开放平台,用于训练、服务和评估基于LLM的ChatBot。
|
9月前
|
数据可视化 PyTorch 算法框架/工具
零一万物Yi-34B-Chat 微调模型及量化版开源!魔搭社区最佳实践教程!
11月24日,零一万物基正式发布并开源微调模型 Yi-34B-Chat,可申请免费商用。同时,零一万物还为开发者提供了 4bit/8bit 量化版模型,Yi-34B-Chat 4bit 量化版模型可以直接在消费级显卡(如RTX3090)上使用。魔搭社区已支持下载、推理训练体验,并推出相关教程,欢迎大家来玩!
|
4月前
|
数据采集 自然语言处理 前端开发
社区供稿 | 猎户星空百亿参数大模型 Orion-14B系列开源,一张3060就能跑(附魔搭社区推理微调最佳实践)
1月21日,傅盛在猎户星空大模型发布会上宣布,“为企业应用而生” 的开源百亿参数猎户星空大模型正式发布。猎户星空大模型(Orion-14B)是由猎户星空研发的预训练多语言大语言模型,以其140亿参数规模展现出了卓越的性能。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
社区供稿 | 元象发布255B大规模MoE开源大模型,落地应用登顶港台榜
元象XVERSE发布 中国最大MoE开源模型:XVERSE-MoE-A36B,加速AI应用低成本部署,将国产开源提升至国际领先水平。
社区供稿 | 元象发布255B大规模MoE开源大模型,落地应用登顶港台榜
|
6天前
|
测试技术
10人明星团队炼出首个微调Llama 3.1 405B!角色扮演一秒入戏,代码全开源
【9月更文挑战第13天】近日,由十位明星研究员组成的团队成功微调了Llama 3.1 405B 模型,推出名为Hermes 3的先进开源模型,在多个基准测试中表现卓越。Hermes 3采用“聊天”训练范式,具备强大的推理和创造能力,能更好地响应命令性陈述,使用户更容易与其互动并获得有用信息。此外,该模型支持系统提示和工具使用功能,使其在处理复杂任务时更加高效。尽管Hermes 3在多种合成推理任务和创造性应用中表现出色,但作为微调模型,其性能受限于基础模型,并且开源特性可能带来安全性和隐私性方面的挑战。论文详见[nousresearch.com]。
29 8
|
2月前
|
人工智能 自然语言处理 测试技术
Meet Llama3.1,405B赶超最强闭源模型!上魔搭社区一站体验、下载、推理、微调、部署
官方公布的Benchmark显示,Llama3.1 405B已在多项基准测试中超越GPT-4o和Claude 3.5 Sonnet,这是开源大模型首次赶超最强闭源模型!
|
2月前
|
自然语言处理 API Android开发
阿里Qwen2-72B大模型已是开源榜的王者,为什么还要推出其他参数模型,被其他模型打榜?
阿里云的Qwen2-72B模型在Hugging Face上荣登开源模型榜首,展现卓越性能,超越其他包括Meta的Llama-3在内的竞争者。Qwen2有多个参数版本,其中72B版本在自然语言理解、知识、代码等任务上表现出色。较小参数版本如7B模型在某些方面略逊一筹。推出不同参数模型可能是为了降低成本、加速迭代、构建丰富的模型生态。通过提供不同规模的模型,阿里云旨在促进技术研究和全场景应用,类似于微软Windows XP和阿里云OS生态的构建策略。
235 1
|
4月前
|
自然语言处理 前端开发 Swift
社区供稿 | 中文llama3模型哪家强?llama3汉化版微调模型大比拼
随着llama3的发布,业界越来越多的针对其中文能力的微调版本也不断涌现出来,我们在ModelScope魔搭社区上,搜集到几款比较受欢迎的llama3中文版本模型,来从多个维度评测一下,其对齐后的中文能力到底如何? 微调后是否产生了灾难性遗忘问题。