/ Модель

Характеристики

Контекст
2 048 токенов
Параметры
210 млн
Лицензия
Apache 2.0
Архитектура
gemma3_text · dense
Опубликована
22 дек 2025

embeddinggemma-300m-distilled-depth10pct-10-768dim-best

ЭмбеддингиТекст → embedding9 профессий

Сжатая версия EmbeddingGemma-300M для создания текстовых эмбеддингов, семантического поиска и сравнения предложений.

126скачиваний за 30 дней2лайкавеса обновлены22 дек 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Pieces представила сжатую версию модели эмбеддингов Google EmbeddingGemma-300M для поиска и сравнения текстов. Модель предназначена для получения векторных представлений, семантического поиска и retrieval-сценариев; в каталоге также указана поддержка оценки сходства предложений.

Модель основана на Gemma 3 Text и сокращена с 24 до 2 слоёв трансформера; ширина эмбеддинга уменьшена с 768 до 76 и восстановлена до выходного размера 768. В README заявлено около 33 млн параметров и ускорение вывода за счёт сокращения числа слоёв, тогда как метаданные указывают 209,8 млн параметров. Контекст составляет 2048 токенов. Данные не уточняют поддерживаемые естественные языки.

Модель подходит для индексации текстов и поиска близких по смыслу фрагментов при ограниченных ресурсах. README характеризует качество как приемлемое, но не приводит результатов сравнительных тестов; сильное сжатие может снижать качество относительно исходной модели. Лицензия — Apache 2.0.

Сценарии применения

  • построение векторного индекса текстовых документов
  • семантический поиск по базе знаний
  • поиск релевантных фрагментов для RAG
  • сравнение сходства предложений
  • поиск похожих текстов при ограниченных ресурсах

Ограничения

Сжатие до двух слоёв и уменьшение ширины эмбеддинга могут снизить качество относительно исходной модели; README не приводит сравнительных метрик. README указывает около 33 млн параметров, тогда как метаданные — 209,8 млн.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

EmbeddingGemma-300M: Depth + Embedding Width Compressed

This is a compressed version of google/embeddinggemma-300m with 10x depth reduction (24 → 2 layers) and 10x embedding width reduction (768 → 76 → 768).

Model Details

  • Base Model: google/embeddinggemma-300m
  • Compression:
    • Depth reduction: 10x (24 layers → 2 layers)
    • Embedding width reduction: 10x (768 → 76 → 768)
  • Parameters: ~33M (down from ~300M)
  • Output Dimension: 768
  • Compression Ratio: ~9x

Installation

pip install torch sentence-transformers transformers

Usage

Simple Usage with SentenceTransformers (Recommended)

The easiest way to use this model is with the sentence-transformers library:

from sentence_transformers import SentenceTransformer
import torch

# Load the model
model = SentenceTransformer(
    "Pieces/embeddinggemma-300m-distilled-depth10pct-10-768dim-best",
    device="cuda" if torch.cuda.is_available() else "cpu"
)

# Encode texts
texts = ["Hello world", "This is a test"]
embeddings = model.encode(texts, convert_to_tensor=True)

print(f"Embeddings shape: {embeddings.shape}")
# Output: torch.Size([2, 768])

Advanced Usage (Full Model Access)

If you need access to the full model structure:

import torch
from pathlib import Path
import sys

# Add parent directory to path for imports
sys.path.insert(0, str(Path(__file__).parent.parent))

from playground.validate_from_checkpoint import load_trained_model
from tags_model.training.train_distillation import _get_transformer_layers

# Load the model
model, config = load_trained_model(
    checkpoint_path="Pieces/embeddinggemma-300m-distilled-depth10pct-10-768dim-best",
    device="cuda" if torch.cuda.is_available() else "cpu",
    compile_model=False,
)

# Verify structure
transformer = model.backbone.transformer
layers = _get_transformer_layers(transformer)
layer_count = len(layers) if layers else 0
total_params = sum(p.numel() for p in model.parameters())

print(f"Model structure:")
print(f"  - Layers: {layer_count}")
print(f"  - Parameters: {total_params:,}")

# Encode texts
model.eval()
with torch.no_grad():
    texts = ["Hello world", "This is a test"]
    
    # Handle Identity projection (when output_dim == embedding_dim)
    if hasattr(model.backbone, 'projection'):
        proj = model.backbone.projection
        is_identity = (
            isinstance(proj, torch.nn.Identity) or
            'Identity' in proj.__class__.__name__
        )
        
        if is_identity:
            # Identity projection - encode directly from transformer
            embeddings = model.backbone.transformer.encode_texts(
                texts, max_length=512, return_dict=False
            )
        else:
            # Use standard encode_texts which handles projection
            embeddings = model.backbone.encode_texts(
                texts, max_length=512, return_dict=False
            )
    else:
        embeddings = model.backbone.encode_texts(
            texts, max_length=512, return_dict=False
        )

print(f"Embeddings shape: {embeddings.shape}")

Query-Tag Retrieval Example

from sentence_transformers import SentenceTransformer
import torch
from typing import List

# Load model
model = SentenceTransformer(
    "Pieces/embeddinggemma-300m-distilled-depth10pct-10-768dim-best"
)

def compute_similarities(query_embeddings, tag_embeddings):
    """Compute cosine similarities between queries and tags."""
    query_norm = query_embeddings / (query_embeddings.norm(dim=1, keepdim=True) + 1e-8)
    tag_norm = tag_embeddings / (tag_embeddings.norm(dim=1, keepdim=True) + 1e-8)
    return torch.mm(query_norm, tag_norm.t())

# Example queries and tags
queries = [
    "How to implement authentication in a web application?",
    "What are the best practices for database optimization?",
]

tags = [
    "authentication", "security", "web-development",
    "database", "sql", "performance", "optimization",
    "machine-learning", "deployment", "production",
]

# Encode queries and tags
query_embeddings = model.encode(queries, convert_to_tensor=True)
tag_embeddings = model.encode(tags, convert_to_tensor=True)

# Compute similarities
similarities = compute_similarities(query_embeddings, tag_embeddings)

# Get top tags for each query
for query_idx, query in enumerate(queries):
    top_k = 3
    top_similarities, top_indices = torch.topk(
        similarities[query_idx], k=top_k, dim=0
    )
    
    print(f"\nQuery: {query}")
    for rank, (tag_idx, sim) in enumerate(
        zip(top_indices.cpu().tolist(), top_similarities.cpu().tolist()), start=1
    ):
        print(f"  {rank}. {tags[tag_idx]} (similarity: {sim:.4f})")

See usage_example.py in this repository for a complete standalone example.

Model Architecture

  • Transformer Layers: 2 (pruned from 24, keeping last 2 layers)
  • Hidden Size: 768
  • Embedding Width Reduction: Enabled (768 → 76 → 768)
  • Output Dimension: 768

Performance

This compressed model maintains reasonable performance while being significantly smaller:

  • Parameters: 33M (vs 300M original)
  • Memory: ~132MB (vs ~1.2GB original)
  • Speed: Faster inference due to fewer layers

Citation

If you use this model, please cite:

@misc{embeddinggemma-compressed-depth-emb,
  title={EmbeddingGemma-300M: Depth + Embedding Width Compressed},
  author={Pieces},
  year={2024},
  url={https://huggingface.co/Pieces/embeddinggemma-300m-distilled-depth10pct-10-768dim-best}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
Gemma3TextModel
Ревизия весов
4869609

0 моделей