Selección del modelo y dataset para el proyecto

Lectura
20 min~5 min lectura

Concepto clave

La selección del modelo base y dataset es el fundamento arquitectónico de cualquier proyecto de fine-tuning con RLHF (Reinforcement Learning from Human Feedback) o DPO (Direct Preference Optimization). Imagina que estás construyendo un rascacielos: el modelo base es el terreno sobre el que construyes, y el dataset son los materiales de construcción. Si eliges un terreno pantanoso o materiales de baja calidad, por más sofisticada que sea tu técnica de construcción (RLHF/DPO), la estructura colapsará.

Para proyectos avanzados, no se trata solo de elegir el modelo más grande disponible. Debes considerar el trade-off tripartito: capacidad computacional (¿puedes ejecutar el modelo en tu infraestructura?), calidad de salida (¿el modelo base ya tiene competencias relevantes para tu dominio?), y coste de ajuste (¿cuántos parámetros necesitas actualizar?). En la industria real, rara vez usamos modelos de 70B parámetros para proyectos de fine-tuning, a menos que tengas un cluster de GPUs dedicado.

Cómo funciona en la práctica

Veamos un ejemplo paso a paso para un proyecto de asistente médico:

  1. Definir requisitos: Necesitamos un modelo que entienda terminología médica en español, pueda generar respuestas seguras, y funcione en una sola GPU A100 40GB.
  2. Evaluar modelos base:
    ModeloTamañoDominio médicoMemoria GPU
    Llama-3-8B8B parámetrosBásico16GB
    Meditron-7B7B parámetrosEspecializado14GB
    Mistral-7B7B parámetrosGeneral14GB
  3. Seleccionar dataset: Para RLHF/DPO necesitamos dos tipos de datos:
    • Dataset de instrucción-respuesta: 10,000 ejemplos de consultas médicas y respuestas validadas
    • Dataset de preferencias: 5,000 pares donde humanos han rankeado respuestas (mejor vs peor)
  4. Decisión final: Elegimos Meditron-7B como base (ya tiene conocimiento médico) y complementamos con nuestro dataset específico de hospital.
Regla de oro en producción: Es mejor un modelo 7B bien ajustado con datos de calidad que un modelo 70B mal ajustado. El 80% del éxito está en la selección inicial.

Caso de estudio

Proyecto: Sistema de soporte técnico para una empresa de telecomunicaciones con 2M clientes.

Requisitos: El modelo debe entender terminología técnica de redes, generar respuestas en menos de 2 segundos, y operar en 2 GPUs T4 (16GB cada una).

Selección realizada:

  • Modelo base: CodeLlama-7B (sorprendentemente bueno para documentación técnica y troubleshooting)
  • Dataset de instrucción: 8,000 tickets históricos anonimizados con soluciones validadas
  • Dataset de preferencias: 3,000 pares donde expertos técnicos rankearon respuestas según: precisión técnica, claridad, y tiempo de resolución
  • Justificación: CodeLlama ya entiende estructuras lógicas y documentación, lo que reduce el esfuerzo de fine-tuning. Los datasets son específicos del dominio, asegurando relevancia.

Resultado: Después de fine-tuning con DPO, el modelo redujo el tiempo promedio de resolución de tickets en un 40%, con una precisión del 92% en diagnósticos iniciales.

Errores comunes

  1. Elegir el modelo más grande disponible: Los modelos grandes (70B+) requieren infraestructura masiva y son overkill para dominios específicos. Cómo evitarlo: Empieza con modelos 7B-13B y escala solo si las métricas lo justifican.
  2. Usar datasets genéricos para dominios especializados: Fine-tuning un modelo médico con datasets generales de conversación diluye el expertise. Cómo evitarlo: Invierte en curar o generar datasets específicos de tu dominio, aunque sea más pequeño.
  3. Ignorar el bias en datasets de preferencias: Si tus evaluadores humanos tienen sesgos, el modelo los aprenderá y amplificará. Cómo evitarlo: Implementa múltiples rounds de evaluación con equipos diversos y guías de evaluación claras.
  4. Subestimar los requisitos de memoria para RLHF: RLHF requiere mantener múltiples versiones del modelo en memoria simultáneamente. Cómo evitarlo: Calcula: memoria_necesaria = (model_size * 4) * 3 (para policy, reference, y reward models).
  5. No considerar la inferencia post-fine-tuning: Un modelo fine-tuned debe funcionar en producción. Cómo evitarlo: Prueba la inferencia con cargas realistas durante la fase de selección.

Checklist de dominio

  • ✓ He definido claramente los requisitos de inferencia (latencia, throughput, hardware disponible)
  • ✓ He evaluado al menos 3 modelos base considerando: tamaño, dominio de conocimiento, y requisitos computacionales
  • ✓ Tengo datasets específicos para mi dominio, con al menos 5,000 ejemplos de instrucción-respuesta
  • ✓ He preparado un dataset de preferencias con al menos 2,000 pares rankeados por expertos del dominio
  • ✓ He calculado los requisitos de memoria total considerando todos los componentes del pipeline RLHF/DPO
  • ✓ He validado que el modelo base seleccionado puede cargarse y ejecutarse en mi infraestructura objetivo
  • ✓ He establecido métricas de evaluación específicas para mi caso de uso antes de comenzar el fine-tuning

Selección de modelo y dataset para chatbot financiero

Eres ML Engineer en un banco que necesita un chatbot para asesoría de inversiones. Sigue estos pasos:

  1. Define requisitos: El chatbot debe entender términos financieros en español, evitar recomendaciones riesgosas, funcionar en 4 GPUs V100 32GB, y responder en <3 segundos.
  2. Investiga modelos base: Compara estos tres candidatos:
    • Bloom-7B: Multilingüe, entrenado con datos financieros
    • Llama-2-13B: General pero con buen razonamiento
    • FinGPT-7B: Especializado en finanzas pero solo en inglés
    Crea una tabla HTML con columnas: modelo, tamaño, dominio financiero (1-5), memoria estimada, y observaciones.
  3. Diseña el dataset:
    • Dataset de instrucción: Describe 3 tipos de ejemplos necesarios (ej: consultas sobre fondos indexados, análisis de riesgo, explicación de términos)
    • Dataset de preferencias: Define 2 criterios de ranking específicos para finanzas (ej: conservadurismo de recomendación, claridad de explicación de riesgos)
  4. Toma decisión: Justifica por escrito tu elección de modelo y estrategia de dataset, considerando los trade-offs.
  5. Calcula recursos: Estima la memoria total necesaria para fine-tuning con DPO (considera: modelo base, modelo fine-tuned, y optimizador).
Pistas
  • Recuerda que los modelos multilingües pueden tener menos capacidad en español que los monolingües
  • En dominios regulados como finanzas, la seguridad y explicabilidad son más importantes que la creatividad
  • Para DPO, necesitas aproximadamente 2-3x la memoria del modelo base durante el entrenamiento

Evalua tu comprension

Completa el quiz interactivo de arriba para ganar XP.