Saltar al contenido principal

Arquitectura de godml

godml convierte un YAML declarativo en un pipeline de ML ejecutable, con compliance, tracking y provenance integrados.

Pipeline interactivo​

Haz clic en cada servicio para explorar qué hace. El flujo se anima automáticamente.

📄
godml.yml
Declaración del pipeline
Define modelo, datos, proveedor y métricas en un solo archivo YAML declarativo.

Servicios internos​

Cada servicio es modular, intercambiable y trazado. El pipeline falla rápido con mensajes claros.

⚙️ config_service​

Parsea el YAML, sustituye variables de entorno (${VAR}) y valida el schema completo con Pydantic. Si hay errores, el pipeline se detiene antes de tocar ningún dato.

# El YAML que parsea config_service
name: customer-churn
provider: mlflow
dataset:
uri: data/customers.csv
target: churn

🔧 dataprep_service​

Ejecuta la receta de transformaciones definida en dataset.dataprep.steps. Opera sobre pandas DataFrame. Cada transform es atómico, reversible y trazado con OpenLineage.

dataprep:
steps:
- op: drop_columns
params: { columns: [id, timestamp] }
- op: fillna
params: { columns: [monthly_charges], value: 0 }
- op: one_hot
params: { columns: [region, plan_type], drop_first: true }
- op: standard_scale
params: { columns: [monthly_charges, tenure] }

→ Lista completa de operaciones: DataPrep Service

🛡️ compliance_service​

Detecta PII por nombre de columna y contenido. Aplica la política (mask_sensitive, drop_sensitive, hash_sensitive) antes de que los datos lleguen al entrenamiento. Nunca entrena con datos sensibles sin tratar.

Compliance obligatorio en producción

Si el dataset contiene columnas como email, ssn, credit_card o phone, godml activa compliance automáticamente — no necesitas configurarlo.

🧠 model_service​

Carga el modelo según model.type, aplica el AutoTuner y ejecuta el entrenamiento. Soporta XGBoost, Random Forest, Logistic Regression, Linear Regression y LSTM Forecasting (godml[deep]).

📊 monitoring_service​

Calcula todas las métricas, compara contra los thresholds definidos y registra todo en MLflow. Si algún threshold no se cumple, el modelo no se registra. Siempre puedes ver por qué falló.


AutoTuner​

El AutoTuner detecta si el problema es clasificación binaria, multiclase o regresión (según el número de valores distintos en el target) y completa los hiperparámetros que falten — sin pisar los que ya definiste:

ModeloBinariaMulticlaseRegresión
xgboostobjective: binary:logistic, eval_metric: aucobjective: multi:softprob, num_class, eval_metric: mloglossobjective: reg:squarederror
random_forestcriterion: entropycriterion: ginicriterion: squared_error
logistic_regressionsolver: liblinearmulti_class: ovr, solver: lbfgs—
lstm_forecast——completa epochs/batch_size

No ajusta hiperparámetros según tamaño de dataset, número de columnas ni desbalance de clases todavía.


Providers​

Mismo pipeline YAML — diferente entorno de ejecución. Haz clic para ver la configuración:

🧪
MLflow
Local · Rápido · Sin infra
Recomendado para dev
Setup30 segundos
CostoGratis
InfraestructuraNinguna
EscalabilidadLocal / equipo
CompliancePCI-DSS básico
MLflow UIIncluido
Provenance SLSANo
GPU/Spot trainingNo
Ver configuración →
☁️
SageMaker
AWS · Escala · SLSA L3
Producción
SetupConfig IAM + S3
CostoInstancias AWS
InfraestructuraAWS gestionada
EscalabilidadIlimitada
ComplianceHIPAA · SOC2 · GDPR
MLflow UIVía SageMaker Exp.
Provenance SLSAL3 via release.yml
GPU/Spot trainingSí (ml.p3, ml.g4)
Ver configuración →

Flujo de datos completo​


Estructura de archivos generada​

mi-proyecto/
├── godml.yml ← pipeline definition
├── data/
│ ├── raw.csv
│ └── clean_pci.csv ← si compliance activo
├── output/
│ ├── predictions.csv ← batch_output
│ └── model.pkl ← model_output
└── mlflow.db ← MLflow tracking (SQLite)
└── [experiment_id]/
└── [run_id]/
├── metrics/
├── params/
└── artifacts/
Siguiente paso

¿Listo para ejecutar tu primer pipeline? Ve a Quickstart →