File size: 7,949 Bytes
818b711 03e2b45 818b711 03e2b45 c208abd 03e2b45 818b711 03e2b45 818b711 8fbffbb 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 6c6537f 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 57c62e7 ca00085 57c62e7 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 03e2b45 818b711 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
---
library_name: peft
base_model: recogna-nlp/internlm-chatbode-7b
---
# DrBode 240: Assistente Virtual Médico em Português Brasileiro
<p align="center">
<img src="https://huggingface.co/recogna-nlp/doutor-bode-7b-360k/resolve/main/Logo_DrBode.jpg" alt="Bode Logo" width="400" style="margin-left:'auto' margin-right:'auto' display:'block'"/>
</p>
## Visão Geral
**DrBode 240** é um modelo de linguagem de grande porte (LLM) ajustado para responder a perguntas médicas em português brasileiro. Este modelo foi treinado com **240 mil** amostras, sendo parte delas dados médicos e outra parte composta por dados de instruções gerais. O objetivo do DrBode 240 é oferecer respostas confiáveis e relevantes para questões médicas, auxiliando tanto profissionais de saúde quanto usuários finais em suas dúvidas sobre saúde.
<!-- Provide a quick summary of what the model is/does. -->
## Descrição do Modelo
O **DrBode 240** foi desenvolvido a partir do modelo [ChatBode](https://huggingface.co/recogna-nlp/internlm-chatbode-7b), uma versão ajustada do [InternLM2](https://huggingface.co/internlm/internlm2-chat-7b) adaptada para seguir instruções em português. O **DrBode 240** foi ajustado com **33% de dados médicos** e **67% de dados de instruções gerais**, buscando encontrar um equilíbrio entre a especialização médica e a capacidade de lidar com diferentes tipos de perguntas.
Atributos principais:
- **Modelo Base:** ChatBode, especializado em seguir instruções em português brasileiro.
- **Ajuste Fino:** Usou 240 mil amostras, com uma combinação de dados médicos e de instruções gerais.
- **Domínio de Foco:** Respostas a perguntas relacionadas à saúde, sintomas médicos e orientações gerais.
Este modelo foi ajustado para ser mais versátil em cenários não médicos, ao mesmo tempo em que manteve uma capacidade razoável de responder a perguntas do domínio médico.
O ajuste fino foi feito com **33% de dados médicos** e **67% de dados de instruções gerais**, permitindo que o modelo mantenha um equilíbrio entre especialização médica e versatilidade em outros domínios.
## Dados de Treinamento
O **DrBode 240** foi treinado com uma combinação de dois principais conjuntos de dados traduzidos para o português:
- **HealthCareMagic-100k-en:** Um conjunto de 100.000 amostras de interações médico-paciente, traduzidas do inglês para o português utilizando o modelo GPT-3.5.
- **MedQuAD:** Contém aproximadamente 9.500 pares de perguntas e respostas relacionados à área médica, também traduzidos.
Esses conjuntos de dados fornecem uma base sólida para o modelo responder a perguntas clínicas comuns, mas ainda há a necessidade de dados nativos que abordem condições e nuances culturais específicas do Brasil, como doenças endêmicas.
Além disso, o modelo foi treinado com uma grande quantidade de dados de instruções gerais (67%), retirados de outros domínios, para melhorar sua capacidade de seguir comandos em contextos mais amplos e diversos.
<!-- Provide a longer summary of what this model is. -->
## Desempenho do Modelo
O desempenho do **DrBode 240** foi avaliado com base em seis critérios principais:
- **Precisão:** 3.4/5
- **Completude:** 3.4/5
- **Adequação:** 3.5/5
- **Segurança:** 3.2/5
- **Gramaticalidade:** 3.8/5
- **Coerência:** 4.2/5
-
O modelo **DrBode 240** mostrou-se eficaz em fornecer respostas bem estruturadas e coerentes, com um desempenho confiável em termos de clareza e gramática. No entanto, a precisão médica e a segurança das respostas precisam de mais atenção, já que o modelo é menos especializado em dados médicos do que o **DrBode 360.**
## Avaliação Qualitativa
As respostas geradas pelo **DrBode 240** foram avaliadas por profissionais médicos, que analisaram sua capacidade de fornecer informações corretas e seguras. Durante a avaliação, foi observado que o modelo, embora bastante eficaz na construção de respostas coerentes, apresentou algumas limitações em termos de precisão médica, o que reflete o fato de que a maior parte de seu ajuste fino envolveu dados de instruções gerais.
A utilização de mais dados de instruções gerais (67%) fez com que o modelo se saísse melhor em contextos não médicos, mas limitou sua especialização na área da saúde. Isso fez com que o **DrBode 240** fosse uma boa escolha para perguntas mais gerais, mas com algumas restrições em contextos clínicos mais críticos.
## Riscos e Considerações
Embora o **DrBode 240** seja uma ferramenta útil para fornecer orientações gerais sobre saúde, ele deve ser usado com cautela, especialmente em situações médicas delicadas. O modelo não substitui o aconselhamento médico profissional, e erros podem ocorrer ao sugerir tratamentos, especialmente para condições específicas de regiões, como o Brasil.
Além disso, o uso de dados traduzidos pode fazer com que o modelo perca algumas nuances culturais e regionais importantes para a prática médica no Brasil.
## Direções futuras
- **Conjuntos de dados nativos:** há uma necessidade urgente de desenvolver conjuntos de dados nativos em português brasileiro para refletir melhor os desafios regionais de saúde.
- **Ajuste fino aprimorado:** o trabalho futuro envolverá o ajuste fino diretamente no InternLM2 com conjuntos de dados otimizados para mitigar os efeitos do esquecimento catastrófico.
- **Avaliação robusta:** estruturas de avaliação mais estruturadas e consistentes são necessárias para avaliar melhor a qualidade e a segurança das respostas do modelo em cenários do mundo real.
## Como Usar
Aqui está um exemplo de como usar o modelo **DrBode 240:**
```python
!pip install -q einops accelerate bitsandbytes
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
# Nosso modelo base
model_name = "recogna-nlp/internlm-chatbode-7b"
# Configuração para quantização do nosso modelo
compute_dtype = getattr(torch, "float16")
bnb_config = BitsAndBytesConfig(
load_in_4bit = True,
bnb_4bit_quant_type = 'nf4',
bnb_4bit_compute_dtype = compute_dtype,
bnb_4bit_use_double_quant = False,
)
# Carregando modelo e tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
original_model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config = bnb_config,
trust_remote_code = True,
device_map = 'auto'
)
original_model = original_model.eval()
# Perguntas mandadas para o Dr Bode
evaluation_inputs = [
'Apareceram aftas na minha boca e uma amiga disse que posso usar nistatina oral para tratar. Para que serve e como usar nistatina oral? É indicado para tratar aftas?',
'Estou com dor no corpo, dor de cabeça, febre alta e um forte cansaço. O que pode ser? Devo tomar algum remédio?',
'Me explique, detalhadamente, qual a diferença entre uma gripe e um resfriado.'
]
## Carregando o Dr Bode
from peft import PeftModel, PeftConfig
model = PeftModel.from_pretrained(original_model, 'recogna-nlp/doutor-bode-7b-240k')
model = model.eval()
## Realizando a inferência e verificando as respostas
for q in evaluation_inputs:
print(q)
response, _ = model.chat(tokenizer, q, do_sample=False, history=[])
print(response)
print()
```
## Referência
Se você utilizar o **DrBode 240** em sua pesquisa ou aplicativo, por favor, cite o seguinte trabalho:
```
@misc{paiola2024adaptingllmsmedicaldomain,
title={Adapting LLMs for the Medical Domain in Portuguese: A Study on Fine-Tuning and Model Evaluation},
author={Pedro Henrique Paiola and Gabriel Lino Garcia and João Renato Ribeiro Manesco and Mateus Roder and Douglas Rodrigues and João Paulo Papa},
year={2024},
eprint={2410.00163},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2410.00163},
}
```
|