--- base_model: Qwen/Qwen3-1.7B library_name: peft pipeline_tag: text-generation license: apache-2.0 language: - ii - zh - en tags: - qwen3 - lora - nuosu - liangshan-yi - machine-translation - low-resource-language - academic-research --- # Qwen3-1.7B Nuosu MT LoRA 这是面向凉山规范彝文(诺苏语)机器翻译的研究型 LoRA adapter。它不包含 Qwen3-1.7B 底模权重,使用时必须单独获得 `Qwen/Qwen3-1.7B`。 This repository contains a research LoRA adapter for Chinese–Standard Liangshan Yi (Nuosu) and related short-form translation experiments. It is an adapter-only release; obtain the base model separately. ## Intended use - Chinese ↔ Standard Liangshan Yi translation research; - short dictionary and sentence translation experiments; - reproducible low-resource language adaptation studies. This is not a production translation system. The full held-out evaluation is weak on the heterogeneous research test distribution, and the fixed gate was run under an explicitly recorded waiver. Native-speaker review is required before making semantic or orthographic claims. 本版本不宣称覆盖全部彝语方言,也不适合高风险或未经审核的正式翻译。 ## Base model and reproducibility - Base model: `Qwen/Qwen3-1.7B` - Base revision: `70d244cc86ccca08cf5af4e1e306ecf908b1ad5e` - Training code revision: `90b7d6c3d71e025e1336a2a585389f1dedab9b6f` - Chat entrypoint fix: `3c7f17f012e5a483c367ff7b5b16e905e1b2c7dd` - Dataset projection: `nuosu-mt-clean-recover-v20260808` - Seed: `42` - LoRA: rank 64, alpha 128, dropout 0.05, all-linear targets - Training: BF16, one SFT epoch, completion-only loss The tokenizer adds 1,203 Yi syllable/radical tokens (vocabulary size 152,872); new token rows are initialized from the original subtoken embeddings and trained together with LoRA. ## Data The target-only MT projection contains: | Split | Records | Notes | |---|---:|---| | train | 159,083 | 94,532 lexicon, 16,077 published, 39,512 sentence, 8,962 short | | validation | 7,131 | held-out validation projection | | research test | 8,558 | full held-out generation test | Training data were cleaned by dropping exact meta-evaluation verdict targets and recovering usable corrected-translation prefixes. The release contains model files and evaluation metadata, not the source corpora. Source licensing, attribution, and redistribution conditions remain applicable. ## Evaluation Full held-out generation (`8,558` records, greedy, `no_think`): | Metric | Overall | Yi-target | |---|---:|---:| | Compact exact match | 3.76% | 2.47% | | chrF2 | 10.93 | 13.70 | | Reference contained | 5.68% | 3.35% | | Replacement-character rate | 0.11% | 0.33% | The 256-record gate reached 57.42% overall exact match, 60.68 chrF2 and 48.44% Yi exact match, but did not satisfy the strict gate thresholds; the waiver is included under `provenance/GATE_WAIVER`. ## Usage ```python from peft import PeftModel from transformers import AutoModelForCausalLM, AutoTokenizer base_id = "Qwen/Qwen3-1.7B" adapter_id = "NiceAsiv/Qwen3-1.7B-Nuosu-MT" tokenizer = AutoTokenizer.from_pretrained(adapter_id) base = AutoModelForCausalLM.from_pretrained( base_id, torch_dtype="auto", device_map="auto" ) base.resize_token_embeddings(len(tokenizer), pad_to_multiple_of=64) model = PeftModel.from_pretrained(base, adapter_id) messages = [{ "role": "user", "content": "请将以下中文翻译为凉山规范彝文。只输出译文,不要解释。\n我今天去学校。", }] prompt = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True, enable_thinking=False, ) inputs = tokenizer(prompt, return_tensors="pt").to(model.device) output = model.generate( **inputs, do_sample=False, max_new_tokens=256, eos_token_id=tokenizer.eos_token_id, ) print(tokenizer.decode(output[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=True).strip()) ``` The repository's chat command defaults to the same deterministic `no_think` mode. Use `--thinking-mode thinking` only when deliberately testing reasoning. ## Citation ```bibtex @software{axi2026nuosumt, author = {Wuhe Axi}, title = {Qwen3-1.7B Nuosu MT LoRA}, year = {2026}, institution = {Xi'an Jiaotong University}, url = {https://huggingface.co/NiceAsiv/Qwen3-1.7B-Nuosu-MT} } ``` Please also cite the training code and the separately maintained corpus: - https://github.com/NiceAsiv/nuosu-llm - https://github.com/NiceAsiv/nuosu-corpus