A escolha que fizer depende de vários fatores.
Cloud Storage como um sistema de ficheiros montado (Cloud Storage FUSE)
Considere usar o Cloud Storage como um sistema de ficheiros montado (Cloud Storage FUSE) pelos seguintes motivos:
- Quando os dados de preparação não são estruturados, como imagens, texto ou vídeo: o Cloud Storage é uma opção natural para armazenar estes tipos de ficheiros grandes e, muitas vezes, individuais.
- Quando os dados de preparação estão estruturados em formatos como TFRecord, o Cloud Storage é usado frequentemente para estes formatos específicos de ML.
- Quando trabalha com ficheiros muito grandes: o FUSE do Cloud Storage faz stream dos dados para a sua tarefa de preparação em vez de exigir que o ficheiro completo seja transferido para as réplicas. Isto pode levar a um carregamento de dados mais rápido e a tempos de início de tarefas mais rápidos para grandes conjuntos de dados.
- Ao realizar a preparação distribuída: o Cloud Storage FUSE oferece um elevado débito para leituras sequenciais de ficheiros grandes, o que é benéfico em cenários de preparação distribuída em que vários trabalhadores precisam de aceder aos dados em paralelo.
- Quando prefere a conveniência de aceder aos dados do Cloud Storage como se fosse um sistema de ficheiros local sem ter de fazer chamadas API explícitas no seu código de preparação.
- Quando a sua principal necessidade é um armazenamento escalável e não se preocupa tanto com a latência mais baixa para o acesso aleatório a vários ficheiros pequenos.
Específico para o Ray no Vertex AI
- Pode armazenar os seus dados em contentores do Cloud Storage, aos quais o Ray no Vertex AI pode aceder.
- O Ray pode ler diretamente dados do Cloud Storage. Por exemplo, quando executa o Spark no Ray, pode ler ficheiros do Cloud Storage.
- A Vertex AI usa o Cloud Storage FUSE para montar contentores do Cloud Storage como sistemas de ficheiros locais nos seus trabalhos de preparação executados no Ray. Isto permite que as suas aplicações Ray acedam aos dados como se estivessem num disco local através de operações de E/S de ficheiros padrão.
- Para um desempenho ideal, recomendamos que use contentores do Cloud Storage na mesma região onde está a executar o cluster do Ray.
Saiba mais
Partilha do Sistema de Arquivos de Rede (NFS)
- Quando precisa de um débito muito elevado e acesso de baixa latência a ficheiros remotos, como se estivessem armazenados localmente. Isto pode ser importante para determinados tipos de dados ou interações complexas de ficheiros durante a preparação.
- Quando precisa de disponibilizar facilmente ficheiros remotos a todos os nós num cluster de computação, como um cluster do Ray no Vertex AI.
- Quando a sua aplicação beneficia de uma interface do sistema de ficheiros mais padrão com uma conformidade POSIX potencialmente mais forte em comparação com o Cloud Storage FUSE.
- Tem uma infraestrutura NFS existente na sua nuvem virtual privada que quer usar.
- Precisa de partilhar ficheiros ou diretórios em várias tarefas ou clusters com acesso consistente e de baixa latência, e é preferível gerir as autorizações ao nível do sistema de ficheiros.
Específico para o Ray no Vertex AI
- Pode montar partilhas NFS no seu cluster do Ray no Vertex AI, tornando os ficheiros remotos acessíveis como se fossem locais.
- Isto é benéfico para o acesso de alto débito e baixa latência a sistemas de ficheiros partilhados.
- Pode configurar montagens NFS quando cria o cluster Ray com o SDK Vertex AI para Python, especificando o servidor, o caminho e o ponto de montagem. Depois de montado, o seu código Ray pode ler e escrever nestes volumes NFS através de operações de ficheiros padrão.
Saiba mais
Conjunto de dados gerido
- Gestão e administração de dados centralizadas: os conjuntos de dados geridos oferecem uma localização central para organizar e gerir os seus conjuntos de dados no Vertex AI. Isto ajuda na monitorização e na gestão dos seus recursos de dados em diferentes projetos e experiências.
- Etiquetagem de dados: pode criar tarefas de etiquetagem e gerir conjuntos de anotações diretamente no conjunto de dados gerido.
- Monitorização da linhagem de dados: os conjuntos de dados geridos monitorizam automaticamente a linhagem dos seus dados para os modelos preparados com base neles. Isto é fundamental para compreender as origens de dados usadas para modelos específicos e para garantir a reprodutibilidade e a governação.
- Comparar modelos personalizados e do AutoML: os conjuntos de dados geridos permitem-lhe preparar modelos personalizados e do AutoML com os mesmos dados. Isto facilita uma comparação direta do respetivo desempenho no mesmo conjunto de dados, o que ajuda a escolher a melhor abordagem para o seu problema.
- Gerar estatísticas e visualizações de dados: o Vertex AI pode gerar automaticamente estatísticas e visualizações para os dados num conjunto de dados gerido. Isto pode ajudar na análise exploratória de dados e a compreender as caraterísticas dos seus dados.
- Divisão automática de dados: quando usa conjuntos de dados geridos em pipelines de preparação, o Vertex AI pode dividir automaticamente os seus dados em conjuntos de preparação, validação e teste com base em frações, filtros, divisões predefinidas ou indicações de tempo especificados. Isto simplifica o processo de preparação de dados.
- Usar versões de conjuntos de dados: os conjuntos de dados geridos permitem o controlo de versões, o que lhe permite acompanhar as alterações aos seus dados ao longo do tempo e reverter para versões anteriores, se necessário.
Específico para o Ray no Vertex AI
- Se usar um conjunto de dados gerido num pipeline de preparação do Vertex AI
que usa o Ray para preparação distribuída, os dados do conjunto de dados
gerido são disponibilizados aos contentores de preparação, aos quais a sua
aplicação Ray pode aceder (através do Cloud Storage ou do
BigQuery montado, se o conjunto de dados estiver associado a essas origens). As variáveis de ambiente
AIP_TRAINING_DATA_URI
,AIP_VALIDATION_DATA_URI
eAIP_TEST_DATA_URI
apontariam para os dados.
Saiba mais
BigQuery
- Quando se liga a dados nos componentes do Vertex AI: muitas ferramentas e serviços do Vertex AI integram-se diretamente com o BigQuery. Pode consultar dados no BigQuery a partir do JupyterLab. Isto permite-lhe interagir diretamente com os seus dados do BigQuery para exploração, visualização e desenvolvimento de modelos sem ter de os mover para outro sistema de armazenamento.
- Ao criar pipelines de preparação: quando cria pipelines de preparação no Vertex AI, pode usar dados diretamente do BigQuery. Por exemplo, um pipeline pode obter dados do BigQuery, pré-processá-los e, em seguida, preparar um modelo.
- Pipelines de preparação contínua de modelos: para configurar a preparação contínua de modelos, pode acionar execuções de pipelines com base nos novos dados que chegam a uma tabela do BigQuery. Isto permite a automatização da nova preparação do modelo. Pode configurar um acionador do Eventarc para iniciar um pipeline quando uma nova tarefa é inserida numa tabela específica do BigQuery.
- Monitorização de modelos: o BigQuery pode ser usado como uma origem para monitorizar a distorção e a variação das funcionalidades dos seus modelos implementados. Para a deteção de desvios, pode especificar o URI do BigQuery do seu conjunto de dados de preparação. Além disso, o BigQuery pode armazenar os registos de pontos finais de inferência online, que podem ser usados como uma origem de dados para a monitorização contínua. Para tal, a tabela do BigQuery deve ter, idealmente, uma coluna de data/hora.
- Integração do BigQuery ML: pode usar conjuntos de dados do BigQuery quando tira partido do BigQuery ML para criar modelos de aprendizagem automática através do SQL. O Vertex AI Workbench permite a análise exploratória interativa dos dados do BigQuery e a utilização do BigQuery ML num ambiente de bloco de notas.
- Exploração e preparação de dados: antes da preparação, pode usar o BigQuery para explorar e visualizar os seus dados. Também pode fazer transformações de dados através de consultas SQL diretamente no BigQuery antes de usar os dados para a preparação.
- Aceder a conjuntos de dados públicos: o BigQuery aloja muitos conjuntos de dados públicos, como o conjunto de dados Chicago Taxi Trips, que pode usar facilmente para experimentação e preparação no Vertex AI Workbench.
Específico para o Ray no Vertex AI
- O Ray na Vertex AI tem capacidades para ler dados diretamente do BigQuery. Pode usar o SDK Vertex AI para Python numa tarefa do Ray para executar consultas do BigQuery e materializar os resultados para utilização nas suas aplicações Ray.
- Quando lê a partir do BigQuery, tenha em atenção o tamanho máximo da resposta da consulta, que é de 10 GB.
- Também pode escrever dados das suas aplicações Ray de volta para o BigQuery através do SDK Vertex AI para Python.
Saiba mais
- Vertex AI para utilizadores do BigQuery
- Crie um pipeline para a preparação contínua de modelos
- Use o Ray no Vertex AI com o BigQuery