Los problemas de salud mental a menudo son mal entendidos o no comprendidos completamente por el público en general. Esta falta de comprensión puede generar miedo, malestar y percepciones negativas sobre las condiciones de salud mental. Las representaciones que los medios de comunicación hacen de la salud mental a menudo perpetúan estereotipos negativos, lo que genera conceptos erróneos y miedo. Superar el estigma de la salud mental requiere un enfoque multifacético que implique educación, sensibilización, promoción de la empatía y la comprensión, desafiar los estereotipos y garantizar una atención de salud mental accesible y de calidad. La salud mental afecta directamente el bienestar general, la calidad de vida y la capacidad de un individuo para funcionar eficazmente en la vida diaria. Una buena salud mental es esencial para experimentar la felicidad, la realización y un sentido de propósito. La salud mental y la salud física están estrechamente entrelazadas. Los problemas de salud mental no tratados pueden provocar o empeorar problemas de salud física, como enfermedades cardiovasculares, sistemas inmunológicos debilitados y afecciones crónicas.
Los chatbots ofrecen una plataforma fácilmente disponible y accesible para personas que buscan apoyo. Se puede acceder a ellos en cualquier momento y en cualquier lugar, brindando asistencia inmediata a quienes la necesitan. Los chatbots pueden ofrecer respuestas empáticas y sin prejuicios, brindando apoyo emocional a los usuarios. Si bien no pueden reemplazar por completo la interacción humana, pueden ser un complemento útil, especialmente en momentos de angustia.
NOTA: Es importante tener en cuenta que, si bien los chatbots de salud mental pueden ser útiles, no reemplazan la atención profesional de salud mental. Pueden complementar los servicios de salud mental existentes proporcionando apoyo y recursos adicionales.
El conjunto de datos se seleccionó a partir de preguntas frecuentes en línea relacionadas con la salud mental, blogs de atención médica populares como WebMD, Mayo Clinic y Healthline, y otros artículos wiki relacionados con la salud mental. El conjunto de datos se procesó previamente en un formato conversacional de modo que tanto las preguntas del paciente como las respuestas del médico estén en el mismo texto. El conjunto de datos de esta IA conversacional de salud mental se puede encontrar aquí: heliosbrahma/mental_health_chatbot_dataset.
NOTA: Todas las preguntas y respuestas se han anonimizado para eliminar cualquier dato PII y se han preprocesado para eliminar cualquier carácter no deseado.
Este es el paso más importante de todo el proyecto. Utilicé un modelo preentrenado Falcon-7B fragmentado y lo ajusté para usar la técnica QLoRA en mi conjunto de datos de salud mental personalizado. Todo el proceso de ajuste tomó menos de una hora y se ajustó completamente en Nvidia A100 de Google Colab Pro. Pero también podría entrenarse en una GPU de nivel gratuito utilizando Nvidia T4 proporcionada por Colab. En ese caso, debemos asegurarnos de utilizar max_steps inferiores a 150. La razón fundamental detrás del uso de un modelo fragmentado previamente entrenado se menciona en la publicación de mi blog: Ajuste fino del modelo de lenguaje grande Falcon-7B usando QLoRA en un conjunto de datos de salud mental.
Agregando aquí el informe de seguimiento de métricas de pérdida de entrenamiento de los registros de monitoreo de WandB para una ejecución de entrenamiento de 180 pasos: registros de entrenamiento/pérdida para Falcon-7B PEFT
NOTA: Intente cambiar los hiperparámetros en TrainingArguments y LoraConfig según sus requisitos. Con los ajustes mencionados en el cuaderno, logré una pérdida de entrenamiento de 0,031 después de 320 pasos.
El modelo PEFT ajustado se actualizó aquí: heliosbrahma/falcon-7b-sharded-bf16-finetuned-mental-health-conversational.
Ejecute el cuaderno gradio_chatbot_app.ipynb
para obtener una interfaz similar a un chatbot utilizando Gradio como interfaz para la demostración. Juegue con diferentes configuraciones de hiperparámetros para la generación de respuestas y ejecute múltiples consultas para verificar la calidad de la respuesta generada.
Se necesitan menos de 3 minutos para generar la respuesta del modelo. Compare la respuesta del modelo PEFT con la respuesta del modelo original en el cuaderno funetuned_qlora_falcon7b.ipynb
.
He escrito un blog técnico detallado que explica conceptos clave del método de ajuste fino QLoRA y PEFT: Ajuste fino del modelo de lenguaje grande Falcon-7B usando QLoRA en un conjunto de datos de salud mental. Si aún tiene alguna consulta, puede abrir un problema en este repositorio o comentar en mi blog.
Si te gusta este proyecto, por favor este repositorio .