File size: 12,475 Bytes
b3f8931
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6004978
b3f8931
 
9368020
 
 
 
 
 
b3f8931
 
 
 
 
 
 
 
 
6004978
b3f8931
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6004978
 
b3f8931
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
---
license: apache-2.0
library_name: peft
tags:
- generated_from_trainer
base_model: BioMistral/BioMistral-7B
model-index:
- name: spanish_medica_llm
  results: []
datasets:
- somosnlp/SMC
language:
- es
pipeline_tag: text-generation
---

<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->
<!-- Email de contacto para´posibles preguntas sobre el modelo. -->

<!---  ############################################################################################################################### -----!>
<!--
Esta plantilla de Model Card es una adaptación de la de Hugging Face: https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/modelcard_template.md

¿Cómo utilizar esta plantilla? Copia el contenido en el README.md del repo de tu modelo en el Hub de Hugging Face y rellena cada sección.

Para más información sobre cómo rellenar cada sección ver las docs: https://huggingface.co/docs/hub/model-cards
-->

# Model Card for SpanishMedicaLLM

<!--

Nombre del modelo:

Suele haber un nombre corto ("pretty name") para las URLs, tablas y demás y uno largo más descriptivo. Para crear el pretty name podéis utilizar acrónimos.

Idioma:

La Model Card puede estar en español o en inglés. Recomendamos que sea en inglés para que la comunidad internacional pueda utilizar vuestro dataset. Teniendo en cuenta que somos una comunidad hispanohablante y no queremos que el idioma sea una barrera, la opción más inclusiva sería escribirla en un idioma y traducirla (automáticamente?) al otro. En el repo entonces habría un README.md (Model Card en inglés) que enlazaría a un README_ES.md (Model Card en español), o viceversa, README.md y README_EN.md. Si necesitáis apoyo con la traducción os podemos ayudar.

Qué incluir en esta sección:

Esta sección es como el abstract. Escribir un resumen del modelo y motivación del proyecto (inc. los ODS relacionados).  Si el proyecto tiene un logo, incluidlo aquí.

Si queréis incluir una versión de la Model Card en español, enlazadla aquí al principio (e.g. "A Spanish version of this Model Card can be found under [`README_es.md`](URL)"). De manera análoga para el inglés.

-->

Más de 600 millones de personas hablantes del idioma español necesitan recursos, como los LLMs, para la obtención de información médica de forma libre y segura, 
cumpliendo con los objetivo del milenio: Salud y Bienestar, Educación y Calidad, Fin de la Pobreza propuestos por la ONU. 
Existen pocos LLM para el  dominio médico en idioma español.

El objetivo de este proyecto es crear un gran modelo de lenguaje (LLM; siglas en inglés) para el contexto médico en español permitiendo crear soluciones
y servicios de información de salud en LATAM. El modelo contará con información de medicinas convencionales, naturales y tradicionales. 
Un resultado del proyecto es un conjunto de datos público del dominio médico que agrupa recursos de otras fuentes que permite crear o ajustar LLM. 
Los resultados del desempeño del LLM se comparan con  otros modelos del state-of-the-art como BioMistral, Meditron, MedPalm.

## Model Details

### Model Description

<!-- Resumen del modelo. -->

- **Developed by:** [Dionis López Ramos](https://www.linkedin.com/in/dionis-lopez-ramos/), [Alvaro Garcia Barragan](https://huggingface.co/Alvaro8gb), [Dylan Montoya](https://huggingface.co/dylanmontoya22), [Daniel Bermúdez](https://huggingface.co/Danielbrdz)   <!-- Nombre de los miembros del equipo -->
 <!-- Nombre de los miembros del equipo -->
- **Funded by:** SomosNLP, HuggingFace <!-- Si contasteis con apoyo de otra entidad (e.g. vuestra universidad), añadidla aquí -->
- **Model type:** Language model, instruction tuned
- **Language(s):** Spanish (`es-ES`, `es-CL`)  <!-- Enumerar las lenguas en las que se ha entrenado el modelo, especificando el país de origen. Utilizar códigos ISO. Por ejemplo: Spanish (`es-CL`, `es-ES`, `es-MX`), Catalan (`ca`), Quechua (`qu`).  -->
- **License:** apache-2.0 <!-- Elegid una licencia lo más permisiva posible teniendo en cuenta la licencia del model pre-entrenado y los datasets utilizados -->
- **Fine-tuned from model:** [BioMistral/BioMistral-7B](https://huggingface.co/BioMistral/BioMistral-7B) <!-- Enlace al modelo pre-entrenado que habéis utilizado como base -->
- **Dataset used:** [somosnlp/SMC/](https://huggingface.co/datasets/somosnlp/SMC/) <!-- Enlace al dataset utilizado para el ajuste -->

### Model Sources

- **Repository:** [spaces/somosnlp/SpanishMedicaLLM/](https://huggingface.co/spaces/somosnlp/SpanishMedicaLLM/tree/main) <!-- Enlace al `main` del repo donde tengáis los scripts, i.e.: o del mismo repo del modelo en HuggingFace o a GitHub. -->
- **Paper:** "Comming soon!" <!-- Si vais a presentarlo a NAACL poned "WIP", "Comming soon!" o similar. Si no tenéis intención de presentarlo a ninguna conferencia ni escribir un preprint, eliminar. -->
- **Demo:** [spaces/somosnlp/SpanishMedicaLLM](https://huggingface.co/spaces/somosnlp/SpanishMedicaLLM) <!-- Enlace a la demo -->
- **Video presentation:** [SpanishMedicaLLM | Proyecto Hackathon #SomosNLP ](https://www.youtube.com/watch?v=tVe_MC7Da6k) <!-- Enlace a vuestro vídeo de presentación en YouTube (están todos subidos aquí: https://www.youtube.com/playlist?list=PLTA-KAy8nxaASMwEUWkkTfMaDxWBxn-8J) -->


## Uses

<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->

### Direct Use

<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->

[More Information Needed]

### Out-of-Scope Use

<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->

Los creadores del LLM no se hacen responsable de resultados nocivos que puedan generar. Se sugiere un proceso de evaluación riguroso con especialistas 
de los resultados generados.

## Bias, Risks, and Limitations

<!-- This section is meant to convey both technical and sociotechnical limitations. -->

[More Information Needed]

### Recommendations

<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->

<!-- Example: Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. -->

## How to Get Started with the Model

Utilice el siguiente código para comenzar con el modelo.

```
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM

config = PeftConfig.from_pretrained("somosnlp/spanish_medica_llm")
model = AutoModelForCausalLM.from_pretrained("BioMistral/BioMistral-7B")
model = PeftModel.from_pretrained(model, "somosnlp/spanish_medica_llm")

```

## Training Details

### Training Data

<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->

El conjunto de datos utilizado fue [somosnlp/SMC/](https://huggingface.co/datasets/somosnlp/SMC/)

### Training Procedure

<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->

<!-- Detallar la técnica de entrenamiento utilizada y enlazar los scripts/notebooks. -->


#### Training Hyperparameters

<!-- Enumerar los valores de los hiperparámetros de entrenamiento. -->

**Training regime:**
- learning_rate: 2.5e-05
- train_batch_size: 16
- eval_batch_size: 1
- seed: 42
- gradient_accumulation_steps: 4
- total_train_batch_size: 64
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_steps: 5
- training_steps: 2
- mixed_precision_training: Native AMP
- <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->

## Evaluation

<!-- This section describes the evaluation protocols and provides the results. -->

### Testing Data, Factors & Metrics

#### Testing Data

<!-- This should link to a Dataset Card. -->

El corpus usado fue un 20% de [somosnlp/SMC/](https://huggingface.co/datasets/somosnlp/SMC/)

#### Factors

<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->

[More Information Needed]

#### Metrics

<!-- These are the evaluation metrics being used, ideally with a description of why. -->

[More Information Needed]

### Results

<!-- Enlazar aquí los scripts/notebooks de evaluación y especificar los resultados. -->

[More Information Needed]

## Environmental Impact

<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly. -->

<!-- Rellenar la información de la lista y calcular las emisiones con la página mencionada. -->

Las emisiones de carbono se pueden estimar utilizando la [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) 
presentada en [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).

- **Hardware Type:** GPU
- **Hours used:** 4 Horas
- **Cloud Provider:** [Hugginface](https://huggingface.co)
- **Compute Region:** [More Information Needed]
- **Carbon Emitted:** [More Information Needed]


### Model Architecture and Objective

Se utilizó la arquitectura de [BioMistral/BioMistral-7B](https://huggingface.co/BioMistral/BioMistral-7B) porque es un modelo fundacional 
entrenado con un conjunto de datos de dominio médico.

### Compute Infrastructure

[More Information Needed]

#### Hardware

<!-- Indicar el hardware utilizado, podéis agradecer aquí a quien lo patrocinó. -->

Nvidia T4 Small 4 vCPU 15 GB RAM 16 GB VRAM

#### Software

<!-- Enumerar las librerías utilizadas (e.g. transformers, distilabel). -->

- transformers==4.38.0
- torch>=2.1.1+cu113
- trl @ git+https://github.com/huggingface/trl
- peft
- wandb
- accelerate
- datasets

## License

<!-- Indicar bajo qué licencia se libera el modelo explicando, si no es apache 2.0, a qué se debe la licencia más restrictiva (i.e. herencia de las licencias del modelo pre-entrenado o de los datos utilizados). -->

Apache License 2.0
## Citation

**BibTeX:**

```
@software{lopez2024spanishmedicallm,
  author = {Lopez Dionis, Garcia Alvaro, Montoya Dylan, Bermúdez Daniel},
  title = {SpanishMedicaLLM},
  month = February,
  year = 2024,
  url = {https://huggingface.co/datasets/HuggingFaceTB/cosmopedia}
}
```
<!--

Aquí tenéis un ejemplo de cita de un dataset que podéis adaptar:

```
@software{benallal2024cosmopedia,
  author = {Ben Allal, Loubna and Lozhkov, Anton and Penedo, Guilherme and Wolf, Thomas and von Werra, Leandro},
  title = {Cosmopedia},
  month = February,
  year = 2024,
  url = {https://huggingface.co/datasets/HuggingFaceTB/cosmopedia}
}
```

- benallal2024cosmopedia -> nombre + año + nombre del modelo
- author: lista de miembros del equipo
- title: nombre del modelo
- year: año
- url: enlace al modelo

-->


## More Information

<!-- Indicar aquí que el marco en el que se desarrolló el proyecto, en esta sección podéis incluir agradecimientos y más información sobre los miembros del equipo. Podéis adaptar el ejemplo a vuestro gusto. -->

Este proyecto fue desarrollado durante el [Hackathon #Somos600M](https://somosnlp.org/hackathon) organizado por SomosNLP. 
El modelo fue entrenado usando GPU patrocinado por HuggingFace.

<!-- 
    This project was developed during the [Hackathon #Somos600M](https://somosnlp.org/hackathon) organized by SomosNLP. 
    The model was trained using GPUs sponsored by HuggingFace.
-->

**Team:**

<!--
- [Name 1](Link to Hugging Face profile)
- [Name 2](Link to Hugging Face profile)
-->

 - [Dionis López Ramos](https://huggingface.co/inoid)
 - [Alvaro Garcia Barragan](https://huggingface.co/Alvaro8gb)
 - [Dylan Montoya](https://huggingface.co/dylanmontoya22)
 - [Daniel Bermúdez](https://huggingface.co/Danielbrdz) 
## Contact

<!-- Email de contacto para´posibles preguntas sobre el modelo. -->
<!-- For any doubt or suggestion contact to: PhD Dionis López (inoid2007@gmail.com) -->

 Para cualquier duda contactar a: Dr.C Dionis López (inoid2007@gmail.com)