Instructions to use lab-ii/translategemma-12b-it-sah with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use lab-ii/translategemma-12b-it-sah with Transformers:
# Use a pipeline as a high-level helper # Warning: Pipeline type "translation" is no longer supported in transformers v5. # You must load the model directly (see below) or downgrade to v4.x with: # 'pip install "transformers<5.0.0' from transformers import pipeline pipe = pipeline("translation", model="lab-ii/translategemma-12b-it-sah")# Load model directly from transformers import AutoProcessor, AutoModelForImageTextToText processor = AutoProcessor.from_pretrained("lab-ii/translategemma-12b-it-sah") model = AutoModelForImageTextToText.from_pretrained("lab-ii/translategemma-12b-it-sah") - Notebooks
- Google Colab
- Kaggle
TranslateGemma-12B-IT-sah
Двунаправленный переводчик якутский (саха, sah) ↔ русский (ru) на базе
TranslateGemma-12B-IT.
Якутский — тюркский язык Сибири, не покрытый ни базовой TranslateGemma (55 языков), ни NLLB-200, ни FLORES-200. Эта модель добавляет якутский к Gemma 3 через дообучение на 121 376 реальных пар + self-back-translation
- forward-translation.
Метрики
Out-of-domain (OPUS Tatoeba sah-ru, 994 пары, разговорный домен):
| Направление | chrF++ | BLEU (sacrebleu, 13a) |
|---|---|---|
| ru → sah | 38.99 | 12.76 |
| sah → ru | 33.85 | 15.26 |
In-domain (held-out из train, литературный домен, 1000 пар):
| Направление | chrF++ | BLEU (sacrebleu, 13a) |
|---|---|---|
| ru → sah | 45.21 | 16.97 |
| sah → ru | 43.41 | 21.38 |
Использование
⚠️ Модель использует свой prompt-формат (Gemma-3 chat), а не родной
TranslateGemma chat-template — тот валидирует языковые коды и sah отвергает.
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "lab-ii/translategemma-12b-it-sah"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id, dtype=torch.bfloat16, device_map="auto")
INSTR = {
("ru", "sah"): "Translate the following text from Russian to Yakut (Sakha).",
("sah", "ru"): "Translate the following text from Yakut (Sakha) to Russian.",
}
def translate(text, src="ru", tgt="sah"):
prompt = (f"<start_of_turn>user\n{INSTR[(src, tgt)]}\n\n{text}"
f"<end_of_turn>\n<start_of_turn>model\n")
inp = tok(prompt, return_tensors="pt", add_special_tokens=True).to(model.device)
out = model.generate(**inp, max_new_tokens=256, do_sample=False,
pad_token_id=tok.pad_token_id)
return tok.decode(out[0][inp.input_ids.shape[1]:],
skip_special_tokens=True).strip()
print(translate("Привет, как дела?", "ru", "sah"))
print(translate("Дорообо!", "sah", "ru"))
Тренировка
- База:
google/translategemma-12b-it(Gemma 3 12B IT, доученная Google под перевод, январь 2026) - Метод: LoRA (r=32, α=64) SFT в bf16 на всех проекциях; затем
merge_and_unload - Эпохи / эфф. батч: 2 / 32 (per-device 16 × grad-accum 2)
- Оптимизатор: Adafactor, lr 1e-4, cosine, warmup 3%, gradient checkpointing
- Токенизатор: не расширяли — byte-fallback Gemma 3 SPM покрывает якутскую кириллицу (включая ҥ ҕ һ ө ү) без потерь; расширение vocab по LLaMAX-исследованию ухудшает MT
Данные
| Источник | Размер | Роль |
|---|---|---|
| ailabykt/sakha-russian-parallel | 121 376 пар | реальный train (обе стороны) |
Leipzig sah_wikipedia_2021 + Glot500 sah_Cyrl |
329 063 предложений | якутский монолингв для self-BT |
| OPUS OpenSubtitles2018 (ru) | 200 000 предложений | русский монолингв (конверсационный) для FT |
| Self-back-translation (sah → ru через v1) | ~150 000 пар | синтетика только для ru→sah (нативный sah-таргет) |
| Forward-translation (ru → sah через v2) | ~150 000 пар | синтетика только для sah→ru (нативный ru-таргет) |
Рецепт
Линия ALMA → ALMA-R → X-ALMA → TranslateGemma, упрощённая под одну H100:
- v1 = LoRA SFT на 121 376 реальных пар (обе стороны)
- v2 = + self-BT (v1 переводит 150k якутского монолингва в русский → пары с настоящим sah-таргетом) → прокачка ru→sah
- v3 = + forward-trans (v2 переводит 150k русского монолингва в якутский → пары с настоящим ru-таргетом) → прокачка sah→ru
После v3 LoRA сливалась в базу для финального чекпойнта.
Eval-сет
Out-of-domain Tatoeba собран из OPUS Tatoeba sah-ru (v2023-04-12, 994 пары после чистки), дедуплен против train. FLORES-200 якутский не содержит — стандартного бенчмарка нет.
- Downloads last month
- 29
Model tree for lab-ii/translategemma-12b-it-sah
Base model
google/translategemma-12b-it