00-02-01 — O que é um Modelo: Parâmetros, Pesos, Treinamento vs Inferência
TL;DR
Um modelo é uma função matemática com bilhões de números ajustáveis chamados parâmetros (ou pesos). Treinamento é o processo de ajustar esses números para minimizar o erro nas predições. Inferência é usar o modelo treinado para responder perguntas novas — sem mais aprendizado. GPT-4 tem ~1.8 trilhão de parâmetros; Phi-3-mini tem 3.8 bilhões. Tamanho não é tudo.
O que é Literalmente um Modelo
Depois de entender os paradigmas de aprendizado, a pergunta natural é: o que exatamente está sendo "aprendido"? A resposta concreta: uma coleção de números.
Um modelo de ML é fundamentalmente uma função matemática — em notação informal, f(input) → output. Essa função tem parâmetros ajustáveis: números que controlam como o input é transformado em output. O processo de treinamento é simplesmente encontrar os valores desses parâmetros que fazem a função produzir outputs corretos para os exemplos de treinamento.
Quando você ouve "GPT-4 tem 1.8 trilhão de parâmetros", significa que essa função tem 1.8 trilhão de números. O arquivo do modelo é literalmente uma lista de números de ponto flutuante, junto com informações sobre como combiná-los (a arquitetura).
Pesos e Parâmetros: a Distinção Técnica
Os termos "pesos" e "parâmetros" são usados quase intercambiavelmente, mas há uma distinção técnica: parâmetros é o termo geral para todos os valores ajustáveis de um modelo. Pesos refere-se especificamente aos valores nas conexões entre neurônios de uma rede neural.
Em redes neurais, cada conexão entre dois neurônios tem um peso — um número que amplifica ou atenua o sinal que passa por ela. Um neurônio tem também um bias — um deslocamento que não depende do input. Pesos + biases = parâmetros.
Na prática, quando alguém diz "o modelo tem 7 bilhões de parâmetros", pode-se pensar em 7 bilhões de números que precisam ser armazenados e multiplicados a cada inferência. Isso explica por que modelos maiores precisam de mais GPU e custam mais para operar.
O que Acontece Durante o Treinamento
Sabendo o que são pesos, o processo de treinamento faz sentido imediato. O objetivo é encontrar os valores de pesos que minimizam o erro (a diferença entre o que o modelo prevê e o que é correto).
O processo em alto nível:
- Inicializa pesos com valores aleatórios pequenos
- Passa um batch de exemplos pelo modelo (forward pass)
- Calcula o erro entre output previsto e correto (loss function)
- Propaga o gradiente do erro de volta pela rede (backpropagation)
- Ajusta todos os pesos ligeiramente na direção que reduz o erro (gradient descent)
- Repete com bilhões de exemplos por dias ou semanas
O resultado final é um conjunto de pesos que, estatisticamente, produziram os melhores outputs para o conjunto de treinamento visto. É um processo de otimização, não de programação.
Inferência: o Modo de Uso
Treinamento é o que acontece antes do modelo existir. Inferência é o que acontece quando você usa o modelo — cada vez que você manda uma mensagem ao ChatGPT, cada request à API do Azure OpenAI, cada predição em produção.
Durante inferência, os pesos estão congelados — nada muda. O modelo aplica a função que aprendeu ao input novo e produz um output. É um processo determinístico (exceto pela aleatoriedade introduzida por temperatura, mais sobre isso adiante).
O que isso significa na prática: o modelo não aprende com as conversas que você tem com ele. Cada sessão começa do zero com os mesmos pesos. Quando o GPT-4 parece "lembrar" de algo que você disse no chat, é porque esse contexto foi incluído no input — não porque o modelo aprendeu.
Tamanho do Modelo: o que Importa e o que Não Importa
O número de parâmetros virou proxy popular para "qualidade" do modelo — mas a relação é mais sutil. Modelos maiores geralmente têm maior capacidade de memorizar e combinar padrões complexos, mas:
- Phi-3-mini (3.8B parâmetros) supera LLMs de 13B em benchmarks de raciocínio — graças à qualidade dos dados de treinamento, não ao tamanho
- Modelos menores rodam localmente, têm latência menor, e custam muito menos por token em produção
- Para tarefas específicas e bem definidas, fine-tuning de um modelo pequeno frequentemente supera uso zero-shot de um modelo grande
A regra prática: use o menor modelo que resolve seu problema com a qualidade necessária. Escalabilidade e custo agradecem.
O Arquivo de Modelo na Prática
// Em ML.NET: um modelo é um arquivo .zip com pesos + pipeline
// Treinamento (acontece offline, uma vez)
var model = pipeline.Fit(trainingData);
mlContext.Model.Save(model, trainingData.Schema, "model.zip");
// Inferência (acontece em produção, repetidamente)
var loadedModel = mlContext.Model.Load("model.zip", out _);
var predEngine = mlContext.Model.CreatePredictionEngine
<TicketInput, TicketPrediction>(loadedModel);
// Os pesos estão no arquivo .zip — não mudam entre predições
var prediction = predEngine.Predict(new TicketInput {
Description = "Sistema não inicializa após atualização"
});
// → Category: "Technical Issue", Confidence: 0.94
// Para Azure OpenAI: os pesos ficam nos servidores da OpenAI/Microsoft
// Você só faz chamadas HTTP — o modelo em si nunca está na sua máquina
var client = new AzureOpenAIClient(endpoint, credential);
// Cada .CompleteChatAsync() é uma inferência — pesos nunca mudam