GenAI — Transformers, FMs, prompting, hallucinations
- ⬜🏭 SageMaker — Studio, Canvas, JumpStart, AI Services(AWS AI Practitioner (AIF-C01))
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
Um foundation model é um modelo pré-treinado em uma quantidade enorme de dado genérico e adaptável a muitas tarefas sem ser retreinado. Essa definição é a chave do Domínio 2, e a palavra que carrega o peso é adaptável: antes dos FMs, cada tarefa exigia um modelo próprio, com dataset rotulado próprio.
Este módulo cobre o que acontece por dentro — atenção, token, embedding, janela de contexto — e por que o modelo alucina. Não é curiosidade: metade das questões do Domínio 3 é sobre escolher entre RAG, fine-tune e prompt, e essa escolha só faz sentido se você souber o que cada um muda no funcionamento.
O transformer, na profundidade que o exame pede
A arquitetura transformer foi publicada em 2017 e resolveu um gargalo específico: os modelos anteriores (RNN, LSTM) processavam texto sequencialmente — palavra por palavra, sem poder paralelizar. O transformer processa a sequência inteira de uma vez, e é isso que permitiu treinar em escala de trilhões de tokens.
O mecanismo que viabiliza isso é a autoatenção (self-attention): para cada token, o modelo calcula quanto cada outro token da sequência importa para interpretá-lo. Na frase "o banco negou o crédito", a atenção liga "banco" a "crédito" e resolve a ambiguidade com "banco de praça" sem nenhuma regra escrita.
| Família | Como funciona | Bom para | Exemplo |
|---|---|---|---|
| Encoder-only | Lê a sequência inteira e produz representação | Classificar, extrair, gerar embedding | BERT, Titan Embeddings |
| Decoder-only | Prevê o próximo token, da esquerda para a direita | Gerar texto, conversar, raciocinar | Claude, Llama, Titan Text |
| Encoder-decoder | Codifica a entrada, decodifica a saída | Traduzir, resumir com entrada e saída distintas | T5, modelos de tradução |
Os modelos generativos que você usa no Bedrock são decoder-only. Guarde a consequência: eles só sabem fazer uma coisa — prever o próximo token, dado tudo que veio antes. Conversar, resumir, escrever código e raciocinar são todos o mesmo mecanismo aplicado a contextos diferentes. Isso explica a alucinação, mais adiante neste módulo.
Token: a unidade que você paga
O modelo não vê letras nem palavras — vê tokens, que são pedaços de palavra. "inteligência" pode virar 3 ou 4 tokens; "casa" provavelmente 1. A tokenização é decidida no treino do modelo e você não a controla.
Detalhe que importa para quem trabalha em português: texto em PT-BR tipicamente consome mais tokens que o mesmo conteúdo em inglês, porque os tokenizadores foram treinados com predominância de inglês e quebram nossas palavras em mais pedaços. Na prática, o mesmo prompt custa mais em português — considere isso ao estimar. Meça no seu caso em vez de assumir um fator fixo.
A janela de contexto é o total de tokens que o modelo consegue considerar de uma vez, e ela é compartilhada entre entrada e saída. Estourar a janela não degrada elegantemente: a requisição falha, ou o histórico mais antigo é descartado, dependendo de como sua aplicação trata o limite.
Embedding: o que faz busca semântica existir
Um embedding é um vetor de números que representa o significado de um texto. Textos com sentido parecido ficam próximos nesse espaço, mesmo sem compartilhar palavra nenhuma — "meu pedido não chegou" e "encomenda extraviada" ficam vizinhos.
| Busca por palavra-chave | Busca semântica (embedding) |
|---|---|
| Casa termo exato ou variação lexical | Casa significado, mesmo com vocabulário diferente |
| Acha "assinatura" em documento que diz "assinatura" | Acha também "plano recorrente" e "mensalidade" |
| Excelente com código, SKU, nome próprio, sigla | Fraco com identificador exato — vetor não entende que ABC-123 é literal |
| Barato e determinístico | Exige gerar embedding e manter índice vetorial |
Os dois se somam em vez de competir: é a busca híbrida, padrão de produção. Palavra-chave garante o termo exato, semântica garante o sinônimo. Assunto do módulo de Knowledge Bases.
Os parâmetros de inferência que a prova cobra
| Parâmetro | O que controla | Efeito de aumentar |
|---|---|---|
| Temperature | Aleatoriedade da amostragem do próximo token | Saída mais diversa e criativa; mais risco de desvio |
| Top-p (nucleus) | Considera só os tokens que somam p de probabilidade | Vocabulário candidato maior, saída menos previsível |
| Top-k | Considera só os k tokens mais prováveis | Mesma direção do top-p, por contagem em vez de probabilidade |
| Max tokens | Teto de tokens gerados | Resposta pode ser mais longa — e mais caro |
| Stop sequences | Texto que interrompe a geração | Controle de formato, corta desperdício de saída |
Para tarefa que exige consistência — extração, classificação, resposta factual — baixe a temperatura. Para redação e brainstorm, suba. E não mexa em temperature e top-p ao mesmo tempo: os dois atuam sobre a mesma distribuição, e ajustar ambos torna o efeito difícil de raciocinar.
Temperature 0 não elimina alucinação. Ela reduz a variabilidade: o modelo passa a dar consistentemente a mesma resposta — inclusive quando essa resposta está errada. Determinismo e veracidade são propriedades diferentes, e a prova explora essa confusão.
import boto3
brt = boto3.client("bedrock-runtime")
r = brt.converse(
modelId="us.amazon.nova-pro-v1:0",
system=[{"text": "Responda apenas com o nome da categoria."}],
messages=[{"role": "user", "content": [{"text": pergunta}]}],
inferenceConfig={
# `temperature` controla ALEATORIEDADE, não criatividade nem qualidade —
# 0 para classificação e extração, onde você quer a mesma resposta sempre.
"temperature": 0.0,
# `topP` corta a cauda da distribuição. Ajustar os dois ao mesmo tempo
# torna o efeito difícil de prever; escolha um e fixe o outro.
"topP": 0.9,
# Teto de SAÍDA. Não limita a entrada, e não impede alucinação — só corta.
"maxTokens": 64,
"stopSequences": ["\n\n"],
},
)
# `usage` é o que transforma custo em número mensurável, e é a primeira coisa a
# instrumentar: a fatura do Bedrock é a soma disto sobre todas as chamadas.
u = r["usage"]
print(u["inputTokens"], u["outputTokens"], u["totalTokens"])Por que o modelo alucina — e o que de fato mitiga
Alucinação é o modelo produzir conteúdo plausível e falso, com a mesma confiança do conteúdo correto. A causa é estrutural: um modelo decoder-only prevê o token mais provável, não consulta uma fonte. Ele não tem representação interna de "eu não sei" — tem uma distribuição de probabilidade que sempre produz algo.
| Mitigação | Como age | Eficácia |
|---|---|---|
| RAG / grounding | Injeta o trecho real da fonte no contexto e manda responder só com base nele | Alta — atacando a causa: falta de fato disponível |
| Pedir citação da fonte | Obriga apontar de onde tirou; permite verificar | Alta, combinada com RAG |
| Contextual grounding check (Guardrails) | Verifica se a resposta está sustentada pelo contexto fornecido e bloqueia se não | Alta — é rede de segurança automatizada |
| Instrução explícita para admitir desconhecimento | "Se não estiver no contexto, responda que não sabe" | Média — ajuda, não garante |
| Baixar temperature | Reduz variabilidade da amostragem | Baixa para alucinação — muda consistência, não veracidade |
| Revisão humana | Pessoa valida antes de a saída ter efeito | Alta, e obrigatória em domínio de alto risco |
| Fine-tune | Ajusta forma e estilo com exemplos | Baixa para fato — não é mecanismo de armazenar conhecimento recuperável |
A distinção mais cobrada do Domínio 3 já aparece aqui: fine-tune ensina ao modelo COMO responder; RAG dá a ele O QUE responder. Se a questão fala de informação factual, atualizada ou proprietária, a resposta é RAG — nunca fine-tune.
Um assistente jurídico interno citou uma jurisprudência que não existe, com número de processo verossímil. Qual conjunto de medidas ataca a causa?
As quatro alavancas para adaptar um FM
Esta é a tabela mais importante do exame inteiro. Toda questão de "como fazer o modelo atender esse requisito" se resolve escolhendo uma destas quatro — e a ordem de preferência é de cima para baixo, por custo e reversibilidade.
- → instrui
- → índice
- → injeta contexto
- → ajusta pesos
- → ajusta pesos
- IA e machine learning
- Armazenamento
A regra que resolve as questões: CONHECIMENTO que falta é RAG; COMPORTAMENTO que falta é fine-tune. Quem inverte esses dois erra a questão mais frequente do exame.
- Sempre comece pelo prompt. Custo zero, efeito imediato, reversível em um deploy. Instrução clara, exemplos (few-shot) e formato de saída resolvem mais do que as pessoas esperam. Se você não tentou aqui, não pode reclamar do modelo.
- Falta CONHECIMENTO? RAG.. O modelo não sabe do seu produto, seu contrato, seu preço de ontem. Isso não é problema de treino — é de acesso. RAG recupera o trecho e injeta no contexto. O dado muda? O índice atualiza, o modelo nem sabe.
- Falta COMPORTAMENTO? Fine-tune.. O modelo sabe o conteúdo mas não acerta o formato, o tom ou a convenção da sua empresa, e o prompt já ficou gigante tentando explicar. Fine-tune com pares entrada→saída ensina o padrão. Exige dado rotulado e reavaliação a cada versão.
- Falta VOCABULÁRIO de domínio? CPT.. Área com jargão que o modelo base quase não viu — nichos técnicos, terminologia regulatória específica. Pré-treino continuado usa corpus sem rótulo. É o mais caro e o menos comum; a prova cita para você reconhecer, não para escolher à toa.
- Elas se combinam, e a ordem é a resposta. RAG e fine-tune não são alternativas excludentes: o comportamento vem do ajuste e o conhecimento vem da recuperação, no mesmo sistema. O que a ordem impõe é subir de degrau só depois de esgotar o de baixo — trocar prompt por fine-tune porque a primeira tentativa não funcionou é pagar projeto para resolver redação.
| Alavanca | Resolve | Custo | Dado necessário | Reversível? |
|---|---|---|---|---|
| Prompt engineering | Instrução, formato, tom leve | Zero | Nenhum | Sim, imediato |
| RAG | Conhecimento proprietário e atual | Baixo a médio | Seus documentos | Sim |
| Fine-tune | Comportamento, formato consistente, tom | Médio a alto | Pares entrada→saída rotulados | Sim, voltando ao modelo base |
| Pré-treino continuado | Vocabulário de domínio muito específico | Alto | Corpus grande, sem rótulo | Sim, voltando ao modelo base |
Multimodalidade e escolha de modelo
Modelo multimodal aceita mais de um tipo de entrada — tipicamente texto e imagem, e em alguns casos documento e vídeo. Isso muda o desenho da solução: em vez de rodar OCR e depois mandar o texto ao modelo, você manda a página e pede a interpretação, preservando layout, tabela e assinatura.
E modelo maior não é resposta padrão. Mais parâmetros custa mais por token e responde mais devagar. A prática de produção é rotear: modelo pequeno e barato para classificar e extrair, modelo grande só onde o raciocínio exige. É o padrão de cascata, no módulo de FinOps da trilha de Bedrock.
Sua aplicação precisa transformar 300 mil descrições de produto em vetores para busca semântica. Que tipo de modelo você usa?
Qual afirmação sobre a janela de contexto é correta?
Próximo passo
Com o vocabulário no lugar, aif-bedrock-overview mostra onde tudo isso é operado na AWS: catálogo de modelos, Converse API, formas de cobrança e o que o Bedrock faz e não faz.
Perguntas frequentes
❓ O que é um modelo de fundação?
❓ O que causa alucinação em modelo generativo?
❓ Para que servem os codificadores posicionais?
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…