/ Модель

Характеристики

Контекст
131 072 токена
Параметры
4 млрд
Размер весов
9,1 ГБ
Лицензия
GPL 3.0
Архитектура
gemma3_text · dense
Базовая модель
sarvam-translate
Библиотека
transformers
Опубликована
21 апр 2026

koshur-kouter-ks-en_v1

Генерация текстаТекст → текст3 профессии

Дообученная Gemma 3 для перевода коротких текстов между кашмирским и английским языками.

44скачиваний за 30 дней0лайковвеса обновлены30 апр 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Koshur Kouter KS-EN v1 — модель для машинного перевода между кашмирским и английским языками, разработанная Haq Nawaz Malik и Nahfid Nissar. Это дообученная модель Gemma 3 на базе sarvamai/sarvam-translate: QLoRA-адаптер обучен на параллельных примерах перевода в обоих направлениях и объединён с базовыми весами. Чекпойнт содержит около 4 млрд параметров и загружается через Transformers; метаданные указывают контекст до 131 072 токенов.

Модель предназначена для коротких переводов на уровне предложений, оценки и сравнения систем обработки кашмирского языка, а также ручной проверки переводов в обоих направлениях. Карточка рекомендует детерминированное декодирование: генерация чувствительна к настройкам, а выборка и чрезмерно длинное продолжение могут ухудшать результат. Модель не рассчитана на длинные документы или открытый диалог; качество на технической, юридической и диалектной лексике не проверено. Лицензия — GPL-3.0.

Сценарии применения

  • перевод кашмирских предложений на английский
  • перевод английских предложений на кашмирский
  • ручная проверка двунаправленных переводов кашмирского языка
  • сравнение и оценка систем перевода с кашмирского и на кашмирский

Ограничения

Предназначена для коротких предложений; качество перевода длинных документов, технических и юридических текстов, а также диалектных вариантов не проверено. Результат чувствителен к настройкам декодирования, поэтому рекомендуется детерминированная генерация и проверка человеком.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Koshur Kouter KS-EN v1

Open In Colab

A Kashmiri ↔ English translation model fine-tuned from sarvamai/sarvam-translate (Gemma 3, 4.5B parameters). A QLoRA adapter has been merged into the base weights and published as a fully self-contained transformers-compatible checkpoint.


Model Details

AuthorsHaq Nawaz Malik (@Omarrran) · Nahfid Nissar (@nafiboi)
Base modelsarvamai/sarvam-translate
ArchitectureGemma3ForCausalLM
Parameters~4.55 B (bf16)
LanguagesKashmiri (ks), English (en)
LicenseGPL-3.0
Precisionbfloat16
Context length131,072 tokens
Vocabulary size262,208
Layers / hidden / heads / KV heads34 / 2560 / 8 / 4
Checkpoint size8.48 GiB (5 shards)

Intended Use

Primary use cases

  • Kashmiri ↔ English machine translation, in either direction.
  • Downstream evaluation, comparison, and benchmarking of Kashmiri NLP systems.
  • Manual review workflows on mixed-direction prompts.
  • Direct loading via transformers without PEFT adapter merging.

Out-of-scope use

  • Production-grade translation without human review.
  • Long-form document translation (model is tuned on short, sentence-level pairs).
  • Open-ended generation, dialogue, or any task other than translation.
  • Safety-critical applications (medical, legal, financial advice).

Quickstart

Installation

pip install -U transformers accelerate sentencepiece safetensors torch

Load the model

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

repo_id = "Omarrran/koshur-kouter-ks-en_v1"

tokenizer = AutoTokenizer.from_pretrained(repo_id)
model = AutoModelForCausalLM.from_pretrained(
    repo_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
).eval()

Translate

def first_nonempty_line(text: str) -> str:
    for line in text.splitlines():
        if line.strip():
            return line.strip()
    return text.strip()


def translate(source: str, direction: str, max_new_tokens: int = 48) -> str:
    instructions = {
        "ks2en": "Translate the text below to English. Return only the translation.",
        "en2ks": "Translate the text below to Kashmiri. Return only the translation.",
    }
    messages = [
        {"role": "system", "content": instructions[direction]},
        {"role": "user", "content": source},
    ]
    prompt = tokenizer.apply_chat_template(
        messages, tokenize=False, add_generation_prompt=True
    )
    inputs = tokenizer(
        prompt, return_tensors="pt", truncation=True, max_length=1024
    ).to(model.device)

    with torch.no_grad():
        outputs = model.generate(
            **inputs,
            max_new_tokens=max_new_tokens,
            do_sample=False,
            repetition_penalty=1.15,
            no_repeat_ngram_size=3,
            pad_token_id=tokenizer.eos_token_id,
        )

    suffix = outputs[0][inputs.input_ids.shape[1]:]
    return first_nonempty_line(tokenizer.decode(suffix, skip_special_tokens=True))


print(translate("Hello how are you doing today?.", "en2ks"))
print(translate("کٔشیر چھُ اکھ خوبصورت جٲی", "ks2en"))

A ready-to-run notebook is included at notebooks/colab_load_stage1_model.ipynb.

Open In Colab


Recommended Decoding

The model is sensitive to decoding settings. The defaults shipped in generation_config.json are tuned for stable translation rather than open-ended generation:

ParameterValue
do_sampleFalse
max_new_tokens48
repetition_penalty1.15
no_repeat_ngram_size3

Post-processing: decode only the generated suffix and take the first non-empty line. Looser decoding (sampling, longer windows, no repetition penalty) produces continuation artifacts and quote-tail noise.


Training

Procedure

The model was trained with a QLoRA supervised fine-tuning setup on a bidirectional Kashmiri ↔ English parallel corpus, on top of sarvamai/sarvam-translate. The resulting LoRA adapter was merged into the base weights; this release ships the merged checkpoint.

Hyperparameters

HyperparameterValue
Max sequence length512
Effective batch size32
Gradient accumulation1
Precisionbf16
Optimizerpaged_adamw_8bit
Learning rate2 × 10⁻⁴
LR schedulercosine
Warmup ratio0.03
Weight decay0.01
Max grad norm1.0
Epochs2
LoRA rank / alpha / dropout32 / 64 / 0.05
LoRA target modulesq_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
Modules saved (full)lm_head, embed_tokens
Logging / eval / save steps10 / 250 / 250

Observed training metrics

MetricValue
Total steps20,060
Wall-clock time5.19 h
Peak VRAM12.88 GB
Train loss — first logged8.0698
Train loss — best logged0.5632
Train loss — last step (step 20,060)0.5819
Final train loss (averaged across run)0.6242
Token accuracy — last / best0.8548 / 0.8557
Eval loss — first / best1.4610 / 1.2011
Final eval loss (step 20,000)1.2294

Training curves

LossToken accuracyEval lossGPU memory

Raw training logs are available under artifacts/:

  • stage1_training_log.jsonl
  • stage1_summary.json
  • stage1_eval.json
  • stage1_metrics_summary.json

Evaluation

Internal eval (200 samples)

MetricValue
BLEU100.0
chrF100.0

⚠️ Caveat. This score is implausibly perfect and almost certainly reflects an easy or in-distribution slice. It is reported here for completeness and must not be interpreted as a generalization estimate.

benchmark_simple_ks2en_200 (ks → en)

MetricValue
BLEU13.07
chrF46.99
Exact match0.00

The benchmark contains some noisy or mismatched references; scores should be interpreted as a lower-bound indicator rather than a clean evaluation. Files: benchmarks/benchmark_simple_ks2en_200.{jsonl,stage1_eval.json}.

500-sample mixed-direction review set (source-only)

A 500-sample source-only set is provided for human review. Automatic BLEU/chrF is not applicable.

FilePurpose
kashmiri_benchmark_500_source_only.jsonlSource prompts
kashmiri_benchmark_500_stage1_safe_pred.jsonlModel predictions
kashmiri_benchmark_500_stage1_safe_pred.{summary.json, xlsx, summary.xlsx}Aggregates and review-friendly spreadsheets

Hardware Requirements

Inference

SettingVRAMNotes
Short bf16 inference (observed)~8.5 GBValidated on Modal
Recommended for short prompts≥ 12 GBComfortable headroom
Long prompts / batching16–24 GB+Recommended
CPU loading≥ 24 GB RAMFull merged shards held in memory
ColabL4 / A100Use 4/8-bit quantization on smaller GPUs

Training (reference)

  • Peak VRAM: 12.88 GB
  • Wall-clock: 5.19 h for 20,060 steps

Repository Layout

.
├── README.md
├── config.json
├── generation_config.json
├── model.safetensors.index.json
├── model-0000{1..5}-of-00005.safetensors
├── tokenizer.json
├── tokenizer.model
├── artifacts/
│   ├── config.json
│   ├── stage1_eval.json
│   ├── stage1_metrics_summary.json
│   ├── stage1_summary.json
│   └── stage1_training_log.jsonl
├── assets/
│   ├── stage1_training_loss.svg
│   ├── stage1_token_accuracy.svg
│   ├── stage1_eval_loss.svg
│   └── stage1_gpu_alloc_gb.svg
├── benchmarks/
│   ├── benchmark_simple_ks2en_200.jsonl
│   ├── benchmark_simple_ks2en_200.stage1_eval.json
│   ├── kashmiri_benchmark_500_source_only.jsonl
│   ├── kashmiri_benchmark_500_stage1_safe_pred.jsonl
│   ├── kashmiri_benchmark_500_stage1_safe_pred.summary.json
│   ├── kashmiri_benchmark_500_stage1_safe_pred.xlsx
│   └── kashmiri_benchmark_500_stage1_safe_pred.summary.xlsx
└── notebooks/
    └── colab_load_stage1_model.ipynb

Limitations and Risks

  • Decoding sensitivity. Output quality degrades sharply under sampling or loose repetition controls. Use the recommended deterministic settings.
  • Length bias. The model was trained on sentence-level pairs (≤ 512 tokens). Long-form translation is not supported.
  • Internal eval is not generalization. The 100/100 BLEU/chrF figure is a fixture, not a quality claim.
  • Benchmark noise. Reported BLEU/chrF on benchmark_simple_ks2en_200 is depressed by reference noise; treat as indicative only.
  • Domain coverage. The training distribution skews toward general / literary Kashmiri; performance on technical, legal, or dialectal inputs is unverified.
  • Artifacts. Earlier decoding configurations occasionally produced quote-tail or continuation artifacts; the shipped generation_config.json mitigates but does not eliminate these.
  • Low-resource caveat. Kashmiri remains a low-resource language; reference quality, orthographic normalization, and dialectal coverage are open problems that bound any model trained on currently-available data.

Citation

If you use this model, please cite:

@misc{malik2026koshurkouter,
  title        = {Koshur Kouter KS-EN v1: A Merged QLoRA Kashmiri--English Translation Model},
  author       = {Malik, Haq Nawaz and Nissar, Nahfid},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/Omarrran/koshur-kouter-ks-en_v1}},
  note         = {Fine-tuned from sarvamai/sarvam-translate}
}

Please also cite the base model:

@misc{sarvam2025translate,
  title        = {Sarvam-Translate},
  author       = {{Sarvam AI}},
  howpublished = {\url{https://huggingface.co/sarvamai/sarvam-translate}}
}

Acknowledgements

Built on top of sarvamai/sarvam-translate. Training and evaluation infrastructure run on Colab and Modal. Thanks to the broader Kashmiri NLP community whose data and tooling made this work possible.


Contact

  • Hugging Face: @Omarrran · @nafiboi
  • Issues / feedback: open a discussion on the model repository.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Gemma3ForCausalLM
Ревизия весов
19cbf17

0 моделей