Os avanços nas redes profundas deram início a uma nova onda de algoritmos e ferramentas para os cientistas de dados acessarem os seus dados com inteligência artificial (IA). Com algoritmos aprimorados, conjuntos de dados maiores e estruturas como TensorFlow, os cientistas de dados estão a lidar com novos casos de uso, como veículos de direção autônomos e processamento de linguagem natural.
Os dados são o coração dos algoritmos modernos de aprendizagem profunda. Antes mesmo de o treinamento começar, o problema difícil é coletar os dados rotulados que são cruciais para treinar um modelo de IA preciso. Então, uma implantação de IA em escala total deve continuamente coletar, limpar, transformar, rotular e armazenar grandes quantidades de dados. Adicionar pontos de dados de alta qualidade adicionais se traduz diretamente em modelos mais precisos e melhores insights.
Ciclo de vida dos dados
As amostras de dados passam por uma série de etapas de processamento:
Ingerir os dados de uma fonte externa no sistema de treinamento. Cada ponto de dados geralmente é um arquivo ou objeto. A inferência também pode ter sido executada nesses dados. Após a etapa de ingestão, os dados são armazenados na forma bruta e, frequentemente, também é feito backup dessa forma bruta. Quaisquer rótulos associados (informações básicas) podem vir com os dados ou em um fluxo de ingestão separado.
Limpe e transforme os dados e salve em um formato conveniente para treinamento, incluindo a vinculação da amostra de dados e rótulo associado. Não é feito backup desta segunda cópia dos dados porque ela pode ser recalculada, se necessário.
Explore parâmetros e modelos e teste rapidamente com um conjunto de dados menor e itere para convergir nos modelos mais promissores para empurrar para o cluster de produção.
As fases de treinamento selecionam lotes aleatórios de dados de entrada, incluindo amostras novas e mais antigas, e os alimentam em servidores GPU de produção para computação para atualizar os parâmetros do modelo.
A avaliação usa uma parte de retenção dos dados não usados no treinamento para avaliar a precisão do modelo nos dados de validação.
Esse ciclo de vida aplica se a qualquer tipo de aprendizagem de máquina paralela, não apenas a redes neurais ou aprendizagens profundas. Por exemplo, estruturas de aprendizagem de máquina padrão, como Spark MLlib, dependem de CPUs em vez de GPUs, mas a ingestão de dados e os fluxos de trabalho de treinamento são os mesmos.
Cada estágio no pipeline de dados de AI tem requisitos variados da arquitetura de armazenamento subjacente. Para inovar e melhorar os algoritmos de IA, o armazenamento deve oferecer desempenho descomprometido para todos os tipos de padrões de acesso, de arquivos pequenos a grandes, de padrões de acesso aleatórios a sequenciais, de baixa a alta simultaneidade e com a capacidade de escalar facilmente de forma linear e sem interrupções para aumentar a capacidade e o desempenho. Para sistemas de armazenamento legado, esse é um ponto de design impossível de atender, forçando os arquitetos de dados a introduzir uma complexidade que apenas retarda o ritmo de desenvolvimento. O FlashBlade é o hub de dados de IA ideal, pois foi projectado desde o início para cargas de trabalho modernas e não estruturadas.
No primeiro estágio, os dados são idealmente ingeridos e armazenados no mesmo hub de dados, de forma que os estágios seguintes não exijam cópia excessiva de dados. As próximas duas etapas podem ser executadas em um servidor de computador padrão que inclui opcionalmente uma GPU e, no quarto e último estágio, os trabalhos de produção de treinamento completo são executados em poderosos servidores acelerados por GPU, como o DGX-1. Frequentemente, há um pipeline de produção ao lado de um pipeline experimental operando no mesmo conjunto de dados. Além disso, as GPUs DGX-1 podem ser usadas independentemente para diferentes modelos ou unidas para treinar em um modelo maior, abrangendo até mesmo vários sistemas DGX-1 para treinamento distribuído.
Um único hub de dados de armazenamento compartilhado cria um ponto de coordenação em todo o ciclo de vida sem a necessidade de cópias extras de dados entre os estágios de ingestão, pré-processamento e treinamento. Raramente os dados ingeridos são usados para apenas um propósito, e o armazenamento compartilhado oferece a flexibilidade de interpretar os dados de maneiras diferentes, treinar vários modelos ou aplicar análises tradicionais aos dados.
Se a camada de armazenamento compartilhado for lenta, os dados devem ser copiados para o armazenamento local para cada fase, resultando na perda de tempo de preparação de dados em servidores diferentes. O hub de dados ideal para o pipeline de treinamento de IA oferece desempenho semelhante, como se os dados estivessem armazenados na RAM do sistema, ao mesmo tempo em que tem a simplicidade e o desempenho para que todos os estágios do pipeline operem simultaneamente.