Saltar al contenido principal

Preguntas frecuentes

General

¿godml es gratuito?

Sí. godml es open-source bajo licencia MIT. Puedes usarlo, modificarlo y distribuirlo libremente.

¿En qué se diferencia godml de MLflow?

MLflow es una plataforma de tracking de experimentos. godml es un framework de ejecución de pipelines que usa MLflow como backend de tracking. Con godml defines qué hacer en YAML; MLflow registra qué pasó.

¿En qué se diferencia godml del SageMaker SDK?

El SageMaker SDK requiere escribir Python para cada step. Con godml defines el pipeline en YAML y el provider SageMaker genera y ejecuta el SageMaker Pipeline automáticamente.

¿Puedo usar godml en producción?

Sí. godml está diseñado para producción: SLSA Level 3, Sigstore, hashes de datasets para trazabilidad y compliance integrado.


Modelos

¿Puedo usar mi propio modelo?

Sí, implementando la interfaz BaseModelInterface:

from godml.model_service.base_model_interface import BaseModelInterface

class MiModelo(BaseModelInterface):
def train(self, X_train, y_train, X_test, y_test, params):
model = ...
predictions = ...
return model, predictions
model:
type: mi_modelo
source: local

¿godml soporta regresión además de clasificación?

Sí. Para regresión usa objective: reg:squarederror en XGBoost o linear_regression como tipo. Las métricas de evaluación se adaptan automáticamente.

¿Qué pasa si el modelo no alcanza el threshold de AUC?

El pipeline termina sin registrar el modelo. Las métricas sí se guardan en MLflow para que puedas analizar por qué no se alcanzó el umbral. El código de salida es 1 para que CI/CD pueda detectarlo.


Datos

¿Qué formatos de dataset soporta godml?

  • CSV (.csv) — todos los providers
  • Parquet (.parquet) — con godml[data]
  • S3 URIs (s3://bucket/path) — requerido para SageMaker

¿Puedo usar godml sin el paso de compliance?

Sí, simplemente omite la sección governance o no definas compliance:

governance:
owner: mi-equipo
# sin compliance: pci-dss

¿Qué columnas detecta como PII?

godml detecta por nombre de columna: email, phone, telefono, nombre, name, ssn, rfc, curp, credit_card, tarjeta, address, ip_address, password y variantes. También detecta patrones de contenido (números de tarjeta, emails).


SageMaker

¿Necesito Docker o ECR para usar el provider SageMaker?

No. godml usa containers pre-construidos de AWS (XGBoost built-in, SKLearn). No necesitas construir ni publicar ninguna imagen Docker.

¿Cuánto cuesta ejecutar un pipeline con SageMaker?

Para un dataset de ~100K filas con XGBoost, típicamente menos de $0.10 USD. Los containers se levantan y apagan solos — solo pagas el tiempo de ejecución de cada step.

¿El dataset tiene que estar en S3?

Sí, el provider SageMaker requiere que dataset.uri sea una URI de S3 (s3://...). Los datos locales no son accesibles desde los containers de SageMaker.


CI/CD

¿Puedo ejecutar godml en GitHub Actions?

Sí:

.github/workflows/train.yml
- name: Train model
run: |
pip install godml
godml run -f godml.yml
env:
MLFLOW_TRACKING_URI: ${{ secrets.MLFLOW_URI }}

¿Cómo sé si el pipeline falló en CI?

godml run retorna exit code 1 si el threshold no se cumple o si hay un error. GitHub Actions lo detecta automáticamente como fallo del step.


Versiones y compatibilidad

¿Qué versiones de Python soporta godml?

Python 3.11, 3.12 y 3.13.

¿godml funciona en Windows?

Sí, aunque recomendamos WSL2 o Linux/macOS para el provider SageMaker.

¿Cómo migro de una versión anterior de godml?

Consulta el Changelog para ver breaking changes entre versiones.