El problema fundamental que Croissant busca resolver es la fragmentación y heterogeneidad en la representación y organización de los conjuntos de datos de Machine Learning. A pesar de la existencia de formatos de metadatos generales como schema.org, estos carecen de la granularidad y las características específicas necesarias para el ciclo de vida del ML, como la definición de conjuntos de entrenamiento/validación/prueba, la extracción de datos de fuentes heterogéneas o la inclusión de metadatos para un uso responsable.
Esta falta de estandarización impone una carga significativa en la productividad de los ingenieros de ML, quienes dedican una cantidad desproporcionada de tiempo a la ingesta, limpieza y comprensión de los datos, en lugar de centrarse en el modelado. Croissant emerge como una solución a esta "carga de desarrollo de datos", buscando acelerar la investigación y el desarrollo de ML al proporcionar un lenguaje común para describir la estructura y semántica de los datasets.
Históricamente, la interoperabilidad de datos ha sido un desafío recurrente en la computación, desde los primeros sistemas de bases de datos hasta la integración de servicios distribuidos. En el contexto del ML, donde los datos son el "código" que define el comportamiento del modelo, la estandarización de metadatos es crítica para escalar la colaboración y la automatización en el ecosistema.
Arquitectura del Sistema
Croissant se concibe como una capa de metadatos que se superpone a los formatos de datos existentes, sin alterarlos. Su arquitectura se basa en la extensión de schema.org, el estándar de facto para datos estructurados en la web, lo que le permite aprovechar la infraestructura de descubrimiento existente. Sobre esta base, Croissant añade capas específicas para metadatos relevantes para ML, recursos de datos, organización de datos y semántica ML por defecto.
Los componentes clave incluyen la especificación del formato, que define la estructura del archivo de metadatos (probablemente JSON-LD o similar, dado su origen en schema.org). Este archivo describe cómo los datos están organizados (ej. archivos, tablas, columnas), sus tipos, relaciones, y cómo se pueden segmentar para entrenamiento, validación y prueba. También incluye un vocabulario de extensión para Responsible AI (RAI), que permite describir propiedades como el ciclo de vida de los datos, el etiquetado, la evaluación de equidad y la explicabilidad.
Para la implementación, Croissant ofrece una librería Python de código abierto para validar, consumir y generar metadatos, y un editor visual. La integración con frameworks de ML se realiza a través de paquetes como TensorFlow Datasets (TFDS), que puede interpretar los metadatos de Croissant para cargar y preprocesar los datos de manera automatizada. Esto implica que TFDS implementa un parser para el formato Croissant, mapeando las descripciones de los recursos de datos y su organización a operaciones de carga y transformación de datos en el grafo computacional de TensorFlow, PyTorch o JAX.
Flujo de Consumo de Dataset Croissant
- 1 Búsqueda de Dataset Usuario busca datasets en Google Dataset Search, Kaggle, Hugging Face, OpenML...
- 2 Descarga Metadatos Se obtiene el archivo de metadatos Croissant (ej. JSON-LD) del dataset.
- 3 Carga en Framework ML TensorFlow Datasets (TFDS) consume el archivo Croissant.
- 4 Parseo de Metadatos TFDS interpreta la estructura, recursos y semántica ML del Croissant.
- 5 Ingesta de Datos TFDS carga los datos subyacentes (imágenes, texto, etc.) según la descripción.
- 6 Uso en ML Framework Datos listos para entrenamiento/evaluación en TensorFlow, PyTorch, JAX.
Flujo de Publicación de Dataset Croissant
- 1 Preparación de Datos Autor organiza sus archivos de datos (imágenes, texto, etc.).
- 2 Generación Metadatos Uso del editor UI de Croissant o librería Python para crear el archivo Croiss...
- 3 Análisis de Datos (Auto) Editor/Librería analiza datos para inferir parte de los metadatos.
- 4 Añadir Propiedades RAI Autor completa metadatos de Responsible AI y otros campos específicos.
- 5 Publicación Se publica el archivo Croissant junto con los datos en una web o repositorio ...
- 6 Descubrimiento Motores de búsqueda y plataformas indexan el dataset Croissant.
| Capa | Tecnología | Justificación |
|---|---|---|
| data-processing | TensorFlow Datasets (TFDS) | Actúa como el consumidor principal del formato Croissant, facilitando la ingesta y preparación de datos para frameworks de ML como TensorFlow, PyTorch y JAX. Es el puente entre los metadatos estandarizados y el pipeline de entrenamiento. |
| data-processing | Croissant Python Library | Proporciona herramientas para la validación, consumo y generación programática de metadatos Croissant, esencial para la automatización y la integración en pipelines de datos. |
| orchestration | MLCommons | Organización colaborativa que impulsa el desarrollo y la adopción de Croissant, actuando como un consorcio para la estandarización en el ecosistema ML. |
| storage | Kaggle, Hugging Face, OpenML | Plataformas de hosting de datasets que adoptan y soportan el formato Croissant, aumentando su visibilidad y accesibilidad para la comunidad ML. |
Trade-offs
Ganancias
- ▲ Reducción de la carga de desarrollo de datos
- ▲ Mejora en la descubribilidad de datasets
- ▲ Facilita el uso responsable de datos (RAI)
- ▲ Interoperabilidad entre herramientas y frameworks ML
Costes
- △ Esfuerzo inicial para crear/convertir metadatos Croissant
- △ Curva de aprendizaje del formato Croissant
Fundamentos Teóricos
El desafío de la interoperabilidad de datos y la necesidad de metadatos descriptivos ha sido un tema recurrente en la ciencia de la computación y la gestión de la información. Conceptos como los "esquemas" y los "catálogos de datos" en sistemas de bases de datos relacionales y no relacionales son precursores directos de la necesidad de Croissant. La idea de un "lenguaje de descripción de datos" (DDL) para definir la estructura de los datos es análoga a lo que Croissant hace para los datasets de ML.
La base de Croissant en schema.org conecta directamente con los principios de la Web Semántica, propuestos por Tim Berners-Lee et al. en 2001. La Web Semántica busca hacer que los datos en la web sean legibles por máquinas, utilizando metadatos estructurados y ontologías. Croissant extiende esta visión al dominio específico del ML, creando una ontología y un vocabulario especializado para describir datasets de ML, facilitando no solo el descubrimiento sino también el consumo programático y el uso responsable. La inclusión de metadatos para Responsible AI también resuena con la creciente investigación en ética de la IA y la necesidad de transparencia y auditabilidad en los sistemas de ML, un campo que ha ganado tracción académica en la última década.