Skip to content

Add EmbeddingGemma 2 text encoder support to gemma.cpp. - #1082

Open
copybara-service[bot] wants to merge 1 commit into
devfrom
test_1018187738
Open

copybara-service[bot] wants to merge 1 commit into
devfrom
test_1018187738

Conversation

@copybara-service

@copybara-service copybara-service Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Add EmbeddingGemma 2 text encoder support to gemma.cpp.

Embedding inference in gemma.cpp previously lacked open-weights model configurations, table-less per-layer embeddings (PLE), and Safetensors checkpoint conversion.

Add Model::EMBEDDING_GEMMA2_LM (24-layer 5:1 local/global bidirectional attention, table-less PLE, and a 768D Matryoshka projection head), expose Gemma::ComputeEmbedding, Gemma::ComputeEmbeddings, EmbeddingsWorkspace, and --embed_dim in the public C++ API and CLI, enable batched PLE in ComputeEmbeddings, and extend convert_from_safetensors.py to export embeddinggemma2-lm-* checkpoints.

@google-cla

google-cla Bot commented Nov 10, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Embedding inference in gemma.cpp previously lacked open-weights model configurations, table-less per-layer embeddings (PLE), and Safetensors checkpoint conversion.

Add `Model::EMBEDDING_GEMMA2_LM` (24-layer 5:1 local/global bidirectional attention, table-less PLE, and a 768D Matryoshka projection head), expose `Gemma::ComputeEmbedding`, `Gemma::ComputeEmbeddings`, `EmbeddingsWorkspace`, and `--embed_dim` in the public C++ API and CLI, enable batched PLE in `ComputeEmbeddings`, and extend `convert_from_safetensors.py` to export `embeddinggemma2-lm-*` checkpoints.

PiperOrigin-RevId: 1018187738
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants