Seleção de armazenamento no DevEnviron
O armazenamento varia de acordo com o desempenho, a usabilidade e o custo. Nenhuma mídia de armazenamento pode cobrir todos os cenários. Aprender sobre cenários de aplicações de armazenamento em nuvem para melhor uso.
Somente os sistemas de arquivos paralelos (PFS) do OBS e o armazenamento de objetos na mesma região podem ser montados.
Armazenamento |
Cenário de aplicação |
Vantagem |
Desvantagem |
---|---|---|---|
EVS |
Exploração de dados e algoritmos apenas no ambiente de desenvolvimento. |
Os SSDs de armazenamento em bloco apresentam melhor desempenho geral de I/O do que o NFS. A capacidade de armazenamento pode ser expandida dinamicamente para até 4096 GB. Como armazenamento persistente, os discos EVS são montados em /home/ma-user/work. Os dados neste diretório são retidos depois que a instância é interrompida. A capacidade de armazenamento pode ser expandida on-line com base na demanda. |
Esse tipo de armazenamento só pode ser usado em um único ambiente de desenvolvimento. |
PFS |
NOTA:
PFS é uma função de lista branca. Para usar essa função, entre em contato com o suporte técnico da Huawei. Buckets do PFS montados como armazenamento persistente para desenvolvimento e exploração de IA. - Armazenamento para conjuntos de dados. Os conjuntos de dados são montados diretamente em notebooks para navegação e processamento de dados e podem ser usados diretamente durante o treinamento. Para obter detalhes, consulte Como carregar dados para o OBS? Após a execução da instância, o sistema de arquivos paralelo do OBS que transporta os conjuntos de dados é montado dinamicamente nos blocos de anotações. Para mais detalhes, consulte Montagem dinâmica de um sistema de arquivos paralelo do OBS. 2. Armazenamento para o código. Após a depuração em uma instância de notebook, especifique o caminho do OBS como o caminho do código para iniciar o treinamento, facilitando a modificação temporária. - Armazenamento para verificação de treinamento. Monte o armazenamento no caminho de saída de treinamento, como o caminho para os logs de treinamento. Dessa forma, visualize e verifique o treinamento na instância do notebook em tempo real. Isto é especialmente adequado para analisar a saída de trabalhos treinados usando TensorBoard ou notebook. |
O PFS é um sistema de arquivos de armazenamento de objetos de alto desempenho otimizado com baixos custos de armazenamento e grande taxa de transferência. Ele pode processar rapidamente cargas de trabalho de computação de alto desempenho (HPC). A montagem do PFS é recomendada se o OBS for usado.
NOTA:
Empacote ou divida os dados a serem carregados por 128 MB ou 64 MB. Baixe e descomprima os dados no armazenamento local para obter melhor desempenho de I/O e taxa de transferência. |
Devido ao desempenho médio na leitura e gravação frequentes de arquivos pequenos, o armazenamento do PFS não é adequado para treinamento de modelos grandes ou descompactação de arquivos.
NOTA:
Antes de montar o armazenamento do PFS em uma instância de notebook, conceda ao ModelArts permissões completas de leitura e gravação no bucket do PFS. A política será mantida mesmo depois que a instância do notebook for excluída. |
OBS |
NOTA:
OBS é uma função de lista branca. Para usar essa função, entre em contato com o suporte técnico da Huawei. Ao fazer upload ou download de uma grande quantidade de dados no ambiente de desenvolvimento, você pode usar os buckets do OBS para transferir dados. |
Baixo custo de armazenamento e alta taxa de transferência, mas desempenho médio na leitura e gravação de arquivos pequenos. É uma boa prática empacotar ou dividir o arquivo por 128 MB ou 64 MB. Desta forma, você pode baixar os pacotes, descompactá-los e usá-los localmente. |
A semântica de armazenamento de objetos é diferente da semântica Posix e precisa ser melhor compreendida. |
SFS |
Disponível somente em pools de recursos dedicados. Use o armazenamento do SFS em cenários de produção informal, como exploração e experimentos. Um dispositivo do SFS pode ser montado em um ambiente de desenvolvimento e em um ambiente de treinamento. Dessa forma, você não precisa baixar dados toda vez que seu trabalho de treinamento for iniciado. Esse tipo de armazenamento não é adequado para treinamento pesado de I/O em mais de 32 placas. |
O SFS é implementado como NFS e pode ser compartilhado entre vários ambientes de desenvolvimento e entre ambientes de desenvolvimento e treinamento. Esse tipo de armazenamento é preferido para trabalhos de treinamento distribuídos não pesados, especialmente para os que não exigem o download de dados adicionalmente quando os trabalhos de treinamento são iniciados. |
O desempenho do armazenamento do SFS não é tão bom quanto o do armazenamento do EVS. |
Armazenamento local |
Primeira escolha para trabalhos de treinamento pesado. |
SSDs de alto desempenho para a VM ou BMS de destino, com alta taxa de transferência de I/O de arquivos. Para trabalhos de treinamento pesados, armazene os dados no diretório de destino e, em seguida, inicie o treinamento. Por padrão, o armazenamento é montado no diretório /cache. Para obter detalhes sobre o espaço disponível do diretório /cache, consulte Quais são os tamanhos dos diretórios /cache para especificações diferentes do notebook no DevEnviron?. |
O ciclo de vida do armazenamento está associado ao ciclo de vida do contêiner. Os dados precisam ser baixados sempre que o trabalho de treinamento for iniciado. |
Usar o armazenamento
- Como usar o EVS em um ambiente de desenvolvimento?
Ao criar uma instância de notebook, selecione um disco EVS de pequena capacidade. Você pode expandir o disco conforme necessário. Para mais detalhes, consulte Expansão dinâmica da capacidade de disco EVS.
- Como usar um sistema de arquivos paralelo do OBS em um ambiente de desenvolvimento?
Ao treinar dados em uma instância de notebook, você pode usar os conjuntos de dados montados em um contêiner de notebook e usar um sistema de arquivos paralelo do OBS. Para mais detalhes, consulte Montagem dinâmica de um sistema de arquivos paralelo do OBS.