Autores:
(1) Sasun Hambardzumyan, Activeloop, Mountain View, CA, EE. UU.;
(2) Abhinav Tuli, Activeloop, Mountain View, CA, EE. UU.;
(3) Levon Ghukasyan, Activeloop, Mountain View, CA, EE. UU.;
(4) Fariz Rahman, Activeloop, Mountain View, CA, EE. UU.;
(5) Hrant Topchyan, Activeloop, Mountain View, CA, EE. UU.;
(6) David Isayan, Activeloop, Mountain View, CA, EE. UU.;
(7) Mark McQuade, Activeloop, Mountain View, CA, EE. UU.;
(8) Mikayel Harutyunyan, Activeloop, Mountain View, CA, EE. UU.;
(9) Tatevik Hakobyan, Activeloop, Mountain View, CA, EE. UU.;
(10) Ivo Stranic, Activeloop, Mountain View, CA, EE. UU.;
(11) Pescante Buniatyan, Activeloop, Mountain View, CA, EE. UU.
En esta sección, analizamos los desafíos actuales e históricos de la gestión de datos complejos o no estructurados.
Generalmente no se recomienda almacenar datos binarios, como imágenes, directamente en una base de datos. Esto se debe a que las bases de datos no están optimizadas para almacenar y servir archivos grandes y pueden causar problemas de rendimiento. Además, los datos binarios no encajan bien en el formato estructurado de una base de datos, lo que dificulta su consulta y manipulación. Esto puede provocar tiempos de carga lentos para los usuarios. Las bases de datos suelen ser más caras de operar y mantener que otros tipos de almacenamiento, como los sistemas de archivos o los servicios de almacenamiento en la nube. Por lo tanto, almacenar grandes cantidades de datos binarios en una base de datos puede resultar más costoso que otras soluciones de almacenamiento.
Los aumentos en las cargas de trabajo analíticas y de BI a gran escala motivaron el desarrollo de formatos estructurados comprimidos como Parquet, ORC, Avro o formatos transitorios en memoria como Arrow [79, 6, 20, 13]. A medida que los formatos tabulares ganaron adopción, surgieron intentos de extender esos formatos, como Petastorm [18] o Feather [7] para el aprendizaje profundo. Hasta donde sabemos, estos formatos aún no han logrado una amplia adopción. Este enfoque se beneficia principalmente de las integraciones nativas con Modern Data Stack (MDS). Sin embargo, como se analizó anteriormente, las herramientas upstream requieren modificaciones fundamentales para adaptarse a las aplicaciones de aprendizaje profundo.
La opción actual nativa de la nube para almacenar grandes conjuntos de datos no estructurados es el almacenamiento de objetos como AWS S3 [1], Google Cloud Storage (GCS) [3] o MinIO [17]. El almacenamiento de objetos ofrece tres beneficios principales sobre los sistemas de archivos de red distribuidos. Son (a) rentables, (b) escalables y (c) sirven como un repositorio independiente del formato. Sin embargo, el almacenamiento en la nube no está exento de inconvenientes. En primer lugar, introducen una sobrecarga de latencia significativa, especialmente cuando se itera sobre muchos archivos pequeños como texto o JSON. A continuación, la ingesta de datos no estructurados sin control de metadatos puede producir "pantanos de datos". Además, el almacenamiento de objetos tiene control de versiones incorporado; rara vez se utiliza en flujos de trabajo de ciencia de datos. Por último, los datos sobre el almacenamiento de objetos se copian en una máquina virtual antes del entrenamiento, lo que genera gastos generales de almacenamiento y costos adicionales.
Los lagos de datos de segunda generación liderados por Delta, Iceberg, Hudi [27, 15, 10] amplían el almacenamiento de objetos mediante la gestión de archivos en formato tabular con las siguientes propiedades principales.
(1) Operaciones de actualización: insertar o eliminar una fila encima de un archivo de formato tabular.
(2) Streaming : ingesta de datos descendentes con propiedades ACID e integración ascendente con el motor de consultas que expone la interfaz SQL.
(3) Evolución del esquema: estructura de columnas en evolución preservando la compatibilidad con versiones anteriores.
(4) Viaje en el tiempo y seguimiento de registros de auditoría: preservación del estado histórico con propiedad de reversión donde las consultas pueden ser reproducibles. Además, admite el control a nivel de fila del linaje de datos.
(5) Optimización del diseño: función incorporada para optimizar el tamaño de los archivos y la compactación de datos con soporte de pedidos personalizados. Acelera significativamente las consultas.
Sin embargo, los lagos de datos de segunda generación todavía están sujetos a las limitaciones de los formatos de datos inherentes que se utilizarán en el aprendizaje profundo, como se analizó anteriormente en la sección 2.2. Por lo tanto, en este documento, ampliamos la segunda generación de capacidades del lago de datos para casos de uso de aprendizaje profundo al repensar el formato y las características ascendentes, incluidas las consultas, la visualización y la integración nativa a marcos de aprendizaje profundo para completar el ciclo de vida del aprendizaje automático, como se muestra en la figura 2. .
Este documento está disponible en arxiv bajo licencia CC 4.0.