|
--- |
|
library_name: transformers |
|
license: mit |
|
datasets: |
|
- microsoft/ms_marco |
|
base_model: |
|
- meta-llama/Llama-3.2-1B |
|
--- |
|
|
|
# llama-3.2-1B-MS-MARCO-QLoRA-v3 |
|
|
|
Este modelo es una versión afinada del modelo [meta-llama/Llama-3.2-1B](https://huggingface.co/meta-llama/Llama-3.2-1B) utilizando el conjunto de datos MS MARCO para tareas de generación de respuestas. |
|
|
|
## Descripción del Modelo |
|
|
|
- **Modelo Base:** meta-llama/Llama-3.2-1B |
|
- **Técnicas Utilizadas:** |
|
- Quantization con QLoRA |
|
- Afinación con LoRA y PEFT |
|
- **Arquitectura:** |
|
- Parámetros entrenables: Solo los adaptadores LoRA |
|
- Parámetros totales: 771819520 |
|
- Parámetros entrenables: 22544384 |
|
|
|
## Conjunto de Datos |
|
|
|
- **Nombre del Conjunto de Datos:** MS MARCO |
|
- **Descripción:** Conjunto de datos de comprensión lectora a gran escala que incluye preguntas y respuestas reales de usuarios. |
|
- **Tamaño del Conjunto de Entrenamiento:** 56588 |
|
- **Tamaño del Conjunto de Validación:** 14148 |
|
- **Preprocesamiento:** |
|
- Limpieza de texto |
|
- Tokenización |
|
- Creación de prompts combinando contexto, pregunta y respuesta |
|
|
|
## Entrenamiento |
|
|
|
- **Hiperparámetros:** |
|
- Número de épocas: 7 |
|
- Tamaño de lote de entrenamiento: 8 |
|
- Tamaño de lote de evaluación: 8 |
|
- Tasa de aprendizaje: 0.0002 |
|
- **Configuración de LoRA:** |
|
- r (rango): 32 |
|
- lora_alpha: 32 |
|
- lora_dropout: 0.05 |
|
- **Recursos Computacionales:** |
|
- Dispositivo: cuda |
|
- Memoria GPU utilizada: A100(40gb) |
|
|
|
## Resultados |
|
|
|
### Métricas |
|
|
|
- **Pérdida de Entrenamiento Final:** 1.8747 |
|
- **Pérdida de Validación Final:** 2.0278 |
|
|
|
### Gráficas |
|
|
|
![Curva de Pérdida](./loss_curve.png) |
|
|
|
## Uso del Modelo |
|
|
|
Para utilizar este modelo, puedes cargarlo de la siguiente manera: |
|
|
|
```python |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
model = AutoModelForCausalLM.from_pretrained('TheBug95/llama-3.2-1B-MS-MARCO-QLoRA-v3') |
|
tokenizer = AutoTokenizer.from_pretrained('TheBug95/llama-3.2-1B-MS-MARCO-QLoRA-v3') |
|
``` |
|
|
|
#Ejemplo de Generación |
|
```python |
|
def generate_answer(prompt): |
|
inputs = tokenizer(prompt, return_tensors='pt').to(device) |
|
outputs = model.generate(**inputs, max_length=512, do_sample=True, temperature=0.7) |
|
answer = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
return answer |
|
|
|
# Ejemplo de uso |
|
prompt = 'Context: |
|
[Tu contexto aquí] |
|
|
|
Question: |
|
[Tu pregunta aquí] |
|
|
|
Answer:' |
|
respuesta = generate_answer(prompt) |
|
print(respuesta) |
|
``` |
|
|
|
# Consideraciones Éticas y Licencia |
|
- Licencia: MIT |
|
- Consideraciones Éticas: El modelo puede generar respuestas basadas en datos entrenados. Se debe usar con precaución y verificar la exactitud de las respuestas. |
|
|
|
|
|
# Limitaciones |
|
- El modelo fue entrenado en un conjunto de datos específico y puede no generalizar bien a otros dominios. |
|
- Puede generar respuestas incorrectas o sesgadas. |
|
|
|
|
|
# Referencias |
|
1- **MS MARCO Dataset:** |
|
```bibtex |
|
@misc{bajaj2018msmarcohumangenerated, |
|
title={MS MARCO: A Human Generated MAchine Reading COmprehension Dataset}, |
|
author={Payal Bajaj and Daniel Campos and Nick Craswell and Li Deng and Jianfeng Gao and Xiaodong Liu and Rangan Majumder and Andrew McNamara and Bhaskar Mitra and Tri Nguyen and Mir Rosenberg and Xia Song and Alina Stoica and Saurabh Tiwary and Tong Wang}, |
|
year={2018}, |
|
eprint={1611.09268}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.CL}, |
|
url={https://arxiv.org/abs/1611.09268}, |
|
} |
|
``` |
|
2- **QLoRA Paper:** |
|
```bibtex |
|
@misc{dettmers2023qloraefficientfinetuningquantized, |
|
title={QLoRA: Efficient Finetuning of Quantized LLMs}, |
|
author={Tim Dettmers and Artidoro Pagnoni and Ari Holtzman and Luke Zettlemoyer}, |
|
year={2023}, |
|
eprint={2305.14314}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.LG}, |
|
url={https://arxiv.org/abs/2305.14314}, |
|
} |
|
``` |
|
|
|
3- [**PEFT Library**](https://huggingface.co/docs/peft/index) |
|
|
|
4- **LoRA Paper:** |
|
```bibtex |
|
@misc{hu2021loralowrankadaptationlarge, |
|
title={LoRA: Low-Rank Adaptation of Large Language Models}, |
|
author={Edward J. Hu and Yelong Shen and Phillip Wallis and Zeyuan Allen-Zhu and Yuanzhi Li and Shean Wang and Lu Wang and Weizhu Chen}, |
|
year={2021}, |
|
eprint={2106.09685}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.CL}, |
|
url={https://arxiv.org/abs/2106.09685}, |
|
} |
|
``` |
|
|
|
5- [**BitsAndBytes Library** ](https://github.com/bitsandbytes-foundation/bitsandbytes) |
|
|