Recomendações de armazenamento para cargas de trabalho de IA na infraestrutura do Azure (IaaS)
Este artigo fornece recomendações de armazenamento para organizações que executam cargas de trabalho de IA na infraestrutura do Azure (IaaS). Uma solução de armazenamento para cargas de trabalho de IA na infraestrutura do Azure deve ser capaz de gerenciar as demandas de armazenamento, acesso e transferência de dados inerentes ao treinamento e à inferência de modelos de IA.
As cargas de trabalho de IA exigem alta taxa de transferência e baixa latência para recuperação e processamento de dados eficientes. Eles também precisam de mecanismos de controle de versão e consistência de dados para garantir resultados precisos e reproduzíveis em ambientes distribuídos. Ao selecionar a solução de armazenamento apropriada, considere fatores como tempos de transferência de dados, latência, requisitos de desempenho e compatibilidade com sistemas existentes.
Use um sistema de arquivos para dados ativos. Implemente um sistema de arquivos para armazenar dados "específicos do trabalho/quentes" usados ativamente ou gerados por trabalhos de IA. Esta solução é ideal para processamento de dados em tempo real devido à sua baixa latência e recursos de alta taxa de transferência. Esses recursos são essenciais para otimizar o desempenho dos fluxos de trabalho de IA. O Azure tem três soluções principais de sistema de arquivos para dar suporte ao treinamento e à inferência de modelos de IA na infraestrutura do Azure. Para escolher o sistema de arquivos correto, siga estas recomendações:
Use o Azure Managed Lustre para obter os menores tempos de transferência de dados e latência minimizada. O Azure Managed Lustre fornece alto desempenho com recursos de sistema de arquivos paralelo e simplifica o gerenciamento com a integração do Azure. É econômico, com custos de armazenamento baseados no uso, e permite a importação seletiva de dados do Blob Storage, otimizando o tratamento de dados.
Use os Arquivos NetApp do Azure quando precisar de recursos e desempenho de nível empresarial para cargas de trabalho de IA. Os Arquivos NetApp do Azure oferecem alta confiabilidade e desempenho, ideais para aplicativos de missão crítica. Os Arquivos NetApp do Azure são benéficos se você tiver investimentos existentes na infraestrutura da NetApp. É benéfico para os recursos de nuvem híbrida e quando você precisa personalizar e ajustar as configurações de armazenamento.
Use sistemas de arquivos NVMe/SSD locais quando o desempenho for a prioridade máxima. Ele agrega o NVMe local de computação (nós de trabalho) usando um sistema de arquivos paralelo dedicado ao trabalho como o BeeGFS On Demand (BeeOND). Eles operam diretamente nos nós de computação para criar um sistema de arquivos temporário e de alto desempenho durante o trabalho. Esses sistemas oferecem latência ultrabaixa e alta taxa de transferência, tornando-os ideais para aplicações intensivas de E/S, como treinamento de aprendizado profundo ou inferência em tempo real.
Transfira dados inativos para o Armazenamento de Blobs do Azure. Depois de concluir um trabalho, transfira dados de trabalho inativos do Azure Managed Lustre para o Armazenamento de Blobs do Azure para armazenamento econômico e de longo prazo. O armazenamento de Blob fornece opções escaláveis com diferentes níveis de acesso, garantindo um armazenamento eficiente de dados inativos ou acessados com pouca frequência, mantendo-os prontamente disponíveis quando necessário.
Implemente o ponto de verificação para o treinamento do modelo. Configure um mecanismo de ponto de verificação que salve o estado do modelo, incluindo pesos e parâmetros de treinamento, em intervalos regulares, como a cada 500 iterações. Armazene esses dados de ponto de verificação no Azure Managed Lustre para permitir reiniciar o treinamento do modelo a partir de um estado salvo anteriormente, melhorando a flexibilidade e a resiliência de seus fluxos de trabalho de IA.
Automatize a migração de dados para níveis de armazenamento de baixo custo. Configure as políticas de gerenciamento do ciclo de vida do Armazenamento de Blobs do Azure para migrar automaticamente dados mais antigos acessados com pouca frequência para níveis de armazenamento de baixo custo, como as camadas Cool ou Archive. Essa abordagem otimiza os custos de armazenamento e, ao mesmo tempo, garante que dados importantes permaneçam acessíveis quando necessário.
Garanta a consistência dos dados em ambientes distribuídos. Garanta a consistência de dados em cargas de trabalho de IA distribuídas configurando a sincronização entre o Azure Managed Lustre e o Armazenamento de Blobs do Azure. Essa sincronização garante que todos os nós que acessam os dados estejam trabalhando com a mesma versão consistente, evitando erros e discrepâncias em ambientes distribuídos.
Habilite o controle de versão de dados para reprodutibilidade. Ative o controle de versão no Armazenamento de Blobs do Azure para controlar as alterações em conjuntos de dados e modelos ao longo do tempo. Esse recurso facilita a reversão, melhora a reprodutibilidade e oferece suporte à colaboração. Ele mantém um histórico detalhado de modificações em dados e modelos e permite comparar e restaurar versões anteriores conforme necessário.