|
--- |
|
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 |
|
|
|
Use the code below to get started with the model. |
|
|
|
``` |
|
HUB_MODEL_ID = '/somosnlp/spanish_medica_llm' |
|
config = PeftConfig.from_pretrained(HUB_MODEL_ID) |
|
model = AutoModelForCausalLM.from_pretrained(HUB_MODEL_ID, return_dict=True, load_in_8bit=True, device_map={"":0}) |
|
|
|
``` |
|
|
|
## 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. --> |
|
|
|
Dataset used was [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. --> |
|
|
|
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [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 |
|
|
|
[More Information Needed] |
|
|
|
## 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) |