spanish_medica_llm / README.md
inoid's picture
Update README.md
7671d59 verified
---
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
widget:
- text: "En el contexto médico que es el Antígeno linfocitario cd73"
example_title: "Pregunta sobre medicamento"
# output:
# text: "Factor inmunológico"
- text: "En el contexto médico que es la Abdominopatía aguda"
example_title: "Pregunta sobre síntomas"
#output:
# text: "Signo o síntoma"
- text: "Diga el tramiento de un caso que Anamnesis Mujer de 68 años, conocida por el servicio desde septiembre de 2009, alérgica a betalactámicos y contrastes yodados, con antecedentes de: HTA, dislipidemia, depresión, incidentaloma hipofisiario, con déficit de GH e hipotiroidismo (2006), cefalea mixta (migrañosa y tensional), reflujo gastroesofágico y fracturas traumáticas D9, D11 por accidente de tráfico (1995). sometida en diciembre de 2010 a tumorectomía dirigida y mamoplastia oncoterapéutica bilateral...."
example_title: "Tramiento médico"
#output:
# text: "Neoplasia metastásica"
---
<!-- 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.
-->
More than 600 million Spanish-speaking people need resources, such as LLMs, to obtain medical information freely and safely,
complying with the millennium objectives: Health and Wellbeing, Education and Quality, End of Poverty proposed by the UN.
There are few LLMs for the medical domain in the Spanish language.
The objective of this project is to create a large language model (LLM) for the medical context in Spanish, allowing the creation of solutions
and health information services in LATAM. The model will have information on conventional, natural and traditional medicines.
An output of the project is a public dataset from the medical domain that pools resources from other sources that allows LLM to be created or fine-tuned.
The performance results of the LLM are compared with other state-of-the-art models such as BioMistral, Meditron, MedPalm.
[**Dataset Card in Spanish**](README_es.md)
## 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. -->
The creators of LOL are not responsible for any harmful results they may generate. A rigorous evaluation process with specialists is suggested
of the results generated.
## 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.
```
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. -->
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. -->
The corpus used was 20% [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
The architecture of [BioMistral/BioMistral-7B](https://huggingface.co/BioMistral/BioMistral-7B)because it is a foundational model
trained with a medical domain dataset.
### 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. -->
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)