Chinois | Anglais

Ce projet ouvre la source d'un ensemble de modèles de langues grand qui a été affinée / réglage de l'instruction dans les instructions médicales chinoises, y compris le lama, l'alpaca-chinois, la floraison, les modèles de type mobile, etc.
Sur la base du graphique des connaissances médicales et de la littérature médicale, nous nous sommes combinés avec l'API ChatGPT pour construire un ensemble de données de réglage des instructions médicales chinoises, et nous avons utilisé cela pour affiner les instructions de divers modèles de base, améliorant l'effet de questions et réponses du modèle de base dans le domaine médical.
[2023/09/24] Sortie "Big Language Model Technology Fineing Technology for Smart Healthcare"
[2023/09/12] Sortie "Exploration de l'acquisition de connaissances interactives de la littérature médicale par de grands modèles" sur Arxiv
[2023/09/08] Libérez "Méthode de génération de réponse médicale chinoise fiable pour les modèles de gros langues basés sur le réglage fin des connaissances" sur Arxiv
[2023/08/07] Une version de modèle basée sur un type mobile est ajoutée et l'effet du modèle est considérablement amélioré.
[2023/08/05] Le modèle à base de plantes est présenté sur la piste de démonstration CCL 2023.
[2023/08/03] Modèle de questions et réponses générales de type mobile open source du laboratoire SCIR, bienvenue à suivre ??
[2023/07/19] Ajout d'un modèle d'instructions de réglage fin basées sur la floraison.
[2023/05/12] Le modèle a été renommé "Bencao" de "Hua Tuo".
[2023/04/28] a ajouté une version de modèle basée sur le modèle chinois de l'alpaca pour les instructions de réglage fin.
[2023/04/24] a ajouté un modèle d'instruction de réglage fin basé sur le lama et la littérature médicale.
[2023/03/31] Ajout d'un modèle de modèle pour des instructions de réglage fin basées sur la base de lame et de la base de connaissances médicales.
Installez d'abord le package de dépendance, Python Environment recommande 3.9+
pip install -r requirements.txt
Pour tous les modèles de base, nous adoptons la méthode de réglage de base de base de la demi-précision LORA pour la formation de réglage fin de l'instruction pour peser les ressources informatiques et les performances du modèle.
Les poids LORA peuvent être téléchargés via Baidu Netdisk ou Embring Face:
Téléchargez le poids Lora et décompressez. Le format décompressé est le suivant:
**lora-folder-name**/
- adapter_config.json # LoRA权重配置文件
- adapter_model.bin # LoRA权重文件
Sur la base des mêmes données, nous avons également formé la version médicale du modèle ChatGlM: chatGLM-6B-MED
Nous fournissons quelques cas de test dans ./data/infer.json , qui peuvent être remplacés par d'autres ensembles de données. Veuillez noter que le format est cohérent.
Exécutez le script inféré
#基于医学知识库
bash ./scripts/infer.sh
#基于医学文献
#单轮
bash ./scripts/infer-literature-single.sh
#多轮
bash ./scripts/infer-literature-multi.sh
Le code de script inférieur est le suivant. Veuillez remplacer le modèle de base Base_Model, Lora Weight Lora_weights et Test DataSet Path Instruct_Dir dans le code suivant et l'exécutez après avoir remplacé le modèle de base Base_Model, Lora Weight Lora_weights et Test DataSet Path Instruct_dir.
python infer.py
--base_model 'BASE_MODEL_PATH'
--lora_weights 'LORA_WEIGHTS_PATH'
--use_lora True
--instruct_dir 'INFER_DATA_PATH'
--prompt_template 'TEMPLATE_PATH'
La sélection des modèles rapides est liée au modèle, les détails sont les suivants:
| Type mobile et floraison | Lama et l'alpaga |
|---|---|
templates/bloom_deploy.json | Basé sur templates/med_template.jsonBasé sur templates/literature_template.json |
Vous pouvez également vous référer à ./scripts/test.sh
Le modèle de base a des effets limités dans les scénarios de questions-réponses médicales, et les instructions ajustées sont un moyen efficace de faire en sorte que le modèle de base ait la capacité de répondre aux questions humaines.
Nous avons adopté une base de connaissances médicales chinoises ouvertes et auto-construites, faisant principalement référence à CMEKG.
La base de connaissances médicales est construite autour de maladies, de médicaments, d'indicateurs d'examen, etc., et les champs comprennent des complications, des facteurs à haut risque, des examens histologiques, des symptômes cliniques, un traitement médicamenteux, un traitement auxiliaire, etc. L'exemple de base de connaissances est le suivant:
{"中心词": "偏头痛", "相关疾病": ["妊娠合并偏头痛", "恶寒发热"], "相关症状": ["皮肤变硬", "头部及眼后部疼痛并能听到连续不断的隆隆声", "晨起头痛加重"], "所属科室": ["中西医结合科", "内科"], "发病部位": ["头部"]}
Nous avons utilisé l'interface GPT3.5 pour construire des données de questions-réponses autour de la base de connaissances médicales et établir une variété de formulaires rapides pour utiliser pleinement les connaissances.
Les exemples de données d'ensemble de formation pour les instructions de réglage fin sont les suivants:
"问题:一位年轻男性长期使用可卡因,突然出现胸痛、呕吐、出汗等症状,经检查发现心电图反映心肌急性损伤,请问可能患的是什么疾病?治疗方式是什么?"
回答: 可能患的是心肌梗塞,需要进行维拉帕米、依普利酮、硝酸甘油、ß阻滞剂、吗啡等药物治疗,并进行溶栓治疗、低分子量肝素、钙通道阻滞剂等辅助治疗。此外需要及时停用可卡因等药物,以防止病情加重。"
Nous fournissons un ensemble de données de formation du modèle, avec un total de plus de 8 000 pièces. Il convient de noter que bien que la construction de l'ensemble de formation intègre des connaissances, il y a encore des erreurs et des imperfections. À l'avenir, nous utiliserons de meilleures stratégies pour itérer et mettre à jour l'ensemble de données.
La qualité de l'ensemble de données de réglage fin des instructions est toujours limitée et l'itération sera effectuée à l'avenir. Dans le même temps, la base de connaissances médicales et le code de construction de l'ensemble de données sont toujours en cours de tri et seront publiés une fois le tri terminé.
De plus, nous avons collecté la littérature médicale chinoise sur les maladies du cancer du foie en 2023 et utilisé l'interface GPT3.5 pour construire plusieurs cycles de données de questions et réponses autour de la [conclusion] de la littérature médicale. Dans · ./data_literature/liver_cancer.json nous fournissons des exemples de formation 1K. À l'heure actuelle, la qualité des échantillons de formation est toujours limitée. À l'avenir, nous allons en outre itérer les données et les publier au public sous la forme d'公开数据集. Des exemples d'échantillons de formation sont les suivants:

Actuellement, nous ouvrons uniquement les paramètres du modèle pour la formation à la maladie unique du «cancer de l'hépatite». À l'avenir, nous prévoyons de publier des ensembles de données de dialogue médical qui intègrent des conclusions de littérature et formerons des modèles pour 16 maladies liées à "hépatobiliaire et pancréatique".
Pour plus de détails, veuillez consulter notre article: "Exploration de l'acquisition de connaissances interactives de la littérature médicale pour les grands modèles"
Si vous souhaitez affiner le modèle de grande langue avec votre propre ensemble de données, veuillez créer votre propre ensemble de données dans le format dans ./data/llama_data.json
Exécutez le script Finetune
bash ./scripts/finetune.sh
Pendant le processus de réglage fin des instructions basé sur le modèle LLAMA, nous nous sommes formés sur une carte graphique A100-SXM-80 Go. Le total des tours de formation était de 10 tours, ce qui a pris environ 2h17m. Avec Batch_Size = 128, la mémoire vidéo occupe environ 40g. Il est prévu que les cartes graphiques 3090/4090 (mémoire graphique 24 Go) ou plus peuvent être mieux prises en charge, et Batch_Size est ajusté en fonction de la taille de la mémoire graphique.
Pour les paramètres d'hyperparamètre et les procédures expérimentales, veuillez vous référer au lien de WANDB:
https://wandb.ai/thinksoso/llama_med/runs/a5wgcnzt/overview?workspace=user-thinksoso
Remarque: testé en mars 2023
| Entrée de test | Sortie de lama | Sortie alpaga | Bentsao materia medica |
|---|---|---|---|
| Xiao Zhang s'est senti mal récemment et présente des symptômes tels que des palpitations et un essoufflement. L'examen physique a révélé que le cœur était élargi et que la pulsation était affaiblie. | QUESTION: Xiao Zhang s'est senti peu bien et présente des symptômes tels que des palpitations et un essoufflement. L'examen physique a révélé que le cœur était élargi et que la pulsation était affaiblie. | Récemment, Xiao Zhang s'est senti mal à l'aise et présente des symptômes tels que des bouleversements et un essoufflement. L'examen physique montre que le cœur est élargi et que les muscles sont faibles. | Xiao Zhang peut souffrir de myocardite, il est donc recommandé d'aller à l'hôpital pour examen et traitement dès que possible. Les options de traitement incluent les médicaments et le traitement chirurgical. |
| Les causes de la lèpre et de l'asthme infantile sont-elles cohérentes? | Les causes de l'asthme et de la lèpre chez les enfants sont cohérentes, mais les causes de l'asthme et de la lèpre chez les enfants ne sont pas cohérentes | Oui, l'asthme et les enfants ont des causes similaires. | Incohérente, la cause de la lèpre est une infection de la lèpre, tandis que la cause de l'asthme chez les enfants est des facteurs tels que une mauvaise alimentation et un tabagisme. |
| Un patient a développé un gonflement persistant et une ictère. Après examen d'imagerie, la maladie de la pierre du canal hépatobiliaire. Quels plans de traitement devraient être suivis? | Quels plans de traitement les patients atteints de la maladie en pierre des canaux hépatobiliaires doivent-ils prendre? | Les patients doivent subir une combinaison de chirurgie et de chimiothérapie. | Pour les maladies en pierre des conduits hépatobiliaires, les plans de traitement comprennent le traitement chirurgical, le traitement médicamenteux et le traitement auxiliaire. Le plan de traitement spécifique doit être déterminé en fonction des circonstances spécifiques du patient. |
Q: Pourquoi a-t-il été renommé "Bencao"?
R: La cohérence du nom du modèle de grande langue du laboratoire SCIR et le nom du modèle médical chinois sont ajustées à la «médecine à base de plantes».
Q: Pourquoi est-ce "Hua Tuo" au lieu de "Hua Tuo"?
R: Il s'appelle "Camel" parce que notre LLAMA de base est Llama et Alpaca est l'alpaga. Inspirés par leurs noms et le phon homophonique de Hua Tuo, nous avons nommé notre modèle Hua Tuo.
Q: Y a-t-il une théorie traditionnelle de la médecine chinoise ou des données traditionnelles de médecine chinoise utilisée?
R: Non
Q: Les résultats de l'exécution du modèle sont différents et les effets sont limités
R: En raison de la considération de la diversité générative dans les modèles génératifs, les résultats de plusieurs analyses peuvent varier. Le modèle open source actuel est limité dans le corpus chinois de lama et de l'alpaga et la façon de combiner les connaissances est relativement rude, veuillez essayer les modèles basés sur la floraison et mobiles basés sur des types.
Q: Le modèle ne peut pas s'exécuter / le contenu d'inférence est complètement inacceptable
R: Veuillez déterminer les dépendances dans les exigences installées, configurer l'environnement CUDA et ajouter des variables d'environnement, saisir correctement le modèle téléchargé et l'emplacement de stockage LORA; Si le contenu d'inférence est dupliqué ou si un mauvais contenu appartient au phénomène occasionnel du modèle basé sur LLAMA, il a une certaine relation avec la capacité chinoise du modèle LLAMA, de l'échelle de données de formation et des paramètres d'hyperparamètre. Veuillez essayer un nouveau modèle basé sur le type mobile. S'il y a de graves problèmes, veuillez décrire le nom de fichier en cours d'exécution, le nom du modèle, LORA et d'autres informations de configuration dans le problème en détail. Merci.
Q: Lequel des nombreux modèles publiés est le meilleur?
R: Selon notre expérience, l'effet basé sur le modèle de type mobile est relativement meilleur.
Ce projet a été achevé par Wang Haochun, Du Yanrui, Liu Chi, Bai Rui, Cinuwa, Chen Yuhan, Qiang Zewen, Chen Jianyu et Li Zijian, The Health Intelligence Group of the Center for Social Computing and Information Retriel of Harbin Institute of Technology. Les instructeurs sont le professeur agrégé Zhao Sendong, le professeur Qin Bing et le professeur Liu Ting.
Ce projet fait référence aux projets open source suivants et nous tenons à exprimer notre gratitude aux projets et à la recherche et au personnel de recherche et de développement.
Les ressources liées à ce projet concernent uniquement la recherche universitaire et sont strictement interdites à des fins commerciales. Lorsque vous utilisez des pièces impliquant du code tiers, veuillez suivre strictement le protocole open source correspondant. Le contenu généré par le modèle est affecté par des facteurs tels que le calcul du modèle, le hasard et les pertes de précision quantitative, et ce projet ne peut garantir sa précision. La plupart des ensembles de données de ce projet sont générés par des modèles et ne peuvent pas être utilisés comme base pour le diagnostic médical réel même s'ils sont conformes à certains faits médicaux. Ce projet n'assume aucune responsabilité juridique pour toute sortie de contenu par le modèle, et elle n'est pas responsable des pertes pouvant résulter de l'utilisation des ressources pertinentes et des résultats de sortie.
Si vous avez utilisé les données ou le code de ce projet, ou si notre travail vous est utile, veuillez déclarer un devis
Rapport technique de première édition: Huatuo: Tuning Llama Modèle avec des connaissances médicales chinoises
@misc{wang2023huatuo,
title={HuaTuo: Tuning LLaMA Model with Chinese Medical Knowledge},
author={Haochun Wang and Chi Liu and Nuwa Xi and Zewen Qiang and Sendong Zhao and Bing Qin and Ting Liu},
year={2023},
eprint={2304.06975},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Modèles de grande langue au réglage des connaissances avec des bases de connaissances médicales structurées pour une génération de réponse fiable en chinois
@misc{wang2023knowledgetuning,
title={Knowledge-tuning Large Language Models with Structured Medical Knowledge Bases for Reliable Response Generation in Chinese},
author={Haochun Wang and Sendong Zhao and Zewen Qiang and Zijian Li and Nuwa Xi and Yanrui Du and MuZhen Cai and Haoqiang Guo and Yuhan Chen and Haoming Xu and Bing Qin and Ting Liu},
year={2023},
eprint={2309.04175},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
L'ensemble de données CALLA: sondage de connaissances interactives de LLMS à partir de la littérature médicale chinoise
@misc{du2023calla,
title={The CALLA Dataset: Probing LLMs' Interactive Knowledge Acquisition from Chinese Medical Literature},
author={Yanrui Du and Sendong Zhao and Muzhen Cai and Jianyu Chen and Haochun Wang and Yuhan Chen and Haoqiang Guo and Bing Qin},
year={2023},
eprint={2309.04198},
archivePrefix={arXiv},
primaryClass={cs.CL}
}