Fine-Tune OpenChat with Ertas

    Un modelo de 7 mil millones de parámetros ajustado a partir de Mistral 7B usando Conditioned Reinforcement Learning Fine-Tuning (C-RLFT), logrando rendimiento de nivel GPT-3.5 a través de un enfoque novedoso de entrenamiento con datos de calidad mixta.

    7BOpenChat

    Overview

    OpenChat 3.5 es un modelo de lenguaje de código abierto desarrollado por el equipo OpenChat, ajustado a partir de Mistral 7B usando una metodología de entrenamiento innovadora llamada Conditioned Reinforcement Learning Fine-Tuning (C-RLFT). Lanzado en noviembre de 2023, OpenChat 3.5 fue uno de los primeros modelos de 7B en lograr rendimiento comparable a ChatGPT (GPT-3.5 Turbo) en benchmarks estandarizados, un hito significativo para los modelos de lenguaje de código abierto.

    La innovación clave detrás de OpenChat es su enfoque para manejar datos de entrenamiento de calidad mixta. En lugar de requerir que todos los datos de entrenamiento sean de alta calidad (costoso de curar) o tratar todos los datos por igual (lo que degrada la calidad), C-RLFT asigna condiciones de calidad a diferentes fuentes de datos y entrena al modelo para generar respuestas condicionadas al nivel de calidad deseado. Durante la inferencia, el modelo se condiciona para producir la salida de mayor calidad, aprendiendo efectivamente a distinguir y producir respuestas superiores.

    OpenChat 3.5 fue entrenado con una mezcla de fuentes de datos incluyendo conversaciones de ShareGPT, datasets de instrucciones de código abierto y datasets de código. El enfoque C-RLFT permite al modelo beneficiarse de todos estos datos — incluso ejemplos de menor calidad — mientras genera salidas de alta calidad cuando se le solicita con el condicionamiento de calidad apropiado.

    El modelo usa la arquitectura de Mistral 7B, heredando atención de ventana deslizante, atención de consultas agrupadas y una ventana de contexto de 32K tokens. Se publica bajo la licencia Apache 2.0, haciéndolo libremente disponible para uso comercial.

    Key Features

    Conditioned Reinforcement Learning Fine-Tuning (C-RLFT) es la contribución metodológica central de OpenChat. La técnica antepone tokens de condición de calidad a los ejemplos de entrenamiento basándose en su nivel de calidad estimado. Los ejemplos de alta calidad (por ejemplo, respuestas generadas por GPT-4) reciben una condición de calidad positiva, mientras que los ejemplos de menor calidad reciben una condición diferente. Durante el entrenamiento, el modelo aprende la asociación entre condiciones de calidad y calidad de respuesta. En el momento de la inferencia, usar siempre la condición de calidad positiva incita al modelo a generar sus mejores respuestas.

    Este enfoque resuelve un problema práctico: los datos de entrenamiento de alta calidad son escasos y costosos, pero grandes cantidades de datos de calidad mixta están fácilmente disponibles. C-RLFT permite a los modelos aprender de todos los datos disponibles sin ser contaminados por ejemplos de menor calidad, aumentando efectivamente el volumen útil de datos de entrenamiento sin sacrificar la calidad de salida.

    OpenChat 3.5 logra un rendimiento particularmente fuerte en benchmarks conversacionales y de razonamiento. En MT-Bench (un benchmark de conversación multi-turno), puntúa competitivamente con GPT-3.5 y significativamente por encima de otros modelos de 7B. El modelo también funciona bien en tareas de codificación y razonamiento matemático, beneficiándose de datos de código y matemáticas incluidos en la mezcla de entrenamiento.

    Fine-Tuning with Ertas

    OpenChat 3.5 es un excelente modelo base para fine-tuning en Ertas Studio. Construido sobre Mistral 7B, requiere los mismos modestos recursos: 8-10GB de VRAM para fine-tuning con QLoRA, alcanzable en GPUs de consumo incluyendo la RTX 3080, RTX 4070 Ti o Apple Silicon con 16GB de memoria unificada. La alineación de alta calidad preexistente del modelo significa que se necesitan menos datos de fine-tuning para lograr buenos resultados.

    Dado que OpenChat ya está entrenado para producir respuestas de alta calidad, el fine-tuning específico de dominio en Ertas Studio sirve para especializar en lugar de alinear el modelo. Sube tu dataset de dominio, selecciona OpenChat 3.5 como modelo base y configura los parámetros LoRA. La configuración recomendada incluye rango LoRA 16-32, tasa de aprendizaje 2e-4 y 2-3 épocas de entrenamiento. Datasets pequeños de 2,000-10,000 ejemplos típicamente producen resultados fuertes.

    Después del entrenamiento, exporta a GGUF para despliegue a través de Ollama o llama.cpp. El tamaño de 7B de OpenChat significa que los modelos resultantes son compactos y rápidos — aproximadamente 4.4GB en Q4_K_M — adecuados para despliegue en dispositivos edge, laptops e instancias de nube sensibles al costo. La combinación de calidad de clase GPT-3.5 con requisitos de recursos de clase 7B hace que los modelos OpenChat ajustados sean excepcionalmente rentables.

    Use Cases

    OpenChat destaca como asistente conversacional de propósito general donde la eficiencia de costos importa. Su calidad de clase GPT-3.5 con requisitos de recursos de clase 7B lo hace ideal para aplicaciones que anteriormente requerían acceso por API a modelos propietarios: chatbots orientados al cliente, herramientas de generación de contenido, asistentes de correo electrónico y escritura, y sistemas de ayuda interactivos.

    El modelo es particularmente adecuado para startups y pequeñas empresas que quieren desplegar IA conversacional sin costos continuos de API. Un modelo OpenChat ajustado ejecutándose localmente a través de Ollama proporciona inferencia ilimitada a costo marginal cero, con calidad suficiente para la mayoría de aplicaciones conversacionales.

    OpenChat también sirve como una fuerte línea base para comparar metodologías de entrenamiento. El enfoque C-RLFT es aplicable a otros modelos base, y los investigadores usan OpenChat como implementación de referencia al desarrollar nuevas técnicas de fine-tuning. El pipeline de entrenamiento reproducible del modelo y su documentación clara lo hacen valioso para investigación académica sobre alineación y estrategias de fine-tuning.

    Hardware Requirements

    OpenChat 3.5 tiene requisitos de hardware idénticos a Mistral 7B. Con cuantización Q4_K_M, requiere aproximadamente 4.4GB de RAM — cómodo en cualquier máquina con 8GB de RAM, cualquier GPU con 6GB+ de VRAM y Apple Silicon con 8GB de memoria unificada. En Q8_0, se esperan aproximadamente 7.7GB. FP16 completo requiere aproximadamente 14.5GB de VRAM.

    El rendimiento de inferencia es excelente: 50-70 tokens por segundo en RTX 4090, 20-35 tokens por segundo en RTX 4070, y 15-25 tokens por segundo en M2 Pro. La inferencia CPU produce 5-12 tokens por segundo en hardware moderno, haciendo a OpenChat utilizable sin GPU dedicada para cargas de trabajo ligeras.

    Para fine-tuning con QLoRA en Ertas Studio, 8-10GB de VRAM es suficiente. LoRA completo requiere 16-18GB. El pequeño tamaño del modelo permite iteración de entrenamiento rápida — se esperan 30-90 minutos para una ejecución de fine-tuning completa con 5,000-10,000 ejemplos en una sola GPU de consumo. Este rápido tiempo de respuesta soporta flujos de trabajo de desarrollo iterativo donde refinas el dataset y reentrenar múltiples veces.

    Supported Quantizations

    Q4_0Q4_K_MQ5_K_MQ6_KQ8_0F16

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.