MLOps & Model Inference
Capa MLOps en ColabBio
Section titled “Capa MLOps en ColabBio”ColabBio provee una infraestructura centralizada para el entrenamiento, registro y despliegue de modelos de Inteligencia Artificial, diseñada específicamente para soportar cargas de trabajo pesadas como Whole Slide Imaging (WSI), genómica y LLMs en salud.
Arquitectura
Section titled “Arquitectura”La plataforma delega las responsabilidades en herramientas nativas de la industria:
- Nextflow: Orquestación de pipelines (responsabilidad de cada Tenant).
- MLflow: Tracking de experimentos y Model Registry (Servicio de Plataforma).
- NVIDIA Triton: Servidor de Inferencia acelerado por GPU (Servicio de Plataforma).
1. Integración con MLflow (Entrenamiento)
Section titled “1. Integración con MLflow (Entrenamiento)”Cuando desarrolles un pipeline de entrenamiento en tu proyecto Tenant (ej. WSI_MIL), no necesitas configurar tu propio servidor de MLflow ni escribir el código de las APIs.
La plataforma expone los módulos estándar en el repositorio cb-nextflow-modules.
Añade estas líneas a tu script de Nextflow (main.nf):
include { MLFLOW_REGISTER; TRITON_DEPLOY } from 'github.com/colabbio/cb-nextflow-modules/mlops.nf'Bajo el capó, este módulo de Nextflow se encarga de ejecutar el siguiente código Python de forma transparente para inyectar los datos:
import mlflow
# La URL es resuelta internamente por Kubernetesmlflow.set_tracking_uri("http://colabbio-mlflow:5000")mlflow.set_experiment("wsi_mil_abmil_classifier")
with mlflow.start_run(): # El código de entrenamiento del tenant...
# Guarda el modelo en el registro mlflow.pytorch.log_model(model, "abmil_model")Al registrar el modelo, MLflow lo subirá automáticamente al Model Repository (GCS o un disco persistente local, dependiendo del entorno).
2. Inferencia con NVIDIA Triton
Section titled “2. Inferencia con NVIDIA Triton”Debido a que modelos como los Transformers y ABMIL son extremadamente exigentes en cuanto a la VRAM (memoria de GPU), no desplegamos contenedores FastAPI individuales.
ColabBio despliega NVIDIA Triton Inference Server para gestionar la memoria de la GPU de forma dinámica. Triton detecta cuando hay modelos nuevos en el Model Repository y los carga automáticamente.
Consumiendo la API de Triton
Section titled “Consumiendo la API de Triton”Tu backend o frontend no realiza inferencia local. Para predecir sobre un nuevo paciente o imagen, debes realizar una llamada gRPC o HTTP a Triton.
Endpoint HTTP interno: http://colabbio-triton:8000/v2/models/abmil_model/infer
Endpoint gRPC interno: colabbio-triton:8001
Nota para Desarrolladores de Frontend (cb_path_viewer): Si necesitas procesar parches de imágenes en tiempo real, envía las matrices de píxeles al backend (
cb-svc-parent). Este se encargará de agruparlas (batching) y enviarlas a Triton vía gRPC para una latencia mínima.