Instructions to use lab-ii/sakha-embed-mmbert with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use lab-ii/sakha-embed-mmbert with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("lab-ii/sakha-embed-mmbert") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
sakha-embed-mmbert
Модель эмбеддингов для якутского (саха) языка с сохранением качества на
русском и английском. Основана на jhu-clsp/mmBERT-base
(307M параметров, ModernBERT).
Обучена для кросс-язычного поиска ru↔sah, поиска параллельных предложений, классификации и кластеризации якутских текстов.
Использование
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("lab-ii/sakha-embed-mmbert")
# Русский запрос находит якутский документ
q = model.encode(["Когда основан город Якутск?"])
d = model.encode([
"Дьокуускай куорат 1632 сыллаахха тэриллибитэ.",
"Тыа хаһаайыстыбата сайдыыта.",
])
print((q @ d.T))
Пулинг — усреднение по токенам, векторы нормируются. Рабочая длина — 512 токенов (см. ограничения).
Качество
Замерено на SakhaBench v1 — собственном наборе задач для якутского (в MTEB якутского нет, в FLORES+ тоже). 2000 кандидатов на запрос.
| задача | эта модель | LaBSE | bge-m3 | multilingual-e5-base |
|---|---|---|---|---|
| bitext sah→ru, recall@10 | 72.9 | 50.5 | 34.1 | 25.5 |
| кросс-язычный ru→sah, ndcg@10 | 64.2 | 38.4 | 32.1 | 29.2 |
| поиск внутри sah, ndcg@10 | 26.5 | 10.9 | 28.8 | 15.7 |
| классификация издания | 54.3 | 48.0 | 49.4 | 51.2 |
| кластеризация, v-measure | 6.3 | 3.5 | 4.1 | 4.3 |
Русский и английский не просели относительно опорного чекпоинта: поиск на русском +2.9%, на английском +1.3%, классификация на английском −0.5%.
⚠️ Ограничения — прочитайте перед использованием в RAG
Для поиска внутри якутского используйте гибрид с BM25, а не только эмбеддинги. Обычный лексический поиск обходит все плотные модели на этой задаче — это свойство агглютинативного языка, где совпадение словоформы несёт много информации:
| метод | recall@10 | ndcg@10 |
|---|---|---|
| только эта модель | 38.0 | 26.5 |
| только BM25 | 55.1 | 43.7 |
| BM25 + 2.0×эта модель | 61.4 | 48.5 |
Модель добавляет к BM25 +6.3 пункта recall@10. Но там, где BM25 бессилен — русский запрос к якутским документам, общих слов нет — заменить её нечем.
Другие ограничения:
- Контекст фактически 512 токенов, хотя архитектура заявляет 8192. Обучение шло блоками 1024 (MLM) и 256 (контрастив), длинный контекст модель не освоила: на 1024 токенах качество падает (ndcg 20.4 → 19.4).
- Качество проверено на новостях и параллельных текстах. На разговорной речи, технических текстах и ASR-выводе не измерялось.
- Устойчивость к письму без
ҕҥөһүниже, чем у LaBSE (0.872 против 0.975). Модель училась на нормативной орфографии. - Бенчмарк собственный, с публикациями по другим языкам несопоставим.
Как обучена
- Continued pretraining (MLM) на 202 млн слов якутского из новостей, книг, FineWeb2, MADLAD и OSCAR. 15 000 шагов + отжиг, блок 1024, 60% sah / 20% ru / 20% en. Replay нужен: без него поиск на русском проседает на 20%.
- Контрастив, 8000 шагов при батче 192 на 2.48 млн пар — заголовок↔текст, внутридокументные пары, 2 млн параллельных ru↔sah, replay-пары ru/en.
- Трудные негативы, намайненные
bge-m3, отбор по рангу; 3000 шагов.
Словарь не расширялся: расширение даёт четырёхкратное сжатие якутского, но при доступном бюджете обучения стоило 3–5 пунктов на всех retrieval-задачах. Дистилляция из учителя проверена и оказалась лишней — всю работу делает replay.
Лицензия
MIT, как у базовой модели jhu-clsp/mmBERT-base.
- Downloads last month
- 6
Model tree for lab-ii/sakha-embed-mmbert
Base model
jhu-clsp/mmBERT-base