Saltar al contenido principal

04 · Fundamentos de ML y LLMs

Modelos, pesos abiertos y Hugging Face

Modelos cerrados y modelos que puedes descargar, qué permiten sus licencias, y Hugging Face como el lugar donde se comparten.

13 minCaso de estudio: Adapta (se abre en una ventana nueva)

Antes de que alguien escriba un , entrene un o levante un servidor, alguien eligió un modelo. Esa elección define qué puede hacer el sistema, cuánto cuesta, por dónde viajan los datos y qué permite la licencia. Muchas veces se toma solo por popularidad.

Esta lección explica cómo elegir a conciencia: modelos cerrados frente a abiertos y sus licencias, cómo saber qué es un modelo, por qué descargar uno es confiar en alguien y cómo tomar la decisión final. El ejemplo que la recorre es Adapta, que descarga sus modelos base de Hugging Face.

Modelos cerrados, modelos abiertos y licencias

Hay dos formas de usar un modelo. Un funciona como un servicio: envías texto a la API del proveedor y recibes una respuesta, pero el modelo nunca sale de sus servidores. Un funciona como un software que instalas: descargas sus pesos, los miles de millones de números aprendidos durante el , y los ejecutas donde quieras.

Cerrado (API) Pesos abiertos
Ejemplos OpenAI, Anthropic, Google (Gemini) Meta (Llama), Mistral, Alibaba (Qwen), DeepSeek, Google (Gemma)
Versiones El proveedor las actualiza y las retira Conservas la versión exacta que probaste
Adaptarlo Lo que ofrezca la API Fine-tuning, compresión, adapters

Poder descargar un modelo no lo convierte en open source. La Open Source AI Definition de la OSI también pide el código completo y suficiente información sobre los datos de entrenamiento para reconstruir algo equivalente. La mayoría de los modelos populares publica solo los pesos.

Lo que puedes hacer con ellos lo fija la licencia, y las licencias varían mucho:

  • Permisivas (Apache-2.0, MIT): casi cualquier uso. DeepSeek-R1 salió bajo MIT, y algunos modelos de Mistral bajo Apache-2.0.
  • Licencias comunitarias propias, que agregan condiciones. La licencia de Llama 3.1, por ejemplo, exige pedir permiso a Meta por encima de 700 millones de usuarios activos mensuales.
  • Términos con usos prohibidos, como los Gemma Terms of Use.
  • Licencias de investigación o no comerciales, que impiden usarlo en un producto sin un acuerdo aparte.

Qué es un modelo

El nombre de un modelo dice casi todo lo que necesitas. Toma Qwen2.5-3B-Instruct-GGUF:

  • Tamaño (3B): tres mil millones de parámetros. Define la memoria, la calidad y la velocidad. Los modelos pequeños caben en una tarjeta gráfica de consumo y conviene probarlos primero.
  • Base o instruct: un modelo base solo continúa texto, como un autocompletado; un modelo instruct recibió entrenamiento extra para seguir instrucciones. Las aplicaciones casi siempre usan este último.
  • Modalidad: los modelos marcados VL (visión-lenguaje) aceptan imágenes además de texto.
  • Formato (GGUF): cómo se guardan los pesos en disco.

Dos formatos cubren la mayoría de los casos. guarda solo los números y es el estándar en Hugging Face. los empaqueta en un solo archivo para llama.cpp y motores parecidos, normalmente comprimido para correr en hardware modesto (ver Servir modelos). Adapta entrena con el primero y sirve con el segundo, y convierte sus adapters entre uno y otro (Fine-tuning, LoRA y QLoRA).

En Adapta

  1. Hugging Face Hubun modelo, publicado en dos formatos
    • safetensors
    • GGUF
  2. Entrenamientocarga los pesos en safetensors
  3. Conversiónel adapter entrenado pasa a GGUF
  4. Serviciobase GGUF más el adapter
Adapta usa el mismo modelo en ambos formatos: uno para entrenar y otro para servir. La conversión es el punto donde un adapter pasa de un lado al otro. Fuente: Stack & decisions

Cada modelo tiene además una , la página que describe usos previstos, limitaciones, datos y evaluación, con la licencia en sus metadatos. Léela antes de descargar.

Hugging Face y sus alternativas

Hugging Face hace por los modelos lo que npm o PyPI hacen por el código: un registro público donde cualquiera publica y descarga. Su Hub aloja repositorios versionados de modelos y datasets, y sus librerías, con transformers a la cabeza, sirven para cargarlos, ejecutarlos y entrenarlos. También ofrece demos alojadas y servicios de ; su propio servidor de inferencia, TGI, está en modo mantenimiento.

Adapta no incluye pesos: su README indica descargar el desde el Hub, y el servidor se detiene con instrucciones si falta el archivo.

Descargar un modelo es confiar en alguien

Un archivo de modelo parece datos, pero puede ejecutar código. Los archivos antiguos de PyTorch usan un formato de Python llamado pickle, y abrir uno puede ejecutar código arbitrario. safetensors existe justamente para evitarlo.

Una segunda puerta es trust_remote_code, una opción que permite que un repositorio ejecute su propio código en tu máquina. Cuando de verdad hace falta, la documentación recomienda fijar la descarga a una versión exacta, para que nadie pueda cambiarte el código por debajo.

Cómo elegir un modelo

Parte de lo que tu sistema necesita, no de un ranking:

Criterio La pregunta
Tarea ¿Texto, código, imágenes, uso de herramientas, razonamiento largo?
Velocidad ¿Cuánto esperará el usuario? Los modelos más grandes son más lentos
Costo ¿Pago por uso o hardware propio? ¿Con qué volumen?
Privacidad ¿Los datos pueden salir de tu infraestructura?
Licencia ¿Permite uso comercial a tu escala?
Ventana de contexto ¿Caben tus instrucciones y tu material en lo que el modelo lee de una vez?

Lee la tabla como el primer filtro de una secuencia. Cada paso acorta la lista, y el último decide:

  1. Tus necesidadestarea, velocidad, costo, privacidad
  2. Licencia¿puedes usarlo de esta forma?
  3. Lista cortaaquí ayudan los benchmarks públicos
  4. Tus propias pruebascasos tomados de tu trabajo real
  5. Decisiónel modelo, fijado a una versión
Elegir un modelo es ir acotando una lista larga paso a paso. Los rankings públicos solo ayudan a mitad de camino; la decisión final sale de tus propios casos.

Los benchmarks públicos sirven para armar una lista corta, no para decidir. Las preguntas de la prueba pueden haberse filtrado a los datos de entrenamiento, y entonces el puntaje mide memoria y no capacidad; eso se llama contaminación (Xu et al., 2024). Además, tu tarea no se parece a la del benchmark. La propia Hugging Face cerró su Open LLM Leaderboard en marzo de 2025, con el argumento de que empujaba a optimizar cosas que ya no importaban. La decisión le corresponde a un conjunto de pruebas hecho con tus propios casos (Evaluar modelos).

En la práctica

  • Revisa la licencia antes que el benchmark. Un modelo excelente con licencia no comercial no puede entrar en un producto.
  • Trata cerrado frente a abierto como una decisión de datos y de operación, no solo de calidad. Los te dan control de versiones y privacidad, y te dejan la infraestructura a cargo.
  • Gestiona los pesos como cualquier dependencia: versiones fijas, formatos seguros y registro de qué modelo corre en cada lugar.

Fuentes

Para profundizar

La documentación de Adapta explica cómo elige, guarda y ejecuta sus modelos base (en inglés):

  • Operations Runbook tiene una sección sobre el catálogo de modelos base que lista cada modelo con su origen en Hugging Face, su licencia y la memoria gráfica que necesita para entrenar.
  • Learning the system explica los pesos, GGUF y la desde cero, y trata el archivo de un modelo como un programa compilado.
  • Stack and decisions explica por qué Adapta sirve archivos GGUF con llama.cpp en lugar de vLLM, las librerías de Hugging Face u Ollama.

Para llevar

  • Pesos abiertos no es open source; la licencia decide qué puedes hacer, y puede cambiar entre tamaños de una misma familia.
  • El nombre, la model card y el formato de archivo te dicen qué es un modelo y cómo corre.
  • Un modelo descargado es una dependencia: fíjalo, prefiere safetensors y evita ejecutar código del repositorio que no necesitas.
  • Los benchmarks arman la lista corta; tus propias pruebas deciden.

Comprueba lo aprendido

Un modelo publica sus pesos con licencia no comercial. ¿Es open source?

No. Open source significa que cualquiera puede usarlo, estudiarlo, modificarlo y compartirlo para cualquier fin, y además exige el código e información sobre los datos. La restricción no comercial basta para descartarlo.

¿Por qué safetensors es más seguro que un archivo antiguo basado en pickle?

safetensors guarda solo números y su descripción. Abrir un archivo pickle puede ejecutar cualquier código que se haya escondido dentro.

Un modelo encabeza un benchmark público. ¿Por qué eso no basta para elegirlo?

El puntaje puede estar inflado por contaminación, y el benchmark no mide tu tarea, tu velocidad, tu costo ni tu licencia. Confirma la elección con un conjunto de pruebas hecho con tus propios casos.