Com base nas seis características da saúde ativa: iniciativa, prevenção, precisão, personalização, coconstrução e compartilhamento e autodisciplina, a Escola de Tecnologia do Futuro da Universidade de Tecnologia do Sul da China - Laboratório Chave Provincial de Gêmeos Digitais de Guangdong abriu o código-fonte o sistema de saúde ativo do espaço vital no campo chinês Base do modelo ProactiveHealthGPT, incluindo:
BianQue, um modelo de saúde de grande espaço residencial aprimorado por dezenas de milhões de instruções de dados de diálogo de saúde chinês
O modelo de saúde mental em larga escala SoulChat foi aprimorado por meio de instruções conjuntas com instruções de texto longo em chinês e múltiplas rodadas de dados de diálogo empático no campo de milhões de consultas psicológicas.
Esperamos que a grande base de modelos de saúde ativa do espaço vital ProactiveHealthGPT possa ajudar a comunidade acadêmica a acelerar a pesquisa e a aplicação de grandes modelos em áreas de saúde ativa, como doenças crônicas e aconselhamento psicológico. Este projeto é o SoulChat, um grande modelo de saúde mental .
2024.06.06: A versão de código aberto do conjunto de dados SoulChatCorpus é lançada. Para obter detalhes, consulte https://www.modelscope.cn/datasets/YIRONGCHEN/SoulChatCorpus, especialmente. , filtramos cerca de 90.000 amostras de conversas (devido a riscos de privacidade, questões de segurança, riscos políticos, amostras de baixa qualidade, etc., essas amostras ainda estão em estágio de otimização manual e serão atualizadas para a versão de código aberto do conjunto de dados após a conclusão da revisão manual), retendo, em última análise, 258.354 conversas em várias rodadas, um total de 1.517.344 rodadas. Uma nova versão do modelo será lançada em um futuro próximo e espera-se que seja adaptada a vários modelos de código aberto e a vários níveis de parâmetros para facilitar o uso do usuário ou a realização de pesquisas experimentais comparativas.
2023.12.07: Nosso artigo, incluído nas descobertas do EMNLP 2023, consulte SoulChat: Melhorando as habilidades de empatia, escuta e conforto dos LLMs por meio do ajuste fino com conversas de empatia multivoltas
2023.07.07: A versão beta fechada online do grande modelo de saúde mental SoulChat é lançada. Bem-vindo, clique no link para usar: Versão beta fechada do SoulChat.
2023.06.24: Este projeto foi incluído na lista de grandes modelos chineses. É o primeiro grande modelo doméstico de código aberto na área psicológica com capacidade de empatia e escuta.
2023.06.06: O modelo BianQue-2.0 é de código aberto. Para obter detalhes, consulte BianQue-2.0.
2023.06.06: SoulChat, um grande modelo de saúde espiritual com capacidade de empatia e escuta, foi lançado. Para obter detalhes, consulte: SoulChat, um grande modelo de saúde espiritual: por meio do ajuste fino misto de instruções de consulta de texto longo e múltiplas rodadas de. conjuntos de dados de diálogo empático, o desempenho do modelo é melhorado capacidade de "empatia".
22.04.2023: Demonstração do sistema de perguntas e respostas médicas baseado no modelo Bianque-1.0 Para obter detalhes, visite: https://huggingface.co/spaces/scutcyr/BianQue.
2023.04.22: O modelo da versão BianQue-1.0 é lançado para obter detalhes: BianQue-1.0: Melhorando a capacidade de "perguntas" do modelo de bate-papo médico por meio de instruções mistas e ajuste fino de múltiplas rodadas de conjuntos de dados de consulta médica (BianQue-). 1.0: Melhorando a capacidade de "pergunta" do modelo de bate-papo médico por meio do ajuste fino com instruções híbridas e conjuntos de dados de controle de qualidade do médico multivoltas)
Investigamos as atuais plataformas comuns de aconselhamento psicológico e descobrimos que quando os usuários procuram ajuda psicológica on-line, eles geralmente precisam se descrever de forma detalhada e, em seguida, os conselheiros psicológicos que fornecem ajuda também fornecem uma resposta longa (ver figura/single_turn. png) , faltando um processo progressivo de confidência. Porém, no próprio processo de aconselhamento psicológico, haverá múltiplas rodadas de processos de comunicação entre o usuário e o conselheiro psicológico. Durante esse processo, o conselheiro psicológico orientará o usuário a conversar e fornecer empatia, como: “É ótimo. , “Eu entendo como você se sente”, “Claro que pode”, etc. (veja imagem abaixo).
Considerando a atual falta de conjuntos de dados de diálogo empático multiturno, por um lado, construímos instruções e respostas de aconselhamento psicológico de texto longo e de rodada única (SoulChatCorpus-single_turn) com uma escala de mais de 150.000, e o número de respostas excedeu 500.000 (o número de instruções é atualmente 6,7 vezes maior que o conjunto de dados de aconselhamento psicológico comum PsyQA) e usou ChatGPT e GPT4 para gerar um total de cerca de 1 milhão de rodadas de dados de resposta multi-rodada (SoulChatCorpus-multi_turn) . Em particular, descobrimos no pré-experimento que um modelo de aconselhamento psicológico puramente de rodada única, impulsionado por artigos longos, produzirá um texto enfadonho para os usuários e não terá a capacidade de orientá-los a falar. Modelo de aconselhamento psicológico baseado em dados de diálogo de aconselhamento psicológico O modelo enfraquece a capacidade de recomendação do modelo. Portanto, misturamos SoulChatCorpus-single_turn e SoulChatCorpus-multi_turn para construir um conjunto de dados de diálogo empático misto de rodada única e múltipla SoulChatCorpus com mais. de 1,2 milhão de amostras. . Todos os dados são unificados em um formato de comando na forma de "Usuário: xxxn Conselheiro Psicológico: xxxn Usuário: xxxn Conselheiro Psicológico:".
Escolhemos ChatGLM-6B como modelo de inicialização e realizamos o ajuste fino de todos os parâmetros para melhorar a capacidade do modelo de empatia, orientar os usuários a falar e fornecer sugestões razoáveis. Para obter mais detalhes sobre o treinamento, preste atenção aos nossos artigos subsequentes.
Clonar este projeto
cd ~git clone https://github.com/scutcyr/SoulChat.git
Ao instalar dependências, observe que a versão do torch precisa ser selecionada com base na versão real do cuda do seu servidor. Para obter detalhes, consulte o guia de instalação do pytorch.
cd SoulChat conda env create -n proactivehealthgpt_py38 --file proactivehealthgpt_py38.yml conda ativar proactivehealthgpt_py38 pip instalar cpm_kernels pip instalar tocha==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
[Suplemento] Recomenda-se que os usuários do Windows consultem o processo a seguir para configurar o ambiente.
cdBianQue conda criar -n proactivehealthgpt_py38 python=3.8 conda ativar proactivehealthgpt_py38 pip instalar tocha==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 pip instalar -r requisitos.txt pip install rouge_chinese nltk jieba datasets# A instalação a seguir é executar demoopip install streamlit pip instalar streamlit_chat
[Suplemento] Configurando CUDA-11.6 no Windows: Baixe e instale CUDA-11.6, baixe cudnn-8.4.0, descompacte e copie os arquivos para o caminho correspondente a CUDA-11.6, consulte: Usando conda para instalar pytorch em win11-cuda11 . 6-Ideias gerais de instalação
Chamando o modelo SoulChat em Python
importar torchfrom transformers importar AutoModel, AutoTokenizer# GPU settings device = torch.device("cuda" if torch.cuda.is_available() else "cpu")# Carregar modelo com tokenizer model_name_or_path = 'scutcyr/SoulChat' model = AutoModel.from_pretrained( nome_modelo_ou_caminho, trust_remote_code=True).half()model.to(device)tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)# O diálogo de rodada única chama a função de chat do modelo user_input = "Estou apaixonado, tão desconfortável!" = "Usuário:" + user_input + "nConselheiro psicológico:"resposta, histórico = 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)# Chame a função de chat do modelo para várias rodadas de dialog# Nota: Este projeto usa "n usuários:" e "n conselheiro psicológico:" para dividir o histórico de conversas de diferentes rodadas# Nota: user_history é maior que bot_history 1user_history = ['Olá, professor', 'Minha namorada terminou comigo e me sinto tão desconfortável']bot_history = ['Olá! Eu sou seu conselheiro digital pessoal, querido professor. Você está convidado a falar comigo e ter uma conversa franca. Estou ansioso para ajudá-lo. ']# Emendando histórico de conversa context = "n".join([f"Usuário: {user_history[i]}n Conselheiro psicológico: {bot_history[i]}" for i in range(len(bot_history))])input_text = contexto + "nuser:" + user_history[-1] + "conselheiro psicológico:" resposta, histórico = model.chat(tokenizer, query=input_text, histórico=Nenhum, max_length=2048, num_beams=1, do_sample=True, top_p=0,75, temperatura=0,95, logits_processor=Nenhum)
Iniciar serviço
Este projeto fornece soulchat_app.py como exemplo de uso do modelo SoulChat. Você pode iniciar o serviço por meio do seguinte comando e acessá-lo por meio de http://<seu_ip>:9026.
streamlit execute soulchat_app.py --server.port 9026
Em particular, em soulchat_app.py, você pode modificar o seguinte código para substituir a placa gráfica especificada:
os.environ['CUDA_VISIBLE_DEVICES'] = '2'
Para usuários de placa gráfica única do Windows, você precisa modificá-la para: os.environ['CUDA_VISIBLE_DEVICES'] = '0'
, caso contrário, um erro será relatado!
Você pode especificar o caminho do modelo como um caminho local alterando o seguinte código:
model_name_or_path = 'scutcyr/SoulChat'
Exemplo 1: Perdido no amor
Exemplo 2: Relacionamento dormitório
Exemplo 3: Exame final
Exemplo 4: Pressão da investigação científica
Este projeto utiliza os pesos do modelo ChatGLM-6B e precisa seguir seu MODEL_LICENSE Portanto, este projeto só pode ser utilizado para fins de pesquisa não comercial .
O modelo SoulChat fornecido por este projeto é dedicado a melhorar o diálogo empático e a capacidade de escuta de modelos grandes. No entanto, o texto de saída do modelo possui um certo grau de aleatoriedade, o que é apropriado quando é usado como ouvinte, mas é. não é recomendado usar o modelo SoulChat O texto de saída substitui o diagnóstico e aconselhamento de um psicólogo, etc. Este projeto não garante que a saída de texto do modelo seja totalmente adequada para os usuários. Os usuários precisam arcar com todos os riscos ao usar este modelo!
Você não pode usar, copiar, modificar, mesclar, publicar, distribuir, reproduzir ou criar trabalhos derivados do Modelo SoulChat, no todo ou em parte, para qualquer finalidade comercial, militar ou ilegal.
Você não pode usar o modelo SoulChat para se envolver em qualquer comportamento que ponha em risco a segurança nacional e a unidade nacional, ponha em perigo os interesses sociais e públicos ou infrinja os direitos pessoais.
Ao usar o modelo SoulChat, você deve estar ciente de que ele não pode substituir profissionais como médicos e psicólogos. Você não deve confiar, obedecer ou acreditar excessivamente no resultado do modelo e não deve ser viciado em conversar com o SoulChat. modelo por muito tempo.
Este projeto foi iniciado pelo Laboratório Provincial de Gêmeos Digitais de Guangdong, Escola de Tecnologia do Futuro, Universidade de Tecnologia do Sul da China. É apoiado pelo Centro de Pesquisa de Engenharia de Rede de Informação, Escola de Eletrônica e Informação e outros departamentos da Universidade de Tecnologia do Sul da China. Agradece também ao Hospital de Saúde Materno-Infantil de Guangdong, ao Governo Municipal de Guangzhou. As unidades de cooperação incluem o Centro Médico para Mulheres e Crianças, o Terceiro Hospital Afiliado da Universidade Sun Yat-sen e o Instituto de Pesquisa de Inteligência Artificial do Centro Nacional de Ciência Abrangente de Hefei.
Ao mesmo tempo, gostaríamos de agradecer aos seguintes meios de comunicação ou contas públicas por reportarem este projeto (sem ordem específica):
Cobertura da mídia 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 , Rede de Informação da China, Rede de Comunicação da China, Rede de Relatórios da Cidade da China, Rede da Cidade da China
Conta Pública Construção de Laboratório de Guangdong, Voz Inteligente Nova Juventude, Aprendizado Profundo e PNL, AINLP
@inproceedings{chen-etal-2023-soulchat,title = "{S}oul{C}hat: Melhorando as habilidades de empatia, escuta e conforto dos {LLM}s{'} por meio do ajuste fino com conversas de empatia em vários turnos", autor = "Chen, Yirong e Xing, Xiaofen e Lin, Jingkai e Zheng, Huimin e Wang, Zhenyu e Liu, Qi e Xu, Xiangmin",editor = "Bouamor, Houda e Pino, Juan e Bali, Kalika",booktitle = "Resultados da Associação de Lingüística Computacional: EMNLP 2023",mês = dezembro,ano = "2023",endereço = "Singapura", editor = "Associação de Lingüística Computacional",url = "https://aclanthology.org/2023.findings-emnlp.83",pages = "1170--1183",abstract = "Grandes modelos de linguagem (LLMs) têm sido amplamente aplicados em vários campos devido à sua excelente capacidade de memorização conhecimento e cadeia de pensamento (CoT). Quando estes modelos de linguagem são aplicados no campo do aconselhamento psicológico, muitas vezes apressam-se a fornecer aconselhamento universal. No entanto, quando os utilizadores procuram apoio psicológico, precisam de ganhar empatia, confiança, compreensão e conforto, em vez de apenas conselhos razoáveis. Para esse fim, construímos um conjunto de dados de conversação empática multivoltas com mais de 2 milhões de amostras, em que a entrada é o contexto da conversação multivoltas e o alvo são respostas empáticas. que abrangem expressões como questionamento, conforto, reconhecimento, escuta, confiança, apoio emocional, etc. Experimentos mostraram que a capacidade de empatia dos LLMs pode ser significativamente melhorada durante o ajuste fino usando histórico de diálogo multi-voltas e respostas mais próximas da expressão de um consultor psicológico.", }}