- Os dados de preparação são transmitidos para a tarefa de preparação em vez de serem transferidos para réplicas, o que pode tornar as tarefas de configuração e carregamento de dados mais rápidas quando a tarefa começa a ser executada.
- As tarefas de preparação podem processar entradas e saídas em grande escala sem fazer chamadas de API, processar respostas ou integrar-se com bibliotecas do lado do cliente.
- O Cloud Storage FUSE oferece um elevado débito para leituras sequenciais de ficheiros grandes e em cenários de preparação distribuída.
Exemplos de utilização
Recomendamos a utilização do Cloud Storage para armazenar dados de preparação nas seguintes situações:
- Os seus dados de preparação são dados não estruturados, como imagens, texto e vídeo.
- Os seus dados de preparação são dados estruturados num formato como o TFRecord.
- Os seus dados de preparação contêm ficheiros grandes, como vídeo não processado.
- Usar a preparação distribuída.
Como funciona
Os trabalhos de preparação personalizados podem aceder aos seus contentores do Cloud Storage como subdiretórios do diretório /gcs
raiz. Por exemplo, se os seus dados de preparação estiverem localizados em gs://example-bucket/data.csv
, pode ler e escrever no contentor a partir da sua aplicação de preparação em Python da seguinte forma:
Ler para o bucket
with open('/gcs/example-bucket/data.csv', 'r') as f:
lines = f.readlines()
Escrever no contentor
with open('/gcs/example-bucket/epoch3.log', 'a') as f:
f.write('success!\n')
Autorizações de acesso ao contentor
Por predefinição, uma tarefa de preparação personalizada pode aceder a qualquer contentor do Cloud Storage no mesmo Google Cloud projeto através do agente de serviço de código personalizado do Vertex AI. Para controlar o acesso aos contentores, pode atribuir uma conta de serviço personalizada à tarefa. Neste caso, o acesso a um contentor do Cloud Storage é concedido com base nas autorizações associadas às funções do Cloud Storage da conta de serviço personalizada.
Por exemplo, se quiser conceder ao trabalho de preparação personalizado acesso de leitura e escrita ao contentor A, mas apenas acesso de leitura ao contentor B, pode atribuir uma conta de serviço personalizada que tenha as seguintes funções ao trabalho:
roles/storage.objectAdmin
para o grupo Aroles/storage.objectViewer
para o grupo B
Se a tarefa de preparação tentar escrever no Bucket-B, é devolvido um erro "permission denied".
Para mais informações sobre as funções do Cloud Storage, consulte o artigo Funções de IAM para o Cloud Storage.
Práticas recomendadas
- Evite mudar o nome dos diretórios. Uma operação de mudança de nome não é atómica no Cloud Storage FUSE. Se a operação for interrompida, alguns ficheiros permanecem no diretório antigo.
- Evite fechar (
close()
) ou limpar ficheiros (flush()
) desnecessariamente. Se fechar ou limpar ficheiros, estes são enviados para o Cloud Storage, o que acarreta um custo.
Diretrizes de otimização do desempenho
Para conseguir um débito de leitura ideal quando usar o Cloud Storage como um sistema de ficheiros, recomendamos a implementação das seguintes diretrizes:
- Para reduzir a latência introduzida pela procura e abertura de objetos num contentor, armazene os dados em ficheiros maiores e em menor número.
- Use o treino distribuído para maximizar a utilização da largura de banda.
- Coloque em cache os ficheiros acedidos com frequência para melhorar o desempenho de leitura. Para ver detalhes, consulte o artigo Vista geral do armazenamento em cache no FUSE do Cloud Storage.
- Use o armazenamento local para a criação de pontos de verificação e registos em vez do Cloud Storage.
Limitações
Para saber mais sobre as limitações do Cloud Storage FUSE, incluindo as diferenças entre o Cloud Storage FUSE e os sistemas de ficheiros POSIX, consulte o artigo Limitações e diferenças dos sistemas de ficheiros POSIX.
Use o FUSE do Cloud Storage
Para usar o FUSE do Cloud Storage para a preparação personalizada, faça o seguinte:
- Crie um contentor do Cloud Storage. Tenha em atenção que os contentores de região dupla e de várias regiões não são suportados para a preparação personalizada.
Carregue os seus dados de preparação para o contentor. Para ver detalhes, consulte a secção Carregamentos.
Para saber mais sobre outras opções de transferência de dados para o Cloud Storage, consulte as opções de transferência de dados.
O que se segue?
- Consulte a documentação do FUSE do Cloud Storage.
- Saiba mais sobre os preços do FUSE do Cloud Storage.
- Prepare a sua aplicação de preparação para utilização no Vertex AI.