paint-brush
Deep Lake, una casa de lago para el aprendizaje profundo: discusión y limitacionespor@dataology
137 lecturas

Deep Lake, una casa de lago para el aprendizaje profundo: discusión y limitaciones

Demasiado Largo; Para Leer

Los investigadores presentan Deep Lake, una casa de lago de código abierto para el aprendizaje profundo, que optimiza el almacenamiento y la transmisión de datos complejos para marcos de aprendizaje profundo.
featured image - Deep Lake, una casa de lago para el aprendizaje profundo: discusión y limitaciones
Dataology: Study of Data in Computer Science HackerNoon profile picture
0-item

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.

Tabla de enlaces

7. DISCUSIÓN Y LIMITACIONES

Los principales casos de uso de Deep Lake incluyen (a) capacitación en modelos de aprendizaje profundo, (b) linaje de datos y control de versiones, (c) consulta y análisis de datos, (d) inspección de datos y control de calidad. Tomamos matrices NumPy [55] como bloque fundamental e implementamos


Figura 10: Utilización de GPU de una sola máquina GPU 16xA100 mientras se entrena el modelo CLIP de parámetro 1B [60]. El conjunto de datos es LAION-400M [68] que se transmite desde AWS us-east al centro de datos GCP us-central. Cada color demuestra la utilización de una única GPU A100 durante el entrenamiento.


control de versiones, cargadores de datos en streaming, motor de visualización desde cero.

7.1 Espacio de diseño de formato

El formato de almacenamiento de tensores (TSF) es un formato de archivo binario diseñado específicamente para almacenar tensores, que son matrices multidimensionales de valores numéricos utilizados en muchos algoritmos de aprendizaje automático y aprendizaje profundo. El formato TSF está diseñado para ser eficiente y compacto, lo que permite un almacenamiento y acceso rápido y eficiente a los datos del tensor. Una ventaja clave del formato TSF es que admite una amplia gama de tipos de datos tensoriales, incluidos tensores de forma dinámica.


En comparación, los formatos Parquet [79] y Arrow [13] son formatos de archivos en columnas diseñados para almacenar y procesar grandes conjuntos de datos analíticos. A diferencia de TSF, que está diseñado específicamente para datos tensoriales, Parquet y Arrow están optimizados para el almacenamiento y la consulta eficientes de cargas de trabajo analíticas en datos tabulares y de series temporales. Utilizan técnicas de compresión y almacenamiento en columnas para minimizar el espacio de almacenamiento y mejorar el rendimiento, lo que los hace adecuados para aplicaciones de big data. Sin embargo, TSF tiene algunas ventajas sobre Parquet y Arrow cuando se trata de datos tensoriales. TSF puede admitir operaciones tensoriales y transmisión eficiente a marcos de aprendizaje profundo.


Otros formatos de tensor [18, 52, 23, 57] son eficientes para cargas de trabajo masivamente paralelizables ya que no requieren coordinación entre fragmentos. La compensación clave del formato de almacenamiento tensor es permitir almacenar matrices de formas dinámicas dentro de un tensor sin necesidad de rellenar la memoria. Por ejemplo, en visión por computadora es muy común almacenar múltiples imágenes con diferentes formas o videos con duración dinámica. Para respaldar la flexibilidad, se introduce una sobrecarga menor en forma del codificador de fragmentos discutido anteriormente y que en la práctica no hemos observado impacto en las cargas de trabajo de producción.

7.2 Cargador de datos

Deep Lake logra resultados de última generación en entornos locales y remotos, como se ve en los puntos de referencia para iterar en imágenes grandes (Fig. 7). Principalmente, ha sido más rápido que FFCV [39], que afirmaba una reducción del entrenamiento del modelo ImageNet. hasta 98 centavos por entrenamiento de modelo. Además, Deep Lake logra un rendimiento de ingesta similar al de WebDataset [19]. Deep Lake supera significativamente en imágenes más grandes. Parquet está optimizado para celdas pequeñas y cargas de trabajo analíticas, mientras que Deep Lake está optimizado para datos tensoriales grandes y de forma dinámica. En comparación con otras soluciones de lago de datos, su diseño mínimo de paquete Python permite que Deep Lake se integre fácilmente en cargas de trabajo de inferencia o capacitación distribuidas a gran escala.

7.3 Trabajo futuro

La implementación actual de Deep Lake tiene oportunidades de mejora adicional. En primer lugar, el formato de almacenamiento no admite pedidos personalizados para lograr un diseño de almacenamiento aún más eficiente necesario para la búsqueda de vectores o la indexación de valores-clave. En segundo lugar, Deep Lake implementa bloqueos basados en sucursales para acceso simultáneo. De manera similar al modelo de transacción Delta ACID [27], Deep Lake se puede extender a cargas de trabajo paralelas de alto rendimiento. En tercer lugar, la implementación actual de TQL solo admite un subconjunto de operaciones SQL (es decir, no admite operaciones como la unión). El trabajo adicional se centrará en completar SQL, extenderlo a operaciones más numéricas, ejecutar consultas federadas en fuentes de datos externas y realizar evaluaciones comparativas con motores SQL.


Este documento está disponible en arxiv bajo licencia CC 4.0.