Previsão em escala: muitos modelos e treinamento distribuído

Este artigo discute modelos de previsão de treinamento em grandes quantidades de dados históricos. Para obter instruções e exemplos sobre modelos de treinamento de previsão no AutoML, consulte configurar o AutoML para previsão de séries temporais.

Os dados de série temporal podem ser grandes devido ao número de séries nos dados, ao número de observações históricas ou a ambos. Muitos modelos e séries temporais hierárquicas, ou HTS, estão dimensionando soluções para o primeiro cenário, em que os dados consistem em um grande número de séries temporais. Nesses casos, particionar os dados em grupos e treinar um grande número de modelos independentes em paralelo nos grupos pode melhorar a precisão e a escalabilidade do modelo. Por outro lado, um ou alguns modelos de alta capacidade funcionam melhor para outros cenários. O treinamento de DNN distribuído visa esse caso. O restante deste artigo analisa os conceitos relacionados a esses cenários.

Muitos modelos

Os diversos componentes de modelos no AutoML permitem treinar e gerenciar milhões de modelos em paralelo. Por exemplo, suponha que você tenha dados históricos de vendas para um grande número de repositórios. Você pode usar muitos modelos para iniciar trabalhos paralelos de treinamento do AutoML para cada repositório, conforme mostrado no diagrama a seguir:

Diagrama mostrando o fluxo de trabalho de vários modelos do AutoML.

O componente de treinamento de múltiplos modelos aplica, nesse exemplo, a varredura e seleção de modelos do AutoML de forma independente para cada repositório. Esse modelo de independência ajuda na escalabilidade e pode beneficiar a precisão do modelo, especialmente quando as lojas têm dinâmicas de vendas divergentes. No entanto, uma única abordagem de modelo pode produzir previsões mais precisas quando há uma dinâmica de vendas comum. Para obter mais informações, consulte a seção treinamento distribuído de DNN.

Você pode definir o particionamento de dados, as configurações do AutoML para os modelos e o grau de paralelismo para trabalhos de treinamento de vários modelos. Para obter exemplos, confira nossa seção do guia sobre componentes de vários modelos.

Previsão de série temporal hierárquica

Em aplicativos de negócios, os dados de série temporal geralmente incluem atributos aninhados que formam uma hierarquia. Por exemplo, atributos geográficos e atributos do catálogo de produtos geralmente estão aninhados uns dentro dos outros. Considere um exemplo em que a hierarquia inclui dois atributos geográficos, estado e ID da loja, e dois atributos de produto, categoria e SKU.

Exemplo de tabela de dados de série temporal hierárquica.

O diagrama a seguir ilustra esta hierarquia:

Diagrama da hierarquia de dados para os dados de exemplo.

As quantidades de vendas no nível folha (SKU) somam-se às quantidades de vendas agregadas no estado e aos níveis totais de vendas. Os métodos de previsão hierárquica preservam essas propriedades de agregação ao prever a quantidade vendida em qualquer nível da hierarquia. As previsões com essa propriedade são coerentes em relação à hierarquia.

O AutoML dá suporte aos seguintes recursos para HTS (série temporal hierárquica):

  • Treinamento em qualquer nível da hierarquia. Em alguns casos, os dados de nível de folha podem ser ruidosos, mas os dados agregados podem ser mais fáceis de fazer previsões.
  • Recuperação de previsões de ponto em qualquer nível da hierarquia. Se o nível de previsão estiver "abaixo" do nível de treinamento, o modelo desagrega as previsões do nível de treinamento usando proporções históricas médias ou proporções de médias históricas. Se o nível de previsão estiver "acima" do nível de treinamento, o modelo soma as previsões de nível de treinamento de acordo com a estrutura de agregação.
  • Recuperação de previsões probabilísticas/de quantil para níveis em ou "abaixo" do nível de treinamento. Os recursos de modelagem atuais dão suporte à desagregação de previsões probabilísticas.

Os componentes HTS no AutoML se baseiam em muitos modelos, portanto, o HTS compartilha as propriedades escalonáveis de muitos modelos. Para obter exemplos, confira nossa seção do guia sobre componentes de HTS.

Treinamento DNN distribuído (versão prévia)

Importante

Esse recurso está atualmente em visualização pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos.

Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

Cenários de dados que incluem grandes quantidades de observações históricas ou um grande número de séries temporais relacionadas podem se beneficiar de uma abordagem escalonável de modelo único. Assim, o AutoML oferece suporte a treinamento distribuído e busca de modelos de TCN (rede convolucional temporal), que são um tipo de DNN (rede neural profunda) voltada para dados de séries temporais. Para obter mais informações sobre a classe de modelo de TCN do AutoML, confira nosso artigo sobre DNN.

O treinamento de DNN distribuído obtém escalabilidade usando um algoritmo de particionamento de dados que respeita os limites da série temporal. O diagrama a seguir ilustra um exemplo simples com duas partições:

Diagrama de exemplo de uma partição de dados de treinamento distribuído.

Durante o treinamento, os carregadores de dados DNN em cada nó de computação carregam exatamente o que precisam para concluir uma iteração de propagação para trás; o conjunto de dados inteiro nunca é lido na memória. As partições são distribuídas ainda mais entre vários núcleos de computação (geralmente GPUs) em possivelmente vários nós para acelerar o treinamento. A estrutura horovod fornece coordenação entre nós de computação.

Próximas etapas