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.