Modelo de lenguaje en español optimizado con LoRA y cuantización de 4 bits preparado para razonar.

8B

12 Pulls Updated 5 days ago

Readme

Modelo: Strawbit-3.1-8b-it-v1

strawbit.png

Descripción

Strawbit-3.1-8b-it-v1 es un modelo de lenguaje ajustado a partir del modelo base Meta-Llama-3.1-8B-Instruct utilizando cuantización de 4 bits y adaptación LoRA (Low-Rank Adaptation). Este modelo está diseñado para mejorar las capacidades de razonamiento crítico 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 específicas, proporcionando un análisis detallado y razonado de problemas, lo que lo hace adecuado para aplicaciones de razonamiento lógico y crítico en español.

Prompt Base

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

Primero, analiza el problema dentro de las etiquetas <thinking>, luego revisa críticamente en las etiquetas <reflection>, y finalmente ofrece la conclusión en las etiquetas <output>.

Detalles Técnicos

  • Modelo base: Meta-Llama-3.1-8B-Instruct
  • Tamaño: 8B 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 con un dataset orientado al razonamiento lógico
  • Tipo de modelo: AutoModelForCausalLM

Proceso de Conversión

El modelo fue ajustado utilizando LoRA y cuantización de 4 bits para mejorar la eficiencia en memoria y permitir el ajuste fino del modelo en hardware de recursos limitados. También se realizó un proceso de fusión y descarga para guardar el modelo final.

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/strawbit-3.1-8b-it-v1-Q4_0-GGUF --hf-file strawbit-3.1-8b-it-v1-q4_0.gguf -p "Analiza el impacto del cambio climático en la biodiversidad."
  1. Uso con servidor:
   llama-server --hf-repo Nichonauta/strawbit-3.1-8b-it-v1-Q4_0-GGUF --hf-file strawbit-3.1-8b-it-v1-q4_0.gguf -c 2048

Uso en LM Studio

El modelo Strawbit-3.1-8b-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/strawbit-3.1-8b-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 que promueve el razonamiento crítico y la reflexión, utilizando una estructura de prompts que guía el proceso de análisis y conclusión.

Uso

Este modelo está diseñado para analizar problemas y realizar razonamientos críticos en español siguiendo una plantilla estructurada. Puedes cargar el modelo directamente desde Hugging Face y comenzar a generar análisis con la siguiente estructura de prompt:

from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "strawbit-3.1-8b-it-v1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

prompt = """
Primero, analiza el problema dentro de las etiquetas <thinking>, luego revisa críticamente en las etiquetas <reflection>, y finalmente ofrece la conclusión en las etiquetas <output>.
"""

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

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

Aplicaciones

  • Análisis y razonamiento crítico: Ideal para realizar análisis detallados y reflexionar sobre problemas complejos en español.
  • Resolución de problemas: Generación de razonamientos estructurados que siguen una secuencia lógica de análisis, reflexión y conclusión.

Licencia y Cumplimiento

El modelo base se ajusta a la Meta AI License Agreement. 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 política de uso de Meta.

Resultados del Entrenamiento

  • El modelo mostró una mejora continua en su capacidad de razonamiento crítico 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 del razonamiento en problemas muy complejos.

Recursos

Autores y Contribuciones

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