Instructions to use AtesiT/all-MiniLM-L6-v2-ru-adapted with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use AtesiT/all-MiniLM-L6-v2-ru-adapted with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("AtesiT/all-MiniLM-L6-v2-ru-adapted") sentences = [ "Это счастливый человек", "Это счастливая собака", "Это очень счастливый человек", "Сегодня солнечный день" ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [4, 4] - Notebooks
- Google Colab
- Kaggle
all-MiniLM-L6-v2-ru-adapted
Это доменно-адаптированная версия модели sentence-transformers/all-MiniLM-L6-v2, дообученная для работы с русскоязычными текстами в задаче семантического поиска.
Базовая модель обучалась только на английских данных. Данная адаптация направлена на улучшение качества получаемых эмбеддингов для русского языка с помощью дообучения на парафразах.
Описание модели
- Базовая модель: sentence-transformers/all-MiniLM-L6-v2
- Размерность эмбеддингов: 384
- Максимальная длина последовательности: 256 токенов
- Функция потерь: TripletLoss (Cosine Distance, margin=0.5)
- Датасет для дообучения: deepvk/ru-HNP (20000 примеров, якорь/позитив/негатив)
- Эпохи обучения: 3
- Batch size: 16
- Warmup steps: 100
Как использовать
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("AtesiT/all-MiniLM-L6-v2-ru-adapted")
sentences = [
"Какая столица России?",
"Москва — столица Российской Федерации",
"Кошки — популярные домашние животные"
]
embeddings = model.encode(sentences, normalize_embeddings=True)
print(embeddings.shape)
similarity = embeddings[0] @ embeddings[1].T
print("Сходство между вопросом и ответом:", similarity)
Оценка качества (базовая модель, до дообучения)
Оценка проводилась на датасете ai-forever/rubq-retrieval (1692 вопроса, 56826 документов в базе знаний) с использованием FAISS (IndexFlatIP) и метрики Recall@K.
| Метрика | Базовая модель (all-MiniLM-L6-v2) |
|---|---|
| Recall@5 | 0.0272 |
| Recall@10 | 0.0350 |
Метрики дообученной модели будут добавлены после завершения полного цикла оценки.
Кривая обучения (Training Loss)
| Step | Loss |
|---|---|
| 500 | 0.214 |
| 1000 | 0.139 |
| 1500 | 0.130 |
| 2000 | 0.117 |
| 2500 | 0.114 |
| 3000 | 0.106 |
| 3500 | 0.108 |
Ограничения
- Модель дообучалась на ограниченной выборке (20000 примеров) и небольшом числе эпох (3), что типично для образовательного проекта.
- Данные для обучения (ru-HNP, парафразы) отличаются по своей природе от задачи QA-поиска (rubq-retrieval), что ограничивает степень переноса качества между задачами (domain shift).
- Для промышленного использования рекомендуется дообучение на большем объёме данных, более близких по структуре к целевой задаче, а также подбор гиперпараметров.
Обучающий пайплайн
Модель была получена в рамках учебного задания по доменной адаптации энкодерных моделей.
Автор: AtesiT
- Downloads last month
- 38
Model tree for AtesiT/all-MiniLM-L6-v2-ru-adapted
Base model
nreimers/MiniLM-L6-H384-uncased