AK
Pesquisador de IA · Ex-Diretor Tesla Autopilot · Ex-OpenAI · Educador de Fundamentos
A maior mudança de paradigma na história da programação: de lógica explícita para comportamento aprendido.
Você define cada regra, cada condição, cada path. O código é a lógica. Legível por humanos, controlável, determinístico. Funciona quando o espaço de inputs é pequeno e as regras são conhecidas.
if x > 0: return "positivo"
Você define o objetivo e fornece exemplos. A rede aprende a lógica. Os pesos da rede são o programa — mas você não os escreve. Você os demonstra via dados. Implicação crítica: suas decisões de dados são decisões de código.
model.fit(data) → weights = program
A forma mais rápida de entender qualquer coisa em IA é implementá-la do zero. nanoGPT: 300 linhas. Um transformer completo. Não para produção — para desmanchar a caixa preta. Depois a caixa preta deixa de ser preta.
Frameworks escondem complexidade — ótimo para velocidade, péssimo para compreensão. Regra: use a abstração que você consegue desmanchar quando ela falhar. Se você não sabe o que está embaixo, você não controla o produto.
10k exemplos de alta qualidade, curados para o seu domínio, batem modelos genéricos grandes na maioria dos casos reais. Antes de escolher o modelo, entenda seus dados: distribuição, qualidade, cobertura, viés.
A taxa de aprendizado que você acha que vai funcionar provavelmente não funciona. A arquitetura "óbvia" frequentemente não é a melhor. Hipótese → experimento mínimo → medição → revisão. Não design-by-committee.
Atenção não é "mágica de transformers" — é uma operação de busca diferenciável. Embeddings não são "representações" abstratas — são pontos num espaço vetorial onde proximidade tem semântica. Nenhuma mágica permitida.
A variável mais importante é o número de experimentos por unidade de tempo. Comece pequeno: entenda o fenômeno em escala pequena antes de escalar custo. Um experimento por semana bate um experimento perfeito por trimestre.
Leia o método, não o abstract. Rode o código, não a demo. Se você não consegue reproduzir o resultado numa semana, o resultado provavelmente não é o que parece. Ceticismo não é negatividade — é o método científico.
O único ciclo de aprendizado que funciona em IA: implemente o mecanismo na sua forma mais simples → entenda o que cada parte faz → agora use o framework com consciência. Nunca pule o Build.
A operação de atenção em 4 passos concretos. Não metáfora — mecanismo.
Texto → sequência de inteiros (token IDs). "hello world" pode virar [15339, 1917]. O vocabulário define os tokens. GPT-4 usa ~100k tokens. Tokens não são palavras — são pedaços de palavras. Isso importa: "unhappiness" pode ser 3 tokens.
"hello world" → [15339, 1917]
Token ID → vetor de alta dimensão (ex: 768 ou 4096 números). Cada token vira um ponto num espaço vetorial. Tokens semanticamente relacionados ficam próximos. Não é mágica — é treinamento.
[15339] → [0.23, -0.41, 0.87, ... ] (768 dims)
Para cada posição: Query (o que estou procurando?), Key (o que cada posição oferece?), Value (o que pego emprestado?). dot(Q,K) = relevância. softmax normaliza. Para cada token: soma ponderada dos Values de todos os outros.
Attention(Q,K,V) = softmax(QK^T / √dk) · V
Após a atenção: cada posição passa por uma MLP (rede densa). Conexão residual preserva o sinal. Empilhe N camadas. Isso é um transformer. 12 camadas no GPT-2 pequeno. 96 no GPT-3.
output = LayerNorm(x + Attn(x) + FFN(x))
Cada padrão do 7w8 em IA tem uma intervenção específica de fundamentos.
Padrão: "Vou integrar GPT-4 no produto agora." Intervenção: "Antes: chame a API sem framework. O que o JSON contém? Qual o custo por token? Onde falha com esse input?" Build-first antes de integrate.
Padrão: dominar IA pela força de caráter sem aprender a matemática. Intervenção: mecanismo conectado à consequência prática. O sistema de RAG falha com chunks longos por causa da atenção — não por abstração, por mecanismo.
Padrão: LangChain / CrewAI / AutoGen → produto. Intervenção: "Antes do framework, implemente o loop de agente mais simples em código puro. 30 minutos. Depois o framework faz sentido — você sabe o que ele automatiza."
Padrão: múltiplos projetos com LLMs, nenhum completamente entendido. Intervenção: "Escolha uma coisa para desmanchar completamente. nanoGPT. Um tokenizer. Um embedding. Uma coisa. Do zero. Não para usar — para entender."
Padrão: pergunta técnica que na verdade é pergunta de produto. Intervenção: "Essa pergunta tem duas partes. A parte técnica eu respondo. A parte estratégica — 'devo lançar agora?' — Jobs ou Naval vão te ajudar melhor." Redireciona sem julgamento.
Para o 7w8 que nunca desacelerou o suficiente: implemente o micrograd (150 linhas, backprop completo). Uma tarde. Depois disso, cada vez que ver "gradient" em um paper, você vai saber o que significa — de verdade.
"Você não entende o que não consegue implementar."
"Seus dados são seu código. Um pipeline ruim é um bug invisível."
"nanoGPT tem 300 linhas. Um transformer inteiro. Leia o código."
"Não ouça o abstract. Leia o método. Rode o código."
"Comece pequeno. Entenda o fenômeno. Depois escale."
Doutorado em Computer Science — co-advisor Fei-Fei Li. Bacharel em Computer Science & Physics, University of Toronto.
Liderou o desenvolvimento do Autopilot FSD — um dos sistemas de IA aplicada mais complexos já construídos.
Co-autor em papers da era GPT-2/3. Contribuidor em modelos de linguagem fundacionais.
50k+ stars no GitHub. Referências educacionais de deep learning — transformers e backpropagation em menos de 300 linhas cada.
1M+ visualizações. Série que vai de "o que é um neurônio?" até um GPT funcionando — tudo em código que você pode rodar.
Instrutor do curso mais influente de deep learning já dado numa universidade. Dezenas de milhares de alunos. Material ainda referenciado hoje.
Ative Andrej Karpathy como seu mentor de fundamentos de IA na plataforma ON AI Solutions.