Escola da Nuvem · Aula 2

O gato
virou vetor.
Agora a máquina
entende ele.

Embeddings, tokenização, bancos vetoriais, rotulagem, aprendizado supervisionado, federado... toda essa salada faz sentido quando você vê o gato virar um conjunto de números numa nuvem. Mexa nos controles. Veja a teoria acontecer.

Bora começar 🐾
dim 1 dim 2 animais 🐈 🐶 🦁 veículos 🚗 🏍️ 🚚 frutas 🍎 🍌 vetores conceitos parecidos ficam juntos
🧮 EMBEDDINGS✂️ TOKENIZAÇÃO📦 BAG-OF-WORDS🪟 JANELA DE CONTEXTO📚 INTERVALOS🗄️ pgvector🏷️ ROTULAGEM🤖 SUPERVISIONADO🔍 NÃO-SUPERVISIONADO🎮 REFORÇO🌐 FEDERADO🔄 TRANSFERÊNCIA🧮 EMBEDDINGS✂️ TOKENIZAÇÃO📦 BAG-OF-WORDS
01 · Embeddings

Como transformar um gato em um monte de números?

Um embedding é a tradução de um conceito (palavra, imagem, áudio) para um vetor numérico. Coisas parecidas viram vetores parecidos. Coisas diferentes ficam longe. Simples assim.

🧪 Veja o gato virar números

Clique numa palavra. Veja seu vetor (versão simplificada com 8 dimensões). Repare quais ficam parecidos.

Vetor (8 dimensões):
← clique numa palavra acima
🔍 Os 3 mais parecidos no nosso "espaço":
·aguardando palavra...
Definição

O que é um embedding

É a representação numérica de um dado em um espaço vetorial.

  • Converte texto, imagem, áudio em vetores
  • Conceitos semelhantes ficam próximos no espaço
  • Conceitos diferentes ficam distantes
  • Permite comparações por similaridade
  • É a base de busca semântica, recomendação e RAG
Sacada: o computador não "entende" gato. Ele entende que o vetor do "gato" se parece com o vetor do "cão" (ambos animais peludos de quatro patas) e é totalmente diferente do vetor do "carro". O significado virou geometria.

Os 4 tipos de modelos que você precisa conhecer

Cada um pega um tipo de entrada e devolve um tipo de saída diferente. É só isso.

📝

Embedding de Texto

texto → vetor

Recebe palavras, frases ou documentos. Devolve um vetor que captura significado, sinônimos e contexto. Base do RAG.

🖼️

Embedding de Imagem

imagem → vetor

Recebe pixels. Devolve vetor com características visuais (formas, cores, objetos). Usado em busca de imagens similares.

🔗

Embedding Multimodal

texto + imagem → mesmo espaço

Coloca várias modalidades no mesmo espaço vetorial. Permite buscar imagem por texto e vice-versa.

Geração Multimodal

texto → imagem · imagem → texto

Não só representa, cria conteúdo novo. Texto vira imagem, imagem vira descrição, áudio vira vídeo.

🌅 Demo: Embedding multimodal em ação

Texto e imagem caem no MESMO espaço vetorial. Olha como os vetores são parecidos:

TEXTO
"praia ao pôr do sol"
[0.81, 0.12, -0.44, 0.67, ...]
IMAGEM
🏖️🌅
[0.79, 0.15, -0.41, 0.69, ...]
↑ Os números são quase iguais! ↑

É por isso que você pode pesquisar fotos digitando texto. O texto e a foto ficam próximos no espaço.

02 · Processamento de texto

Antes de virar vetor, o texto precisa ser quebrado.

O modelo não come uma frase inteira de boca aberta. Ela é cortada em tokens, contada, recortada, encaixada na janela de contexto. Aqui estão os blocos básicos.

✂️ Tokenizador ao vivo

Digite uma frase. Veja ela ser quebrada em tokens (palavras, neste exemplo simplificado).

📊 5 tokens · cada um vira um vetor depois.
Tokenização

Quebrar o texto em pedaços

É a primeira etapa do processamento de linguagem natural.

  • Um token pode ser uma palavra, parte de palavra ou caractere
  • Permite que o modelo trabalhe com unidades padronizadas
  • A forma de tokenizar influencia o resultado do modelo
  • Em LLMs modernos, "tokenizar" custa dinheiro (você paga por token)

💡 No mundo real, "extraordinariamente" pode virar 4 tokens: ["extra", "ordin", "aria", "mente"]. Nem sempre é uma palavra inteira.

Bag-of-words

Bag-of-words

Técnica clássica e simplíssima: conta quantas vezes cada palavra aparece. Ignora ordem.

  • Cada documento vira um vetor de contagens
  • Útil, mas perde nuances (não vê "gato dorme" vs "dorme gato" como diferentes)
  • Base de variações como TF-IDF
  • Hoje, embeddings semânticos resolvem isso, mas BoW ainda é usado em buscas simples e baselines

📦 BoW ao vivo

Digite um texto. Veja o saco se encher.

PalavraContagemFrequência
📊 Contagem de frequência

Palavra repetida = pista do tema

Se a palavra "modelo" aparece 5 vezes num texto, ele provavelmente é sobre modelos. Trivial, mas poderoso. É a base do BoW e do TF-IDF.

💡 Palavras raras (que aparecem pouco) muitas vezes são mais informativas que palavras comuns ("a", "de", "que").

modelo
5
dados
4
treina
3
vetor
2
regra
1
Janela de contexto

A memória de curto prazo do modelo

É a quantidade máxima de tokens que o modelo consegue ver de uma vez. Entrada + resposta cabem aqui dentro.

  • Janela maior = analisa documentos longos
  • Janela maior = maior custo de processamento
  • Tokens excedentes são truncados ou descartados
  • Modelos modernos têm janelas enormes (Claude tem 200k+, Gemini 1M+)

🪟 Mexa no tamanho da janela

Veja quais tokens entram, quais são descartados.

dentro da janela truncado

📚 Documento → Intervalos (chunks)

Documento maior que a janela? Quebre em pedaços. Cada um vira um vetor.

DOCUMENTO LONGO ↓
"Os gatos são animais domésticos de pequeno porte. Eles dormem em média 16 horas por dia. Sua dieta é principalmente carnívora. Adoram brincar com novelos de lã e pontos de luz. Têm a capacidade de ronronar em diferentes frequências..."
chunk 1 "Os gatos são animais domésticos de pequeno porte."
chunk 2 "Eles dormem em média 16 horas por dia."
chunk 3 "Sua dieta é principalmente carnívora."
chunk 4 "Adoram brincar com novelos de lã..."
📌 Cada chunk vira um vetor independente, indexado no banco vetorial.
Intervalo (chunk)

O recorte estratégico

É um trecho do documento com início e fim definidos. Permite trabalhar com partes sem processar tudo.

  • Útil quando o documento é maior que a janela
  • Cada chunk pode ser indexado separadamente
  • Estratégia central em RAG
  • Tamanho do chunk afeta a qualidade da busca: nem grande demais, nem pequeno demais

💡 Pipelines RAG sofrem ou brilham dependendo de como você chunka os documentos. É arte.

O fluxo completo: Texto → Tokenização → cada token vira embedding → embeddings agregados representam o texto inteiro → vai pro banco vetorial → será buscado por similaridade. Toda essa tubulação é o que faz o RAG funcionar.
03 · Tipos de dados

Tudo é dado, mas nem tudo é igual.

A natureza dos seus dados decide como você guarda, busca e processa. Existem dois grandes grupos: os arrumadinhos (estruturados) e os baguncinha (não estruturados).

📊 Estruturados

  • Organizados em linhas e colunas (tabelas)
  • Esquema fixo e bem definido
  • Fáceis de consultar com SQL
  • Fáceis de validar e auditar
  • Vão para bancos relacionais
Exemplos: planilhas Excel, MySQL, PostgreSQL, cadastros de clientes, vendas, estoque.

📄 Não estruturados

  • Sem formato tabular pré-definido
  • Texto livre, imagens, áudio, vídeo, e-mails
  • Maioria dos dados do mundo hoje
  • Difíceis de consultar com SQL tradicional
  • Vão para data lakes e S3
Exemplos: PDFs, transcrições, posts de redes sociais, fotos, mensagens de chat, áudios de call center.

Por que isso importa pra IA

📍 Onde guardar

Estruturados → banco relacional. Não estruturados → data lake / S3 / armazenamento de objetos.

🔎 Como buscar

Estruturados aceitam SQL. Não estruturados precisam de busca semântica via embeddings.

🧠 Como modelar

Modelos clássicos preferem estruturado. IA generativa lida muito bem com não estruturado.

⚙️ Como processar

Pré-processamento simples no estruturado. Sofisticado (tokenização, embeddings) no não estruturado.

Cerca de 80% dos dados do mundo são não estruturados. Por isso a explosão de modelos de embeddings: precisávamos de uma forma de fazer SQL-like em texto, imagem, áudio. Vetores resolveram isso.
04 · Bancos de dados de vetores

Onde os vetores moram, dormem e são procurados.

Você converteu mil documentos em vetores. Agora precisa guardar e buscar por similaridade rápido. Bancos relacionais clássicos não foram feitos pra isso. Entram os bancos vetoriais.

Banco vetorial

O lar dos embeddings

Bancos especializados em armazenar e indexar vetores em grande escala.

  • Permitem encontrar os vetores mais similares a uma consulta
  • Indexam vetores para busca eficiente
  • Base de busca semântica, recomendação e RAG
  • Comparam vetores por proximidade (cosseno, distância euclidiana)
  • Diferem dos relacionais no tipo de consulta

🔍 Busca por similaridade

Você consulta "animal felino doméstico". O banco devolve os vetores mais próximos.

🎯 CONSULTA
"animal felino doméstico"
→ vetor: [0.41, -0.22, 0.78, 0.31, ...]
📋 Resultados (mais similares primeiro):
🐈 gato 0.94
🦁 leão 0.81
🐶 cão 0.72
🐍 cobra 0.35
🚗 carro 0.08

Aurora PostgreSQL + pgvector

Banco relacional com superpoderes vetoriais

A Amazon Aurora PostgreSQL é o serviço gerenciado da AWS para bancos PostgreSQL. A extensão pgvector adiciona suporte a tipos vetoriais.

  • Armazena embeddings em colunas do banco
  • Consulta vetores por similaridade via SQL
  • Une dados estruturados e vetores no mesmo banco
  • Reduz a complexidade de manter dois bancos separados
  • Ideal para começar com vetores sem reinventar a infra
Por que isso é poderoso: você pode rodar "me dá os 5 produtos mais similares a este, mas só os que custam menos de R$100 E estão em estoque" em uma única query. Vetor + SQL relacional juntos. Sem isso, você precisaria de 2 bancos e fazer join na aplicação.
05 · Rotulagem de dados

Pra ensinar um modelo, você precisa mostrar a resposta certa.

Modelos supervisionados aprendem com exemplos rotulados: dado e resposta. Mas rotular é caro, demorado, chato. Por isso a AWS tem serviços específicos pra isso.

🐈
↓ humano marca
gato
🐶
↓ humano marca
cão
🦁
↓ humano marca
leão
🚗
↓ humano marca
carro

🏷️ Dados rotulados

  • Cada exemplo vem com sua resposta correta
  • Modelo aprende observando entrada e resposta esperada
  • Necessários para aprendizado supervisionado
  • Caros e demorados de produzir em volume
  • Geralmente exigem revisão humana
📌 Exemplo: 10.000 fotos de animais, cada uma marcada com "gato", "cão", "ave", "réptil". Pode levar semanas pra produzir.

📦 Dados não rotulados

  • Apenas a entrada, sem resposta associada
  • Muito mais abundantes e baratos
  • Usados em aprendizado não supervisionado
  • Modelo precisa descobrir padrões sozinho
  • Servem como base para modelos pré-treinados
📌 Exemplo: 1 bilhão de páginas da web baixadas. Sem rótulos. Modelo aprende a língua só vendo o texto.

Os serviços da AWS pra resolver isso

SageMaker Ground Truth

Rotulagem em escala, com qualidade

Serviço gerenciado da AWS para construir datasets rotulados de alta qualidade.

  • Apoia rotulagem de imagens, texto, vídeo e mais
  • Combina trabalho humano com automação (active learning)
  • Use equipes próprias, fornecedores ou Mechanical Turk
  • Reduz tempo e custo de preparação de dados
  • Foco em governança e qualidade do dataset
🎯 Quando usar: Quando você tem milhares de exemplos pra rotular e precisa orquestrar isso com governança.

Amazon Mechanical Turk

Força de trabalho humana sob demanda

Plataforma da AWS onde humanos reais executam tarefas que máquinas fazem mal.

  • Tarefas chamadas HITs (Human Intelligence Tasks)
  • Útil para rotulagem, validação e curadoria
  • Pode ser integrado ao Ground Truth
  • Escala em paralelo: milhares trabalhando ao mesmo tempo
  • Pagamento por tarefa concluída
🎯 Quando usar: Você precisa de muitos humanos rotulando coisas simples, rápido, sem contratar ninguém formalmente.
A relação entre os dois: Ground Truth é a plataforma de orquestração da rotulagem; Mechanical Turk é uma das fontes de mão de obra que o Ground Truth pode usar. Você não escolhe um ou outro, geralmente usa os dois juntos.
06 · Tipos de aprendizado de máquina

Cinco jeitos de uma máquina aprender.

Não existe "o" ML. Existem famílias diferentes, cada uma boa pra um problema. Clique em cada card pra ver o que muda.

01 🎓

Supervisionado

"Aprende com respostas certas"

Modelo recebe dados rotulados (entrada + resposta certa). Aprende a prever a saída para entradas novas.

Spam, preço, diagnóstico, fotos
02 🔍

Não-supervisionado

"Aprende a organizar sozinho"

Modelo recebe dados sem rótulo. Descobre padrões, grupos, anomalias. Reduz dimensionalidade.

Clustering, segmentação, fraude
03 🎮

Por reforço

"Aprende com tentativa e erro"

Agente interage com um ambiente, toma ações, recebe recompensas. Aprende a estratégia que maximiza ganhos no longo prazo.

Jogos, robótica, trading, RLHF
04 🌐

Federado

"Treina sem mover os dados"

Treinamento distribuído. Dados ficam onde estão (no celular, no hospital). Só as atualizações do modelo viajam. Privacidade preservada.

Saúde, finanças, smartphones
05 🔄

Por transferência

"Reaproveita o que já foi aprendido"

Pega um modelo já treinado num problema gigante e ajusta para uma tarefa nova. Pouco dado, pouco tempo, resultados ótimos.

Fine-tuning, foundation models
Tipo Dados usados Como aprende Onde se aplica
Supervisionado Rotulados Mapeia entrada → resposta Classificação, regressão
Não-supervisionado Não rotulados Descobre padrões sozinho Clustering, anomalias
Por reforço Interação com ambiente Tentativa, erro, recompensa Jogos, robótica, decisões
Federado Distribuídos, locais Treina sem centralizar dados Privacidade, regulação
Por transferência Modelo pré-treinado + ajuste Reaproveita conhecimento Foundation models, NLP, visão
Combinação real: a maioria dos modelos modernos (incluindo o que conversa com você) usa aprendizado por transferência (pega um foundation model gigante) + supervisionado (fine-tuning com exemplos rotulados) + por reforço (RLHF: humanos votam em respostas). Os tipos não são exclusivos, são combinados.
Síntese · Como tudo se conecta

O pipeline de qualquer IA moderna.

Tudo o que vimos aqui se encaixa nessa cadeia. Sem exceção.

📥
01
Dados

Estruturados ou não estruturados

✂️
02
Pré-processo

Tokenização, BoW, chunks

🧮
03
Embedding

Vetor numérico de significado

🗄️
04
Banco vetorial

Aurora + pgvector armazena

🧠
05
Aprendizado

Treina e responde ao usuário

💡 A grande sacada: não existe pipeline mágico ou inteligente. Cada etapa é simples, isoladamente. O que parece mágica é a composição delas. Quem domina cada bloco, domina o sistema todo.
TL;DR · Cola final

A cola da aula 2.

Cada conceito numa frase. Salva, imprime, manda no grupo.

🧮 Embedding
conceito → vetor
"Como o computador 'entende' o gato?"
Representação numérica em espaço vetorial. Coisas parecidas viram vetores parecidos.
🔗 Multimodal
texto + imagem → mesmo espaço
"Como buscar foto por texto?"
Texto e imagem viram vetores no MESMO espaço, dá pra comparar entre si.
✂️ Tokenização
texto → tokens
"O modelo come palavra inteira?"
Não. Quebra em tokens (palavras ou pedaços) antes de processar. Você paga por token.
📦 Bag-of-words
contagem por palavra
"Versão simples de representar texto?"
Conta quantas vezes cada palavra aparece. Ignora ordem. Útil em buscas simples.
🪟 Janela de contexto
limite de tokens
"Quanto o modelo enxerga?"
Quantidade máx de tokens que o modelo vê (entrada + saída). Excedente é truncado.
📚 Intervalo (chunk)
recorte de documento
"Documento gigante, e agora?"
Quebra em pedaços. Cada um vira embedding separado. Base do RAG.
📊 Estruturado vs ñ
tabelas vs texto/imagem
"Onde guardo isso?"
Estruturado = SQL. Não estruturado = data lake + embeddings.
🗄️ pgvector
PostgreSQL + vetor
"Banco fácil pra começar com vetor?"
Extensão do Aurora PostgreSQL. Junta SQL e busca vetorial num banco só.
🏷️ Rotulagem
dado + resposta certa
"Como ensinar a máquina?"
Marcar cada exemplo com a resposta certa. Caro, demorado, essencial pra supervisionado.
🎓 SageMaker GT
serviço de rotulagem AWS
"AWS pra montar dataset?"
Orquestra rotulagem em escala, com humanos + automação. Integra com Mechanical Turk.
👷 Mechanical Turk
força de trabalho humana
"Onde acho gente pra rotular?"
Plataforma da AWS com humanos sob demanda. Pagamento por tarefa (HIT).
🎓 Supervisionado
dados rotulados
"Como aprende?"
Com exemplos + respostas certas. Classificação, regressão.
🔍 Não-supervisionado
dados sem rótulo
"E sem rótulos?"
Descobre padrões e grupos sozinho. Clustering, anomalias.
🎮 Por reforço
recompensa por ação
"Como aprende um jogo?"
Agente tenta, erra, recebe recompensa. Maximiza ganhos no longo prazo.
🌐 Federado
treino distribuído
"E se eu não puder centralizar dados?"
Cada dispositivo treina local. Só atualizações viajam. Preserva privacidade.
🔄 Transferência
modelo pré-treinado + ajuste
"Reaproveitar conhecimento?"
Pega modelo gigante, especializa. Base dos foundation models modernos.