MLX conversion of
google/embeddinggemma-300m
for on-device transcript search on Apple Silicon. It produces the checkpoint's
own 768-dimensional sentence embeddings: prompt, bidirectional Gemma 3 encoder,
mean pooling, dense head, L2 normalization.
Exported from the upstream checkpoint at revision
57c266a740f537b4dc058e1b0cda161fd15afa75
, not from a
third-party MLX conversion.
import TextEmbedding
let embedder =tryawaitEmbeddingGemma.load(directory: bundleDirectory)
let passages = embedder.embed(documents: ["The deadline moved to March."], batchSize: 16)
let query = embedder.embed(query: "when is the deadline")
A query and the documents that answer it are embedded under different prompts,
which
embed(query:)
and
embed(documents:)
apply.
Head
: mean pooling, dense 768 → 3072 → 768, L2 normalization
Embeddings
: 768 dimensions, float32
Precision
: 8-bit, group 64
Size
: 327 MB
Context
: 512 tokens including
<bos>
and
<eos>
Prompts
:
title: none | text:
for a document,
task: search result | query:
for a query
Fidelity
Cosine against the float32 source through sentence-transformers, on
identical token ids, over 240 meeting-transcript passages and 800
utterances:
0.9989 minimum, 0.9996 mean
.
What a runtime has to match
Three details decide whether a port reproduces this model, and each was
measured against the source:
Bidirectional window 257.
Full layers see every token; sliding layers see
tokens fewer than 257 positions away, which is what transformers derives from
the stored
sliding_window: 512
for a bidirectional Gemma 3. It is written
into
config.json
as
bidirectional_window
. Using 512 fell to 0.9985 cosine
on a 294-token passage, and a causal mask scored 0.54–0.65.
Padding is masked in attention
, not only in pooling.
Norm weights include Gemma's
+1
(
norm_weights_include_offset
in
config.json
), so every norm is a plain RMSNorm.
poetry run python convert_mlx.py --output EmbeddingGemma-300M-MLX-8bit \
--bits 8
The exporter's tests hold the MLX implementation to the source checkpoint
through sentence-transformers in float32.
License
The base model is Gemma, and this is a derivative of it: use is governed by the
Gemma Terms of Use
and the
Gemma Prohibited Use Policy
,
which apply to these weights as they apply to the original. The weights are
converted and quantized; nothing else about the model is changed.
Runs of aufklarer EmbeddingGemma-300M-MLX-8bit on huggingface.co
228
Total runs
3
24-hour runs
6
3-day runs
35
7-day runs
228
30-day runs
More Information About EmbeddingGemma-300M-MLX-8bit huggingface.co Model
More EmbeddingGemma-300M-MLX-8bit license Visit here:
EmbeddingGemma-300M-MLX-8bit huggingface.co is an AI model on huggingface.co that provides EmbeddingGemma-300M-MLX-8bit's model effect (), which can be used instantly with this aufklarer EmbeddingGemma-300M-MLX-8bit model. huggingface.co supports a free trial of the EmbeddingGemma-300M-MLX-8bit model, and also provides paid use of the EmbeddingGemma-300M-MLX-8bit. Support call EmbeddingGemma-300M-MLX-8bit model through api, including Node.js, Python, http.
EmbeddingGemma-300M-MLX-8bit huggingface.co is an online trial and call api platform, which integrates EmbeddingGemma-300M-MLX-8bit's modeling effects, including api services, and provides a free online trial of EmbeddingGemma-300M-MLX-8bit, you can try EmbeddingGemma-300M-MLX-8bit online for free by clicking the link below.
aufklarer EmbeddingGemma-300M-MLX-8bit online free url in huggingface.co:
EmbeddingGemma-300M-MLX-8bit is an open source model from GitHub that offers a free installation service, and any user can find EmbeddingGemma-300M-MLX-8bit on GitHub to install. At the same time, huggingface.co provides the effect of EmbeddingGemma-300M-MLX-8bit install, users can directly use EmbeddingGemma-300M-MLX-8bit installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
EmbeddingGemma-300M-MLX-8bit install url in huggingface.co: