← Todas las recetasReceta · 6 de octubre de 2025

Gestión de modelos: organiza 500GB de pesos sin volverte loco

Sistema práctico para almacenar, versionar y limpiar modelos en local: HF_HOME, symlinks, scripts de limpieza y la política de 'un modelo entra, un modelo sale'.

Dificultadfácil
Tiempo20 min
IngredientesHuggingFace CLI · bash · cron

Con modelos de 5GB a 100GB, el disco se convierte en tu recurso más escaso. Este es el sistema que usamos tras el desastre del 91%.

Paso 1: Un solo hogar para todos los modelos

Por defecto, cada herramienta guarda donde le da la gana (Ollama en un sitio, HF en otro, llama.cpp donde le pases la ruta). Centraliza:

# En tu .bashrc
export HF_HOME=/srv/models/huggingface
export OLLAMA_MODELS=/srv/models/ollama
export TRANSFORMERS_CACHE=$HF_HOME/hub

Todo en un sitio = un solo du -sh para saber dónde estás.

Paso 2: El script de limpieza (el que te salva)

#!/usr/bin/env bash
# clean-models.sh — informe de ocupación
echo "=== USO DE DISCO ==="
df -h / | tail -1
echo ""
echo "=== MODELOS POR TAMAÑO ==="
du -sh /srv/models/* 2>/dev/null | sort -rh | head -15
echo ""
echo "=== BASURA HF (blobs huérfanos) ==="
find $HF_HOME -name "*.incomplete" -o -name "*.lock" 2>/dev/null | head
echo ""
echo "=== DESCARGAS PARCIALES ==="
du -sh /tmp/*.part 2>/dev/null | sort -rh | head -5

Cron semanal que te lo manda por Telegram. Saber es la mitad de la cura.

Paso 3: La política del club

Nuestras reglas (adoptadas tras llorar modelos duplicados):

  1. Antes de descargar: df -h. Si hay menos de 1.5x el tamaño del modelo libre, ni se empieza.
  2. Un modelo entra, un modelo sale: si descargo uno nuevo de la misma categoría (chat/coder/embeddings), el anterior se va. Sin sentimientos.
  3. Los “de producción” tienen alias: ollama cp modelo prod-chat. Los scripts apuntan al alias, no al tag. Actualizar sin romper nada.
  4. Re-descargar es gratis: los modelos no se backupean (están en HuggingFace). Solo se backupean tus LoRAs, tus datasets y tus configs. Eso sí, con devoción.

Paso 4: Descargar con cabeza

# hf CLI con resume (retoma descargas cortadas — las de 97GB SE cortan)
pip install -U huggingface_hub
hf download org/modelo --local-dir /srv/models/gguf/
  • --local-dir para controlar destino exacto
  • El resume de hf CLI funciona: nunca descargues 100GB con un wget pelado

El estado final del arte (nuestro /srv/models)

/srv/models/
├── gguf/          # para llama.cpp (por orden de uso)
├── huggingface/   # cache HF (vLLM, transformers)
├── ollama/        # los modelos de Ollama
├── loras/         # NUESTROS LoRAs (backup sagrado)
└── datasets/      # datos de fine-tuning (backup sagrado)

~400GB organizados, 87GB libres, y nadie duerme peor por ello. 🧹