🔬 Research Preview · Geometria da Verdade

A Geometria do
Acerto e do Erro

Inspirado em Marks & Tegmark (COLM 2024), investigamos se LLMs representam linearmente o "saber correto" no espaço de ativações — mas aqui a pergunta é sobre agentes classificadores: existe um padrão geométrico nos neurônios que separa acertos de erros?

Acertos do agente → azul
Erros do agente → vermelho
Llama-3.2-1B
PCA de ativações por camada
Sonda linear por camada
📄 Paper de Referência
The Geometry of Truth: Emergent Linear Structure in Large Language Model Representations of True/False Datasets
Samuel Marks & Max Tegmark · COLM 2024 · MIT
O paper demonstra que LLMs representam veracidade de forma linear no espaço de ativações. Usando PCA nas ativações da última posição de token, verdadeiro e falso formam clusters separáveis por uma direção linear chamada "direção da verdade". Experimentos de patching confirmam que essa direção é causalmente responsável pelas predições.
💡 Achado central: a direção de primeiro componente principal (PC1) é altamente preditiva da veracidade de uma afirmação — mesmo treinado em apenas um dataset e generalizado para outros.
🔬 Adaptação aqui: em vez de frases verdadeiras/falsas, analisamos o estado interno do modelo quando um agente SAS + zero-shot acerta ou erra uma tarefa de classificação.
📎 Ver paper original no arXiv ↗
⚙️ Nossa Adaptação
1
Dataset de classificação: Usamos as afirmações verdadeiras/falsas dos datasets (cidades, traduções, números) como entradas para um agente SAS + zero-shot.
2
Execução do agente: O agente tenta classificar cada afirmação como verdadeira ou falsa. Registramos acertos e erros.
3
Extração de ativações: Para cada afirmação, capturamos os vetores de ativação do Llama-3.2-1B em cada camada (residual stream).
4
PCA por camada: Projetamos as ativações em 2D via PCA. Colorimos azul = acerto e vermelho = erro. Medimos separabilidade com sonda linear.
🧪 Configurar Experimento
40
8
hook real: rode na sua máquina e importe
Esta instância pública não lê ativações de modelo nenhum — ler o residual stream exige os pesos na máquina. O experimento de verdade usa TransformerLens em blocks.N.hook_resid_post, com validação cruzada:
git clone https://github.com/Carlos-Campos-39a/overthinking-machine.git
cd overthinking-machine/geometry-of-truth/experiments/sas_classifier
pip install -r requirements.txt
python experimento_multi.py
Roda em CPU (não precisa de GPU) e baixa os datasets do HuggingFace em tempo de execução. O modelo padrão é gated: ou você aceita os termos do meta-llama/Llama-3.2-1B e autentica, ou troca por um aberto — gpt2-small roda sem autenticação nenhuma. Ele grava otm_results_<dataset>_<arquitetura>.json; importe abaixo. Instruções completas ↓
O que uma probe linear mostra — e o que não mostra. Acerto alto indica que a informação está linearmente legível naquela camada. Não indica que o modelo a usa para decidir, nem estabelece causalidade. E leia sempre contra a linha de base: com poucas amostras e muitas dimensões, uma probe pontuada no próprio treino dá ~100% até em ruído puro — era o que acontecia aqui antes da validação cruzada. Marks & Tegmark, The Geometry of Truth (arXiv:2310.06824).
Selecione um ou vários arquivos de uma vez
Espaço de Ativações (PCA 2D)
Acerto
Erro

Execute o experimento para ver o espaço de ativações

🎯 Acurácia da Sonda Linear por Camada — quanto cada camada "sabe" se o agente vai acertar
🎯
Nenhum resultado ainda
Execute o experimento para ver a acurácia da sonda linear em cada camada do Llama.
geometry-of-truth · experiment runner
00:00:00 Sistema pronto. Configure o experimento e clique em Executar.