Visão geral da preparação de dados

Há várias opções para desenvolver seus dados de treinamento.

A escolha depende de vários fatores.

Cloud Storage como um sistema de arquivos montado (Cloud Storage FUSE)

Considere usar o Cloud Storage como um sistema de arquivos montado (Cloud Storage FUSE) por estes motivos:

  • Quando os dados de treinamento são não estruturados, como imagens, textos ou vídeos: o Cloud Storage é uma opção natural para armazenar esses tipos de arquivos grandes e, muitas vezes, individuais.
  • Quando os dados de treinamento são estruturados em formatos como TFRecord, o Cloud Storage é comumente usado para esses formatos específicos de ML.
  • Ao trabalhar com arquivos muito grandes: o Cloud Storage FUSE transmite os dados para o job de treinamento em vez de exigir que o arquivo inteiro seja transferido por download para as réplicas. Isso pode levar a tempos de carregamento de dados e início de trabalhos mais rápidos para grandes conjuntos de dados.
  • Ao realizar o treinamento distribuído: o Cloud Storage FUSE fornece alta capacidade para leituras sequenciais de arquivos grandes, o que é benéfico em cenários de treinamento distribuído em que vários trabalhadores precisam acessar dados em paralelo.
  • Quando você prefere a conveniência de acessar os dados do Cloud Storage como se fossem um sistema de arquivos local sem precisar fazer chamadas de API explícitas no código de treinamento.
  • Quando sua principal necessidade é armazenamento escalonável e você está menos preocupado com a latência mais baixa para acesso aleatório a vários arquivos pequenos.

Específicos do Ray na Vertex AI

  • É possível armazenar seus dados em buckets do Cloud Storage, que o Ray na Vertex AI pode acessar.
  • O Ray pode ler dados diretamente do Cloud Storage. Por exemplo, ao executar o Spark on Ray, você pode ler arquivos do Cloud Storage.
  • A Vertex AI usa o Cloud Storage FUSE para montar buckets do Cloud Storage como sistemas de arquivos locais nos jobs de treinamento executados no Ray. Isso permite que seus aplicativos do Ray acessem dados como se estivessem em um disco local usando operações de E/S de arquivo padrão.
  • Para ter um desempenho ideal, é recomendável usar buckets do Cloud Storage na mesma região em que você está executando o cluster do Ray.

Saiba mais

Compartilhamento do sistema de arquivos de rede (NFS)

  • Quando você precisa de capacidade de processamento muito alta e acesso de baixa latência a arquivos remotos, como se eles estivessem armazenados localmente. Isso pode ser importante para determinados tipos de interações de dados ou arquivos complexos durante o treinamento.
  • Quando você precisa disponibilizar arquivos remotos para todos os nós em um cluster de computação, como um cluster do Ray na Vertex AI.
  • Quando o aplicativo se beneficia de uma interface de sistema de arquivos mais padrão com uma conformidade POSIX potencialmente mais forte em comparação com o Cloud Storage FUSE.
  • Você tem uma infraestrutura NFS na sua nuvem privada virtual que quer usar.
  • Você precisa compartilhar arquivos ou diretórios em vários trabalhos ou clusters com acesso consistente e de baixa latência, e o gerenciamento de permissões no nível do sistema de arquivos é a melhor opção.

Específicos do Ray na Vertex AI

  • É possível montar compartilhamentos NFS no cluster do Ray na Vertex AI, tornando os arquivos remotos acessíveis como se fossem locais.
  • Isso é útil para acesso de alta capacidade e baixa latência a sistemas de arquivos compartilhados.
  • É possível configurar montagens NFS ao criar o cluster do Ray usando o SDK da Vertex AI para Python, especificando o servidor, o caminho e o ponto de montagem. Depois de montado, o código do Ray pode ler e gravar nesses volumes NFS usando operações de arquivo padrão.

Saiba mais

Conjunto de dados gerenciado

  • Gerenciamento e governança de dados centralizados: os conjuntos de dados gerenciados fornecem um local central para organizar e gerenciar seus conjuntos de dados na Vertex AI. Isso ajuda no rastreamento e governança dos seus recursos de dados em diferentes projetos e experimentos.
  • Rotulagem de dados: é possível criar tarefas de rotulagem e gerenciar conjuntos de anotações diretamente no conjunto de dados gerenciado.
  • Rastreamento da linhagem de dados: os conjuntos de dados gerenciados rastreiam automaticamente a linhagem dos seus dados para os modelos treinados. Isso é crucial para entender as fontes de dados usadas para modelos específicos e garantir a reprodutibilidade e a governança.
  • Comparação de modelos personalizados e do AutoML: os conjuntos de dados gerenciados permitem treinar modelos personalizados e do AutoML usando os mesmos dados. Isso facilita a comparação direta da performance no mesmo conjunto de dados, ajudando você a escolher a melhor abordagem para o problema.
  • Geração de estatísticas e visualizações de dados: a Vertex AI pode gerar automaticamente estatísticas e visualizações dos dados em um conjunto de dados gerenciado. Isso pode ajudar na análise exploratória de dados e ajudar você a entender as características deles.
  • Divisão automática de dados: ao usar conjuntos de dados gerenciados em pipelines de treinamento, a Vertex AI pode dividir automaticamente seus dados em conjuntos de treinamento, validação e teste com base em frações, filtros, divisões predefinidas ou carimbos de data/hora especificados. Isso simplifica o processo de preparação de dados.
  • Usar versões de conjuntos de dados: os conjuntos de dados gerenciados permitem o controle de versões, que permite acompanhar as mudanças nos dados ao longo do tempo e reverter para versões anteriores, se necessário.

Específicos do Ray na Vertex AI

  • Se você usar um conjunto de dados gerenciado em um pipeline de treinamento da Vertex AI que use o Ray para treinamento distribuído, os dados do conjunto de dados gerenciado serão disponibilizados para os contêineres de treinamento, que o aplicativo Ray poderá acessar (via Cloud Storage ou BigQuery montados se o conjunto de dados estiver vinculado a essas fontes). As variáveis de ambiente AIP_TRAINING_DATA_URI, AIP_VALIDATION_DATA_URI e AIP_TEST_DATA_URI apontariam para os dados.

Saiba mais

BigQuery

  • Ao se conectar a dados nos componentes da Vertex AI: muitas ferramentas e serviços da Vertex AI são integrados diretamente ao BigQuery. É possível consultar dados no BigQuery no JupyterLab. Isso permite interagir diretamente com seus dados do BigQuery para exploração, visualização e desenvolvimento de modelos sem precisar movê-los para outro sistema de armazenamento.
  • Ao criar pipelines de treinamento: ao criar pipelines de treinamento na Vertex AI, é possível usar dados diretamente do BigQuery. Por exemplo, um pipeline pode buscar dados do BigQuery, pré-processá-los e treinar um modelo.
  • Pipelines de treinamento contínuo de modelos: para configurar o treinamento contínuo de modelos, você pode acionar execuções de pipeline com base em novos dados que chegam em uma tabela do BigQuery. Isso permite a automação do retreinamento do modelo. É possível configurar um gatilho do Eventarc para iniciar um pipeline quando um novo job for inserido em uma tabela específica do BigQuery.
  • Monitoramento de modelos: o BigQuery pode ser usado como uma fonte para monitorar a distorção e a deriva de recursos dos modelos implantados. Para a detecção de distorção, especifique o URI do BigQuery do seu conjunto de dados de treinamento. Além disso, o BigQuery pode armazenar os registros de endpoints de inferência on-line, que podem ser usados como uma origem de dados para monitoramento contínuo. Para isso, a tabela do BigQuery precisa ter uma coluna de carimbo de data/hora.
  • Integração do BigQuery ML: é possível usar conjuntos de dados do BigQuery ao aproveitar o BigQuery ML para criar modelos de machine learning usando SQL. O Vertex AI Workbench permite a análise exploratória interativa dos dados do BigQuery e o uso do BigQuery ML em um ambiente de notebook.
  • Análise e preparação de dados: antes do treinamento, você pode usar o BigQuery para analisar e visualizar seus dados. Também é possível realizar transformações de dados usando consultas SQL diretamente no BigQuery antes de usar os dados para treinamento.
  • Como acessar conjuntos de dados públicos: o BigQuery hospeda muitos conjuntos de dados públicos, como o Chicago Taxi Trips, que pode ser usado para experimentação e treinamento no Vertex AI Workbench.

Específicos do Ray na Vertex AI

  • O Ray na Vertex AI tem recursos para ler dados diretamente do BigQuery. É possível usar o SDK da Vertex AI para Python em uma tarefa do Ray para executar consultas do BigQuery e materializar os resultados para uso nos seus aplicativos do Ray.
  • Ao ler do BigQuery, esteja ciente do tamanho máximo da resposta da consulta, que é de 10 GB.
  • Também é possível gravar dados dos seus aplicativos do Ray no BigQuery usando o SDK da Vertex AI para Python.

Saiba mais