paint-brush
Deep Lake, um Lakehouse para Deep Learning: desafios atuaispor@dataology
122 leituras

Deep Lake, um Lakehouse para Deep Learning: desafios atuais

Muito longo; Para ler

Os pesquisadores apresentam o Deep Lake, um lakehouse de código aberto para aprendizado profundo, otimizando armazenamento e streaming de dados complexos para estruturas de aprendizado profundo.
featured image - Deep Lake, um Lakehouse para Deep Learning: desafios atuais
Dataology: Study of Data in Computer Science HackerNoon profile picture
0-item

Autores:

(1) Sasun Hambardzumyan, Activeloop, Mountain View, CA, EUA;

(2) Abhinav Tuli, Activeloop, Mountain View, CA, EUA;

(3) Levon Ghukasyan, Activeloop, Mountain View, CA, EUA;

(4) Fariz Rahman, Activeloop, Mountain View, CA, EUA;.

(5) Hrant Topchyan, Activeloop, Mountain View, CA, EUA;

(6) David Isayan, Activeloop, Mountain View, CA, EUA;

(7) Mark McQuade, Activeloop, Mountain View, CA, EUA;

(8) Mikayel Harutyunyan, Activeloop, Mountain View, CA, EUA;

(9) Tatevik Hakobyan, Activeloop, Mountain View, CA, EUA;

(10) Ivo Stranic, Activeloop, Mountain View, CA, EUA;

(11) Davit Buniatyan, Activeloop, Mountain View, CA, EUA.

Tabela de links

2. DESAFIOS ATUAIS

Nesta seção, discutimos os desafios atuais e históricos do gerenciamento de dados complexos ou não estruturados.

2.1 Tipos de dados complexos em bancos de dados

Geralmente não é recomendado armazenar dados binários, como imagens, diretamente em um banco de dados. Isso ocorre porque os bancos de dados não são otimizados para armazenar e servir arquivos grandes e podem causar problemas de desempenho. Além disso, os dados binários não se adaptam bem ao formato estruturado de um banco de dados, dificultando sua consulta e manipulação. Isso pode levar a tempos de carregamento lentos para os usuários. Os bancos de dados são normalmente mais caros para operar e manter do que outros tipos de armazenamento, como sistemas de arquivos ou serviços de armazenamento em nuvem. Portanto, armazenar grandes quantidades de dados binários em um banco de dados pode ser mais caro do que outras soluções de armazenamento.

2.2 Dados complexos junto com formatos tabulares

O aumento nas cargas de trabalho analíticas e de BI em grande escala motivou o desenvolvimento de formatos estruturados compactados como Parquet, ORC, Avro ou formatos transitórios na memória como Arrow [79, 6, 20, 13]. À medida que os formatos tabulares ganharam adoção, surgiram tentativas de estender esses formatos, como Petastorm [18] ou Feather [7] para aprendizagem profunda. Até onde sabemos, esses formatos ainda não foram amplamente adotados. Essa abordagem se beneficia principalmente de integrações nativas com Modern Data Stack (MDS). No entanto, conforme discutido anteriormente, as ferramentas upstream requerem modificações fundamentais para se adaptarem às aplicações de aprendizagem profunda.

2.3 Armazenamento de objetos para aprendizado profundo

A escolha atual nativa da nuvem para armazenar grandes conjuntos de dados não estruturados é o armazenamento de objetos, como AWS S3 [1], Google Cloud Storage (GCS) [3] ou MinIO [17]. O armazenamento de objetos oferece três benefícios principais em relação aos sistemas de arquivos de rede distribuídos. Eles são (a) econômicos, (b) escaláveis e (c) servem como um repositório independente de formato. No entanto, o armazenamento em nuvem tem suas desvantagens. Em primeiro lugar, eles introduzem uma sobrecarga de latência significativa, especialmente ao iterar muitos arquivos pequenos, como texto ou JSON. Em seguida, a ingestão de dados não estruturados sem controle de metadados pode produzir “pântanos de dados”. Além disso, o armazenamento de objetos possui controle de versão integrado; raramente é usado em fluxos de trabalho de ciência de dados. Por último, os dados no armazenamento de objetos são copiados para uma máquina virtual antes do treinamento, resultando em sobrecarga de armazenamento e custos adicionais.

2.4 Segunda Geração de Data Lakes

Os data lakes de segunda geração liderados por Delta, Iceberg, Hudi [27, 15, 10] estendem o armazenamento de objetos gerenciando arquivos em formato tabular com as seguintes propriedades primárias.


(1) Operações de atualização: inserir ou excluir uma linha no topo de um arquivo de formato tabular.


(2) Streaming : ingestão de dados downstream com propriedades ACID e integração upstream com mecanismo de consulta expondo a interface SQL.


(3) Evolução do esquema: evolução da estrutura colunar preservando a compatibilidade com versões anteriores.


(4) Viagem no tempo e rastreamento de log de auditoria: preservando o estado histórico com propriedade de reversão onde as consultas podem ser reproduzíveis. Além disso, suporte para controle em nível de linha na linhagem de dados.


(5) Otimização de layout: recurso integrado para otimizar tamanhos de arquivo e compactação de dados com suporte para pedidos personalizados. Acelera significativamente a consulta.


No entanto, os data lakes de segunda geração ainda estão sujeitos às limitações dos formatos de dados inerentes a serem usados na aprendizagem profunda, conforme discutido anteriormente na seção 2.2. Portanto, neste artigo, estendemos a segunda geração de recursos de data lake para casos de uso de aprendizagem profunda, repensando o formato e os recursos upstream, incluindo consulta, visualização e integração nativa a estruturas de aprendizagem profunda para completar o ciclo de vida de ML, conforme mostrado na Figura 2. .


Este artigo está disponível no arxiv sob licença CC 4.0.