Un modelo es tres cosas fusionadas: una arquitectura, un conjunto de parámetros y el fantasma de sus datos de entrenamiento. La arquitectura es el plano — define cómo fluye la información a través del sistema. Un Transformer procesa texto a través de capas de mecanismos de atención. Un modelo de difusión denoiza iterativamente el ruido aleatorio en imágenes. Un modelo Mamba utiliza espacios de estado selectivos para procesar secuencias sin atención en absoluto. La arquitectura determina qué tipo de entrada puede manejar el modelo y qué tipo de salida puede producir, pero por sí sola no hace nada. Es una estructura en blanco sin conocimiento.
Los parámetros son el conocimiento. Durante el entrenamiento, el modelo ajusta millones o miles de millones de pesos numéricos hasta que puede predecir bien sus datos de entrenamiento. Estos pesos codifican todo lo que el modelo "sabe" — gramática, hechos, patrones de razonamiento, estilo, sesgos. Cuando la gente dice que un modelo tiene 70 mil millones de parámetros, se refiere a 70 mil millones de números aprendidos que colectivamente representan los patrones que el modelo extrajo de su corpus de entrenamiento. Los parámetros son el modelo en el sentido más concreto: son el archivo que descargas, la cosa que se carga en la memoria de la GPU, el artefacto que convierte la arquitectura en capacidad.
Cuando descargas un modelo, estás descargando esos parámetros serializados en un archivo. El formato importa más de lo que podrías esperar. Los archivos .pt o .bin de PyTorch son el formato nativo para modelos entrenados en PyTorch — utilizan la serialización pickle de Python, lo que significa que técnicamente pueden contener código arbitrario. Esto es una preocupación real de seguridad si descargas modelos de fuentes no confiables. Safetensors, desarrollado por Hugging Face, resuelve esto almacenando solo los datos brutos de los tensores en un formato que no puede ejecutar código. También es más rápido de cargar porque admite acceso mapeado a memoria. La mayoría de los repositorios de modelos han migrado a safetensors como el formato predeterminado.
GGUF es un animal completamente diferente. Desarrollado por la comunidad llama.cpp, GGUF está diseñado para inferencia en CPU y en hardware de consumo con CPU/GPU híbrida. Empaqueta los pesos del modelo junto con metadatos sobre la cuantización, la configuración del tokenizador y los detalles de la arquitectura en un solo archivo autocontenido. Si ves a alguien ejecutando un modelo de 70B en una MacBook, es casi seguro que está usando un archivo GGUF que ha sido cuantizado a una precisión de 4 bits o 5 bits. ONNX (Open Neural Network Exchange) toma otro enfoque — es un formato de interoperabilidad diseñado para que puedas entrenar un modelo en un marco y ejecutarlo en otro, a menudo con optimizaciones específicas del hardware aplicadas por el entorno de ejecución.
Los modelos pasan por un ciclo de vida que la mayoría de los usuarios nunca ven. El preentrenamiento es la parte costosa: un modelo base se entrena en grandes cantidades de datos (a menudo trillones de tokens para modelos de lenguaje grandes) con costos que oscilan entre cientos de miles y cientos de millones de dólares. Esto produce un modelo base que puede predecir texto pero no es especialmente útil para conversaciones. El ajuste fino adapta el modelo base para tareas específicas — seguimiento de instrucciones, generación de código, diagnóstico médico — usando conjuntos de datos mucho más pequeños y curados. La alineación mediante RLHF o técnicas similares hace que las salidas del modelo sean más útiles y menos dañinas. La cuantización comprime la precisión del modelo desde 16 bits o 32 bits de punto flotante hasta 8 bits, 4 bits o incluso menos, intercambiando una pequeña cantidad de calidad por reducciones dramáticas en los requisitos de memoria y cálculo. La implementación coloca el modelo detrás de una API o lo carga en un dispositivo. El servicio maneja las solicitudes de inferencia reales a gran escala.
La distinción entre modelos abiertos y cerrados es más ambigua de lo que parece. Cuando Meta "lanza" Llama, publica los pesos del modelo — puedes descargar los parámetros y ejecutar el modelo en tu propio hardware. Pero no publican los datos de entrenamiento o el código completo de entrenamiento. Mistral hace algo similar. Estos se llaman más precisamente "modelos de peso abierto". Modelos verdaderamente de código abierto incluirían pesos, datos de entrenamiento, código de entrenamiento y pipelines de evaluación — un estándar que casi nadie cumple. Por otro lado, modelos cerrados como GPT-4 y Claude solo están disponibles a través de APIs. Nunca ves los pesos, no puedes modificar el modelo y estás sujeto a los términos de servicio del proveedor. La diferencia práctica es enorme: los modelos de peso abierto te dan control, privacidad y la capacidad de ajustarlos, pero pagas por el cálculo y asumes complejidad operativa. Los modelos cerrados te ofrecen conveniencia y a menudo mejor rendimiento, pero estás alquilando acceso a un sistema de otra persona.
Los benchmarks son la forma estándar de comparar modelos, y son profundamente poco confiables. Un modelo que obtiene la puntuación más alta en MMLU (una prueba de conocimiento de opción múltiple) podría tener dificultades con tu tarea específica. La contaminación de benchmarks — donde los datos de prueba se filtran en los datos de entrenamiento — es común y difícil de detectar. Chatbot Arena, que clasifica modelos basado en votos de preferencia humana ciega, es más confiable pero aún refleja la calidad general de conversación en lugar del rendimiento específico de dominio. La única manera confiable de elegir un modelo es probar candidatos en tu carga de trabajo real. Escribe diez prompts representativos, ejecútalos en tres o cuatro modelos y compara las salidas. Esa inversión de una hora te dirá más que cualquier tabla de clasificación.