CoolFace
Modelpublic

lab-ii/sakha-embed-mmbert

sourceHugging Facemitupdated 17d agoView on Hugging Face
0likes11downloads
Model Card

sakha-embed-mmbert

Модель эмбеддингов для якутского (саха) языка с сохранением качества на русском и английском. Основана на `jhu-clsp/mmBERT-base` (307M параметров, ModernBERT).

Обучена для кросс-язычного поиска ru↔sah, поиска параллельных предложений, классификации и кластеризации якутских текстов.

Использование

python
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 кандидатов на запрос.

задача**эта модель**LaBSEbge-m3multilingual-e5-base
bitext sah→ru, recall@1072.950.534.125.5
кросс-язычный ru→sah, ndcg@1064.238.432.129.2
поиск внутри sah, ndcg@1026.510.928.815.7
классификация издания54.348.049.451.2
кластеризация, v-measure6.33.54.14.3

Русский и английский не просели относительно опорного чекпоинта: поиск на русском +2.9%, на английском +1.3%, классификация на английском −0.5%.

⚠️ Ограничения — прочитайте перед использованием в RAG

Для поиска внутри якутского используйте гибрид с BM25, а не только эмбеддинги. Обычный лексический поиск обходит все плотные модели на этой задаче — это свойство агглютинативного языка, где совпадение словоформы несёт много информации:

методrecall@10ndcg@10
только эта модель38.026.5
только BM2555.143.7
BM25 + 2.0×эта модель61.448.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. 1.Continued pretraining (MLM) на 202 млн слов якутского из новостей, книг, FineWeb2, MADLAD и OSCAR. 15 000 шагов + отжиг, блок 1024, 60% sah / 20% ru / 20% en. Replay нужен: без него поиск на русском проседает на 20%.
  2. 2.Контрастив, 8000 шагов при батче 192 на 2.48 млн пар — заголовок↔текст, внутридокументные пары, 2 млн параллельных ru↔sah, replay-пары ru/en.
  3. 3.Трудные негативы, намайненные bge-m3, отбор по рангу; 3000 шагов.

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

Лицензия

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