Chino | Inglés

Este proyecto abre la fuente de un conjunto de modelos de idioma grande que ha sido ajustado/ajuste de instrucciones en las instrucciones médicas chinas, incluidas las llamas, alpaca-china, floración, modelos de tipo móvil, etc.
Según el gráfico de conocimiento médico y la literatura médica, combinamos con la API de ChatGPT para construir un conjunto de datos de ajuste fino de instrucción médica china, y utilizamos esto para ajustar las instrucciones de varios modelos básicos, mejorando el efecto de preguntas y respuestas del modelo básico en el campo de la medicina.
[2023/09/24] Lanzamiento "Big Language Model Techning Fin-Auting Technology para la atención médica inteligente"
[2023/09/12] Lanzamiento "Explorando la adquisición del conocimiento interactivo de la literatura médica por grandes modelos" en ARXIV
[2023/09/08] Lanzamiento "Método de generación de respuesta médica china confiable para modelos de idiomas grandes basados en el conocimiento del conocimiento" en ARXIV
[2023/08/07] Se agrega una liberación de modelo basada en el tipo móvil, y el efecto del modelo mejora significativamente.
[2023/08/05] El modelo herbal se presenta en la pista de demostración de CCL 2023.
[2023/08/03] Modelo general de preguntas y respuestas de tipo móvil de código abierto del laboratorio SCIR, bienvenido a seguir?
[2023/07/19] agregó un modelo para instrucciones de ajuste fino basados en la floración.
[2023/05/12] El modelo pasó a llamarse "Bencao" de "Hua Tuo".
[2023/04/28] agregó una versión de modelo basada en el modelo de Alpaca China para instrucciones de ajuste fino.
[2023/04/24] agregó un modelo para la instrucción de ajuste fino basado en la llama y la literatura médica.
[2023/03/31] agregó un lanzamiento de modelo para instrucciones de ajuste fino basados en la base de llamas y de conocimiento médico.
Primero instale el paquete de dependencia, Python Environment recomienda 3.9+
pip install -r requirements.txt
Para todos los modelos base, adoptamos el método de ajuste de ajuste Lora del modelo de base de media precisión para el entrenamiento de ajuste de instrucción para sopesar los recursos informáticos y el rendimiento del modelo.
Las pesas de Lora se pueden descargar a través de Baidu NetDisk o una cara de abrazo:
Descargue el peso de Lora y el descompresión. El formato descomprimido es el siguiente:
**lora-folder-name**/
- adapter_config.json # LoRA权重配置文件
- adapter_model.bin # LoRA权重文件
Basado en los mismos datos, también capacitamos la versión médica del modelo CHATGLM: CHATGLM-6B-MED
Proporcionamos algunos casos de prueba en ./data/infer.json , que se puede reemplazar con otros conjuntos de datos. Tenga en cuenta que el formato es consistente.
Ejecutar el script inferir
#基于医学知识库
bash ./scripts/infer.sh
#基于医学文献
#单轮
bash ./scripts/infer-literature-single.sh
#多轮
bash ./scripts/infer-literature-multi.sh
El código de secuencia de comandos Infer.Sh es el siguiente. Reemplace el modelo base base_model, Lora Weight Lora_Weights y la ruta del conjunto de datos de prueba instruct_dir en el siguiente código y ejecutarlo después de reemplazar el modelo base base_model, Lora Weight Lora_weights y probar la ruta del conjunto de datos 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 selección de plantillas de inmediato está relacionada con el modelo, los detalles son los siguientes:
| Tipo móvil y floración | Llama y Alpaca |
|---|---|
templates/bloom_deploy.json | Basado en templates/med_template.jsonBasado en templates/literature_template.json |
También puede consultar ./scripts/test.sh
El modelo básico tiene efectos limitados en los escenarios de preguntas y respuestas médicas, y la instrucción ajustada es una forma eficiente de hacer que el modelo básico tenga la capacidad de responder preguntas humanas.
Hemos adoptado una base de conocimiento médico chino abierta y autocuidas, principalmente referiéndose a CMEKG.
La base de conocimiento médico se basa en enfermedades, medicamentos, indicadores de examen, etc., y los campos incluyen complicaciones, factores de alto riesgo, exámenes histológicos, síntomas clínicos, tratamiento farmacológico, tratamiento auxiliar, etc. El ejemplo de la base de conocimiento es el siguiente:
{"中心词": "偏头痛", "相关疾病": ["妊娠合并偏头痛", "恶寒发热"], "相关症状": ["皮肤变硬", "头部及眼后部疼痛并能听到连续不断的隆隆声", "晨起头痛加重"], "所属科室": ["中西医结合科", "内科"], "发病部位": ["头部"]}
Utilizamos la interfaz GPT3.5 para crear datos de preguntas y respuestas en torno a la base de conocimiento médico y configurar una variedad de formularios rápidos para hacer un uso completo del conocimiento.
Los ejemplos de datos establecidos de capacitación para instrucciones de ajuste fino son los siguientes:
"问题:一位年轻男性长期使用可卡因,突然出现胸痛、呕吐、出汗等症状,经检查发现心电图反映心肌急性损伤,请问可能患的是什么疾病?治疗方式是什么?"
回答: 可能患的是心肌梗塞,需要进行维拉帕米、依普利酮、硝酸甘油、ß阻滞剂、吗啡等药物治疗,并进行溶栓治疗、低分子量肝素、钙通道阻滞剂等辅助治疗。此外需要及时停用可卡因等药物,以防止病情加重。"
Proporcionamos un conjunto de datos de capacitación del modelo, con un total de más de 8,000 piezas. Cabe señalar que aunque la construcción del conjunto de capacitación incorpora conocimiento, todavía hay errores e imperfecciones. En el futuro, utilizaremos mejores estrategias para iterar y actualizar el conjunto de datos.
La calidad del conjunto de datos de ajuste de instrucción aún es limitada, y la iteración se llevará a cabo en el futuro. Al mismo tiempo, la base de conocimiento médico y el código de construcción del conjunto de datos aún se están ordenando, y se lanzará después de completar la clasificación.
Además, recopilamos la literatura médica china sobre enfermedades del cáncer de hígado en 2023 y utilizamos la interfaz GPT3.5 para construir múltiples rondas de datos de preguntas y respuestas sobre la [conclusión] de la literatura médica. En · ./data_literature/liver_cancer.json proporcionamos ejemplos de capacitación 1K. En la actualidad, la calidad de las muestras de entrenamiento aún es limitada. En el futuro, iteraremos aún más los datos y los publicaremos al público en forma de公开数据集. Los ejemplos de muestras de entrenamiento son los siguientes:

Actualmente, solo abrimos parámetros del modelo para el entrenamiento de enfermedad única del "cáncer de hepatitis". En el futuro, planeamos publicar conjuntos de datos de diálogo médico que incorporen conclusiones de literatura y capacitarán modelos para 16 enfermedades relacionadas con "hepatobiliar y pancreático".
Para obtener más detalles, consulte nuestro artículo: "Explorando la adquisición del conocimiento interactivo de la literatura médica para grandes modelos"
Si desea ajustar el modelo de idioma grande con su propio conjunto de datos, cree su propio conjunto de datos en el formato en ./data/llama_data.json
Ejecute el script de Finetune
bash ./scripts/finetune.sh
Durante el proceso de ajuste de instrucciones basado en el modelo LLAMA, entrenamos en una tarjeta gráfica A100-SXM-80GB. Las rondas totales de entrenamiento fueron 10 rondas, que tomaron alrededor de 2H17m. Con Batch_Size = 128, la memoria de video ocupa unos 40 g. Se espera que las tarjetas gráficas 3090/4090 (memoria gráfica de 24 GB) o arriba puedan ser mejor admitidas, y Batch_Size se ajusta de acuerdo con el tamaño de la memoria gráfica.
Para configuraciones de hiperparameter y procedimientos experimentales, consulte el enlace de WandB:
https://wandb.ai/thinksoso/llama_med/runs/a5wgcnzt/overview?workspace=user-thinksoso
Nota: Probado en marzo de 2023
| Entrada de prueba | Producción de llamas | Salida de alpaca | Bentsao Materia Medica |
|---|---|---|---|
| Xiao Zhang se ha sentido mal recientemente y tiene síntomas como palpitaciones y falta de aliento. El examen físico encontró que el corazón estaba agrandado y la pulsación se debilitó. | Pregunta: Xiao Zhang se ha sentido mal recientemente y tiene síntomas como palpitaciones y falta de aliento. El examen físico encontró que el corazón estaba agrandado y la pulsación se debilitó. | Recientemente, Xiao Zhang se ha sentido incómodo y tiene síntomas como malestar y dificultad para respirar. El examen físico muestra que el corazón está agrandado y los músculos son débiles. | Xiao Zhang puede sufrir miocarditis, por lo que se recomienda ir al hospital para su examen y tratamiento lo antes posible. Las opciones de tratamiento incluyen medicamentos y tratamiento quirúrgico. |
| ¿Son consistentes las causas de la lepra y el asma infantil? | Las causas del asma y la lepra en los niños son consistentes, pero las causas del asma y la lepra en los niños no son consistentes | Sí, el asma y los niños tienen causas similares. | Inconsistente, la causa de la lepra es la infección por la lepra, mientras que la causa del asma en los niños es factores como la mala alimentación y el tabaquismo. |
| Un paciente desarrolló hinchazón persistente e ictericia. Después del examen de imágenes, la enfermedad de piedra del conducto hepatobiliar. ¿Qué planes de tratamiento se deben tomar? | ¿Qué planes de tratamiento deben tomar los pacientes con enfermedad de piedra del conducto hepatobiliar? | Los pacientes deben someterse a una combinación de cirugía y quimioterapia. | Para la enfermedad de la piedra del conducto hepatobiliar, los planes de tratamiento incluyen tratamiento quirúrgico, tratamiento farmacológico y tratamiento auxiliar. El plan de tratamiento específico debe determinarse de acuerdo con las circunstancias específicas del paciente. |
P: ¿Por qué pasó el nombre de "Bencao"?
R: La consistencia del nombre del modelo de lenguaje grande SCIR, y el nombre del modelo médico chino se ajusta a la "medicina herbal material".
P: ¿Por qué es "Hua Tuo" en lugar de "Hua Tuo"?
R: Se llama "Camel" porque nuestro Llama Basic Model es Llama y Alpaca es Alpaca. Inspirado por sus nombres y el fono homofónico de Hua Tuo, llamamos a nuestra modelo Hua Tuo.
P: ¿Existen alguna teoría tradicional de medicina china o datos de medicina china tradicional?
A: No
P: Los resultados de la ejecución del modelo son diferentes y los efectos son limitados
R: Debido a la consideración de la diversidad generativa en modelos generativos, los resultados de múltiples ejecuciones pueden variar. El modelo actual de código abierto es limitado en el corpus chino de Llama y Alpaca y la forma de combinar el conocimiento es relativamente áspero, pruebe los modelos basados en la floración y móviles basados en tipo.
P: El modelo no puede ejecutarse/El contenido de inferencia es completamente inaceptable
R: Determine las dependencias en los requisitos instalados, configure el entorno CUDA y agregue variables de entorno, ingrese correctamente el modelo descargado y la ubicación de almacenamiento de Lora; Si el contenido de inferencia se duplica o algún contenido incorrecto pertenece al fenómeno ocasional del modelo basado en LLAMA, tiene una cierta relación con la capacidad china del modelo de LLAMA, la escala de datos de entrenamiento y la configuración de hiperparameter. Pruebe un nuevo modelo basado en el tipo móvil. Si hay problemas serios, describa el nombre del archivo en ejecución, el nombre del modelo, Lora y otra información de configuración en el tema en detalle. Gracias.
P: ¿Cuál de los varios modelos lanzados es el mejor?
R: Según nuestra experiencia, el efecto basado en el modelo de tipo móvil es relativamente mejor.
Este proyecto fue completado por Wang Haochun, Du Yanrui, Liu Chi, Bai Rui, Cinuwa, Chen Yuhan, Qiang Zewen, Chen Jianyu y Li Zijian, el Grupo de Inteligencia de la Salud del Centro de Computación Social y Recuperación de Información del Instituto Harbin de Tecnología. Los instructores son el profesor asociado Zhao Sendong, el profesor Qin Bing y el profesor Liu Ting.
Este proyecto se refiere a los siguientes proyectos de código abierto, y nos gustaría expresar nuestra gratitud a los proyectos relevantes y al personal de investigación y desarrollo.
Los recursos relacionados con este proyecto son solo para la investigación académica y están estrictamente prohibidas para fines comerciales. Al usar piezas que involucran código de terceros, siga estrictamente el protocolo de código abierto correspondiente. El contenido generado por el modelo se ve afectado por factores como el cálculo del modelo, la aleatoriedad y las pérdidas cuantitativas de precisión, y este proyecto no puede garantizar su precisión. La mayoría de los conjuntos de datos de este proyecto son generados por modelos y no pueden usarse como base para el diagnóstico médico real, incluso si cumplen con ciertos hechos médicos. Este proyecto no asume ninguna responsabilidad legal por la producción de contenido por parte del modelo, ni es responsable de las pérdidas que puedan surgir del uso de recursos relevantes y resultados de salida.
Si ha utilizado los datos o el código de este proyecto, o nuestro trabajo es útil para usted, declare una cotización
Informe técnico de la primera edición: Huatuo: Modelo Tuning Llama con conocimiento médico chino
@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}
}
Modelos de lenguaje grande para abordar el conocimiento con bases de conocimiento médico estructurado para generación de respuesta confiable en chino
@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}
}
El conjunto de datos de cala: adquisición de conocimiento interactivo de LLMS de LLMS de la literatura médica china
@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}
}