--- 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: MS MARCO 2- QLoRA Paper: QLoRA: Efficient Finetuning of Quantized LLMs 3- PEFT Library: Hugging Face PEFT Documentation 4- LoRA Paper: LoRA: Low-Rank Adaptation of Large Language Models 5- BitsAndBytes Library: bitsandbytes GitHub