Modelo de lenguaje en español para generar artículos detallados optimizado con LoRA y cuantización de 4 bits.

2B

75 Pulls Updated 7 days ago

Readme

Modelo: pepita-2-2b-it-v1

pepita.png

Descripción

pepita-2-2b-it-v1 es un modelo de lenguaje ajustado a partir del modelo base google/gemma-2-2b-it utilizando cuantización de 4 bits y adaptación LoRA (Low-Rank Adaptation). Este modelo está diseñado para generar artículos detallados en español, optimizado para ejecutarse en hardware con recursos limitados, como GPUs con menor memoria, gracias a las técnicas de compresión y optimización utilizadas.

El modelo ha sido ajustado para seguir instrucciones en formato de conversación, lo que lo hace adecuado para la generación de contenido estructurado en español.

Prompt Base

El modelo fue entrenado para seguir este prompt base al generar contenido:

Escribe un gran artículo muy detallado en Markdown siguiendo estos pasos:

1. Escribe un título principal (#) que tenga entre 50 y 60 caracteres.
2. Escribe el subtítulo "Introducción" (##):
   - Redacta un párrafo que introduzca el tema.
   - Redacta un párrafo que introduzca el artículo.
3. Continúa con muchos subtítulos (##):
   - Escribe varios párrafos largos y detallados.
   - De ser necesario añade sub-subtítulos (###):
     - Escribe varios párrafos largos y detallados.
4. Escribe el subtítulo "Conclusión" (##):
   - Redacta varios párrafos.

Asegúrate de redactar en español utilizando explicaciones muy extensas y detalladas, manteniendo siempre un tono amigable. Resalta las palabras clave usando **negritas**. Es obligatorio que bajo cada subtítulo escribas al menos tres párrafos antes de pasar a un nuevo subtítulo.

Comienza inmediatamente con el título principal (#).

Detalles Técnicos

  • Modelo base: google/gemma-2-2b-it
  • Tamaño: 2.2B parámetros
  • Cuantización: 4-bit (NF4) usando la biblioteca bitsandbytes
  • Adaptación: LoRA con 8 dimensiones (r=8), lora_alpha=16 y lora_dropout=0.1
  • Tarea: Modelo de lenguaje causal (Causal LM)
  • Idioma: Español
  • Entrenamiento supervisado (SFT): Utiliza entrenamiento supervisado para ajuste fino
  • Tipo de modelo: AutoModelForCausalLM

Proceso de Conversión

El modelo fue convertido al formato GGUF desde Nichonauta/pepita-2-2b-it-v1 utilizando llama.cpp a través del espacio GGUF-my-repo de ggml.ai. Para utilizar el modelo en formato GGUF, sigue los pasos detallados a continuación.

El modelo también está disponible para su uso en LM Studio y Ollama.

Uso con llama.cpp

  1. Instalación: Instala llama.cpp a través de brew (funciona en Mac y Linux):
   brew install llama.cpp
  1. Uso con CLI:
   llama-cli --hf-repo Nichonauta/pepita-2-2b-it-v1-Q4_0-GGUF --hf-file pepita-2-2b-it-v1-q4_0.gguf -p "El significado de la vida y el universo es"
  1. Uso con servidor:
   llama-server --hf-repo Nichonauta/pepita-2-2b-it-v1-Q4_0-GGUF --hf-file pepita-2-2b-it-v1-q4_0.gguf -c 2048

Uso en LM Studio

El modelo pepita-2-2b-it-v1 está disponible para su uso en LM Studio, una aplicación de escritorio que facilita la ejecución de modelos de lenguaje sin necesidad de configuraciones complejas. Para utilizar el modelo:

  1. Descarga e instala LM Studio desde su sitio oficial.
  2. Carga el modelo desde Hugging Face o en formato GGUF para su uso en el entorno de LM Studio.
  3. Ejecuta consultas o prompts en el modelo fácilmente desde la interfaz gráfica de LM Studio.

Uso en Ollama

El modelo también está disponible en Ollama, una herramienta similar a LM Studio que permite interactuar con modelos de lenguaje de manera local. Sigue los pasos a continuación:

  1. Instala Ollama desde su página oficial.
  2. Accede al modelo desde Ollama - Nichonauta/pepita-2-2b-it-v1.
  3. Ejecuta el modelo directamente en tu dispositivo.

Configuración de Entrenamiento

  • Hiperparámetros:

    • Tamaño de lote por dispositivo: 8
    • Pasos de acumulación de gradientes: 4
    • Máximo de pasos de entrenamiento: 375
    • Learning rate: 3e-5
    • Optimizador: AdamW
    • Decaimiento del peso: 0.01
    • Estrategia de guardado: Guardado cada 50 pasos
    • Estrategia de evaluación: Evaluación cada 50 pasos
    • Tolerancia de “early stopping”: 3 evaluaciones sin mejora
  • Dataset: El modelo fue entrenado con un dataset de instrucciones en formato conversacional siguiendo una plantilla de prompt para generar artículos extensos en Markdown en español.

Uso

Este modelo está diseñado para generar artículos detallados en español siguiendo una plantilla estructurada. Puedes cargar el modelo directamente desde Hugging Face y comenzar a generar contenido con la siguiente estructura de prompt:

from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "pepita-2-2b-it-v1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

prompt = "Escribe un gran artículo muy detallado en Markdown siguiendo estos pasos: ..."

inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs)

print(tokenizer.decode(outputs[0]))

Aplicaciones

  • Generación de artículos: Ideal para crear contenido en español siguiendo una estructura detallada.
  • Redacción automatizada: Generación de texto extensivo y bien estructurado en español.

Licencia y Cumplimiento

El modelo base se ajusta a la Gemma Terms of Use. Al utilizar, reproducir, modificar o distribuir este modelo, debes cumplir con los siguientes requisitos:

  • Distribución: Incluir la cláusula de restricciones de uso y proporcionar una copia del acuerdo de licencia a todos los terceros destinatarios del modelo.
  • Modificaciones: Cualquier modificación del modelo debe incluir un aviso prominente de que se ha modificado y seguir las restricciones de uso especificadas en la licencia.
  • Prohibiciones: No usar el modelo para fines prohibidos especificados en la Prohibited Use Policy.

Resultados del Entrenamiento

  • Pérdida inicial: 1.6952 (al paso 10)
  • Pérdida final: 0.9137 (al paso 370)
  • El modelo mostró una mejora continua en la pérdida a lo largo del entrenamiento.

Limitaciones

  • Idioma: El modelo está diseñado para el idioma español.
  • Datos de entrenamiento: Limitado al dataset de entrenamiento proporcionado.
  • Cuantización: La cuantización a 4 bits puede llevar a una ligera degradación en la calidad de las predicciones.

Recursos

Autores y Contribuciones

Este modelo fue ajustado por el equipo Nichonauta. Visítanos en: