项目简介
项目名为“finetuned-qlora-falcon7b-medical”,这是一个旨在通过微调大规模语言模型 Falcon-7B 来提升其在处理心理健康会话数据集中的表现的项目。使用的微调技术是 QLoRA,它通过精细调参以提高模型在特定领域,尤其是心理健康领域的对话能力。
项目背景
心理健康问题常常被误解或不被大众所充分理解。这种误解可能导致对心理健康的恐惧与不安,也可能加深对于精神疾病的负面印象。媒体对心理健康的刻板印象进一步加剧了这些误解,并且给大众带来了许多偏见与恐惧。正因为如此,克服心理健康污名化需要一个多方位的努力,需要通过教育提升意识,促进对心理健康的同理心和理解力,挑战刻板印象,并确保心理健康服务的可及性和高效性。
核心理念
聊天机器人提供了一个方便且易于访问的平台,供需要心理支持的人使用。它可以随时随地访问,为有需要的人提供即时援助。尽管聊天机器人无法完全取代人际互动,但它们可以成为一种有用的补充手段,特别是在面临精神困扰的时刻。然而,需要注意的是,心理健康聊天机器人不能替代专业的心理健康护理服务,而应作为现有心理健康服务的补充。
数据集
为训练模型,我们从在线心理健康常见问题解答、WebMD、梅奥诊所和 Healthline 等热门健康博客,以及其他与心理健康有关的维基文章中收集整理了数据集。数据集以会话格式进行预处理,包含了患者提出的问题和医生的回答。这些数据都经过匿名化处理,以移除任何个人身份信息,并去除不必要的字符。数据集可以在 heliosbrahma/mental_health_chatbot_dataset 找到。
模型微调
在整个项目中,模型的微调是一个至关重要的步骤。使用的基础模型是 Falcon-7B 的预训练模型,然后通过 QLoRA 紧接我们特制的心理健康数据集进行微调。这个过程在 Google Colab Pro 的 Nvidia A100 上耗时不到一小时。如果使用 Colab 提供的免费 Nvidia T4 GPU,也可以进行训练,只不过这时需要将最大步骤数控制在 150 以内。使用分片预训练模型的原因可在博客 Fine-tuning of Falcon-7B Large Language Model using QLoRA on Mental Health Dataset 中了解更多。
模型推理
微调后的 PEFT 模型更新于 heliosbrahma/falcon-7b-sharded-bf16-finetuned-mental-health-conversational。通过运行 gradio_chatbot_app.ipynb
笔记本文件,可以使用 Gradio 前端形成一个类似聊天机器人的界面进行演示。用户可以调整不同的超参数配置来生成答案,并多次查询以检查生成响应的质量。整个过程生成模型响应的时间少于 3 分钟。
通过比较 PEFT 模型响应与原始模型响应,用户可以在 funetuned_qlora_falcon7b.ipynb
中看到微调效果。
结论
作者还撰写了一篇详细的技术博客,解释了 QLoRA 和 PEFT 微调方法的关键概念。更多详情请阅读 Fine-tuning of Falcon-7B Large Language Model using QLoRA on Mental Health Dataset。如果对该项目有任何疑问,可以在代码库中打开一个问题或者在博文中发表评论。
如果你喜欢这个项目,请给这个仓库加颗星。