metadata
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 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
Uso del Modelo
Para utilizar este modelo, puedes cargarlo de la siguiente manera:
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
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:
@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:
@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
4- LoRA Paper:
@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},
}