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). Модель училась на нормативной орфографии.
  • Бенчмарк собственный, с публикациями по другим языкам несопоставим.

Как обучена

  1. Continued pretraining (MLM) на 202 млн слов якутского из новостей, книг, FineWeb2, MADLAD и OSCAR. 15 000 шагов + отжиг, блок 1024, 60% sah / 20% ru / 20% en. Replay нужен: без него поиск на русском проседает на 20%.
  2. Контрастив, 8000 шагов при батче 192 на 2.48 млн пар — заголовок↔текст, внутридокументные пары, 2 млн параллельных ru↔sah, replay-пары ru/en.
  3. Трудные негативы, намайненные bge-m3, отбор по рангу; 3000 шагов.

Словарь не расширялся: расширение даёт четырёхкратное сжатие якутского, но при доступном бюджете обучения стоило 3–5 пунктов на всех retrieval-задачах. Дистилляция из учителя проверена и оказалась лишней — всю работу делает replay.

Лицензия

MIT, как у базовой модели jhu-clsp/mmBERT-base.

Downloads last month
6
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for lab-ii/sakha-embed-mmbert

Finetuned
(145)
this model