Um modelo mental útil

O treinamento define as configurações numéricas aprendidas pelo modelo. A inferência mantém essas configurações fixas e as utiliza.

Pense em um modelo como um cálculo salvo, e não como um banco de respostas prontas. Durante a inferência, o sistema fornece valores à entrada do cálculo, executa o cálculo e recebe valores na saída. O resultado vem da aplicação das mesmas relações aprendidas a essa entrada específica.

Essa distinção é importante porque um modelo geralmente não recupera uma resposta pronta armazenada durante o treinamento. Ele calcula um resultado para a entrada que recebe.

Como a inferência funciona

O cálculo exato depende do modelo de IA, mas o caminho básico é consistente:

  1. A entrada é colocada no formato esperado pelo modelo.Uma imagem pode ser redimensionada. Um texto pode ser dividido em partes numéricas. Uma linha de tabela pode ser normalizada. Essa preparação costuma ser agrupada em um “pipeline de inferência”, embora aconteça fora do próprio modelo.
  2. O modelo executa seu cálculo aprendido.Os dados passam da entrada do modelo por suas camadas até a saída. Essa direção do cálculo é chamada de passagem direta.
  3. O modelo produz uma saída numérica.Um classificador pode produzir pontuações para vários rótulos. Um modelo de previsão pode produzir um número ou um intervalo. Um modelo de linguagem produz pontuações para possíveis tokens seguintes, as partes do texto que ele consegue processar.
  4. O software interpreta ou seleciona a partir dessa saída.Ele pode aplicar um limiar, escolher o rótulo com maior pontuação, amostrar um token ou formatar um resultado. Essa etapa faz parte do pipeline de inferência ao redor do modelo, mas nem sempre faz parte do modelo.
  5. Um sistema de disponibilização retorna ou armazena o resultado.A disponibilização é a infraestrutura que carrega o modelo, aceita solicitações, agenda o trabalho e entrega as saídas. Inferência é o uso do modelo realizado pelo sistema de disponibilização.

O sentido estrito de inferência é a etapa 2 e a saída do modelo que ela produz. Na prática, engenheiros também usam a palavra para o caminho mais amplo, da entrada preparada até o resultado utilizável. Quando os detalhes importarem, pergunte qual limite está sendo considerado.

raw input
    |
    v
input preparation
    |
    v
fixed trained model  ---->  numeric model output
                                  |
                                  v
                         selection or policy
                                  |
                                  v
                           usable result

Normalmente, o modelo não atualiza suas configurações aprendidas em nenhum ponto desse caminho. Registrar uma interação para um possível treinamento futuro não é o mesmo que aprender durante essa inferência.

Um exemplo prático

Suponha que um classificador de spam receba um e-mail. Depois que o e-mail é preparado para o modelo, uma passagem direta produz:

spam:     0.82
not spam: 0.18

Essas pontuações são a saída da inferência. Elas expressam o grau de apoio relativo do modelo aos rótulos disponíveis; não provam que o e-mail é spam.

Agora suponha que o serviço de e-mail tenha uma regra: mover uma mensagem para spam quando a pontuação de spam for de pelo menos 0,70. O serviço move esta mensagem porque 0,82 ultrapassa esse limiar.

A distinção é fácil de testar. Se o serviço elevar o limiar para 0,90, o mesmo modelo poderá produzir a mesma pontuação de 0,82 enquanto a mensagem permanece na caixa de entrada. A inferência não mudou. A política da aplicação mudou.

Essa separação aparece em muitos sistemas. Um modelo de risco produz uma pontuação; um banco decide qual pontuação aciona uma análise. Um modelo médico marca uma região em uma imagem; um profissional de saúde a interpreta. Um modelo de recomendação classifica itens; um produto decide quantos exibir.

Por que a geração de texto exige inferência repetida

Para um classificador, uma passagem direta pode produzir a saída completa do modelo. Um modelo de linguagem autorregressivo funciona de outra forma.

Dado um prompt, o modelo primeiro produz pontuações para o que poderia vir em seguida. Uma regra de decodificação então seleciona um token. O token selecionado é acrescentado ao texto, e o modelo é executado novamente com essa sequência mais longa. O ciclo continua até que ele selecione um marcador de fim ou alcance outra condição de parada.

prompt
  -> forward pass
  -> next-token scores
  -> select one token
  -> append it
  -> repeat
  -> stop

A regra de decodificação importa. Escolher o token com maior pontuação pode tornar o processo determinístico em condições estáveis. Amostrar entre vários candidatos pode produzir textos diferentes a partir do mesmo prompt. O modelo pode permanecer inalterado nos dois casos; a diferença vem da forma como o software seleciona entre suas pontuações de saída. A documentação de geração do Hugging Face apresenta essas opções como escolhas de geração separadas.

Por isso, dizer que “inferência é uma passagem direta” é um atalho útil, não uma definição universal. Uma passagem pode produzir uma previsão, um conjunto de pontuações ou uma etapa rumo a um resultado gerado mais longo.

Por que a inferência é importante

A inferência é o momento em que um modelo treinado encontra entradas reais. Seu comportamento afeta se um recurso de IA será útil, acessível, responsivo e confiável.

O modelo é apenas uma parte desse resultado. A preparação da entrada deve corresponder ao que o modelo espera. A seleção da saída deve ser adequada à tarefa. O ambiente de execução deve realizar o cálculo no hardware disponível. A camada de disponibilização deve lidar com o padrão das solicitações.

Essas escolhas criam compromissos:

  • Tempo de resposta:Atividades interativas se beneficiam de um resultado rápido.
  • Vazão:Tarefas em lote e serviços movimentados se importam com quanto trabalho o sistema conclui ao longo do tempo.
  • Custo e energia:Cada inferência consome recursos computacionais, e a geração repetida consome recursos a cada etapa.
  • Qualidade da saída:Algumas mudanças que economizam tempo, como usar números de menor precisão, precisam ser validadas porque podem alterar as saídas.
  • Privacidade e conectividade:A inferência pode ser executada em um data center ou em um dispositivo local. O local altera quais dados precisam trafegar pela rede.

Não existe uma única configuração ideal de inferência. O equilíbrio certo depende do modelo, da carga de trabalho, do hardware e dos requisitos da aplicação. O guia de ML para produção do Google ilustra uma escolha básica: calcular as saídas antecipadamente em lote ou calculá-las sob demanda.

Equívocos comuns

“Inferência significa que o modelo está aprendendo comigo”

Normalmente, não. A inferência comum usa configurações aprendidas fixas. Um produto pode salvar sua interação e usá-la posteriormente em um processo de treinamento separado, mas isso não faz parte automática da inferência.

Alguns sistemas combinam deliberadamente o cálculo durante o uso com adaptação ou memória externa. Nesses casos, o sistema deve informar o que muda e quando. A palavra inferência por si só não implica aprendizado.

“Inferência é a mesma coisa que uma previsão”

Os termos costumam ser usados de forma intercambiável, mas uma distinção útil é que inferência é o processo, enquanto uma previsão é uma saída. Saída é a palavra mais ampla porque modelos generativos produzem textos, imagens ou áudios que as pessoas nem sempre chamam de previsões.

“A inferência sempre acontece em tempo real”

A inferência pode ser online ou offline. A inferência online é executada quando chega uma solicitação. A inferência offline ou em lote é executada sobre muitas entradas em conjunto e pode armazenar os resultados para uso posterior.

“A mesma entrada deve produzir a mesma saída”

Nem sempre. Alguns modelos e regras de seleção são determinísticos. Outros fazem amostragem entre possíveis saídas. Detalhes do ambiente de execução também podem introduzir pequenas diferenças numéricas. A repetibilidade é uma propriedade de toda a configuração, não da palavra inferência.

“O modo de inferência significa que o modelo está pronto para fazer previsões corretas”

A terminologia dos frameworks pode ser mais restrita que o conceito geral. Por exemplo, o inference_mode do PyTorch desativa os registros usados nos cálculos de gradiente, mas não muda automaticamente todas as camadas do modelo para o comportamento de avaliação. Uma opção do framework é uma ferramenta de implementação, não a definição de inferência em IA.

“A inferência é o produto inteiro de IA”

A inferência é um componente. Uma aplicação também pode recuperar dados, aplicar regras de segurança, chamar ferramentas, armazenar estado e apresentar uma interface. Essas etapas podem afetar fortemente o resultado, embora estejam fora do cálculo de inferência do modelo.

Como a inferência se encaixa em um sistema de IA

Treinamento e inferência têm funções diferentes. O treinamento compara repetidamente as saídas do modelo com um objetivo e atualiza o modelo. A inferência usa o modelo fixo resultante para processar entradas.

Um sistema implantado acrescenta outra camada:

training -> saved model -> deployment and serving -> inference -> application action
                                                        |
                                                        v
                                              logs for later review

Os registros podem eventualmente contribuir para outra execução de treinamento. Isso cria um ciclo de feedback no nível do sistema, mas cada inferência comum ainda usa uma versão específica e salva do modelo.

O que ler em seguida

Leia O que é treinamento em IA? para conhecer o processo que cria ou atualiza o modelo aprendido usado durante a inferência. Use Treinamento versus inferência para ver a distinção direta e, em seguida, continue para O que é latência de inferência? para entender como a velocidade de implantação é medida.