NN/Transformers/MLOps panorama
O curso terminou em uma aplicação de IA operacional, mas aplicações LLM e treinamento de modelos não são a mesma atividade. AI Engineering integra modelos, dados, ferramentas, avaliação e infraestrutura; treinamento e MLOps também lidam com parâmetros aprendidos, datasets, experimentos, registry e comportamento estatístico ao longo do tempo. Conhecer essa fronteira ajuda a escolher próximos estudos e a conversar com quem produz o modelo que seu produto utiliza.
Nesta aula vamos explicar redes neurais e attention com um cálculo pequeno e verificável, situar CNN, RNN e LSTM e ligar training, inference, MLflow, DVC, drift e governança ao capstone. O laboratório pede uma comparação de ciclos de vida e uma revisão do SaaS multi-tenant. Nenhum toy example demonstrará qualidade de um Transformer real; ele tornará visíveis os mecanismos que você precisa compreender.
JavaScriptIA & MLAo terminar esta aula
- Treinamento atualiza pesos; aplicação integra e governa comportamentos.
- Attention combina valores segundo compatibilidade e máscaras.
- Linhagem, avaliação, monitoramento e responsabilidade conectam ML ao capstone.
Antes de continuar: Laboratório: ML/estatística essencial
Neural networks: parâmetros, activation e loss
FundamentosUma rede neural transforma entradas por camadas com parâmetros, como pesos e vieses. Uma camada linear calcula uma combinação das entradas; uma activation introduz não linearidade. Sem ela, várias camadas lineares consecutivas continuam representando uma transformação linear equivalente. ReLU mantém valores positivos e zera negativos; sigmoid mapeia um número para o intervalo entre zero e um. A escolha depende do problema e da arquitetura, não de uma preferência estética.
↗ Build the Neural Network↗ torch.nn↗ Optimizing Model Parameters
Loss quantifica erro segundo um objetivo de treinamento. Para um exemplo binário com alvo um e previsão p, cross-entropy contém -log(p); prever confiança baixa no alvo produz perda maior. A loss usada no ajuste não substitui métricas de produto como recall, custo ou autorização. Parâmetros que minimizam loss no treino podem generalizar mal, como visto na semana 47. Separe arquitetura, objetivo, algoritmo de otimização e protocolo de validação: alterar qualquer um muda o experimento.
↗ Build the Neural Network↗ torch.nn↗ Optimizing Model Parameters
Backpropagation e a diferença entre training e inference
FundamentosBackpropagation aplica a regra da cadeia para calcular como a loss varia em relação aos parâmetros. O otimizador usa esses gradientes para atualizar pesos. Para um neurônio sigmoid com z=wx+b e loss binária, o gradiente em w é (p-y)x. Com w=0, b=0, x=2 e y=1, p=0,5 e o gradiente é -1. Uma atualização com taxa 0,1 leva w a 0,1, tornando p aproximadamente 0,55 e reduzindo a loss desse exemplo.
↗ Automatic Differentiation with torch.autograd↗ Optimizing Model Parameters
Training ajusta parâmetros a partir de dados e objetivo; inference aplica os parâmetros para produzir resultados. Em inferência, não atualize pesos inadvertidamente e configure modos apropriados para camadas que possuem comportamento distinto, como dropout. Frameworks como PyTorch calculam gradientes automaticamente no grafo registrado, mas isso não decide se o objetivo ou os dados estão corretos. Ajustar um prompt ou adicionar documentos ao RAG altera a aplicação, mas não é o mesmo processo de atualizar pesos por gradiente. Essa distinção orienta quais artefatos e métricas precisam ser registrados.
↗ Automatic Differentiation with torch.autograd↗ Optimizing Model Parameters
CNN, RNN e LSTM: panorama orientado ao mecanismo
FundamentosCNN utiliza filtros convolucionais para explorar estruturas locais e compartilhamento de parâmetros, frequentemente em imagens e sinais. RNN mantém estado recorrente ao processar uma sequência, de modo que a saída atual depende da entrada e do estado anterior. Essa recorrência cria dependência sequencial na computação e desafios de aprendizado de relações longas. LSTM introduz portas e um estado de memória para controlar retenção e atualização, oferecendo um mecanismo diferente de uma RNN simples.
Essas famílias não são degraus obrigatórios de obsolescência. A escolha depende de dados, restrições de execução e tarefa. Um sistema de visão pode usar CNN ou Transformer; um sinal com restrição de recursos pode favorecer outro desenho. O panorama serve para reconhecer o mecanismo e suas limitações, não para afirmar que uma família sempre vence. Treinamento exige bibliotecas, hardware, dados e avaliação próprios; a aplicação de uma API LLM não comprova domínio desses ciclos. Ao aprofundar, escolha um problema pequeno e compare com baseline antes de aumentar arquitetura.
Transformers e scaled dot-product attention
IA & MLAttention constrói uma representação ponderada dos valores V a partir da compatibilidade entre queries Q e keys K. Na atenção por produto escalar escalado, calculamos scores QKᵀ/√d_k, aplicamos softmax e multiplicamos pelos valores. Softmax produz pesos normalizados para a posição avaliada. Esses pesos dependem das representações aprendidas e do contexto; não são automaticamente explicações causais ou importância humana de palavras. A divisão por √d_k controla a escala dos scores no mecanismo apresentado no artigo.
Em um decoder causal, uma máscara impede uma posição de acessar tokens futuros durante geração. Multi-head attention realiza várias projeções para modelar relações em subespaços, e informações de posição permitem distinguir ordem. Um Transformer também inclui outros componentes, como camadas feed-forward, conexões residuais e normalização; attention sozinha não é o modelo inteiro. Na geração autoregressiva, cada novo token depende do contexto permitido. Treinamento pode processar posições com máscaras em paralelo em certos passos, enquanto a geração de tokens possui sua própria dinâmica. Não confunda essa diferença com promessa universal de velocidade.
MLflow, DVC e model registry: linhagem e promoção
FundamentosUm experimento de treinamento deve ligar dados, código, parâmetros, ambiente, métricas e artefato do modelo. MLflow oferece tracking e registry para organizar versões e referências; DVC fornece mecanismos de versionamento e pipelines relacionados a dados e artefatos. Git é útil para código e metadados, mas grandes datasets e pesos exigem uma estratégia de armazenamento adequada. Registre hashes e acesso autorizado, evitando colocar dados sensíveis em repositórios ou buckets públicos.
↗ ML Model Registry↗ Get Started with DVC↗ Version Tracking for Agents and LLMs
Model registry associa um modelo registrado a versões, metadados e referências de promoção. Um alias como champion é mutável: a aplicação deve registrar qual versão resolveu em cada execução. Promover um modelo não substitui gate de validação, autorização ou rollout controlado. No capstone LLM, você também precisa de manifesto de prompt, provedor, retrieval e ferramentas. O registry do classificador e o manifesto do agente representam artefatos diferentes, mas devem se conectar quando a aplicação usa ambos. Rastreabilidade ajuda a investigar; não garante por si só correção ou reprodução perfeita.
↗ ML Model Registry↗ Get Started with DVC↗ Version Tracking for Agents and LLMs
Drift, monitoring e governança com ação definida
FundamentosData drift indica mudança na distribuição de entradas; concept drift indica mudança na relação entre entradas e alvo. Uma alteração de frequência de termos pode ser data drift sem queda imediata de qualidade. Performance drift exige resultados ou proxies adequados, e rótulos podem chegar com atraso. Monitore distribuição, qualidade por segmento, falhas e uso, preservando contexto de versão. Um alerta estatístico não significa automaticamente que o modelo deve ser retreinado; investigue origem, qualidade dos dados e efeito no produto.
↗ Data and model quality monitoring with Amazon SageMaker Model Monitor↗ Metrics and scoring: quantifying the quality of predictions↗ AI Risk Management Framework
Governança define responsabilidade, uso permitido, documentação, controles e resposta a incidentes. O NIST AI RMF organiza gestão de risco, mas não funciona como um selo automático de conformidade. Para o capstone, identifique quem aprova mudanças, quem pode acessar dados e quem decide pausar uma rota. Inclua processo para avaliação de dano, revisão humana e rollback. A próxima especialização pode ser treinamento, MLOps ou arquitetura de aplicações, conforme sua meta; a escolha deve partir dos mecanismos que você consegue demonstrar e das lacunas que a revisão revelou.
↗ Data and model quality monitoring with Amazon SageMaker Model Monitor↗ Metrics and scoring: quantifying the quality of predictions↗ AI Risk Management Framework
Um gradiente e uma atenção calculados sem framework
MatemáticaSalve mechanisms.cjs e execute node mechanisms.cjs. O exemplo usa Node e dados fixos. Primeiro faz uma atualização de um neurônio sigmoid e verifica redução da loss no mesmo exemplo; depois calcula attention com duas keys e uma máscara causal simplificada. Isso explica mecanismos, sem afirmar generalização ou treinar um Transformer.
const assert=require('node:assert/strict');
const sigmoid=z=>1/(1+Math.exp(-z));
const loss=p=>-Math.log(p);
let w=0;const x=2,y=1,learningRate=0.1;
const before=sigmoid(w*x),gradient=(before-y)*x;
w-=learningRate*gradient;
const after=sigmoid(w*x);
assert.ok(loss(after)<loss(before));
const dot=(a,b)=>a.reduce((sum,value,i)=>sum+value*b[i],0);
function attention(q,keys,values,allowed){
const scores=keys.map((k,i)=>allowed[i]?dot(q,k)/Math.sqrt(q.length):-Infinity);
const max=Math.max(...scores);
if(!Number.isFinite(max))throw new Error('all-masked');
const exps=scores.map(s=>Math.exp(s-max));
const total=exps.reduce((a,b)=>a+b,0),weights=exps.map(v=>v/total);
const output=values[0].map((_,j)=>weights.reduce((s,a,i)=>s+a*values[i][j],0));
return {weights,output};
}
const result=attention([1,0],[[1,0],[0,1]],[[10,0],[0,20]],[true,true]);
assert.ok(Math.abs(result.weights.reduce((a,b)=>a+b,0)-1)<1e-12);
const masked=attention([1,0],[[1,0],[0,1]],[[10,0],[0,20]],[true,false]);
assert.deepEqual(masked.output,[10,0]);
assert.throws(()=>attention([1,0],[[1,0]],[[10,0]],[false]),/all-masked/);
console.log({gradient,before,after,lossBefore:loss(before),lossAfter:loss(after),result,masked});O gradiente negativo aumenta w e aproxima a previsão do alvo no exemplo de treino. Isso não demonstra melhora em dados independentes. Attention sem máscara combina os dois valores; com a segunda posição proibida, o resultado é exatamente o primeiro valor. A normalização usa subtração do máximo para estabilidade numérica. O caso all-masked é recusado para evitar dividir zero ou produzir NaN.
Regra da cadeia e passo de otimização à mão
MatemáticaConsidere o neurônio linear y_hat=w×x+b e loss L=(y_hat-y)^2/2. Com x=2, y=5, w=1 e b=0, temos y_hat=2, erro=-3 e L=9/2=4,5. Primeiro derive a loss em relação à previsão: dL/dy_hat=y_hat-y=-3. Depois derive a previsão em relação ao peso: dy_hat/dw=x=2. A regra da cadeia multiplica essas dependências: dL/dw=(-3)×2=-6. Para o viés, dy_hat/db=1, então dL/db=-3.
↗ Automatic Differentiation with torch.autograd↗ Optimizing Model Parameters
Com taxa de aprendizado 0,1, atualize simultaneamente a partir dos gradientes anteriores: w_novo=1-0,1×(-6)=1,6 e b_novo=0-0,1×(-3)=0,3. A nova previsão é 1,6×2+0,3=3,5 e a nova loss é (3,5-5)^2/2=1,125. O sinal da atualização segue a descida da loss; recalcular um gradiente no meio da atualização mudaria o método. Esse passo melhora este único exemplo, sem demonstrar generalização.
↗ Automatic Differentiation with torch.autograd↗ Optimizing Model Parameters
Agora tente x=1, y=3, w=1 e b=0, com taxa 0,2. O erro é -2, os gradientes são -2 e -2, os novos parâmetros são w=1,4 e b=0,4 e a loss cai de 2 para 0,72. Se houver ativação, será preciso incluir sua derivada na cadeia. Para uma camada com vários exemplos, especifique se a loss é soma ou média antes de comparar gradientes: a escala modifica o tamanho efetivo do passo. A unidade de cálculo da preparação desenvolve esses detalhes.
↗ Automatic Differentiation with torch.autograd↗ Optimizing Model Parameters
Exercício aplicado
A loss do treino caiu, o classificador foi marcado champion e a distribuição de idioma mudou. O agente LLM usa esse classificador para roteamento. Decida o que verificar antes de promover a aplicação.
- Confronte treino com validação e teste independentes.
- Resolva champion para versão concreta e registre linhagem.
- Meça desempenho no segmento de idioma alterado.
- Execute evals do fluxo de roteamento e planeje rollout.
Abrir resolução comentada
Loss menor no treino não basta. Verifique generalização e qualidade por segmento, com rótulos adequados. A mudança de idioma pode afetar features e relação com o alvo, mas drift de entrada sozinho não demonstra degradação.
A aplicação combina artefatos de ML e LLM. Registre versão concreta do classificador, prompt, provedor e política, execute os gates e use deploy controlado. A governança precisa identificar quem decide e o que fazer diante de evidência insuficiente ou dano.
const assert=require('node:assert/strict');
const sigmoid=z=>1/(1+Math.exp(-z));
const loss=p=>-Math.log(p);
let w=0;const x=2,y=1,learningRate=0.1;
const before=sigmoid(w*x),gradient=(before-y)*x;
w-=learningRate*gradient;
const after=sigmoid(w*x);
assert.ok(loss(after)<loss(before));
const dot=(a,b)=>a.reduce((sum,value,i)=>sum+value*b[i],0);
function attention(q,keys,values,allowed){
const scores=keys.map((k,i)=>allowed[i]?dot(q,k)/Math.sqrt(q.length):-Infinity);
const max=Math.max(...scores);
if(!Number.isFinite(max))throw new Error('all-masked');
const exps=scores.map(s=>Math.exp(s-max));
const total=exps.reduce((a,b)=>a+b,0),weights=exps.map(v=>v/total);
const output=values[0].map((_,j)=>weights.reduce((s,a,i)=>s+a*values[i][j],0));
return {weights,output};
}
const result=attention([1,0],[[1,0],[0,1]],[[10,0],[0,20]],[true,true]);
assert.ok(Math.abs(result.weights.reduce((a,b)=>a+b,0)-1)<1e-12);
const masked=attention([1,0],[[1,0],[0,1]],[[10,0],[0,20]],[true,false]);
assert.deepEqual(masked.output,[10,0]);
assert.throws(()=>attention([1,0],[[1,0]],[[10,0]],[false]),/all-masked/);
console.log({gradient,before,after,lossBefore:loss(before),lossAfter:loss(after),result,masked});Como conferir seu resultado
- Gradiente e máscara são verificados por asserts.
- Training e inference são explicados com artefatos diferentes.
- Registry e alias não substituem gate de qualidade.
- Plano de drift inclui dado, responsável e ação.
Aplique em um problema novo
Primeiro resolva sem consultar a resposta. Explique suas decisões e guarde a evidência. A conclusão de leitura é independente desta autoavaliação.
Confira seus pré-requisitos
- Calcular sigmoid/loss e produto escalar.
- Distinguir treinamento, inferência e linhagem.
Neurônio logístico w=0, b=0, x=2, y=0 e taxa 0,1: atualize somente w com loss binária. Attention recebe valores 7 e 20, mas a máscara permite somente o primeiro. Calcule as duas saídas e seu alcance.
Conferir raciocínio e critérios de domínio
p=0,5; gradiente (p−y)x=1; w novo=−0,1; z=−0,2; p≈0,4502. A loss cai de −ln(0,5)≈0,6931 para −ln(1−0,4502)≈0,5981.
A máscara atribui peso 1 ao primeiro valor e 0 ao segundo; a saída é 7. O valor 20 não participa, e o peso de attention não é explicação causal de uma decisão.
A atualização melhora este exemplo de treino, mas não demonstra generalização. A decisão sobre implantação exige dados independentes e versões vinculadas à avaliação.
Evidências para autoavaliação ou revisão por pares
- Gradiente: p=0,5; gradiente (p−y)x=1; w novo=−0,1; z=−0,2; p≈0,4502. A loss cai de −ln(0,5)≈0,6931 para −ln(1−0,4502)≈0,5981.
- Attention: A máscara atribui peso 1 ao primeiro valor e 0 ao segundo; a saída é 7. O valor 20 não participa, e o peso de attention não é explicação causal de uma decisão.
- Governança: A atualização melhora este exemplo de treino, mas não demonstra generalização. A decisão sobre implantação exige dados independentes e versões vinculadas à avaliação.
Um erro frequente
Reduzir loss comprova generalização.
Generalização exige avaliação independente do treino.
Teste sua compreensão
Responda com suas palavras antes de abrir o comentário. Saber explicar uma decisão é parte do domínio.
1. Reduzir loss no treino prova generalização?
2. Attention é o Transformer inteiro?
3. Data drift implica retreinar imediatamente?
Não.
Investigue a mudança e seu efeito sobre qualidade e risco.
↗ Data and model quality monitoring with Amazon SageMaker Model Monitor
Seu progresso fica salvo neste navegador. Concluir a leitura não substitui demonstrar o domínio nos exercícios.
Referências e aprofundamento
Documentação oficial e trabalhos originais. As referências registram o escopo e as limitações para você conferir o que sustentam.
- Build the Neural Network
PyTorch • consulta: 2026-10-06
FundamentosMódulos, camadas, forward pass e ativações de uma rede neural.
Limites: Exemplo introdutório; não representa automaticamente arquitetura adequada a qualquer tarefa.
- Automatic Differentiation with torch.autograd
PyTorch • consulta: 2026-10-06
FundamentosGrafo computacional, gradientes, backward e desabilitar gradientes em inferência.
Limites: Autograd computa derivadas; não garante otimização ou convergência.
- Optimizing Model Parameters
PyTorch • consulta: 2026-10-06
FundamentosLoss, otimizador, learning rate, train loop e test loop.
Limites: Distinguir model.eval de desabilitar gradientes; hiperparâmetros e avaliação continuam necessários.
- torch.nn
PyTorch • consulta: 2026-10-06
FundamentosCamadas convolucionais, recorrentes, LSTM, ativações, loss e panorama das famílias de redes.
Limites: Referência main pode diferir da versão instalada; fixar versão no laboratório.
- Attention Is All You Need
Vaswani et al. • consulta: 2026-10-06
FundamentosScaled dot-product attention, multi-head attention, posições e arquitetura Transformer encoder-decoder.
Limites: Paper original de tradução; LLMs atuais podem usar arquiteturas decoder-only e variantes.
- ML Model Registry
MLflow • consulta: 2026-10-06
IA & MLRegistro central de modelos, versões, aliases e rastreamento de ciclo de vida.
Limites: Registro organiza artefatos; permissões, implantação e políticas precisam de configuração.
- Get Started with DVC
DVC • consulta: 2026-10-06
FundamentosVersionamento de dados/modelos, pipelines e reprodutibilidade.
Limites: Metadados versionados não incluem necessariamente arquivos grandes; configurar storage e dependências.
- Version Tracking for Agents and LLMs
MLflow • consulta: 2026-10-06
AgentesIA & MLVersionamento e rastreamento de aplicações de agentes e sua associação a traces e avaliações.
Limites: Versionar código/configuração não congela comportamento de aliases de provedores externos.
- Data and model quality monitoring with Amazon SageMaker Model Monitor
AWS • consulta: 2026-10-06
FundamentosTipos de monitoramento: qualidade dos dados/modelos, drift de bias e atribuição.
Limites: Documento informa serviço fechado a novos clientes e sem novos recursos; usar como referência conceitual, não indicação de nova adoção.
- Metrics and scoring: quantifying the quality of predictions
scikit-learn • consulta: 2026-10-06
FundamentosPrecision, recall, F1, ROC, AUC, thresholds e métricas de regressão/classificação.
Limites: Escolha depende de tarefa, desbalanceamento e custo dos erros; uma métrica isolada pode esconder falhas.
- AI Risk Management Framework
NIST • consulta: 2026-10-06
IA & MLGestão de risco e confiança durante design, desenvolvimento, uso e avaliação; AI RMF e perfil GenAI.
Limites: Framework voluntário; página informa revisão do AI RMF 1.0. Não é certificado nem orientação jurídica.