Les problèmes de santé mentale sont souvent mal compris ou mal compris par le grand public. Ce manque de compréhension peut entraîner de la peur, de l’inconfort et des perceptions négatives à l’égard des problèmes de santé mentale. Les représentations médiatiques de la santé mentale perpétuent souvent des stéréotypes négatifs, conduisant à des idées fausses et à la peur. Vaincre la stigmatisation liée à la santé mentale nécessite une approche à multiples facettes qui implique l'éducation, la sensibilisation, la promotion de l'empathie et de la compréhension, la remise en question des stéréotypes et la garantie de soins de santé mentale accessibles et de qualité. La santé mentale a un impact direct sur le bien-être général, la qualité de vie et la capacité de fonctionner efficacement dans la vie quotidienne. Une bonne santé mentale est essentielle pour connaître le bonheur, l’épanouissement et le sentiment d’avoir un but. La santé mentale et la santé physique sont étroitement liées. Les problèmes de santé mentale non traités peuvent entraîner ou aggraver des problèmes de santé physique, tels que des maladies cardiovasculaires, un système immunitaire affaibli et des maladies chroniques.
Les chatbots offrent une plateforme facilement disponible et accessible aux personnes cherchant de l'aide. Ils sont accessibles à tout moment et en tout lieu, fournissant une assistance immédiate à ceux qui en ont besoin. Les chatbots peuvent offrir des réponses empathiques et sans jugement, apportant ainsi un soutien émotionnel aux utilisateurs. Bien qu’ils ne puissent pas remplacer entièrement l’interaction humaine, ils peuvent constituer un complément utile, notamment dans les moments de détresse.
REMARQUE : Il est important de noter que même si les chatbots en santé mentale peuvent être utiles, ils ne remplacent pas les soins professionnels en santé mentale. Ils peuvent compléter les services de santé mentale existants en fournissant un soutien et des ressources supplémentaires.
L'ensemble de données a été organisé à partir de FAQ en ligne liées à la santé mentale, de blogs de santé populaires tels que WebMD, Mayo Clinic et Healthline, ainsi que d'autres articles wiki liés à la santé mentale. L'ensemble de données a été prétraité dans un format conversationnel de telle sorte que les questions posées par le patient et les réponses données par le médecin se trouvent dans le même texte. L'ensemble de données de cette IA conversationnelle sur la santé mentale peut être trouvé ici : heliosbrahma/mental_health_chatbot_dataset.
REMARQUE : Toutes les questions et réponses ont été anonymisées pour supprimer toutes les données PII et prétraitées pour supprimer tous les caractères indésirables.
C’est l’étape majeure de tout le projet. J'ai utilisé le modèle pré-entraîné Falcon-7B fragmenté et je l'ai peaufiné pour utiliser la technique QLoRA sur mon ensemble de données personnalisé sur la santé mentale. L'ensemble du processus de réglage fin a pris moins d'une heure et a été entièrement peaufiné sur Nvidia A100 de Google Colab Pro. Mais il pourrait également être entraîné sur un GPU gratuit à l’aide de Nvidia T4 fourni par Colab. Dans ce cas, nous devons nous assurer d'utiliser max_steps inférieur à 150. La justification de l'utilisation d'un modèle pré-entraîné fragmenté est mentionnée dans mon article de blog : Affinement du modèle de langage large Falcon-7B à l'aide de QLoRA sur l'ensemble de données sur la santé mentale.
Ajout ici du rapport de suivi des mesures de perte d'entraînement à partir des journaux de surveillance WandB pour une course d'entraînement de 180 étapes : journaux d'entraînement/perte pour Falcon-7B PEFT
REMARQUE : essayez de modifier les hyperparamètres dans TrainingArguments et LoraConfig en fonction de vos besoins. Avec les paramètres mentionnés dans le cahier, j'ai obtenu une perte d'entraînement de 0,031 après 320 étapes.
Le modèle peaufiné PEFT a été mis à jour ici : heliosbrahma/falcon-7b-sharded-bf16-finetuned-mental-health-conversational.
Exécutez le notebook gradio_chatbot_app.ipynb
pour obtenir une interface de type chatbot utilisant Gradio comme interface pour la démo. Jouez avec différents paramètres de configuration d'hyperparamètres pour la génération de réponses et exécutez plusieurs requêtes pour vérifier la qualité de la réponse générée.
Il faut moins de 3 minutes pour générer la réponse du modèle. Comparez la réponse du modèle PEFT avec la réponse du modèle d'origine dans le notebook funetuned_qlora_falcon7b.ipynb
.
J'ai écrit un blog technique détaillé expliquant les concepts clés de la méthode de réglage fin QLoRA et PEFT : Réglage fin du grand modèle linguistique Falcon-7B à l'aide de QLoRA sur l'ensemble de données sur la santé mentale. Si vous avez encore des questions, vous pouvez ouvrir un ticket sur ce dépôt ou commenter sur mon blog.
Si vous aimez ce projet, veuillez ce référentiel .