NN/Transformers/MLOps panorama
O laboratório final conecta mecanismos de ML ao capstone AI SaaS. Você executará um cálculo de gradiente e attention, escreverá a linhagem de um classificador e de um agente LLM e proporá monitoramento com ações. A entrega é uma revisão técnica que demonstra onde treinamento termina e onde operação da aplicação começa.
Use Node para o cálculo e recupere manifestos, evals, ADR, diagramas e runbook das semanas anteriores. A integração com MLflow ou DVC é uma extensão que requer instalação e armazenamento configurado; não declare uso desses serviços sem execução. Antes do código, tente prever o sinal do gradiente e o resultado quando uma key é mascarada. Registre sua hipótese para comparar com os asserts.
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: Leitura: NN/Transformers/MLOps panorama
Calcular antes de executar e distinguir generalização
FundamentosCom w=0 e x=2, calcule z, sigmoid e loss para y=1. Derive o sinal de (p-y)x e explique por que uma atualização positiva em w reduz a loss. Execute mechanisms.cjs e confronte os números. Troque y para zero em uma cópia e ajuste a loss para -log(1-p); o sentido do gradiente deve inverter. Acrescente um exemplo de validação com relação diferente para perceber que reduzir loss em uma amostra não prova generalização. Relacione esse resultado ao overfitting e ao split da semana 47.
↗ Automatic Differentiation with torch.autograd↗ Optimizing Model Parameters
Inspecionar attention e a máscara causal
FundamentosRode o exemplo e confira soma de pesos igual a um, maior peso para a key alinhada e resultado mascarado [10,0]. Troque a query para [0,1] e observe a mudança nos pesos. Use keys iguais e confirme pesos iguais quando ambas são permitidas. Bloqueie todas e espere all-masked, em vez de uma saída aparentemente válida. Escreva o que Q, K e V representam no cálculo e o que o toy example omite: projeções aprendidas, múltiplas cabeças, posição, feed-forward e treinamento. Não descreva pesos de attention como explicação causal garantida.
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});Construir duas linhagens e decidir promoção
FundamentosPara o classificador da semana 47, registre datasetHash, split, seed, código, dependências, hiperparâmetros, métricas e arquivo de modelo. Para o agente, registre prompt, modelo de API, provedor, documentos, ferramentas, política e rubrica. Desenhe onde MLflow tracking/registry e DVC poderiam armazenar metadados e artefatos. Se instalar as ferramentas, registre comandos, backend e versões e teste recuperar uma versão concreta. Sem instalação, entregue o contrato de linhagem como projeto, não como execução. Em ambos, um alias de produção deve apontar para uma versão aprovada por gate.
Propor drift monitoring com respostas proporcionais
FundamentosCrie uma tabela de referência das features e uma janela atual sintética em que cresce a frequência de chamados de outro idioma. Compare distribuição e explique que isso é evidência de mudança de entrada, não prova de queda de recall. Acrescente rótulos revisados para medir qualidade por segmento. Defina alerta, responsável e ação: investigar dados, restringir uso, revisar modelo ou coletar novos exemplos. Não retreine automaticamente só porque uma métrica de distribuição mudou. Para o agente, monitore também retrieval, uso de ferramentas, autorização, latência e custo por sucesso.
↗ Data and model quality monitoring with Amazon SageMaker Model Monitor
Revisar o capstone com governança e aprendizagem ativa
FundamentosAbra sua ADR e trace um pedido de outro tenant, uma ferramenta indisponível e uma política atualizada. Mostre controles, estados e evidência de cada caminho. Revise gate e rollback para confirmar que a versão promovida é a avaliada. Escreva quem aprova mudanças, quem recebe alertas e quem pode pausar efeitos. Entregue três lacunas prioritárias com um experimento verificável para cada uma. A autoavaliação final deve se basear em artefatos e resultados: explicar attention, interpretar métricas, reconstruir falha e defender trade-offs. Escolha próximo aprofundamento conforme as lacunas, sem transformar um panorama em alegação de domínio de treinamento de grandes modelos.
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.
Um classificador v2 foi avaliado em 40 casos do idioma novo: TP=8, FP=2, FN=8 e TN=22. O gate exige recall mínimo de 0,75. Antes do deploy, champion passou a v3, ainda não avaliada, e o alias do prompt mudou de P1 para P2. A frequência desse idioma subiu de 10% para 30%. Decida a promoção. Em uma conta separada, calcule um passo do neurônio logístico com loss BCE, w=0, b=0, x=2, y=1 e taxa 0,1: atualize somente w, mantendo b=0.
Conferir raciocínio e critérios de domínio
O neurônio tem p=0,5 e gradiente em w igual a (p−y)x=−1. Atualizando somente w: w=0,1 e z=0,2, pois b permanece zero. A previsão sobe para aproximadamente 0,5498 e a loss BCE cai de 0,6931 para 0,5981. A redução é deste exemplo de treino, sem evidência de generalização.
Em v2, precision=8/10=0,8 e recall=8/16=0,5. O recall fica abaixo do mínimo de 0,75, portanto v2 falha no gate do idioma. v3 e P2 também não têm avaliação correspondente: a decisão final é bloquear a promoção dessas combinações.
A mudança de frequência de 10% para 30% demonstra drift de entrada; sozinha, ela não comprova perda de qualidade. O recall baixo já exige investigação, coleta e revisão. Antes do rollout, o responsável registra versões concretas e reavalia o segmento; o alerta não autoriza retreino automático.
Evidências para autoavaliação ou revisão por pares
- Gradiente e atualização: O neurônio tem p=0,5 e gradiente em w igual a (p−y)x=−1. Atualizando somente w: w=0,1 e z=0,2, pois b permanece zero. A previsão sobe para aproximadamente 0,5498 e a loss BCE cai de 0,6931 para 0,5981. A redução é deste exemplo de treino, sem evidência de generalização.
- Métricas e gate: Em v2, precision=8/10=0,8 e recall=8/16=0,5. O recall fica abaixo do mínimo de 0,75, portanto v2 falha no gate do idioma. v3 e P2 também não têm avaliação correspondente: a decisão final é bloquear a promoção dessas combinações.
- Drift e resposta proporcional: A mudança de frequência de 10% para 30% demonstra drift de entrada; sozinha, ela não comprova perda de qualidade. O recall baixo já exige investigação, coleta e revisão. Antes do rollout, o responsável registra versões concretas e reavalia o segmento; o alerta não autoriza retreino automático.
Um erro frequente
Drift de entrada exige retreino automático.
Investigar distribuição, performance e dano antes de decidir retreinar.
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.