Sistemas de ML de produção: inferência estática x dinâmica

A inferência é o processo de fazer previsões aplicando um modelo treinado a exemplos não rotulados. De modo geral, um modelo pode inferir previsões de duas maneiras:

  • Inferência estática (também chamada de inferência off-line ou em lote) significa que o modelo faz previsões em vários exemplos não rotulados e armazena essas previsões em cache em algum lugar.
  • A inferência dinâmica (também chamada de inferência on-line ou em tempo real) significa que o modelo só faz previsões sob demanda, por exemplo, quando um cliente solicita uma previsão.

Para usar um exemplo extremo, imagine um modelo muito complexo que leva uma hora para inferir uma previsão. Essa provavelmente seria uma excelente situação para inferência estática:

Figura 4. Na inferência estática, um modelo gera previsões,
            que são armazenadas em cache em um servidor.
Figura 4. Na inferência estática, um modelo gera previsões, que são armazenadas em cache em um servidor.

 

Suponha que esse mesmo modelo complexo use incorretamente a inferência dinâmica em vez da estática. Se muitos clientes solicitarem previsões ao mesmo tempo, a maioria deles não vai receber essa previsão por horas ou dias.

Agora considere um modelo que infere rapidamente, talvez em dois milissegundos, usando um mínimo relativo de recursos computacionais. Nessa situação, os clientes podem receber previsões de forma rápida e eficiente usando a inferência dinâmica, como sugerido na Figura 5.

Figura 5. Na inferência dinâmica, um modelo infere previsões sob demanda.
Figura 5. Na inferência dinâmica, um modelo infere previsões sob demanda.

 

Inferência estática

A inferência estática oferece algumas vantagens e desvantagens.

Vantagens

  • Não é necessário se preocupar muito com o custo da inferência.
  • Pode fazer a verificação pós-predição antes do envio.

Desvantagens

  • Só é possível exibir previsões em cache, então o sistema pode não conseguir mostrar previsões para exemplos de entrada incomuns.
  • A latência de atualização provavelmente é medida em horas ou dias.

Inferência dinâmica

A inferência dinâmica oferece algumas vantagens e desvantagens.

Vantagens

  • Pode inferir uma previsão sobre qualquer item novo assim que ele chega, o que é ótimo para previsões de cauda longa (menos comuns).

Desvantagens

  • Uso intensivo de computação e sensível à latência. Essa combinação pode limitar a complexidade do modelo. Ou seja, talvez seja necessário criar um modelo mais simples que possa inferir previsões mais rapidamente do que um modelo complexo.
  • As necessidades de monitoramento são mais intensas.

Exercícios: teste seu conhecimento

Quais três das quatro afirmações a seguir são verdadeiras para a inferência estática?
Para uma determinada entrada, o modelo pode exibir uma previsão mais rapidamente do que a inferência dinâmica.
Você pode reagir rapidamente às mudanças no mundo.
O sistema pode verificar as previsões inferidas antes de servi-las.
O modelo precisa criar previsões para todas as entradas possíveis.
Qual uma das seguintes afirmações é verdadeira para a inferência dinâmica?
É possível fazer a verificação pós-previsão antes de usá-las.
Você pode fornecer previsões para todos os itens possíveis.
Ao realizar a inferência dinâmica, não é necessário se preocupar com a latência de previsão (o tempo de atraso para retornar previsões) tanto quanto ao realizar a inferência estática.