📄 Paper de Referência
The Geometry of Truth: Emergent Linear Structure in Large Language Model Representations of True/False Datasets
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.