Downloads · 30 days
0
VladimirRH/bge-m3-quantized-int8
bge-m3-quantized-int8 is a feature extraction model from VladimirRH. Use it when you need embeddings to search or compare text. It is set up for sentence-transformers. The card lists the license as mit.
Динамически квантованная (INT8) версия BAAI/bge-m3, полученная с помощью torch.quantization.quantizedynamic. Квантизации подвергнуты все линейные слои (torch.nn.Linear) модели, веса приведены к формату INT8.
Downloads · 30 days
0
Access
Public
Updated Jul 19, 2026
Repo size
1.4 GB
Likes
2
Public
Click a slice to open those files.
.pt1.4 GB · 100%
From the Hugging Face model README
Динамически квантованная (INT8) версия BAAI/bge-m3, полученная с помощью torch.quantization.quantize_dynamic. Квантизации подвергнуты все линейные слои (torch.nn.Linear) модели, веса приведены к формату INT8.
Модель предназначена для инференса на CPU — динамическая квантизация PyTorch не даёт выигрыша на GPU.
import torch
from sentence_transformers import SentenceTransformer
base_model = SentenceTransformer("BAAI/bge-m3")
base_model.to("cpu")
quantized_model = torch.quantization.quantize_dynamic(
base_model, {torch.nn.Linear}, dtype=torch.qint8
)
torch.save(quantized_model.state_dict(), "bge_m3_quantized.pt")
Поскольку safetensors не умеет сериализовать INT8-тензоры, в репозитории лежит только state_dict (веса), а не полноценный чекпоинт. Чтобы им воспользоваться, нужно сначала пересоздать квантованную архитектуру, а затем загрузить в неё веса:
import torch
from huggingface_hub import hf_hub_download
from sentence_transformers import SentenceTransformer
# 1. Собираем ту же квантованную архитектуру
base_model = SentenceTransformer("BAAI/bge-m3")
base_model.to("cpu")
quantized_model = torch.quantization.quantize_dynamic(
base_model, {torch.nn.Linear}, dtype=torch.qint8
)
# 2. Скачиваем и загружаем веса
weights_path = hf_hub_download(
repo_id="VladimirRH/bge-m3-quantized-int8",
filename="bge_m3_quantized.pt",
)
quantized_model.load_state_dict(torch.load(weights_path, map_location="cpu"))
quantized_model.eval()
# 3. Инференс
embeddings = quantized_model.encode(
["Пример текста для эмбеддинга"], normalize_embeddings=True
)
ai-forever/headline-classification — визуализация пространства эмбеддингов (UMAP)ai-forever/rubq-retrieval — оценка качества семантического поиска (Recall@K)| Метрика | Базовая модель (fp32) | Квантованная модель (int8) |
|---|---|---|
| Размер модели (МБ) | 2182.18 МБ | 1299.08 МБ |
| Время инференса на 1000 текстов (сек) | 169.17 сек | 138.05 сек |
Все права на исходную модель принадлежат авторам BAAI/bge-m3 и связанным с ними исследователям и организациям. При использовании этой модели, пожалуйста, указывайте оригинальных авторов.
Динамическая квантизация применена только к линейным слоям; качество и скорость на других устройствах (GPU, mobile) не гарантируются и не тестировались.