Basé sur les six caractéristiques de la santé active : initiative, prévention, précision, personnalisation, co-construction et partage, et autodiscipline, l'École des technologies futures de l'Université de technologie de Chine du Sud-Laboratoire clé provincial des jumeaux numériques du Guangdong a ouvert une source le système de santé actif de l'espace de vie dans le domaine chinois. Base modèle ProactiveHealthGPT, comprenant :
BianQue, un modèle de santé de grands espaces de vie affiné par des dizaines de millions d'instructions de données de dialogue chinois sur la santé
Le modèle de santé mentale à grande échelle SoulChat a été affiné grâce à des instructions conjointes avec des instructions en texte long chinois et de multiples séries de données de dialogue empathique dans le domaine de millions de consultations psychologiques.
Nous espérons que la grande base de modèles de santé active de l'espace de vie ProactiveHealthGPT pourra aider la communauté universitaire à accélérer la recherche et l'application de grands modèles dans les domaines de la santé active tels que les maladies chroniques et le conseil psychologique. Ce projet est SoulChat, un grand modèle de santé mentale .
2024.06.06 : La version open source de l'ensemble de données SoulChatCorpus est publiée. Pour plus de détails, veuillez consulter https://www.modelscope.cn/datasets/YIRONGCHEN/SoulChatCorpus, en particulier. , nous avons filtré environ 90 000 échantillons de conversations (en raison de risques pour la vie privée, de problèmes de sécurité, de risques politiques, d'échantillons de mauvaise qualité, etc., ces échantillons sont toujours en phase d'optimisation manuelle et seront mis à jour vers la version open source du ensemble de données une fois l'examen manuel terminé), conservant finalement 258 354 conversations à plusieurs tours, soit un total de 1 517 344 tours. Une nouvelle version du modèle sera publiée dans un avenir proche et devrait être adaptée à plusieurs modèles open source et à plusieurs niveaux de paramètres pour faciliter l'utilisation par les utilisateurs ou mener des recherches expérimentales comparatives.
2023.12.07 : Notre article, inclus dans les résultats de l'EMNLP 2023, voir SoulChat : Améliorer les capacités d'empathie, d'écoute et de confort des LLM grâce à un réglage fin avec des conversations d'empathie à plusieurs tours
2023.07.07 : La version bêta fermée en ligne du grand modèle de santé mentale SoulChat est lancée. Bienvenue pour cliquer sur le lien pour utiliser : Version bêta fermée de SoulChat.
2023.06.24 : Ce projet a été inclus dans la liste des grands modèles chinois. Il s'agit du premier grand modèle national open source dans le domaine psychologique doté de capacités d'empathie et d'écoute.
06/06/2023 : Le modèle BianQue-2.0 est open source. Pour plus de détails, voir BianQue-2.0.
06/06/2023 : SoulChat, un grand modèle de santé spirituelle doté de la capacité de faire preuve d'empathie et d'écoute, a été publié. Pour plus de détails, voir : SoulChat, un grand modèle de santé spirituelle : grâce à un réglage fin mixte d'instructions de consultation de textes longs et de plusieurs séries de Ensembles de données de dialogue empathique, les performances du modèle sont améliorées en termes de capacité « Empathie ».
2023.04.22 : Démo du système de questions et réponses médicales basé sur le modèle Bianque-1.0 Pour plus de détails, visitez : https://huggingface.co/spaces/scutcyr/BianQue.
2023.04.22 : Le modèle de la version BianQue-1.0 est publié. Pour plus de détails, voir : BianQue-1.0 : Amélioration de la capacité de « demande » du modèle de chat médical grâce à des instructions mixtes et à un réglage fin de plusieurs séries d'ensembles de données de demande de médecin (BianQue-1.0). 1.0 : Amélioration de la capacité de « question » du modèle de chat médical grâce à un réglage fin avec des instructions hybrides et des ensembles de données d'assurance qualité du médecin multi-tours)
Nous avons étudié les plateformes de conseil psychologique courantes actuelles et avons constaté que lorsque les utilisateurs recherchent une aide psychologique en ligne, ils ont généralement besoin de se décrire de manière longue, puis les conseillers psychologiques qui fournissent de l'aide fournissent également une réponse longue (voir figure/single_turn. png) , manquant un processus de confiance progressif. Cependant, dans le processus de conseil psychologique lui-même, il y aura plusieurs cycles de processus de communication entre l'utilisateur et le conseiller psychologique. Au cours de ce processus, le conseiller psychologique guidera l'utilisateur pour qu'il parle et fasse preuve d'empathie, par exemple : « C'est génial. » , « Je comprends ce que tu ressens », « Bien sûr que tu peux », etc. (voir image ci-dessous).
Compte tenu du manque actuel d'ensembles de données de dialogue empathique à plusieurs tours, d'une part, nous avons construit un long texte d'instructions et de réponses de conseil psychologique en un seul tour (SoulChatCorpus-single_turn) avec une échelle de plus de 150 000, et le nombre de réponses a dépassé 500 000 (le nombre d'instructions est actuellement 6,7 fois supérieur à celui de l'ensemble de données commun de conseil psychologique PsyQA), et a utilisé ChatGPT et GPT4 pour générer un total d'environ 1 million de séries de données de réponses multi-tours (SoulChatCorpus-multi_turn) . En particulier, nous avons constaté dans la pré-expérience qu'un modèle de conseil psychologique purement unique, basé sur de longs articles, produirait une longueur de texte ennuyeuse pour les utilisateurs et n'aurait pas la capacité de guider les utilisateurs dans une conversation purement multiple. Modèle de conseil psychologique basé sur les données du dialogue de conseil psychologique Le modèle affaiblit la capacité de recommandation du modèle. Par conséquent, nous avons mélangé SoulChatCorpus-single_turn et SoulChatCorpus-multi_turn pour construire un ensemble de données de dialogue empathique mixte à un et plusieurs tours SoulChatCorpus avec plus. plus de 1,2 millions d’échantillons. . Toutes les données sont unifiées dans un seul format de commande sous la forme de « Utilisateur : xxxn Conseiller psychologique : xxxn Utilisateur : xxxn Conseiller psychologique : ».
Nous avons choisi ChatGLM-6B comme modèle d'initialisation et avons affiné tous les paramètres pour améliorer la capacité du modèle à faire preuve d'empathie, à guider les utilisateurs dans la conversation et à fournir des suggestions raisonnables. Pour plus de détails sur la formation, veuillez prêter attention à nos articles ultérieurs.
Cloner ce projet
cd ~ clone git https://github.com/scutcyr/SoulChat.git
Lors de l'installation des dépendances, veuillez noter que la version de Torch doit être sélectionnée en fonction de la version réelle de Cuda de votre serveur. Pour plus de détails, reportez-vous au guide d'installation de pytorch.
cd SoulChat conda env create -n proactivehealthgpt_py38 --file proactivehealthgpt_py38.yml conda active proactivehealthgpt_py38 pip installe cpm_kernels pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
[Supplément] Il est recommandé aux utilisateurs sous Windows de se référer au processus suivant pour configurer l'environnement.
cdBianQue conda create -n proactivehealthgpt_py38 python=3.8 conda active proactivehealthgpt_py38 pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 pip install -r exigences.txt pip install rouge_chinese nltk jieba datasets# L'installation suivante consiste à exécuter demoopip install streamlit pip installer streamlit_chat
[Supplément] Configuration de CUDA-11.6 sous Windows : Téléchargez et installez CUDA-11.6, téléchargez cudnn-8.4.0, décompressez et copiez les fichiers dans le chemin correspondant à CUDA-11.6, reportez-vous à : Utiliser conda pour installer pytorch sous win11-cuda11 . 6-Idées générales d'installation
Appeler le modèle SoulChat en Python
importer torchfrom transformateurs importer AutoModel, AutoTokenizer# Paramètres GPU périphérique = torch.device("cuda" if torch.cuda.is_available() else "cpu")# Charger le modèle avec tokenizer model_name_or_path = 'scutcyr/SoulChat' model = AutoModel.from_pretrained( nom_modèle_ou_chemin , trust_remote_code=True).half()model.to(device)tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)# Un dialogue en un seul tour appelle la fonction de chat du modèle user_input = "Je suis amoureux, tellement mal à l'aise input_text !" = "Utilisateur :" + user_input + "nConseiller psychologique :"réponse, historique = model.chat(tokenizer, query=input_text, history=None, max_length=2048, num_beams=1, do_sample=True, top_p=0.75, temperature=0.95, logits_processor=None)# Appelez la fonction de chat du modèle pour plusieurs tours de dialogue# Remarque : ce projet utilise « n utilisateurs : » et « n conseiller psychologique : » pour diviser l'historique des conversations des différents tours# Remarque : user_history est plus long que bot_history 1user_history = ['Bonjour professeur', 'Ma copine a rompu avec moi et je me sens tellement mal à l'aise']bot_history = ['Bonjour ! Je suis votre conseiller numérique personnel, Sweetheart Teacher. Vous êtes invités à me parler et à avoir une conversation à cœur ouvert. J'ai hâte de vous aider ! ']# Contexte de l'historique des conversations d'épissage = "n".join([f"Utilisateur : {user_history[i]}n Conseiller psychologique : {bot_history[i]}" pour i in range(len(bot_history))])input_text = contexte + "nuser :" + user_history[-1] + "nconseiller psychologique :" réponse, history = model.chat(tokenizer, query=input_text, history=Aucun, max_length=2048, num_beams=1, do_sample=True, top_p=0,75, température=0,95, logits_processor=None)
Démarrer le service
Ce projet fournit soulchat_app.py comme exemple d'utilisation du modèle SoulChat. Vous pouvez démarrer le service via la commande suivante, puis y accéder via http://<your_ip>:9026.
exécution simplifiée soulchat_app.py --server.port 9026
En particulier, dans soulchat_app.py, vous pouvez modifier le code suivant pour remplacer la carte graphique spécifiée :
os.environ['CUDA_VISIBLE_DEVICES'] = '2'
Pour les utilisateurs d'une seule carte graphique Windows, vous devez la modifier comme suit : os.environ['CUDA_VISIBLE_DEVICES'] = '0'
, sinon une erreur sera signalée !
Vous pouvez spécifier le chemin du modèle comme étant un chemin local en modifiant le code suivant :
model_name_or_path = 'scutcyr/SoulChat'
Exemple 1 : Perdu amoureux
Exemple 2 : relation de dortoir
Exemple 3 : Examen final
Exemple 4 : Pression de la recherche scientifique
Ce projet utilise les poids du modèle ChatGLM-6B et doit suivre son MODEL_LICENSE. Par conséquent, ce projet ne peut être utilisé qu'à des fins de recherche non commerciales .
Le modèle SoulChat fourni par ce projet est dédié à l'amélioration des capacités de dialogue empathique et d'écoute des grands modèles. Cependant, le texte de sortie du modèle présente un certain degré d'aléatoire, ce qui est approprié lorsqu'il est utilisé comme auditeur, mais c'est le cas. il n'est pas recommandé d'utiliser le modèle SoulChat. Le texte de sortie remplace le diagnostic et les conseils d'un psychologue, etc. Ce projet ne garantit pas que le texte généré par le modèle est entièrement adapté aux utilisateurs. Les utilisateurs doivent supporter tous les risques lorsqu'ils utilisent ce modèle !
Vous ne pouvez pas utiliser, copier, modifier, fusionner, publier, distribuer, reproduire ou créer des œuvres dérivées du modèle SoulChat, en tout ou en partie, à des fins commerciales, militaires ou illégales.
Vous ne pouvez pas utiliser le modèle SoulChat pour adopter un comportement qui met en danger la sécurité nationale et l'unité nationale, met en danger les intérêts sociaux et publics ou porte atteinte aux droits personnels.
Lorsque vous utilisez le modèle SoulChat, vous devez être conscient qu'il ne peut pas remplacer les professionnels tels que les médecins et les psychologues. Vous ne devez pas trop vous fier, obéir ou croire aux résultats du modèle, et vous ne devez pas être accro au chat avec SoulChat. modèle depuis longtemps.
Ce projet a été lancé par le Laboratoire clé des jumeaux numériques de la province du Guangdong, École des technologies du futur, Université de technologie de Chine du Sud. Il est soutenu par le Centre de recherche en ingénierie des réseaux d'information, École d'électronique et d'information et d'autres départements de l'Université de technologie de Chine du Sud. Il remercie également l'hôpital de santé maternelle et infantile du Guangdong, les unités de coopération du gouvernement municipal de Guangzhou, notamment le centre médical pour femmes et enfants, le troisième hôpital affilié à l'université Sun Yat-sen et l'institut de recherche sur l'intelligence artificielle du centre scientifique national complet de Hefei.
Nous tenons également à remercier les médias ou comptes publics suivants pour avoir rendu compte de ce projet (sans ordre particulier) :
Couverture médiatique Quotidien du Peuple, China.com, Guangming.com, TOM Technology, Future.com, Dazhong.com, China Development Report Network, China Daily Network, Xinhua News Network, China.com, Toutiao, Sohu, Tencent News, NetEase News , Réseau d'information chinois, Réseau de communication chinois, Réseau de rapports sur les villes de Chine, Réseau des villes de Chine
Construction d'un laboratoire de compte public dans le Guangdong, voix intelligente pour la nouvelle jeunesse, apprentissage profond et PNL, AINLP
@inproceedings{chen-etal-2023-soulchat,title = "{S}oul{C}hat : Améliorer les capacités d'empathie, d'écoute et de confort des {LLM}s{'} grâce à un réglage précis des conversations d'empathie à plusieurs tours", auteur = "Chen, Yirong et Xing, Xiaofen et Lin, Jingkai et Zheng, Huimin et Wang, Zhenyu et Liu, Qi et Xu, Xiangmin", éditeur = " Bouamor, Houda et Pino, Juan et Bali, Kalika ", titre du livre = " Résultats de l'Association pour la linguistique informatique : EMNLP 2023 ", mois = décembre, année = " 2023 ", adresse = " Singapour ", éditeur = "Association pour la linguistique computationnelle",url = "https://aclanthology.org/2023.findings-emnlp.83",pages = "1170--1183",abstract = "Les grands modèles de langage (LLM) ont été largement appliqués dans divers domaines en raison de leur excellente capacité de mémorisation. connaissance et chaîne de pensée (CoT). Lorsque ces modèles de langage sont appliqués dans le domaine du conseil psychologique, ils se précipitent souvent pour fournir des conseils universels. Cependant, lorsque les utilisateurs recherchent un soutien psychologique, ils ont besoin de gagner en empathie. la confiance, la compréhension et le confort, plutôt que de simples conseils raisonnables. À cette fin, nous avons construit un ensemble de données de conversation empathique à plusieurs tours de plus de 2 millions d'échantillons, dans lequel l'entrée est le contexte de la conversation à plusieurs tours et la cible est les réponses empathiques. qui couvrent des expressions telles que le questionnement, le confort, la reconnaissance, l'écoute, la confiance, le soutien émotionnel, etc. Des expériences ont montré que la capacité d'empathie des LLM peut être considérablement améliorée lors d'un réglage fin en utilisant un historique de dialogue à plusieurs tours et des réponses plus proches de l'expression. d'un consultant psychologique.", }}