Los modelos de lenguaje basados en transformers han transformado el campo del NLP de forma tan radical que resulta difícil recordar cómo era antes. Pero entre el paper de "Attention is All You Need" y un sistema de NLP funcionando en producción hay una distancia considerable que los tutoriales de Hugging Face no siempre cubren.
Este artículo está escrito desde la experiencia de haber desplegado varios sistemas de NLP en entornos de producción reales, con usuarios reales y con las presiones habituales de latencia, coste y mantenimiento.
La elección del modelo base
La primera decisión importante es si usar un modelo propietario vía API (GPT-4, Claude, Gemini) o un modelo open-source que puedas desplegar en tu propia infraestructura. La respuesta depende de varios factores que raramente se discuten juntos: el volumen de consultas, los requisitos de latencia, las restricciones de privacidad de los datos y el presupuesto.
Para casos de uso con datos sensibles o con requisitos de latencia muy estrictos, los modelos open-source como Llama, Mistral o Qwen suelen ser la mejor opción, aunque requieren más trabajo de ingeniería. Para prototipos rápidos o casos de uso con volumen moderado, las APIs de terceros son más eficientes.
Tokenización: el paso que más se ignora
La tokenización es el proceso de convertir texto en tokens (unidades que el modelo puede procesar). Parece trivial, pero tiene implicaciones importantes para el coste, la latencia y la calidad de los resultados.
Un error común es no tener en cuenta cómo el tokenizador maneja el español. Los tokenizadores entrenados principalmente en inglés pueden fragmentar palabras españolas de forma ineficiente, aumentando el número de tokens necesarios para representar el mismo contenido. Esto se traduce directamente en mayor coste y mayor latencia.
Medir el ratio de tokens por palabra en tu corpus específico antes de elegir un modelo puede ahorrarte sorpresas desagradables en producción. Un ratio de 1.5-2 tokens por palabra es razonable para español; más de 2.5 debería hacerte reconsiderar el tokenizador.
Latencia y estrategias de optimización
La latencia de los modelos de lenguaje tiene dos componentes: el tiempo hasta el primer token (TTFT, time to first token) y el tiempo total de generación. Para aplicaciones interactivas, el TTFT es lo que el usuario percibe como "velocidad de respuesta". Para aplicaciones batch, el throughput total importa más.
Las estrategias de optimización más efectivas incluyen: quantización del modelo (reducir la precisión de los pesos de float32 a int8 o int4), batching dinámico (agrupar múltiples consultas para procesarlas juntas), y caché de KV (reutilizar los cálculos de atención para tokens repetidos).
Evaluación en producción
Evaluar un modelo de NLP en producción es más difícil que en desarrollo porque no siempre tienes etiquetas de referencia para las consultas reales. Las estrategias que funcionan incluyen: evaluación humana periódica de una muestra de respuestas, métricas proxy que correlacionen con la calidad (como la tasa de reformulación de consultas), y sistemas de feedback implícito (¿el usuario continuó la conversación o la abandonó?).
Lo más importante es instrumentar el sistema desde el principio para poder responder estas preguntas. Añadir observabilidad después es mucho más costoso que diseñarla desde el inicio.