Transformers
Safetensors
Inference Endpoints
TheBug95's picture
Update README.md
662c265 verified
|
raw
history blame
4.35 kB
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

Curva de Pérdida

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}, }

5- BitsAndBytes Library: