Serviço pronto, Bedrock, JumpStart ou script próprio: a escada
- ⬜⚖️ Desbalanceamento e viés: quando 99% de acurácia é um modelo inútil(AWS ML Engineer Associate (MLA-C01))
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
A decisão mais cara do domínio 2 é feita antes de treinar
Existem quatro caminhos para ter um modelo na AWS, e eles diferem em ordens de grandeza de esforço e custo. A prova cobra a escolha muito mais do que cobra o algoritmo, porque é a decisão que um engenheiro de ML realmente toma.
| Caminho | Esforço | Quando é o certo | O que você abre mão |
|---|---|---|---|
| Serviço de IA pronto | Mínimo | O problema é comum: OCR, tradução, transcrição, moderação | Ajuste fino ao seu domínio |
| Modelo base via Bedrock | Baixo | Tarefa de linguagem ou multimodal, sem dado rotulado | Custo por token e menos controle de latência |
| Algoritmo nativo ou JumpStart | Médio | Problema tabular ou de visão clássico, com dado rotulado | Liberdade de arquitetura |
| Script próprio em contêiner | Alto | A arquitetura é a sua vantagem competitiva | Tempo, custo de GPU e manutenção |
A regra de ouro da prova, e do trabalho
Suba na escada só quando o degrau de baixo não resolver. Uma questão que descreve extração de texto de documento e pede o menor esforço operacional está pedindo o serviço pronto — treinar um modelo de visão para isso é a alternativa que parece competência e é desperdício. O caminho de baixo custo é a resposta certa até o cenário justificar o de cima.
Quando treinar é realmente a resposta
- Você tem dado rotulado que ninguém mais tem, e ele carrega o padrão que o serviço genérico não conhece.
- A previsão precisa rodar com latência ou custo que a chamada a um serviço não alcança.
- O domínio é específico o bastante para que o modelo genérico erre de forma sistemática — vocabulário técnico, formulário próprio, comportamento de um mercado específico.
- Há exigência de que o modelo rode dentro da sua rede, sem chamada a serviço externo.
Repare que nenhum dos quatro é "queremos um modelo próprio". Essa é a justificativa mais comum na vida real e a que a prova mais penaliza, porque ela não nomeia restrição nenhuma.
import boto3
# Degrau 1 — serviço pronto. Antes de treinar qualquer coisa, meça se ele basta
# nos SEUS exemplos rotulados. Um conjunto pequeno serve para AVALIAR, não para treinar.
textract = boto3.client("textract")
r = textract.analyze_document(
Document={"S3Object": {"Bucket": "notas", "Name": "nf-4471.pdf"}},
FeatureTypes=["FORMS"],
)
# A confiança responde "li estes caracteres certo?", NÃO "este é o campo certo?".
# Confundir as duas é como um valor errado passa com confiança alta.
for bloco in r["Blocks"]:
if bloco["BlockType"] == "KEY_VALUE_SET" and bloco["Confidence"] < 95:
enviar_para_revisao_humana(bloco)
# Degrau 3 — só se o de cima não resolver: modelo pronto do JumpStart, ajustado.
from sagemaker.jumpstart.estimator import JumpStartEstimator
est = JumpStartEstimator(model_id="huggingface-tc-bert-base-cased", role=ROLE)
est.fit({"training": "s3://lago/curado/rotulado/"})Um time precisa extrair campos de notas fiscais em PDF. Tem 300 exemplos rotulados e o requisito diz "menor esforço operacional". O que fazer?
Sobreajuste e subajuste, pela leitura das curvas
| Sintoma | Diagnóstico | O que fazer |
|---|---|---|
| Erro alto no treino E na validação | Subajuste — o modelo é simples demais | Mais capacidade, mais atributos, treinar mais tempo |
| Erro baixo no treino, alto na validação | Sobreajuste — decorou o treino | Regularização, mais dado, parada antecipada, menos capacidade |
| Erro baixo nos dois, ruim em produção | Vazamento ou mudança de distribuição | Auditar atributos e comparar distribuições |
| Validação melhor que treino | Quase sempre defeito de separação | Procurar duplicata entre partições |
A última linha surpreende e cai
Validação melhor que treino não é sorte: em geral significa que registros da validação vazaram para o treino, ou que a regularização está ativa no treino e não na avaliação. Tratar como bom resultado é o erro; a leitura correta é suspeitar da separação antes de comemorar.
O erro de treino de um modelo é 2% e o de validação é 27%. Qual conjunto de intervenções ataca a causa?
O erro de treino e o erro de validação estão ambos altos e próximos. Qual é o diagnóstico?
Próximo passo
Escolhido o caminho do treinamento, a pergunta seguinte é de infraestrutura: que instância, por quanto tempo, com que tolerância a interrupção — e é onde a conta de custo do domínio 2 é ganha ou perdida.
Perguntas frequentes
❓ Quando treinar um modelo próprio em vez de usar um serviço pronto da AWS?
❓ Como diferenciar sobreajuste de subajuste pelas curvas de erro?
❓ Quais são os caminhos para ter um modelo em produção na AWS?
Terminou de ler?
Marcar como concluído registra o XP, mantém sua sequência e coloca 3 cartas deste módulo na fila de revisão espaçada.
Próximos passos sugeridos
Temas deste módulo
Discussão
Carregando comentários…