Basado en las seis características de la salud activa: iniciativa, prevención, precisión, personalización, co-construcción e intercambio, y autodisciplina, la Escuela de Tecnología del Futuro de la Universidad Tecnológica del Sur de China-Laboratorio clave provincial de gemelos digitales de Guangdong ha abierto el código fuente. el sistema de salud activo del espacio vital en el campo chino Modelo base ProactiveHealthGPT, que incluye:
BianQue, un modelo de salud de gran espacio habitable perfeccionado por decenas de millones de instrucciones de datos de diálogo de salud chinos
El modelo de salud mental a gran escala SoulChat se ha perfeccionado mediante instrucciones conjuntas con instrucciones de texto largo en chino y múltiples rondas de datos de diálogo empático en el campo de millones de consultas psicológicas.
Esperamos que la base de grandes modelos de salud activa del espacio vital ProactiveHealthGPT pueda ayudar a la comunidad académica a acelerar la investigación y la aplicación de grandes modelos en campos de la salud activa, como las enfermedades crónicas y el asesoramiento psicológico. Este proyecto es SoulChat, un gran modelo de salud mental .
06.06.2024: Se publica la versión de código abierto del conjunto de datos SoulChatCorpus. Para obtener más información, consulte https://www.modelscope.cn/datasets/YIRONGCHEN/SoulChatCorpus, especialmente. , hemos filtrado alrededor de 90,000 muestras de conversaciones (debido a riesgos de privacidad, problemas de seguridad, riesgos políticos, muestras de baja calidad, etc., estas muestras aún se encuentran en la etapa de optimización manual y se actualizarán a la versión de código abierto de conjunto de datos después de completar la revisión manual), y finalmente retuvo 258,354 conversaciones de múltiples rondas, un total de 1,517,344 rondas. En un futuro próximo se lanzará una nueva versión del modelo y se espera que se adapte a múltiples modelos de código abierto y múltiples niveles de parámetros para facilitar el uso del usuario o realizar investigaciones experimentales comparativas.
07.12.2023: Nuestro artículo, incluido en Hallazgos de EMNLP 2023, consulte SoulChat: Mejorar las habilidades de empatía, escucha y comodidad de los LLM mediante el ajuste fino con conversaciones de empatía de varios turnos
2023.07.07: Se lanza la versión beta cerrada en línea del gran modelo de salud mental SoulChat. Bienvenido a hacer clic en el enlace para usar: Versión beta cerrada de SoulChat.
2023.06.24: Este proyecto se incluyó en la lista de grandes modelos chinos. Es el primer gran modelo nacional de código abierto en el campo psicológico con capacidades de empatía y escucha.
06.06.2023: El modelo BianQue-2.0 es de código abierto. Para obtener más información, consulte BianQue-2.0.
06.06.2023: Se lanzó SoulChat, un gran modelo de salud espiritual con la capacidad de empatizar y escuchar. Para obtener más detalles, consulte: SoulChat, un gran modelo de salud espiritual: mediante el ajuste mixto de instrucciones de consulta de texto extenso y múltiples rondas de. Conjuntos de datos de diálogo empático, el rendimiento del modelo mejora la capacidad de "Empatía".
22/04/2023: Demostración del sistema de preguntas y respuestas médicas basado en el modelo Bianque-1.0. Para más detalles, visite: https://huggingface.co/spaces/scutcyr/BianQue.
2023.04.22: Se lanza el modelo de versión BianQue-1.0 Para obtener más detalles, consulte: BianQue-1.0: Mejora de la capacidad de "preguntar" del modelo de chat médico mediante instrucciones mixtas y ajuste de múltiples rondas de conjuntos de datos de consultas médicas (BianQue-). 1.0: Mejora de la capacidad de "preguntas" del modelo de chat médico mediante el ajuste con instrucciones híbridas y conjuntos de datos de control de calidad de médicos de múltiples turnos)
Investigamos las plataformas actuales de asesoramiento psicológico comunes y descubrimos que cuando los usuarios buscan ayuda psicológica en línea, generalmente necesitan describirse a sí mismos de manera extensa, y luego los consejeros psicológicos que brindan ayuda también brindan una respuesta larga (ver figura/single_turn.png). , faltando un proceso de confianza progresivo. Sin embargo, en el proceso de asesoramiento psicológico real, habrá múltiples rondas de procesos de comunicación entre el usuario y el consejero psicológico. Durante este proceso, el consejero psicológico guiará al usuario para que hable y le brinde empatía, como: "Es genial". , “Entiendo cómo te sientes”, “Por supuesto que puedes”, etc. (ver imagen a continuación).
Teniendo en cuenta la falta actual de conjuntos de datos de diálogo empático de múltiples turnos, por un lado, construimos instrucciones y respuestas de asesoramiento psicológico de texto largo de una sola ronda (SoulChatCorpus-single_turn) con una escala de más de 150.000, y el número de respuestas superó 500.000 (la cantidad de instrucciones es actualmente 6,7 veces mayor que la del conjunto de datos de asesoramiento psicológico común PsyQA), y utilizó ChatGPT y GPT4 para generar un total de aproximadamente 1 millón de rondas de datos de respuestas de múltiples rondas (SoulChatCorpus-multi_turn) . En particular, descubrimos en el experimento previo que un modelo de asesoramiento psicológico puramente de una sola ronda impulsado por artículos largos producirá una longitud de texto que resultará aburrida para los usuarios y no tiene la capacidad de guiarlos a hablar. Modelo de asesoramiento psicológico basado en datos de diálogo de asesoramiento psicológico redondo El modelo debilita la capacidad de recomendación del modelo. Por lo tanto, mezclamos SoulChatCorpus-single_turn y SoulChatCorpus-multi_turn para construir un conjunto de datos de diálogo empático mixto de ronda única y ronda múltiple con más SoulChatCorpus. de 1,2 millones de muestras. . Todos los datos se unifican en un formato de comando en forma de "Usuario: xxxn Consejero psicológico: xxxn Usuario: xxxn Consejero psicológico:".
Elegimos ChatGLM-6B como modelo de inicialización y realizamos ajustes de todos los parámetros para mejorar la capacidad del modelo para empatizar, guiar a los usuarios a hablar y brindar sugerencias razonables. Para obtener más detalles sobre la capacitación, preste atención a nuestros artículos posteriores.
Clonar este proyecto
cd ~git clon https://github.com/scutcyr/SoulChat.git
Al instalar dependencias, tenga en cuenta que la versión de torch debe seleccionarse en función de la versión de cuda real de su servidor. Para obtener más información, consulte la guía de instalación de pytorch.
cd almachat conda env crear -n proactivehealthgpt_py38 --file proactivehealthgpt_py38.yml conda activar proactivehealthgpt_py38 instalación de pip 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
[Suplemento] Se recomienda a los usuarios de Windows que consulten el siguiente proceso para configurar el entorno.
cdBianQue conda crear -n proactivehealthgpt_py38 python=3.8 conda activar 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 instalación de pip -r requisitos.txt pip install rouge_chinese nltk jieba datasets# La siguiente instalación es para ejecutar demoopip install streamlit instalación de pip streamlit_chat
[Suplemento] Configuración de CUDA-11.6 en Windows: descargue e instale CUDA-11.6, descargue cudnn-8.4.0, descomprima y copie los archivos en la ruta correspondiente a CUDA-11.6, consulte: Uso de conda para instalar pytorch en win11-cuda11 6-Ideas generales de instalación.
Llamar al modelo SoulChat en Python
importar antorcha de transformadores importar AutoModel, AutoTokenizer# Configuración de GPU dispositivo = torch.device("cuda" if torch.cuda.is_available() else "cpu")# Cargar modelo con tokenizer model_name_or_path = 'scutcyr/SoulChat' model = AutoModel.from_pretrained( nombre_modelo_o_ruta, trust_remote_code=True).half()model.to(device)tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)# El diálogo de una sola ronda llama a la función de chat del modelo user_input = "Estoy enamorado, ¡qué incómodo!" = "Usuario:" + entrada_usuario + "nConsejero psicológico:"respuesta, historial = 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)# Llame a la función de chat del modelo para múltiples rondas de diálogo# Nota: Este proyecto utiliza "n usuarios:" y "n consejero psicológico:" para dividir el historial de conversaciones de diferentes rondas# Nota: user_history es más largo que bot_history 1user_history = ['Hola, maestra', 'Mi novia rompió conmigo y me siento muy incómodo']bot_history = ['¡Hola! Soy tu consejera digital personal, Sweetheart Teacher. Puedes hablar conmigo y tener una conversación sincera. ¡Espero poder ayudarte! ']# Contexto del historial de conversación de empalme = "n".join([f"Usuario: {user_history[i]}n Consejero psicológico: {bot_history[i]}" para i in range(len(bot_history))])input_text = contexto + "nuser:" + user_history[-1] + "nconsejero psicológico:" respuesta, historial = model.chat(tokenizer, query=input_text, historial=Ninguno, longitud_máxima=2048, num_beams=1, do_sample=True, top_p=0,75, temperatura=0,95, logits_processor=Ninguno)
Iniciar servicio
Este proyecto proporciona soulchat_app.py como ejemplo del uso del modelo SoulChat. Puede iniciar el servicio mediante el siguiente comando y luego acceder a él a través de http://<your_ip>:9026.
ejecución optimizada soulchat_app.py --server.port 9026
En particular, en soulchat_app.py, puedes modificar el siguiente código para reemplazar la tarjeta gráfica especificada:
os.environ['CUDA_VISIBLE_DEVICES'] = '2'
Para usuarios de una sola tarjeta gráfica de Windows, deben modificarlo a: os.environ['CUDA_VISIBLE_DEVICES'] = '0'
; de lo contrario, se informará un error.
Puede especificar que la ruta del modelo sea una ruta local cambiando el siguiente código:
model_name_or_path = 'scutcyr/SoulChat'
Ejemplo 1: Perdido en el amor
Ejemplo 2: relación de dormitorio
Ejemplo 3: examen final
Ejemplo 4: Presión de la investigación científica
Este proyecto utiliza los pesos del modelo ChatGLM-6B y debe seguir su MODEL_LICENSE. Por lo tanto, este proyecto solo puede usarse para fines de investigación no comerciales .
El modelo SoulChat proporcionado por este proyecto está dedicado a mejorar el diálogo empático y las capacidades de escucha de modelos grandes. Sin embargo, el texto de salida del modelo tiene un cierto grado de aleatoriedad, lo cual es apropiado cuando se usa como oyente, pero lo es. No se recomienda utilizar el modelo SoulChat. El texto de salida reemplaza el diagnóstico y consejo de un psicólogo, etc. Este proyecto no garantiza que el texto generado por el modelo sea completamente adecuado para los usuarios. ¡Los usuarios deben asumir todos los riesgos al utilizar este modelo!
No puede utilizar, copiar, modificar, fusionar, publicar, distribuir, reproducir o crear trabajos derivados del Modelo SoulChat, en su totalidad o en parte, para ningún propósito comercial, militar o ilegal.
No puede utilizar el modelo SoulChat para participar en ningún comportamiento que ponga en peligro la seguridad y la unidad nacional, ponga en peligro los intereses sociales y públicos o infrinja los derechos personales.
Al utilizar el modelo SoulChat, debe tener en cuenta que no puede reemplazar a profesionales como médicos y psicólogos. No debe confiar, obedecer ni creer demasiado en los resultados del modelo, y no debe volverse adicto a chatear con SoulChat. modelo durante mucho tiempo.
Este proyecto fue iniciado por el Laboratorio Provincial Clave de Gemelos Digitales de la Escuela de Tecnología del Futuro de la Universidad Tecnológica del Sur de China. Cuenta con el apoyo del Centro de Investigación de Ingeniería de Redes de Información, la Escuela de Electrónica e Información y otros departamentos de la Universidad Tecnológica del Sur de China. También agradece al Hospital de Salud Materno Infantil de Guangdong, al Gobierno Municipal de Guangzhou. Las unidades cooperantes incluyen el Centro Médico para Mujeres y Niños, el Tercer Hospital Afiliado de la Universidad Sun Yat-sen y el Instituto de Investigación de Inteligencia Artificial del Centro Nacional de Ciencias Integrales de Hefei.
Al mismo tiempo, nos gustaría agradecer a los siguientes medios o cuentas públicas por informar sobre este proyecto (sin ningún orden en particular):
Cobertura mediática People's Daily, 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 , Red de información de China, Red de comunicación de China, Red de informes de ciudades de China, Red de ciudades de China
Cuenta Pública Construcción del Laboratorio de Guangdong, Voz Inteligente Nueva Juventud, Aprendizaje Profundo y PNL, AINLP
@inproceedings{chen-etal-2023-soulchat,title = "{S}oul{C}hat: Mejorar las habilidades de empatía, escucha y comodidad de los {LLM}s{'} mediante el ajuste de conversaciones de empatía de varios turnos", autor = "Chen, Yirong y Xing, Xiaofen y Lin, Jingkai y Zheng, Huimin y Wang, Zhenyu y Liu, Qi y Xu, Xiangmin",editor = "Bouamor, Houda y Pino, Juan y Bali, Kalika",booktitle = "Hallazgos de la Asociación de Lingüística Computacional: EMNLP 2023",mes = diciembre,año = "2023", dirección = "Singapur", editor = "Asociación de Lingüística Computacional",url = "https://aclanthology.org/2023.findings-emnlp.83",pages = "1170--1183",abstract = "Los modelos de lenguajes grandes (LLM) se han aplicado ampliamente en diversos campos debido a su excelente capacidad para memorizar conocimiento y cadena de pensamiento (CoT). Cuando estos modelos de lenguaje se aplican en el campo del asesoramiento psicológico, a menudo se apresuran a brindar consejos universales. Sin embargo, cuando los usuarios buscan apoyo psicológico, necesitan ganar empatía. confianza, comprensión y comodidad, en lugar de solo consejos razonables. Para este fin, construimos un conjunto de datos de conversación empática de múltiples turnos de más de 2 millones de muestras, en el que la entrada es el contexto de la conversación de múltiples turnos y el objetivo son las respuestas empáticas. que cubren expresiones como cuestionamiento, consuelo, reconocimiento, escucha, confianza, apoyo emocional, etc. Los experimentos han demostrado que la capacidad de empatía de los LLM se puede mejorar significativamente cuando se afina mediante el uso de un historial de diálogo de múltiples turnos y respuestas más cercanas a la expresión. de un consultor psicológico.", }}