Views
No views yet
1import torch
2from sentence_transformers import SentenceTransformer
3from huggingface_hub import hf_hub_download
4
5# 1. Создаём архитектуру той же базовой модели на CPU
6base_model = SentenceTransformer("BAAI/bge-m3", device="cpu")
7
8# 2. Применяем ту же процедуру динамической квантизации
9quantized_model = torch.quantization.quantize_dynamic(
10 base_model, {torch.nn.Linear}, dtype=torch.qint8
11)
12
13# 3. Скачиваем и загружаем квантованные веса
14weights_path = hf_hub_download(repo_id="AtesiT/bge-m3-int8-dynamic-quantized", filename="pytorch_model_quantized.pt")
15state_dict = torch.load(weights_path, map_location="cpu")
16quantized_model.load_state_dict(state_dict)
17
18# 4. Используем как обычную SentenceTransformer-модель
19embeddings = quantized_model.encode(["Привет, мир!"], normalize_embeddings=True)
20| Метрика | Базовая модель | Квантованная модель |
|---|---|---|
| Размер (МБ) | 2182.18 | 1299.08 |
| Время инференса, 1000 текстов (сек) | 165.79 | 135.26 |
| Recall@5 | 0.7552 | см. Часть 4 |
| Recall@10 | 0.8395 | см. Часть 4 |