paint-brush
Os princípios a serem considerados ao construir um Datalake moderno para sua infraestrutura de IAby@minio
12,603
12,603

Os princípios a serem considerados ao construir um Datalake moderno para sua infraestrutura de IA

MinIO5m2024/02/06
Read on Terminal Reader
Read this story w/o Javascript

O jogo de IA trata de desempenho em escala e isso requer a base certa. Veja como ser inteligente ao construir um datalake moderno e estabelecer a base certa.

People Mentioned

Mention Thumbnail
featured image - Os princípios a serem considerados ao construir um Datalake moderno para sua infraestrutura de IA
MinIO HackerNoon profile picture
0-item


Em meio ao fervor para adotar a IA, há uma verdade crítica e muitas vezes esquecida: o sucesso de qualquer iniciativa de IA está intrinsecamente ligado à qualidade, confiabilidade e desempenho da infraestrutura de dados subjacente. Se você não tiver a base adequada, ficará limitado no que pode construir e, portanto, no que pode alcançar.


Sua infraestrutura de dados é a base sobre a qual toda a sua infraestrutura de IA é construída. É onde os dados são coletados, armazenados, processados e transformados. Modelos de treinamento que usam aprendizado supervisionado, não supervisionado e por reforço exigem soluções de armazenamento que possam lidar com dados estruturados – como um data warehouse. Por outro lado, se você estiver treinando Large Language Models (LLMs), deverá gerenciar dados não estruturados - documentos em sua forma bruta e processada.


Um Datalake Moderno, ou Lakehouse, é a base para esses dois sabores diferentes de IA. Um Datalake moderno é metade Data Warehouse e metade Data Lake e usa armazenamento de objetos para tudo. Mais recentemente, vimos o aumento dos formatos de mesas abertas. Formatos de tabela abertos (OTFs), como Apache Iceberg, Apache Hudi e Delta Lake, facilitam o uso do armazenamento de objetos em um data warehouse.


Lago de dados


O restante deste artigo examinará como aproveitar as características do Modern Datalake que o diferenciam de soluções convencionais, como data warehouses e dispositivos proprietários. Para construir uma base para a infraestrutura de IA, você precisa do seguinte:


  • Desagregação de computação e armazenamento
  • Expandir (não aumentar)
  • Definido por software
  • Nativo da nuvem
  • Hardware de comodidade


Se concordarmos com o acima exposto, surge uma série de melhores práticas que se concentram em duas áreas de desempenho. Se incorporado, o Datalake moderno será rápido e escalável. Essas práticas recomendadas incluem:


  • Otimizando preço e desempenho do Drive
  • Incorpore uma rede de alta velocidade

Desagregando computação e armazenamento

Desagregar a computação e o armazenamento em sua infraestrutura de dados significa que recursos separados são usados para computação e armazenamento. Isso contrasta com as soluções convencionais de armazenamento, onde tudo vem empacotado em um único servidor ou, pior ainda, em um dispositivo. No entanto, os Modern Datalakes levam a desagregação a outro nível. Se o Data Lake e o Data Warehouse tivessem requisitos de armazenamento completamente diferentes, poderíamos usar duas instâncias separadas de um armazenamento de objetos, conforme mostrado abaixo.


Lago de dados Minio


Além disso, se o Data Warehouse precisar suportar cargas de trabalho que exijam configurações conflitantes, você poderá usar mais de um mecanismo de processamento. Isso é mostrado abaixo.


Cargas de trabalho de suporte


Uma infraestrutura combinável permite dimensionar seus recursos de computação e armazenamento de forma independente. Isso significa que você pode alocar mais recursos para a parte da infraestrutura que mais precisa deles, em vez de atualizar a computação e o armazenamento juntos. Isso resulta em um dimensionamento econômico, pois você investe apenas nos recursos necessários.

Escalabilidade não aumentada

As cargas de trabalho de IA exigem muitos dados, geralmente são distribuídas em várias CPUs ou GPUs, usam grande poder de computação para treinamento e exigem inferência em tempo real. A expansão, e não o aumento, ajuda a otimizar o desempenho e acomodar redes de alta velocidade.


A expansão e a expansão são duas abordagens diferentes para aumentar a capacidade e o desempenho da sua infraestrutura de dados. No entanto, a expansão está provando ser a abordagem mais viável à medida que avanços são feitos em plataformas de cluster como Kubernetes e cada vez mais soluções se esforçam para serem nativas da nuvem. A expansão em uma infraestrutura desagregada fornece:


Alta disponibilidade e tolerância a falhas – Se um nó estiver ocupado, outro nó poderá atender uma nova solicitação, reduzindo os tempos de espera e aumentando o rendimento. Se um nó falhar, a carga de trabalho poderá ser transferida para outros nós, reduzindo o tempo de inatividade e garantindo a continuidade.


Desempenho e flexibilidade – A expansão pode fornecer melhor desempenho ao distribuir cargas de trabalho em vários nós ou servidores para lidar com volumes maiores de dados e mais solicitações simultâneas. A expansão também é mais flexível porque você pode adicionar ou remover nós conforme necessário, facilitando o ajuste a cargas de trabalho flutuantes ou para acomodar variações sazonais.


Operacionalmente e com eficiência de recursos - A manutenção e as atualizações são simplificadas quando você expande. Em vez de colocar um sistema crítico off-line para atualizações, você pode realizar manutenção em armazenamento individual ou nós de computação sem interromper toda a infraestrutura.

Nativo da nuvem + definido por software

O último componente para aproveitar o Modern Datalake para construir uma base sólida para IA é adotar uma abordagem nativa da nuvem e definida por software.


Contêineres como Docker e ferramentas de orquestração de contêineres, como Kubernetes, tornam possíveis arquiteturas nativas da nuvem. Todos os componentes de um Datalake Moderno são executados em contêineres executados no Kubernetes. Portanto, um Datalake Moderno é nativo da nuvem.


"Definido por software" refere-se a uma abordagem na qual o software controla e gerencia a configuração, a funcionalidade e o comportamento dos componentes de hardware, geralmente no contexto de sistemas de computadores e redes. Este é o alicerce da infraestrutura como movimento de código, onde a ênfase está em software inteligente e hardware rápido e burro. O armazenamento definido por software abstrai e gerencia os recursos de armazenamento por meio de software, facilitando a alocação e o gerenciamento da capacidade de armazenamento em diferentes dispositivos e mídias de armazenamento.

Construído para velocidade: NVMe e 100GbE

Para aproveitar ao máximo seu hardware comum e sua arquitetura definida por software, você precisa de mais duas peças-chave. O primeiro são as unidades NVMe. Cargas de trabalho modernas e orientadas para o desempenho, a natureza aleatória da leitura/gravação, o aumento de objetos pequenos e a queda nos preços dos SSDs favorecem uma Arquitetura centrada em NVMe . Faça essas contas, o adiantamento pode ser maior, o TCO será menor.


O segundo componente é a rede 100GbE. Em um mundo definido por software, a rede acaba sendo o gargalo em muitas configurações, mesmo em 100GbE. Aqui estão alguns desses cenários:


Uso intensivo de dados – as cargas de trabalho de IA geralmente processam conjuntos de dados massivos, como imagens, vídeos, texto em linguagem natural e dados de sensores. As redes de alta velocidade podem transferir rapidamente esses grandes conjuntos de dados entre unidades de armazenamento e processamento, reduzindo gargalos na transferência de dados.


Computação Distribuída – Muitas tarefas de IA envolvem computação distribuída em múltiplas CPUs ou GPUs. As redes de alta velocidade permitem comunicação eficiente e troca de dados entre esses dispositivos, garantindo que os clusters de computação funcionem em paralelo de forma eficaz.


Treinamento de modelo - O treinamento de modelos de aprendizado profundo, especialmente LLMs como transformadores ou redes neurais convolucionais, requer muitos dados e poder computacional. Uma rede de alta velocidade permite carregamento de dados mais rápido e sincronização entre GPUs distribuídas, o que pode acelerar significativamente o tempo de treinamento.


Inferência em tempo real – Redes de baixa latência e alto rendimento são essenciais para aplicações responsivas que incorporam IA. Uma rede de alta velocidade garante atraso mínimo entre uma solicitação do usuário e uma resposta de um modelo.

Conceitos Fundamentais

Ao aderir a estes princípios: a desagregação de computação e armazenamento, hardware escalável, não up, burro e rápido e software nativo de nuvem inteligente, a empresa pode construir um Datalake moderno que tenha a base certa para atender a esses requisitos e impulsionar suas iniciativas de IA avançar.


Você não pode construir um edifício sobre uma base pobre, basta perguntar aos antigos egípcios. O jogo de IA trata de desempenho em escala e isso requer a base certa. Economizar na base é acumular dívidas técnicas que derrubarão sua torre Jenga após alguns minutos. Construa de forma inteligente, estabeleça as bases.