Recomendações de armazenamento para cargas de trabalho de IA na infraestrutura do Azure (IaaS)
Este artigo contém 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 do modelo de IA.
As cargas de trabalho de IA exigem alta taxa de transferência e baixa latência para recuperação e processamento eficientes dos dados. Eles também precisam de mecanismos de controle de versão e consistência dos dados para produzir resultados precisos e reproduzíveis em ambientes distribuídos. Ao selecionar a solução de armazenamento apropriada, leve em conta 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/de acesso frequente", que são usados ativamente ou gerados por trabalhos de IA. Essa solução é ideal para processamento de dados em tempo real devido à sua baixa latência e aos recursos de alto rendimento. Esses recursos são essenciais para otimizar o desempenho dos fluxos de trabalho de IA. O Azure conta com três soluções principais de sistema de arquivos para ajudar no treinamento e na inferência de modelos de IA na infraestrutura do Azure. Para escolher o sistema de arquivos correto, siga estas recomendações:
Use o Lustre Gerenciado do Azure para obter os menores tempos de transferência de dados e a latência minimizada. O Lustre Gerenciado do Azure fornece alto desempenho com recursos de sistema de arquivos paralelos e simplifica o gerenciamento com a integração do Azure. É econômico, tem custos de armazenamento baseados no uso e permite a importação seletiva de dados do Armazenamento de Blobs, o que otimiza o tratamento de dados.
Use o Azure NetApp Files quando precisar de recursos e desempenho de nível empresarial para cargas de trabalho de IA. O Azure NetApp Files oferece alta confiabilidade e desempenho, ideal para aplicativos críticos. O Azure NetApp Files é mais vantajoso quando você tem investimentos existentes na infraestrutura NetApp. É útil para 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 prioridade. 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). 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, portanto, são ideais para aplicativos com uso intensivo 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 os dados inativos do Lustre Gerenciado do Azure para o Armazenamento de Blobs do Azure para ter um armazenamento econômico e de longo prazo. O Armazenamento de Blobs oferece opções escalonáveis com diferentes camadas de acesso, o que garante o 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 treinamento de modelos. Configure um mecanismo de ponto de verificação que salva o estado do modelo, incluindo pesos e parâmetros de treinamento, em intervalos regulares; por exemplo, a cada 500 iterações. Armazene esses dados de ponto de verificação no Lustre Gerenciado do Azure para poder reiniciar o treinamento do modelo 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 camadas 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 e acessados com pouca frequência para camadas de armazenamento de custo mais baixo, como as camadas de armazenamento Esporádico ou de Arquivos. Essa abordagem otimiza os custos de armazenamento, pois os dados importantes permanecem acessíveis quando necessário.
Garanta a consistência dos dados em ambientes distribuídos. Mantenha a consistência dos dados entre cargas de trabalho de IA distribuídas com a configuração da sincronização entre o Lustre Gerenciado do Azure e o Armazenamento de Blobs do Azure. Com essa sincronização, todos os nós que acessam os dados trabalham com a mesma versão consistente, evitando erros e discrepâncias em ambientes distribuídos.
Habilite o controle de versão de dados para fins de reprodutibilidade. Ative o controle de versão no Armazenamento de Blobs do Azure para acompanhar as alterações em conjuntos de dados e modelos ao longo do tempo. Esse recurso facilita a reversão, aprimora a reprodutibilidade e ajuda na colaboração. Ele mantém um histórico detalhado das modificações em dados e modelos e permite comparar e restaurar versões anteriores conforme necessário.