delavalom's picture
EmbeddingGemma 2 Core ML v1.0.0
8036f0b verified
Raw History Blame Contribute Delete
2.16 kB
embeddinggemma-coreml
Copyright 2026 Delavalom
This product includes software developed by third parties:
- EmbeddingGemma 2 (google/embeddinggemma-2, revision
914f7f89142e33e77833254d9c9b90c3cef7303b), model weights, architecture and
tokenizer, by Google DeepMind, licensed under the Apache License, Version 2.0.
https://huggingface.co/google/embeddinggemma-2
The Core ML model published from this repository (EmbeddingGemma2.mlpackage)
is a modified version of those weights. Modified by Delavalom, 2026:
re-implemented in PyTorch, converted to Core ML, cast to FP16, and compressed
(int8 per-channel convolution weights, int4 per-block embedding table). The
tokenizer files are redistributed unmodified.
The upstream model card states: "Deployments must adhere to the Gemma
Prohibited Use Policy" (https://ai.google.dev/gemma/prohibited_use_policy).
- Reference code in vendor/reference/ is copied unmodified from Hugging Face
Transformers, Copyright The Hugging Face Team, licensed under the Apache
License, Version 2.0. It is kept for reading only and is never imported.
https://github.com/huggingface/transformers (see vendor/reference/SOURCE.txt
for the exact commit).
- tests/upstream.py is a modified copy of functions from the same Hugging Face
Transformers release (v5.20.2: modeling_gemma4.py,
modeling_embedding_gemma2.py, image_processing_gemma4.py), Copyright The
Hugging Face Team, licensed under the Apache License, Version 2.0. Modified by
Delavalom, 2026: the minimal functions were extracted into one test-only
module, with config lookups replaced by arguments; the maths is unchanged.
It is used only as a test oracle and is not shipped.
- tests/upstream_towers.py is a modified copy of the tower modules from the same
release (modeling_embedding_gemma2.py, modeling_gemma4.py,
image_processing_gemma4.py), Copyright The Hugging Face Team, licensed under
the Apache License, Version 2.0. Modified by Delavalom, 2026: config objects
replaced by arguments, masks built inline, no output records or kernels; the
maths is unchanged. It is used only as a test oracle and is not shipped.