Explicação sobre o Gemma: arquitetura e roteiro do EmbeddingGemma

29 DE SETEMBRO DE 2025
Henrique Schechter Vera Research Engineer, Google DeepMind
Juyeong Ji AI DevX, Google DeepMind
Sahil Dua Lead Research Engineer, Google DeepMind

As postagens anteriores da série "Explicação sobre o Gemma" forneceram uma visão geral detalhada das arquiteturas da família de modelos Gemma. Você pode encontrar links para cada postagem abaixo:

Nesta postagem, exploramos a nova arquitetura do EmbeddingGemma e seu roteiro. Para uma introdução de nível alto, você pode ler este blog de anúncio. Para uma visão abrangente da metodologia, dos experimentos e da avaliação, consulte o relatório técnico completo. Vamos lá!

O que é o EmbeddingGemma

Você já se perguntou como os computadores são treinados para interpretar o significado e o contexto de suas palavras, frases ou até mesmo de documentos inteiros? A magia muitas vezes está em algo chamado "incorporações", que são representações numéricas que capturam a essência e o significado do texto. O EmbeddingGemma é um modelo de incorporação capaz de transformar texto em incorporações. Essas incorporações podem ser usadas para tarefas como pesquisa, geração aumentada via recuperação e compreensão.

Do Gemma para o EmbeddingGemma

O EmbeddingGemma não foi criado a partir do zero. Ele começou como um modelo Gemma 3 pré-treinado com 300 milhões de parâmetros. Ele foi, então, transformado usando o método de adaptação do T5Gemma, que converte o modelo Gemma original somente decodificador em uma arquitetura de codificador-decodificador. Em seguida, inicializamos o EmbeddingGemma a partir do codificador desse novo modelo, garantindo que ele fosse capaz de produzir representações expressivas desde o início. Essa abordagem permite que o EmbeddingGemma herde muito do "conhecimento de mundo" de seu antecessor sem precisar de treinamento adicional

training
Uma jornada de um decodificador do Gemma 3 para um poderoso incorporador de texto

Como são formadas as incorporações

Você pode usar o EmbeddingGemma para gerar incorporações usando frameworks como o Sentence Transformers. Dada uma sequência de entrada de texto, o EmbeddingGemma a processa por meio de uma série de etapas cuidadosamente projetadas para produzir uma representação vetorial concisa.

SentenceTransformer(
  (0): Transformer({'max_seq_length': 2048, 'do_lower_case': False, 'architecture': 'Gemma3TextModel'})
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Dense({'in_features': 768, 'out_features': 3072, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (3): Dense({'in_features': 3072, 'out_features': 768, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (4): Normalize()
)
Python

(0): Transformer

Uma sequência de entrada é transmitida através desse modelo transformador somente codificador. Esse transformador utiliza a atenção bidirecional para entender o significado de cada token do contexto fornecido, produzindo uma sequência de vetores com 768 dimensões, uma para cada token da sequência de entrada.

(1): Pooling

A saída do transformador é uma sequência de incorporações de tokens. A tarefa da camada pooling é converter essa sequência de comprimento variável em uma única incorporação de tamanho fixo para toda a entrada. O EmbeddingGemma está usando uma estratégia de pooling chamada "Mean Pooling". Essa é a abordagem mais comum, na qual é calculada a média de todas as incorporações de tokens.

(2): Dense

Em seguida, aplicamos uma projeção linear para escalonar a incorporação (768) até uma dimensão de incorporação maior (3072).

(3): Dense

Depois, aplicamos outra projeção linear para escalonar a incorporação com 3072 dimensões aprendida para as dimensões finais de destino (768).

(4): Normalize

Por fim, aplicamos a normalização euclidiana, habilitando comparações eficientes de similaridades. Essa é uma operação mais simples e mais barata, em comparação com o RMSNorm mais complexo existente em outros modelos Gemma.

embeddinggemma
Uma visualização do EmbeddingGemma, de como as incorporações finais são formadas a partir do texto de entrada

Como o EmbeddingGemma aprende

O EmbeddingGemma aprende a criar suas poderosas incorporações otimizando uma combinação de três funções distintas de perda ponderada durante seu treinamento.

1. Perda de NCE (Noise-Contrastive Estimation)

A perda de NCE ensina ao modelo os conceitos fundamentais de similaridade e contraste. Para cada entrada (por exemplo, uma consulta), ele aprende a:

  • Aproximar os "pares positivos": o modelo é treinado para minimizar a distância entre a consulta e sua resposta correta no espaço de incorporação.
  • Afastar ainda mais os "pares negativos": simultaneamente, ele maximiza a distância entre a consulta e as respostas incorretas a partir do mesmo lote de treinamento.

A chave é a inclusão de "negativos difíceis" (respostas semanticamente similares à consulta, mas que são incorretas ou incompletas). Ao ser treinado com esses exemplos complicados, o modelo é forçado a aprender as distinções sutis e refinadas que separam o correto do quase correto.

É como construir uma biblioteca bem organizada, na qual os itens relacionados são colocados próximos uns dos outros, enquanto os não relacionados são mantidos distantes.

2. GOR (Global Orthogonal Regularizer)

Essa perda foi projetada para incentivar o EmbeddingGemma a produzir incorporações que estão espalhadas pelo espaço de incorporação. Mesmo que o modelo tenha aprendido a separar coisas similares e não similares, ele ainda pode ficar "preguiçoso" e simplesmente empilhar todas as incorporações no mesmo cantinho.

Esse regularizador torna as incorporações robustas para quantização e permite uma pesquisa eficiente em bancos de dados vetoriais usando algoritmos de vizinho mais próximo aproximado (ANN, na sigla em inglês).

3. Geometric Embedding Distillation

Essa perda atua como uma forma de destilação de conhecimento, na qual o EmbeddingGemma aprende tendo um modelo maior e mais poderoso, o Gemini Embedding, como professor.

A perda minimiza a distância L2 (uma medida de diferença) entre as incorporações dos dois modelos de incorporação para consultas e passagens. Isso permite que o EmbeddingGemma aprenda com o modelo professor, herdando efetivamente grande parte de seus conhecimentos e capacidades.

loss
Uma visualização de três funções de perda diferentes (perda de NCE, GOR e perda de destilação) que o EmbeddingGemma usa para o treinamento

Ao combinar essas três funções de perda, o EmbeddingGemma aprende a produzir representações bem estruturadas, expressivas e robustas, habilitando um alto desempenho em tarefas de pesquisa e recuperação do mundo real.

Aprendizado de representações Matryoshka (MRL)

O MLR é uma técnica que permite aninhar representações menores e de alta qualidade dentro de uma maior. Por exemplo, mesmo que as incorporações do EmbeddingGemma tenham 768 dimensões, você pode truncar as incorporações e obter incorporações menores, com 512, 256 ou até 128 dimensões, que mantêm a alta qualidade.

Durante o treinamento, as funções de perda não são apenas aplicadas à incorporação final com 768 dimensões, mas também aos subconjuntos sobrepostos dessa incorporação (as primeiras 512, 256 e 128 dimensões). Isso garante que até mesmo uma versão truncada da incorporação inteira seja uma representação poderosa e completa.

Para você, isso significa poder escolher o compromisso certo entre desempenho e eficiência para o aplicativo sem precisar treinar nem gerenciar vários modelos. Basta selecionar o tamanho de incorporação que atende melhor às suas necessidades, desde as 768 dimensões completas, para a máxima qualidade, até tamanhos menores, para mais velocidade e custos de armazenamento reduzidos.

mrl
Uma visualização das incorporações Matryoshka, mostrando como a dimensionalidade variável influencia o compromisso entre qualidade e eficiência

Roteiro de desenvolvimento

A jornada do modelo inclui várias etapas:

  • Treinamento do codificador-decodificador: adaptação do Gemma 3 conforme descrito acima e pré-treinamento adicional nos dados do Gemma 3 com UL2.
  • Pré-ajuste: treinamento em uma combinação grande e diversificada de tarefas (resposta a perguntas, similaridade de frases, recuperação de código, pesquisa na Web) e idiomas, usando lotes maiores e pares (consulta, destino) sem negativos difíceis.
  • Ajuste: refinamento do modelo em uma combinação menor e de qualidade mais alta de conjuntos de dados específicos da tarefa, utilizando negativos difíceis e lotes menores. As taxas de combinação de tarefas são otimizadas usando a otimização Bayesiana.
  • Combinação de modelos: combinação de modelos a partir de execuções de ajuste por meio do cálculo da média de seus parâmetros para melhorar a qualidade e a robustez. O modelo final é uma média não ponderada de pontos de verificação de execuções de ajuste com várias combinações de ajuste diferentes.
  • Treinamento com reconhecimento de quantização (QAT): aplicado durante o ajuste para fornecer versões quantizadas (por exemplo, int4 por bloco e precisão mista por canal) que têm um consumo de memória reduzido, com degradação mínima da qualidade.

Com a adaptação cuidadosa de um modelo de base poderoso e seu refinamento com uma abordagem de treinamento multifacetada, a arquitetura do EmbeddingGemma foi projetada para fornecer representações de texto altamente eficazes e versáteis, adequadas a uma ampla gama de aplicativos.

Resumo

Exploramos a arquitetura do EmbeddingGemma, um modelo poderoso para geração de incorporações de texto. Conhecemos suas origens, o processo de geração de incorporações e o roteiro de desenvolvimento. Para se aprofundar em nossa metodologia de treinamento, em comparativos de mercado de avaliação e nos resultados experimentais completos, recomendamos a leitura do relatório técnico oficial.

Modelos como o EmbeddingGemma lideram o caminho para tecnologias semânticas mais eficientes e poderosas. À medida que esses modelos se tornarem mais capazes e acessíveis, podemos esperar avanços em várias áreas importantes, como geração aumentada via recuperação (RAG), IA no dispositivo e hiperpersonalização.

Encontre os pesos do modelo no Hugging Face, no Kaggle e na Vertex AI e comece a experimentar hoje mesmo.

Agradecemos a leitura!