--- base_model: - meta-llama/Meta-Llama-3.1-8B-Instruct library_name: transformers tags: - llama-cpp - gguf-my-repo license: llama3.1 language: - es pipeline_tag: text-generation --- # Modelo: **Strawbit-3.1-8b-it-v1** ![strawbit.png](https://ollama.com/assets/nichonauta/strawbit-3.1-8b-it-v1/380467ec-0eaa-4312-90f2-cdae0a479a8d) ## 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**](https://huggingface.co/meta-llama/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 , luego revisa críticamente en las etiquetas , y finalmente ofrece la conclusión en las etiquetas . ``` ## Detalles Técnicos - **Modelo base**: [Meta-Llama-3.1-8B-Instruct](https://huggingface.co/meta-llama/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): ```bash brew install llama.cpp ``` 2. **Uso con CLI**: ```bash 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." ``` 3. **Uso con servidor**: ```bash 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**](https://lmstudio.ai/), 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**](https://ollama.com/nichonauta/strawbit-3.1-8b-it-v1), 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](https://ollama.com). 2. Accede al modelo desde [Ollama - Nichonauta/strawbit-3.1-8b-it-v1](https://ollama.com/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: ```python 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 , luego revisa críticamente en las etiquetas , y finalmente ofrece la conclusión en las etiquetas . """ 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](https://ai.meta.com/llama). 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 - **Modelo base**: [Meta-Llama-3.1-8B-Instruct](https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct) - **Repositorio de llama.cpp**: [GitHub - llama.cpp](https://github.com/ggerganov/llama.cpp) - **Repositorio del modelo en Hugging Face**: [Nichonauta/strawbit-3.1-8b-it-v1-Q4_0-GGUF](https://huggingface.co/Nichonauta/strawbit-3.1-8b-it-v1-Q4_0-GGUF) - **LM Studio**: [https://lmstudio.ai/](https://lmstudio.ai/) - **Ollama - Nichonauta/strawbit-3.1-8b-it-v1**: [https://ollama.com/nichonauta/strawbit-3.1-8b-it-v1](https://ollama.com/nichonauta/strawbit-3.1-8b-it-v1) ## Autores y Contribuciones Este modelo fue ajustado por el equipo **Nichonauta**. Visítanos en: - **YouTube**: [Nichonauta](https://www.youtube.com/@nichonauta) - **Sitio web**: [https://nichonauta.com](https://nichonauta.com)