Arquitetura de um LLM: o transformer explicado simplement
Muito se fala em « transformer », « atenção » e « parâmetros » sem nunca explicar o que esses termos significam. Este guia abre o capô de um LLM e explica sua arquitetura com analogias simples, sem uma única equação. No final, você entenderá a arquitetura de um LLM por dentro — e principalmente por que essas escolhas de projeto determinam a VRAM que o modelo exige e a velocidade com que ele responde em sua máquina.
#Por que entender a arquitetura de um LLM
É possível rodar um LLM localmente sem saber nada sobre seu funcionamento interno — um ollama run suffit.. Mas assim que se quer escolher o modelo certo para a máquina, todos os termos técnicos se tornam obstáculos: '32 camadas', '7 bilhões de parâmetros', 'MoE 8x7B', 'atenção com 32 cabeças'. São esses números que decidem se um modelo caberá na sua placa gráfica ou sobrecarregará seu processador.
A boa notícia: a arquitetura que domina todos os LLMs atuais — o transformer — se baseia em um pequeno conjunto de ideias que podem ser explicadas sem matemática. Entender essas ideias é passar de "copio um comando sem entender" para "sei por que esse modelo precisa de 9 GB de VRAM e não de 40".
#O transformer em uma imagem
Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
Um LLM moderno é um transformer: uma máquina que recebe um texto de entrada e prevê a palavra seguinte, repetidamente. O nome vem do artigo «Attention Is All You Need» (Google, 2017), que introduziu essa arquitetura. Todos os modelos que você encontrar — Llama, Qwen, Mistral, Gemma, DeepSeek, Phi — são variantes disso.
Imagine uma linha de produção. Na entrada, sua frase cortada em pedaços. Cada posto da linha (uma "camada") aprimora a compreensão do texto, considerando o contexto. Na saída, o modelo propõe o próximo pedaço mais provável. Repete-se esse processo para cada novo pedaço gerado. Isso é tudo — o resto são detalhes sobre o que faz cada posto.
- Entrada
- Seu texto, dividido em tokens (pequenos pedaços de palavras).
- Empilhamento de camadas
- Cada camada aprimora a representação do texto. Um modelo possui dezenas de camadas.
- Atenção
- O mecanismo central de cada camada: ele faz cada palavra "olhar" para as outras.
- Saída
- Uma probabilidade para cada token possível; o modelo escolhe um, adiciona ao texto e repete.
#Das suas palavras aos tokens
Um LLM não vê letras nem palavras inteiras: vê tokens. Um token é um fragmento de texto comum — às vezes uma palavra curta inteira (« chat »), às vezes um pedaço de palavra (« anti », « constitution »), às vezes um espaço ou um sinal de pontuação. Em francês, considere aproximadamente 3 tokens para 2 palavras.
Cada token é então transformado em uma lista de números, chamada de « embedding ». É a tradução do texto para uma linguagem que a máquina consegue manipular: coordenadas em um espaço onde palavras próximas no significado estão próximas geograficamente. « Rei » e « rainha » estão próximos; « rei » e « brócolis » estão distantes.
#A atenção, o coração do transformer
A atenção é a ideia que mudou tudo. Considere a frase « O rato comeu o queijo porque ele estava com fome ». A quem se refere « ele »? Ao rato, obviamente. Para saber isso, é preciso ligar « ele » a « rato », várias palavras antes. É exatamente o que a atenção faz: para cada palavra, ela decide quais outras palavras da frase são relevantes e quanto peso dar a elas.
Analogia: em uma reunião, quando você ouve um pronome ambíguo, seu cérebro revisita o que foi dito antes para descobrir de quem se está falando. A atenção faz o mesmo, em paralelo, para todas as palavras ao mesmo tempo. Cada palavra “faz uma pergunta” (do que preciso para ser compreendida?) e “recebe respostas” das outras palavras, ponderadas pela relevância.
Fala-se frequentemente em «cabeças de atenção» (attention heads). Uma cabeça é uma forma de observar relações; ter várias (32 cabeças, 64 cabeças…) permite que o modelo acompanhe vários tipos de vínculos ao mesmo tempo — a gramática de um lado, o assunto do texto de outro e as referências temporais de outro ainda.
#Camadas empilhadas
Uma única camada de atenção compreende relações simples. O poder vem do empilhamento: a saída de uma camada se torna a entrada da seguinte. Um modelo pequeno tem cerca de vinte camadas, um modelo grande tem várias dezenas. Cada camada combina dois blocos: a atenção (que conecta as palavras entre si) e uma rede “feed-forward” (que trata cada palavra individualmente, como um minicérebro que reflete sobre o que acabou de ler).
Analogia: a leitura em múltiplos níveis. A primeira camada identifica palavras e gramática. As camadas do meio construem o significado das frases. As últimas capturam a intenção, o tom, o que deve vir a seguir. Quanto mais camadas, mais o modelo consegue raciocinar em profundidade — mas também há mais cálculos a fazer a cada token gerado.
- Bloco de atenção
- Relaciona as palavras entre si (o contexto).
- Bloco feed-forward
- Transforma cada palavra em profundidade (os “conhecimentos” do modelo).
- Número de camadas
- A "profundidade". Quanto mais camadas, mais capaz — e mais lento — é o modelo.
- Largura (dimensão oculta)
- O tamanho das listas de números. Quanto maior, mais 'largo' e pesado o modelo.
#O que são exatamente os parâmetros?
Quando você lê « 7B » ou « 70B », o B significa « bilhões » (billion em inglês) e indica o número de parâmetros. Um parâmetro é um número ajustável dentro do modelo — um dos inúmeros botões ajustados durante o treinamento. Esses botões codificam tudo o que o modelo « sabe »: gramática, fatos, estilos, raciocínios.
Analogia: imagine uma mesa de mixagem gigante com bilhões de controles deslizantes. O treinamento consiste em ajustar cada controle para que, em bilhões de exemplos de texto, o modelo preveja a próxima palavra correta. Uma vez fixados, esses ajustes são os "pesos" (weights) que você baixa quando executa ollama pull.
Quanto mais parâmetros um modelo tem, mais ele consegue memorizar e fazer distinções sutis — mas mais memória ocupa e mais lento fica, porque cada token gerado passa por todos esses parâmetros. Essa é a relação direta entre o número « 7B » e os requisitos de hardware da sua máquina.
#Denso vs MoE: duas formas de estruturar o modelo
Até aqui, descrevemos um transformer "denso": cada token percorre todos os parâmetros. Simples, mas caro — um 70B denso acessa seus 70 bilhões de parâmetros para cada palavra gerada.
A arquitetura MoE (Mixture of Experts) quebra essa regra. Em vez de um único grande bloco feed-forward por camada, ela usa vários (os “especialistas”) e ativa apenas alguns para cada token, escolhidos por um pequeno roteador (o “router”). Analogia: em vez de um clínico geral que responde a tudo, um consultório de especialistas em que você consulta apenas os dois médicos pertinentes ao seu caso.
- Dense
- Todos os parâmetros trabalham por token. Ex.: Llama 3 8B, Qwen 14B, Gemma 27B.
- MoE
- Muitos parâmetros no total, mas poucos ativos por token. Ex: Mixtral 8x7B, DeepSeek V3, Llama 4 Scout.
- Notação MoE
- « 30B-A3B » = 30 bilhões de parâmetros no total, mas apenas 3 bilhões ativos (A = ativo) por token.
A consequência é significativa para a execução local: um MoE se comporta como um modelo pequeno em termos de velocidade (poucos parâmetros ativos), mantendo ao mesmo tempo o conhecimento de um modelo grande (muitos parâmetros no total). O problema é a VRAM: é necessário carregar todos os especialistas na memória, mesmo que apenas uma fração deles seja ativada por vez.
#Por que tudo isso determina a VRAM e a velocidade
Chegamos ao ponto central na prática. Dois recursos importam na execução local: a memória (para acomodar o modelo) e a capacidade de processamento (para responder rápido). A arquitetura determina ambos.
#Memória: os pesos devem caber
Para ser rápido, um modelo deve caber inteiramente na VRAM da sua GPU (ou na memória unificada de um Mac Apple Silicon). Caso contrário, parte do modelo passa a ser executada no processador e armazenada na RAM, e a velocidade despenca. O tamanho depende do número de parâmetros e da quantização.
- 3B em Q4
- ≈ 2 GB de VRAM
- 7B em Q4
- ≈ 5 GB
- 14B em Q4
- ≈ 9 GB
- 32B em Q4
- ≈ 19 GB
- 70B em Q4
- ≈ 40 GB
Adicione a memória de contexto (o cache KV), que cresce com o comprimento do prompt. Um contexto longo pode exigir vários gigabytes adicionais — não se esqueça disso quando estiver no limite da capacidade da sua placa.
#Velocidade: quantos parâmetros ativos por token
A velocidade de geração (tokens por segundo) depende principalmente dos parâmetros realmente ativos em cada token. Por isso, um modelo 8B denso e um 30B-A3B MoE podem ter velocidades comparáveis: ambos ativam apenas cerca de 3 a 8 bilhões de parâmetros por token. O MoE exigirá apenas muito mais VRAM para acomodar todos os seus especialistas.
- RTX 3060 12 GB
- Confortável até 14B em Q4. Placa de entrada ideal.
- RTX 4070 / 4080 (12–16 GB)
- 14B com conforto, 32B em Q4 apertado na 4080.
- RTX 4090 24 GB
- 32B em Q4 com folga; 70B fora do alcance usando apenas a GPU.
- Mac M4 Pro 24–48 GB unificados
- A memória unificada atua como VRAM: até 70B em Q4 nas configurações de 48 GB.
#Ler uma ficha de modelo linha por linha
Você agora tem os conhecimentos necessários para decifrar uma ficha técnica. Vamos usar um exemplo típico, como os encontrados no Hugging Face ou na biblioteca do Ollama:
- arquitetura: decoder-only
- O padrão dos LLMs generativos: o modelo apenas prevê a continuação do texto (sem uma parte « codificador » separada).
- parameters: 14B
- 14 bilhões de parâmetros. Referência de memória: ~9 GB em Q4; é necessária pelo menos uma placa de 12 GB.
- tipo: denso
- Todos os parâmetros estão ativos em cada token. Se fosse um MoE, você veria uma notação tipo 30B-A3B.
- layers: 40
- 40 camadas empilhadas. Essa é a profundidade: quanto mais camadas, mais refinado o raciocínio e mais lento o processamento.
- attention_heads: 40
- 40 cabeças de atenção por camada — tantas formas de ligar as palavras em paralelo.
- context_length: 32768
- 32k tokens de contexto, ou seja, ~24 000 palavras. Cuidado: preencher esse contexto consome mais VRAM.
- quantization: Q4_K_M
- Precisão reduzida a ~4 bits por parâmetro. O melhor equilíbrio entre qualidade e tamanho para uso local.
- size_on_disk: 9 GB
- O que você baixa e o que precisa armazenar na memória para máxima velocidade.
Com essas sete linhas, você já pode responder à única pergunta que importa: “roda bem na minha máquina?”. Aqui: 14B em Q4 = ~9 GB de pesos + o contexto → uma RTX 3060 de 12 GB ou melhor, e o modelo roda rápido.
#Para se aprofundar
Você conhece agora a anatomia de um LLM. Três guias complementam naturalmente essas bases: o primeiro detalha a notação MoE e seu impacto concreto, o segundo explica a escolha de quantização que determina o tamanho no disco, e o terceiro retoma a janela de contexto mencionada aqui.
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.