El ciclo de vida del machine learning moderno no solo involucra entrenar modelos, sino también automatizar, versionar y desplegar esos modelos en producción. Esto es lo que define el enfoque de MLOps. Gracias a su compatibilidad con herramientas de Linux, contenedores, aceleración GPU y pipelines reproducibles, WSL2 es ideal para este tipo de desarrollo desde Windows.
🎯 Objetivo
- Crear un entorno de desarrollo MLOps usando WSL2
- Integrar herramientas como DVC, MLflow, Docker y Python
- Automatizar pipelines de entrenamiento y evaluación
- Ejecutar tareas reproducibles y escalables localmente
⚙️ Paso 1: Preparar entorno base en WSL2
Instalar Python y herramientas básicas:
sudo apt update
sudo apt install -y python3-pip python3-venv git
pip install --upgrade pip
Clonar un proyecto de ejemplo o iniciar uno nuevo:
git clone https://github.com/iterative/example-get-started-mlops.git
cd example-get-started-mlops
🔁 Paso 2: Instalar DVC para control de datos y pipelines
DVC es una herramienta fundamental en MLOps para manejar datos y etapas de procesamiento.
pip install dvc[gs] dvc[ssh]
dvc init
Agregar un pipeline:
dvc run -n preprocess -d src/preprocess.py -o data/processed python src/preprocess.py data/raw data/processed
🧪 Paso 3: Automatizar experimentos con MLflow
Instalar MLflow:
pip install mlflow
Ejecutar un experimento:
mlflow run .
Lanzar la interfaz de MLflow:
mlflow ui
Ver resultados desde el navegador en http://localhost:5000
🐳 Paso 4: Contenerizar el flujo con Docker
FROM python:3.10-slim
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python", "src/train.py"]
Construir y correr el contenedor:
docker build -t mlops-model .
docker run --rm mlops-model
🛠️ Buenas prácticas MLOps en WSL2
- Usar
make
para correr pipelines:make train
,make evaluate
- Controlar recursos con
.wslconfig
- Versionar modelos con
dvc push
ygit tag
- Integrar
act
para correr GitHub Actions localmente - Usar
conda
opip-tools
para entornos reproducibles
✅ Conclusión
WSL2 permite construir un entorno completo de MLOps directamente sobre Windows, integrando control de versiones, contenedores, entrenamiento y despliegue en pipelines reproducibles. Es una solución ideal para equipos que necesitan compatibilidad con Linux pero prefieren trabajar desde Windows.
Ver también
- Construcción de un asistente contextual para escritorio usando IA local con acceso al sistema
- Integración de inferencia local ONNX con Windows ML en apps modernas
- Integración con servicios locales vía App Services y extensión de funcionalidades entre apps
- Implementación de Background Tasks persistentes en apps modernas
- Empaquetado de apps modernas con MSIX y configuración avanzada del manifiesto