Guia visual do Gemma 4
(newsletter.maartengrootendorst.com)- O Gemma 4, lançado pelo Google DeepMind, é uma família de LLMs multimodais composta por 4 modelos — E2B, E4B, 31B e 26B A4B — e todas as variantes aceitam entrada de imagens
- Todos os modelos compartilham uma estrutura que intercala atenção local (sliding window) e camadas de atenção global, com a última camada sempre fixa como atenção global
- Nas camadas de atenção global, são aplicadas simultaneamente três técnicas de eficiência: GQA (Grouped Query Attention), técnica K=V e p-RoPE, reduzindo memória e computação
- Os modelos pequenos (E2B·E4B) usam Per-Layer Embeddings (PLE) para armazenar grandes tabelas de embeddings em memória flash, minimizando o uso de VRAM, e também incluem um encoder de áudio
- O Gemma 4 suporta uma ampla gama de usos, de on-device a inferência de grande porte, por meio de um encoder de visão (baseado em ViT) com suporte a proporções e resoluções variáveis e da arquitetura MoE (26B A4B)
Composição da família Gemma 4
- É composta por 4 modelos e usa dois tipos de arquitetura: dense e MoE
- Gemma 4 - E2B: aplica Per-Layer Embeddings, 2 bilhões de parâmetros efetivos
- Gemma 4 - E4B: aplica Per-Layer Embeddings, 4 bilhões de parâmetros efetivos
- Gemma 4 - 31B: modelo dense com 31 bilhões de parâmetros
- Gemma 4 - 26B A4B: modelo MoE com 26 bilhões de parâmetros no total, com apenas 4 bilhões de parâmetros ativados durante a inferência
- Todos os modelos são multimodais e podem processar imagens de vários tamanhos e resoluções
- Os modelos pequenos (E2B·E4B), além de imagem e texto, também oferecem suporte adicional a entrada de áudio
Arquitetura comum do Gemma 4
Intercalação de camadas de atenção (Interleaving Layers)
- Assim como no Gemma 3, ele intercala camadas de atenção local (sliding window) e atenção global
- Atenção sliding window: consulta apenas tokens dentro de um certo intervalo → reduz o volume de computação
- Atenção global: consulta toda a sequência → permite compreender a estrutura completa do contexto
- Tamanho da sliding window
- Modelos pequenos (E2B·E4B): 512 tokens
- Modelos grandes (26B A4B·31B): 1024 tokens
- No Gemma 3, havia casos em que a última camada era de atenção local, mas no Gemma 4 a última camada é sempre fixada como atenção global
- Proporção de intercalação
- E2B: padrão 4:1, com 4 camadas de atenção local + 1 camada de atenção global
- Demais modelos: padrão 5:1 (5 camadas locais + 1 camada global)
Eficiência da atenção global
GQA (Grouped Query Attention)
- Nas camadas de atenção global, 8 cabeças de consulta compartilham 1 cabeça KV, reduzindo drasticamente o armazenamento do cache KV
- Para compensar a possível perda de desempenho ao reduzir o número de cabeças KV, a dimensão de Key é ampliada em 2x
Técnica K=V
- Nas camadas de atenção global, Keys e Values são definidos como idênticos, reduzindo ainda mais a exigência de memória do cache KV
- É uma técnica que melhora a eficiência de memória sem grande perda de desempenho
p-RoPE
- O RoPE (Rotary Position Encoding) é aplicado não à dimensão inteira, mas apenas a parte das dimensões (se p=0.25, aplica-se apenas aos 25% superiores dos pares)
- Os pares de baixa frequência são usados para preservar informação semântica em vez de informação posicional
- É especialmente eficaz para mitigar o problema de distorção da distância entre tokens causado por contextos longos na atenção global
- Resumo de todas as melhorias aplicadas às camadas de atenção global:
- A última camada é sempre atenção global
- 1 Key compartilhada a cada 8 consultas
- Dimensão de Key ampliada em 2x
- Keys = Values
- Aplicação de p-RoPE com p=0.25
Encoder de visão
- Baseado em Vision Transformer (ViT), converte imagens em sequências de patches para gerar embeddings
- Cada patch tem tamanho de 16×16 pixels
- Os modelos pequenos (E2B·E4B) usam um encoder de visão de 150 milhões de parâmetros, enquanto os demais usam um encoder de visão de 550 milhões de parâmetros
Suporte a proporção variável
- ViTs tradicionais exigem entrada quadrada fixa → isso gera problemas porque a codificação posicional varia conforme a proporção
- O Gemma 4 introduz 2D RoPE: divide os embeddings dos patches em duas partes e codifica separadamente as informações posicionais horizontal (w) e vertical (h)
- A imagem de entrada é redimensionada de forma adaptativa para se ajustar aos patches de 16×16 pixels, e as partes que não se encaixam completamente recebem padding
- Patches de tamanho variável são agrupados com base na posição espacial para serem reduzidos a um número fixo de embeddings de patch
Suporte a resolução variável (soft token budget)
- Introduz o conceito de soft token budget: limita o número máximo de embeddings de patch enviados ao LLM
- Orçamentos selecionáveis pelo usuário: 70, 140, 280, 560, 1120 tokens
- Quanto maior o orçamento (por exemplo, 1120), maior a preservação da alta resolução; quanto menor (por exemplo, 70), mais a imagem é reduzida
- Exemplo: com orçamento 280, o número máximo de patches = 9 × 280 = 2.520 (com average pooling aplicado em blocos 3×3)
Projeção linear (Linear Projection)
- Os embeddings de saída do encoder de visão têm dimensão e distribuição diferentes dos embeddings de token do LLM, então passam por projeção com uma pequena rede neural
- Após a projeção, aplica-se RMSNorm para ajustar à escala esperada pelos blocos Transformer seguintes
- A camada de projeção linear é treinada junto com o Gemma 4 para otimizar os embeddings de patch de acordo com o espaço esperado pelo LLM
Gemma 4 - 31B (Dense)
- Modelo de arquitetura dense com 31 bilhões de parâmetros, a estrutura mais próxima do formato básico entre as variantes do Gemma 4
- Estruturalmente semelhante ao modelo 27B do Gemma 3, mas com as melhorias comuns do Gemma 4, como K=V e p-RoPE
- O número de camadas caiu de 62 para 60, mas a arquitetura passou a ter maior largura por camada
Gemma 4 - 26B A4B (Mixture of Experts)
- Tem 26 bilhões de parâmetros no total, mas durante a inferência usa apenas 4 bilhões de parâmetros (parâmetros ativos), operando em velocidade comparável à de um modelo 4B
- Estrutura MoE (Mixture of Experts): em vez de uma FFNN grande tradicional, usa várias FFNNs pequenas (Experts), ativando apenas parte delas conforme a entrada
- Entre 128 Experts no total, 8 são selecionados e ativados durante a inferência
- 1 Shared Expert fica sempre ativo: é responsável pelo processamento de conhecimento geral e tem tamanho 3x maior que os demais Experts
- O Router gera probabilidades de seleção de Expert para cada token de entrada e faz o roteamento, aplicando pesos probabilísticos aos resultados produzidos pelos Experts selecionados
- Todos os parâmetros são carregados na memória, mas no cálculo real apenas 8 Experts + 1 Shared Expert são usados → os outros 119 ficam em espera
Gemma 4 - E2B & E4B (Dense + Per-Layer Embeddings)
Per-Layer Embeddings (PLE)
- Em vez de ficar dentro do modelo, adiciona tabelas de lookup de embeddings separadas para cada camada, minimizando o uso de VRAM em dispositivos pequenos
- No E2B: tabela PLE de 262.144 tokens × 35 camadas × 256 dimensões → armazenada em memória flash
- No início da inferência, os embeddings por camada dos tokens de entrada são consultados apenas uma vez → depois não é necessário consultá-los novamente em cada camada
- Entre os blocos decoder, uma função de gating determina o peso dos embeddings, que então são projetados para o tamanho original (E2B: 256→1536, E4B: 256→2560)
- Os embeddings projetados são normalizados e somados à saída do bloco decoder anterior → o modelo pode continuar referenciando o significado dos tokens
- O “E” significa parâmetros efetivos (effective parameters), excluindo o PLE
Encoder de áudio
- Presente apenas nos modelos pequenos (E2B·E4B), sendo usado em reconhecimento automático de fala e tradução, entre outras aplicações
- 3 etapas do processamento de áudio:
- Extração de características: áudio bruto → mel-spectrogram (representação 2D de tempo × frequência)
- Agrupamento em chunks: as características mel são agrupadas em chunks para definir o ponto de partida da sequência de tokens
- Downsampling: 2 camadas convolucionais 2D encurtam o comprimento da sequência e geram soft tokens
- O encoder de áudio usa Conformer: estrutura que adiciona um módulo convolucional a um encoder Transformer padrão
- Assim como no encoder de visão, os embeddings de saída do Conformer também são convertidos para o espaço de embeddings do Gemma 4 por meio de projeção linear
Ainda não há comentários.