A escolha depende de vários fatores.
Cloud Storage como um sistema de arquivos ativado (Cloud Storage FUSE)
Considere usar o Cloud Storage como um sistema de arquivos ativado (Cloud Storage FUSE) pelos seguintes motivos:
- Quando os dados de treinamento não são estruturados, como imagens, textos ou vídeos, o Cloud Storage é uma opção natural para armazenar esses tipos de arquivos grandes e geralmente individuais.
- Quando os dados de treinamento são estruturados em formatos como TFRecord, o Cloud Storage é usado com frequência 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 baixado para as réplicas. Isso pode levar a tempos de inicialização de dados e jobs mais rápidos para conjuntos de dados grandes.
- Ao realizar o treinamento distribuído: o Cloud Storage FUSE oferece 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 dados do Cloud Storage como se fosse 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ê não se preocupa tanto com a latência mais baixa para acesso aleatório a vários arquivos pequenos.
Específico para o Ray na Agent Platform
- É possível armazenar seus dados em buckets do Cloud Storage, que o Ray na plataforma de agentes pode acessar.
- O Ray pode ler dados diretamente do Cloud Storage. Por exemplo, ao executar o Spark no Ray, é possível ler arquivos do Cloud Storage.
- A plataforma de agente 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 Ray acessem dados como se estivessem em um disco local usando operações padrão de E/S de arquivo.
- Para ter um desempenho ideal, recomendamos 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 alta capacidade de processamento e acesso de baixa latência a arquivos remotos, como se eles estivessem armazenados localmente. Isso pode ser importante para determinados tipos de dados ou interações complexas de arquivos 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 Plataforma de agentes.
- Quando seu aplicativo se beneficia de uma interface de sistema de arquivos mais padrão com 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 jobs ou clusters com acesso consistente e de baixa latência, e prefere gerenciar permissões no nível do sistema de arquivos.
Específico para o Ray na Agent Platform
- É possível montar compartilhamentos do NFS no cluster do Ray na plataforma do agente, 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 plataforma de agente 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 do 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 oferecem um local central para organizar e gerenciar seus conjuntos de dados na plataforma de agentes. Isso ajuda no rastreamento e na 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 até os modelos treinados com eles. Isso é essencial para entender as fontes de dados usadas em modelos específicos e garantir a capacidade de reprodução e a governança.
- Comparação de modelos personalizados e do AutoML: com os conjuntos de dados gerenciados, é possível treinar modelos personalizados e do AutoML usando os mesmos dados. Isso facilita uma comparação direta da performance deles no mesmo conjunto de dados, ajudando você a escolher a melhor abordagem para seu problema.
- Geração de estatísticas e visualizações de dados: a plataforma do agente pode gerar automaticamente estatísticas e visualizações para os dados em um conjunto de dados gerenciado. Isso pode ajudar na análise exploratória de dados e a entender as características dos seus dados.
- Divisão automática de dados: ao usar conjuntos de dados gerenciados em pipelines de treinamento, a plataforma do agente 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, o que permite acompanhar as mudanças nos dados ao longo do tempo e reverter para versões anteriores se necessário.
Específico para o Ray na Vertex AI
- Se você usar um conjunto de dados gerenciado em um pipeline de treinamento da plataforma de agentes
que utiliza o Ray para treinamento distribuído, os dados do conjunto de dados gerenciado
serão disponibilizados para os contêineres de treinamento, que seu aplicativo
Ray poderá acessar (via Cloud Storage ou
BigQuery montado se o conjunto de dados estiver vinculado a essas fontes). As variáveis de ambiente
AIP_TRAINING_DATA_URI,AIP_VALIDATION_DATA_URIeAIP_TEST_DATA_URIapontariam para os dados.
Saiba mais
BigQuery
- Ao se conectar a dados nos componentes da plataforma do agente: muitas ferramentas e serviços da plataforma do agente se integram diretamente ao BigQuery. É possível consultar dados no BigQuery no JupyterLab. Assim, é possível interagir diretamente com os dados do BigQuery para análise, visualização e desenvolvimento de modelos sem precisar movê-los para outro sistema de armazenamento.
- Ao criar pipelines de treinamento na plataforma de agentes, é 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 a 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 é inserido em uma tabela específica do BigQuery.
- Monitoramento de modelos: o BigQuery pode ser usado como uma fonte para monitorar o desvio de atributos e a deriva dos modelos implantados. Para a detecção de distorção, é possível especificar o URI do BigQuery do conjunto de dados de treinamento. Além disso, o BigQuery pode armazenar os registros dos endpoints de inferência on-line, que podem ser usados como uma fonte 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 de dados do BigQuery e o uso do BigQuery ML em um ambiente de notebook.
- Análise detalhada e preparação de dados: antes do treinamento, use o BigQuery para analisar e visualizar seus dados. Você também pode fazer transformações de dados usando consultas SQL diretamente no BigQuery antes de usar os dados para treinamento.
- Acessar conjuntos de dados públicos: o BigQuery hospeda muitos conjuntos de dados públicos, como o conjunto de dados de viagens de táxi de Chicago, que você pode usar para experimentação e treinamento no Vertex AI Workbench.
Específico para o Ray na Vertex AI
- O Ray na Vertex AI tem recursos para ler dados diretamente do BigQuery. É possível usar o SDK da plataforma de agente para Python em uma tarefa do Ray para executar consultas do BigQuery e materializar os resultados para uso nos aplicativos do Ray.
- Ao ler do BigQuery, fique atento ao tamanho máximo da resposta da consulta, que é de 10 GB.
- Também é possível gravar dados dos aplicativos do Ray de volta no BigQuery usando o SDK da plataforma de agentes para Python.
Saiba mais
- Plataforma de agente para usuários do BigQuery
- Criar um pipeline para treinamento de modelo contínuo
- Usar o Ray na Vertex AI com o BigQuery