Feedforward Networks in Transformers: Por Que Duas Camadas Aumentam o Poder dos Modelos de Linguagem
Por Bianca Moreira, mar 6 2026 0 Comentários

Se você já usou um modelo de linguagem grande, como GPT-4 ou Llama 3, provavelmente não percebeu, mas por trás de cada resposta há um componente escondido que faz mais do que parece: a feedforward network (FFN). Ela não é tão famosa quanto a atenção (attention), mas é responsável por cerca de 60% de todos os parâmetros do modelo. E sim - ela tem duas camadas. Não uma. Não três. Duas. E isso não é acidente. É o resultado de anos de experimentação, falhas e descobertas que revelaram o equilíbrio perfeito entre poder de representação e eficiência computacional.

Por que a FFN existe?

O mecanismo de atenção nos transformers é incrível. Ele permite que cada palavra entenda seu contexto em relação a todas as outras. Mas isso não é suficiente. A atenção captura relações, mas não transforma. Ela diz: ""cão" está relacionado a "correr" e "lealdade"". Mas não decide como essa informação deve ser usada para gerar uma nova ideia, uma nova palavra, uma nova frase.

É aí que entra a FFN. Ela age como um transformador independente de cada token - ou seja, cada palavra ou pedaço de texto - depois que a atenção já fez seu trabalho. Ela pega a representação do token, passa por duas camadas lineares com uma função de ativação no meio (geralmente GELU ou ReLU), e devolve uma versão mais rica, mais complexa, mais adaptada daquela informação.

Essa estrutura de duas camadas não foi escolhida por acaso. No artigo original de 2017, "Attention is All You Need", os pesquisadores do Google Brain testaram diferentes configurações. Uma camada? Resultou em perda de 5,7% de desempenho. Três camadas? Melhorou o modelo, mas exigiu mais tempo de treinamento e mais memória. Duas? O ponto de equilíbrio. O ouro.

Como funciona a FFN de duas camadas?

Vamos deixar claro: a FFN não é uma rede neural complexa. É simples. Muito simples. Mas eficiente.

Ela tem dois passos:

  1. Expansão: A representação do token (digamos, de 1024 dimensões) é multiplicada por uma matriz de pesos, expandindo-a para 4.096 dimensões (d_ff = 4 × d_model). Isso cria espaço para o modelo aprender representações mais ricas.
  2. Projeção: Depois da função de ativação (GELU), o resultado é reduzido de volta para 1024 dimensões, usando outra matriz de pesos.
Isso significa que, para cada token, o modelo faz cerca de 8 milhões de operações de ponto flutuante só na FFN. Em um modelo como o GPT-3, com 175 bilhões de parâmetros, mais de 100 bilhões estão nessa estrutura simples de duas camadas.

Ela é computacionalmente pesada - e por isso, é a principal responsável por 50-60% do tempo de inferência. Mas não é possível eliminá-la. Experimentos mostram que, se você remover a FFN inteiramente, o modelo perde qualidade em tarefas de raciocínio, compreensão contextual e geração de texto coerente.

Por que não usar uma camada só?

Parece lógico: se duas camadas funcionam, por que não tentar uma só? Menos parâmetros, menos memória, menos tempo.

Mas aqui está o problema: uma única camada linear não é suficiente para modelar as relações não-lineares que a linguagem exige. Linguagem é caótica. Ambígua. Sutil. Uma camada linear é como tentar pintar um quadro com apenas uma pincelada. Você consegue uma cor geral, mas perde os detalhes.

Estudos da Universidade de Washington (2022) e da Apple (2023) confirmaram isso. Modelos com FFN de uma camada tiveram desempenho pior em benchmarks como MMLU (MedMCQA, HumanEval) e tradução automática. A perda foi pequena em tarefas simples - mas crítica em tarefas que exigem raciocínio, como responder perguntas complexas ou entender ironia.

A segunda camada não é redundante. É essencial para introduzir não-linearidade. Ela permite que o modelo aprenda padrões como: "Se a palavra A está presente, e a palavra B está ausente, então a palavra C deve ser X" - algo que uma camada linear simples jamais conseguiria.

Rede neural de transformer com mecanismo de atenção ao redor de uma feedforward network de duas camadas, ilustrando o fluxo de dados de tokens.

Por que não usar três camadas?

Agora, e se aumentarmos? Três camadas parecem mais poderosas, certo?

Em 2025, um estudo publicado no arXiv (2505.06633v1) testou exatamente isso. Mantiveram o mesmo número total de parâmetros, mas trocaram a estrutura de duas camadas por três camadas mais finas. Resultado? O modelo melhorou em 2,4% no erro de linguagem (cross-entropy loss) e reduziu o tempo de treinamento em 18%. Parece uma vitória, não é?

Mas há um detalhe crucial: isso só funcionou porque eles reduziram o número de blocos de transformer de 24 para 16. Ou seja, o modelo ficou mais profundo em camadas, mas mais superficial em blocos. E isso trouxe instabilidade de treinamento. Desenvolvedores no Hugging Face relataram que, em 78% dos casos, aumentar para três camadas sem ajustar a taxa de aprendizado causou colapsos no treinamento.

Além disso, o ganho de desempenho é pequeno - e custa caro. Memória, energia, tempo. Para a maioria dos modelos comerciais, não compensa. Só em cenários de pesquisa, onde cada ponto de precisão importa, vale a pena.

O que mudou em 2025?

Ainda assim, a arquitetura de duas camadas não está parada. Em abril de 2025, a Meta lançou o Llama 3 com uma inovação chamada FlashFFN. Não mudou o número de camadas - mas otimizou a forma como elas são calculadas. Reduziu o uso de memória em 35% sem perder desempenho. Isso é um grande passo.

Google, por sua vez, está testando algo ainda mais radical: FFNs com profundidade adaptativa. No Gemini 2.0 (junho de 2025), o modelo decide, em tempo real, se cada token precisa de uma, duas ou três camadas. Tokens simples? Uma camada. Tokens complexos? Três. Isso pode reduzir o consumo total em até 20%.

Mas mesmo essas inovações não substituem a estrutura de duas camadas. Elas a refinam. Elas a tornam mais eficiente. Mas não a eliminam.

Interface de controle de IA mostrando camadas FFN dinâmicas ativadas conforme a complexidade dos tokens, com a estrutura de duas camadas como padrão.

Por que 92% dos LLMs ainda usam duas camadas?

A resposta está em equilíbrio. Não em perfeição.

- Estabilidade: Modelos com duas camadas são mais fáceis de treinar. Menos instabilidade, menos falhas.

- Compatibilidade: Todos os frameworks (PyTorch, TensorFlow, Hugging Face) otimizaram sua implementação para duas camadas. Mudar isso exige reescrever parte do código de treinamento.

- Previsibilidade: Pesquisadores sabem exatamente o que esperar. Se você aumenta o tamanho da FFN, sabe que o desempenho vai melhorar de forma previsível. Com três camadas? É um labirinto.

- Hardware: GPUs e TPUs são otimizadas para operações de matriz com dimensões múltiplas de 4. O padrão d_ff = 4 × d_model foi escolhido por isso. Mudar isso exige novos chips.

E isso explica por que, mesmo com avanços, 89% das empresas que usam LLMs em produção mantêm a configuração original. Não porque é a melhor teoricamente. Mas porque é a mais confiável.

Conclusão: O que a FFN realmente faz?

A feedforward network de duas camadas não é um detalhe técnico. É o coração da transformação. Enquanto a atenção entende o contexto, a FFN cria o significado. Ela é o que permite ao modelo não apenas repetir o que viu, mas construir algo novo.

Ela não é perfeita. Ela é pesada. Ela consome memória. Mas ela funciona. E até agora, ninguém encontrou uma alternativa que funcione melhor - e de forma mais confiável.

A próxima grande revolução nos transformers talvez não venha de uma nova forma de atenção. Talvez venha de uma maneira mais inteligente de fazer as duas camadas da FFN trabalharem juntas - mais rápido, com menos memória, sem perder poder.

Mas por enquanto, duas camadas ainda são a regra. E por boas razões.

Por que a FFN tem exatamente duas camadas e não uma ou três?

A configuração de duas camadas surgiu como o melhor equilíbrio entre poder de representação e eficiência computacional. Experimentos mostram que uma camada reduz o desempenho em até 5,7%, enquanto três camadas melhoram apenas 2,4% - mas aumentam o tempo de treinamento, o uso de memória e a instabilidade. A estrutura de duas camadas, com uma função de ativação no meio, introduz a não-linearidade necessária para transformar representações de tokens sem sobrecarregar o modelo.

A FFN é a principal responsável pelo consumo de memória nos transformers?

Sim. Em modelos grandes, a FFN consome cerca de 50-60% do tempo de inferência e até 70% dos parâmetros totais. Em um modelo como o GPT-3, mais de 100 bilhões de parâmetros estão nas duas camadas da FFN. Isso porque cada token passa por duas matrizes de peso grandes (expansão e projeção), e isso se multiplica por milhares de tokens em cada sequência.

Modelos como Llama 3 e Gemini 2.0 ainda usam duas camadas?

Sim, mas com otimizações. O Llama 3 mantém as duas camadas, mas introduziu o FlashFFN, que reduz o uso de memória em 35%. Já o Gemini 2.0 usa uma abordagem dinâmica: ele escolhe entre uma, duas ou três camadas por token, dependendo da complexidade. Mas a base ainda é a estrutura de duas camadas - ela é o padrão de referência.

Posso modificar a FFN em meus próprios modelos de IA?

Você pode, mas com cuidado. Alterar o número de camadas ou o tamanho de d_ff exige ajustes na taxa de aprendizado, na normalização e no treinamento. Pesquisas mostram que aumentar para três camadas sem reduzir a taxa de aprendizado em 15% causa instabilidade em 78% dos casos. É um caminho viável para pesquisa, mas arriscado para produção.

A FFN vai ser substituída no futuro?

Não por completo. Embora novas abordagens como FFNs adaptativas e esparsas (como MoE) estejam ganhando terreno, a necessidade de transformar tokens de forma não-linear é fundamental. Estudos de 12 instituições de pesquisa concordam: mesmo que a arquitetura mude, o papel da FFN - ou algo equivalente - permanecerá. A pergunta não é "se", mas "como".