Compartir modelos entrenados con la comunidad es una de las prácticas más valiosas en el desarrollo de inteligencia artificial. Hugging Face Hub permite almacenar, versionar y distribuir modelos de forma colaborativa, facilitando que otros puedan descargarlos, utilizarlos e incluso mejorarlos mediante pull requests.
¿Cómo instalar y autenticarse en Hugging Face Hub?
El primer paso es instalar la herramienta de línea de comandos (command line interface) de Hugging Face Hub directamente desde el entorno de trabajo, en este caso Google Colab [0:28].
- Se instala con
pip install hugging_face_hub.
- Se puede agregar
%%capture para silenciar la retroalimentación de la instalación.
Una vez instalada, se inicia sesión con el comando huggingface-cli login [0:42]. Este proceso solicita un token de acceso que se obtiene desde la cuenta personal en Hugging Face. Es fundamental que el token tenga permisos de escritura (write access) para poder subir archivos al hub.
Nunca compartas tu token con nadie, ya que otorga control total sobre tu cuenta de Hugging Face.
¿Cómo crear un repositorio y subir un modelo al hub?
Para interactuar con el hub de forma programática se utiliza la clase HfApi [1:32]:
python
from huggingface_hub import HfApi
api = HfApi()
api.create_repo(repo_id="platzi/clasificacion-dbpedia-omar-espejel")
El repo_id define el nombre del repositorio. Puede asociarse a una cuenta personal o a una organización como la comunidad de Platzi [1:50]. Es recomendable que el nombre refleje el dataset utilizado y el tipo de tarea, por ejemplo: clasificación, modelo de lenguaje, entre otros.
¿Cómo subir el checkpoint del modelo?
Antes de subir, conviene verificar que el archivo del checkpoint exista en el directorio actual usando ls en la terminal de Colab [3:08]. La función upload_file se encarga de transferir el archivo:
python
api.upload_file(
path_or_fileobj="model_checkpoint.pth",
path_in_repo="model_checkpoint.pth",
repo_id="platzi/clasificacion-dbpedia-omar-espejel"
)
Los tres argumentos principales son:
- path_or_fileobj: ruta local del archivo a subir.
- path_in_repo: nombre que tendrá el archivo dentro del repositorio.
- repo_id: repositorio destino donde se almacenará el modelo.
Una vez ejecutada la celda, Hugging Face confirma la subida y el archivo queda visible en la sección files del repositorio [3:55].
¿Cómo unirse a la comunidad de Platzi en Hugging Face?
Para subir modelos a la organización de Platzi es necesario ser miembro. Solo hay que visitar la página de Platzi Community en Hugging Face y hacer clic en "Join the Platzi Group" [2:48]. Al unirse, los modelos y recursos compartidos por todos los estudiantes estarán visibles en un solo lugar.
¿Cómo descargar un modelo desde Hugging Face Hub?
Descargar un modelo previamente subido es igual de sencillo. Primero se crea un directorio local para almacenar los pesos descargados y evitar confusiones con archivos existentes [4:12]:
python
import os
os.makedirs("weights", exist_ok=True)
Luego se utiliza la función hf_hub_download [4:22]:
python
from huggingface_hub import hf_hub_download
hf_hub_download(
repo_id="platzi/clasificacion-dbpedia-omar-espejel",
filename="model_checkpoint.pth",
local_dir="weights"
)
- repo_id: indica de qué repositorio se descarga.
- filename: nombre exacto del archivo en el hub.
- local_dir: directorio local donde se guardará el archivo.
Al verificar el contenido del directorio weights, el archivo model_checkpoint.pth aparece correctamente descargado [4:55]. Los pesos entrenados quedan listos para inicializar un nuevo modelo y continuar trabajando con ellos.
Subir modelos al hub no solo facilita el acceso personal desde cualquier entorno, sino que abre la puerta a la colaboración. ¿Ya subiste tu modelo a la comunidad de Platzi? Comparte tu experiencia y el nombre de tu repositorio en los comentarios.