Sistemas de ML de produção: treinamento estático vs. dinâmico

Em termos gerais, é possível treinar um modelo de duas maneiras:

  • Treinamento estático (também chamada treinamento off-line) significa que você treina um modelo apenas uma vez. Depois, você exibe o mesmo modelo treinado por um tempo.
  • Treinamento dinâmico (também chamada treinamento on-line) significa que você treina um modelo contínua ou pelo menos com frequência. Você geralmente veicula um modelo treinado recentemente.
Figura 2. Massa crua cria três pães idênticos.
Figura 2. Treinamento estático. Treinar uma vez; exibir o mesmo modelo integrado várias vezes. (Imagens por Pexels e por fancycrave1.)

 

Figura 3. Massa crua cria pães um pouco diferentes
            cada vez.
Figura 3. Treinamento dinâmico. Treine novamente com frequência; são mais veiculados um modelo recém-criado. (Imagens por Pexels e por Couleur.)

 

Tabela 1. Principais vantagens e desvantagens.

Treinamento estático. Treinamento dinâmico.
Vantagens Mais simples. Você só precisa desenvolver e testar o modelo uma vez. Mais adaptável. Seu modelo acompanhará mudanças na relação entre atributos e rótulos.
Desvantagens Às vezes, fica desatualizado. Se a relação entre atributos e rótulos mudar ao longo do tempo, as previsões do modelo serão degradadas. Mais trabalho. Você precisa criar, testar e lançar um novo produto o tempo todo.

Se o conjunto de dados realmente não mudar com o tempo, escolha o treinamento estático porque é mais barato criar e manter do que o treinamento dinâmico. No entanto, os conjuntos de dados tendem a mudar com o tempo, mesmo aqueles com atributos que você acha que são constante, como o nível do mar. A conclusão: mesmo com imagens estáticas você ainda precisa monitorar os dados de entrada em busca de mudanças.

Por exemplo, considere um modelo treinado para prever a probabilidade de os usuários comprarão flores. Devido à pressão do tempo, o modelo é treinado apenas uma vez usando um conjunto de dados de comportamento de compra de flores durante julho e agosto. O modelo funciona bem por vários meses, mas depois faz previsões péssimas perto do Dia dos Namorados porque o comportamento do usuário durante esse período de flores muda drasticamente.

Para uma análise mais detalhada do treinamento estático e dinâmico, consulte o Como gerenciar projetos de ML neste curso.

Exercícios: testar seu conhecimento

Dentre as afirmações a seguir, quais são as duas verdadeiras sobre o treinamento estático (off-line)?
O modelo permanece atualizado conforme novos dados chegam.
Se você treinar off-line, o modelo não vai ter como para incorporar novos dados assim que eles chegam. Isso pode fazer com que o modelo se a distribuição com a qual você está tentando aprender as mudanças ao longo do tempo.
É possível verificar o modelo antes de aplicá-lo à produção.
Sim, o treinamento off-line oferece ampla oportunidade de verificar o modelo desempenho do modelo antes de colocar o modelo na produção.
O treinamento off-line requer menos monitoramento de jobs de treinamento do que o treinamento online.
Em geral, os requisitos de monitoramento durante o treinamento são mais modestos para treinamento off-line, o que protege você de muitos processos de considerações. No entanto, quanto mais você treinar o modelo, maior será o investimento necessário no monitoramento. Você vai Também convém fazer verificações regulares para garantir que as alterações no código (e as dependências dela) não afetam negativamente a qualidade do modelo.
Muito pouco monitoramento dos dados de entrada precisa ser feito tempo de inferência.
Por outro lado, você precisa monitorar os dados de entrada na disponibilização tempo de resposta. Se as distribuições de entrada mudarem, a função as previsões podem se tornar não confiáveis. Imagine, por exemplo, um modelo treinada apenas com dados de roupas de verão, sendo repentinamente usados para prever o comportamento de compra de roupas no inverno.
Qual das afirmações a seguir é verdadeira? treinamento dinâmico (on-line)?
O modelo permanece atualizado conforme novos dados chegam.
Este é o principal benefício do treinamento online; é possível evitar problemas de inatividade, permitindo que o modelo seja treinado com novos dados conforme em que ela entra.
É preciso fazer muito pouco monitoramento dos jobs de treinamento.
Na verdade, é preciso monitorar continuamente os jobs de treinamento para garantir que estejam saudáveis e funcionando como pretendido. Você também precisará infraestrutura de apoio, como a capacidade de reverter um modelo a um snapshot anterior caso algo dê errado no treinamento, como um job com bugs ou corrupção de dados de entrada.
Muito pouco monitoramento dos dados de entrada precisa ser feito tempo de inferência.
Assim como um modelo estático e off-line, também é importante monitorar as entradas dos modelos atualizados dinamicamente. Você está provavelmente não correm risco de grandes efeitos sazonais, mas repentinas, grandes mudanças nas entradas (como uma fonte de dados upstream inativo) ainda podem causar previsões não confiáveis.