- Resumo com capturas do vídeo How I use LLMs, publicado em 28/02, da aula de IA para o público geral de Andrej Karpathy, cofundador da OpenAI
- Foi produzido porque há grande valor nos diversos materiais de visualização e nos exemplos de uso real do Karpathy, então apenas um resumo em texto não transmite bem a experiência do vídeo
Existem vários tipos de LLM
O ChatGPT é o mais famoso e o que tem mais funcionalidades. Além dele, estes também são bem conhecidos
- Gemini, do Google
- Meta AI, da Meta
- Copilot, da MS
- Claude, da Anthropic
- Grok, da xAI
- Perplexity
- DeepSeek, da China
- Le Chat, da francesa Mistral
Como o ChatGPT funciona
Um LLM é parecido com um arquivo zip que comprimiu com perdas toda a documentação da internet em 1 TB. Dentro dele há uma rede neural artificial com trilhões de parâmetros, que cospe probabilisticamente o “próximo caractere”.
Esse arquivo comprimido é criado com dois grandes tipos de treinamento
Pré-treinamento: custa dezenas de milhões de dólares + leva mais de 3 meses. Como é muito caro, não pode ser feito com frequência, e por isso existe o knowledge cutoff
Pós-treinamento: ajuste fino com custo muito menor. Em vez de apenas reproduzir documentos da internet, faz o modelo agir como um Assistant que responde às perguntas do usuário
- aprendizado supervisionado com respostas-modelo (Supervised Fine-Tuning)
- aprendizado por reforço com base nas preferências humanas sobre as respostas geradas (Reinforcement Learning from Human Feedback)
- aprendizado por reforço com base em respostas ideais do Assistant para perguntas humanas (Reinforcement Learning on Conversation)
Quando o usuário cria uma nova sessão no ChatGPT e envia uma mensagem, ela é tokenizada e entra como input no modelo, e a partir disso o LLM gera o próximo token. E toda essa conversa (a entrada do usuário e a saída do ChatGPT) fica armazenada dentro da Context Window.
A Context Window é parecida com a memória de trabalho humana (Working Memory) e, como nos humanos, também tem limites. Quanto mais longa ela fica, maior a chance de fornecer informações imprecisas, e gerar a próxima resposta também fica um pouco mais caro (= mais lento).
Por isso, a menos que seja realmente necessário, manter uma sessão por muito tempo não é uma escolha tão boa
Quando usar um modelo com 'Thinking'
É um modelo que recebeu, além do pré e pós-treinamento de um LLM tradicional, reforço adicional para responder problemas complexos de STEM (ciência, tecnologia, engenharia e matemática) por meio de um longo processo de raciocínio
Como ele “pensa” gerando vários tokens, custa mais e leva mais tempo, mas em compensação a precisão das respostas para problemas complexos sobe bastante
Vale notar que um modelo que “pensa” não necessariamente resolve o problema com precisão, e, ao contrário, um modelo sem “thinking” também pode acertar. (No problema complexo de debug proposto por Karpathy, todos os modelos com thinking acertaram e o ChatGPT-4o falhou, mas Sonnet 3.5, Gemini 2.0 Pro e Grok 3 também acertaram sem Thinking.)
Karpathy diz que primeiro testa com um modelo non-thinking, que responde mais rápido, e só usa Thinking se a resposta parecer suspeita
Ferramentas que ajudam os LLMs
Busca na internet
Há modelos que conseguem pesquisar na internet e outros que não. (Mesmo quando não é literalmente busca) sempre precisamos saber do que o modelo é capaz antes de usá-lo
A busca é necessária, no nível mais básico, porque por causa do Knowledge Cutoff o modelo não consegue responder com dados recentes. Nos primeiros tempos do ChatGPT isso não existia, e a Perplexity abriu esse caminho e atraiu muitos usuários
Dependendo da consulta do usuário, o modelo decide que “isso precisa ser pesquisado”, faz a busca na internet, tokeniza os resultados e responde com esse material inserido na Context Window. (Em alguns casos pode ser necessário pedir explicitamente que ele pesquise.)
Hoje em dia Karpathy pergunta muita coisa à Perplexity no lugar de “dar um Google”. Ele criou o hábito de pensar “esse tipo de informação eu devo perguntar à Perplexity”
- parece algo que eu descobriria clicando em alguns links do topo do Google (a bolsa abre hoje?, quando foi filmada a 3ª temporada de White Lotus?, etc.)
- a informação muda o tempo todo e eu preciso da versão mais atualizada (a Vercel oferece suporte a PostgreSQL?, o que os participantes da 4ª temporada de Single’s Inferno estão fazendo hoje?, etc.)
Deep Research
Em termos simples, é busca na internet + Thinking. Em casos longos, pode passar dezenas de minutos pesquisando e depois organizar essas informações com Thinking para gerar um relatório.
Uma característica do Deep Research do ChatGPT é que, para fazer um relatório melhor, ele pergunta primeiro qual é a intenção de quem perguntou e em que pontos deve focar. A Perplexity também tem Deep Research, e o Grok3 tem “Deep Search”. Cada um difere em velocidade e qualidade.
Assim como na busca na internet, aqui também é preciso lembrar que a resposta pode não estar correta. Talvez seja necessário verificar as fontes diretamente, mas ainda assim é “um rascunho extremamente útil”
Karpathy já fez cerca de 20 Deep Researches e achou a resposta do ChatGPT a melhor, por ser a mais longa em termos de informação útil. Alguns temas que ele testou:
- entender um ingrediente específico de suplementos alimentares
- entre Brave Browser e Arc Browser, qual é melhor em segurança e privacidade
- quais são as tecnologias mais recentes para aumentar a expectativa de vida de camundongos? Que tipos de intervenção já foram tentados? Venho da área de ML e estou acostumado a definir e melhorar métricas de avaliação. A longevidade de camundongos também é avaliada assim?
- faça uma tabela com todos os grandes laboratórios de pesquisa em LLM nos EUA. Quando foram criados, quantas pessoas trabalham neles e se conseguiram bom financiamento.
Code Interpreter
O LLM escreve código, executa esse código e depois usa o resultado na resposta, inserindo-o no contexto. Há Python e também JavaScript. Se bem usado, é extremamente poderoso. É como ter um júnior esperto à disposição
- análise de dados com ChatGPT 4o
- criar com Claude um app de flashcards que resume o conteúdo de livros
- criar com Claude diagramas Mermaid que visualizam o conteúdo de livros
- criar um jogo da velha no Cursor e melhorar o jogo adicionando efeitos de vitória só conversando por chat
Modalidade
Não é só texto: também dá para interagir com LLMs por áudio, imagem e vídeo
Entrada e saída de áudio
Para entrada de áudio, Karpathy usa apps de ditado no Mac como SuperWhisper, WisprFlow, MacWhisper. Segundo ele, hoje cerca de metade do que antes digitava agora fala
A saída de áudio em geral é oferecida dentro do próprio app. Também dá para fazer ditado da tela
Mas isso, no fundo, ainda é troca via texto. Como é preciso fazer Speech-to-Text e depois Text-to-Speech, acaba sendo mais lento.
Também é possível interagir com o LLM realmente só por áudio. A informação sonora é tokenizada. Karpathy chama isso de True Audio, e no ChatGPT isso se chama Advanced Voice Mode.
- vídeo de demonstração da conversa em que ele faz o modelo falar com vários sotaques e velocidades e até imitar sons de animais
O Grok3 também oferece Advanced Voice Mode no app mobile. Como tem vários modos sem filtro, como modo sexy e modo com palavrões, em certo sentido ele pode ser ainda mais divertido e interessante
- vídeo de demonstração da conversa do Karpathy com o Grok3 aqui
No NotebookLM também é possível fazer upload de arquivos, analisá-los e, com base nisso, gerar um podcast com vários apresentadores falando com voz natural. Também dá para intervir no meio e fazer perguntas livremente (Interactive Mode).
- Karpathy costumava ouvir podcasts gerados assim sobre áreas em que ele não tem tanta especialização, mas tem curiosidade. Ele até publicou no Spotify esses podcasts que criou, com o nome Histories of Mysteris
Entrada e saída de imagem
Karpathy tem o hábito de, ao usar OCR, sempre confirmar primeiro se o modelo leu corretamente antes de perguntar sobre o conteúdo. Isso porque sempre existe a possibilidade de ter lido algo errado.
Exemplos reais de uso: conferir os nutrientes de suplementos alimentares, exame de sangue e interpretação, obter uma versão em LaTeX de fórmulas, interpretar memes etc.
A saída de imagem é feita com DALL·E, IdeoGram etc. Geração de imagem não é uma função embutida no LLM em si; ele só envia o prompt a um modelo separado e depois traz de volta a imagem gerada.
Entrada e saída de vídeo
Como no áudio, também é possível usar Advanced Voice + Video como entrada para receber respostas. Isso é possível no app mobile. Em vez de o LLM realmente receber o vídeo inteiro como input, provavelmente ele pega frames em intervalos e os converte em entrada de imagem
Karpathy não usa isso com frequência, mas acha bom porque até pessoas sem background técnico, como a geração dos pais dele, conseguem fazer perguntas e receber respostas imediatamente
Para saída de vídeo, existem vários modelos, incluindo o Sora. Karpathy sente que, no momento, o Google Veo 2 é o mais realista
Recursos adicionais
Memória
- durante a conversa com o usuário, coisas do tipo “isso vale a pena guardar para responder melhor depois”, ou o que o usuário pedir explicitamente para lembrar, ficam salvas com a mensagem Memory Updated
= dá para pensar nisso como algo que entra na Context Window toda vez que se inicia um novo chat. Também é possível ver e gerenciar a lista completa
Customize
- se você deixar salvo como o modelo deve chamar o usuário, com o que ele trabalha, como deve responder etc., isso também entra na context window enquanto ele responde
- Karpathy está fazendo experimentos incluindo informações relacionadas ao fato de estar aprendendo coreano atualmente
Custom GPTs
Karpathy criou e usa vários GPTs para estudar coreano. Com prompts simples e few-shot.
Korean Vocabulary Extractor: divide frases em coreano e extrai os termos
Korean Detailed Translator: parecido com o anterior, mas traduz fazendo correspondência palavra por palavra
KoreanCap: você envia uma captura de imagem, ele faz OCR, traduz e ainda separa as palavras incluindo a pronúncia
3 comentários
> “Cuspir o ‘próximo caractere’ probabilisticamente”
Acho difícil existir uma explicação mais apropriada do que essa.
É interessante estar estudando coreano.
https://youtube.com/watch/… Assista com legendas