--- library_name: transformers language: - zh - en - fr - pt - es - ja - tr - ru - ar - ko - th - it - de - vi - ms - id - tl - hi - pl - cs - nl - km - my - fa - gu - ur - te - mr - he - bn - ta - uk - bo - kk - mn - ug license: other license_name: tencent-hy-community license_link: LICENSE.md base_model: - tencent/Hy-MT2-7.5B pipeline_tag: translation tags: - translation - noesis - noesis-dub-lm - dhcf-fno - amaimedia - sft - qlora - bf16 - hunyuan - hy-mt2 - tencent - translation - dub-lm - live-voice-translate inference: false --- ## NOESIS / AMAImedia Released as part of the NOESIS Professional Multilingual Dubbing Automation Platform (framework: DHCF-FNO — Deterministic Hybrid Control Framework for Frozen Neural Operators). - **Founder:** Ilia Bolotnikov - **Organization:** AMAImedia.com - **X (Twitter):** [@AMAImediacom](https://x.com/AMAImediacom) - **LinkedIn:** [Ilia Bolotnikov](https://www.linkedin.com/in/ilia-bolotnikov) - **Telegram:** [@djbionicl](https://t.me/djbionicl) - **NOESIS version:** v16.1 - **Release date:** 2026-08-26 # NOESIS-Hy-MT2-7.5B-BF16 > **NOESIS Professional Multilingual Dubbing Automation Platform** > framework: DHCF-FNO — *Deterministic Hybrid Control Framework for Frozen Neural Operators* > > - **Trained:** 2026-06-05/06 > - **Last updated:** 2026-08-29 > ⚠️ **License regime — Tencent HY Community License Agreement.** Three license gates apply: (1) Territory — EU excluded; (2) 100M MAU cap (separate Tencent license required above); (3) No-KD: outputs cannot be used to train other AI models. Full text in `LICENSE.md`. --- ## Role in NOESIS pipeline **Primary translation backend** for the NOESIS dubbing pipeline (Stage 3 source→target compress translate). 33 mainland + 5 ethnic + Cantonese languages. This bundle = **BF16 merged checkpoint** of `tencent/Hy-MT2-7.5B` + NOESIS SFT-LoRA adapter (`nt312_sft_hymt2_7b`) trained on the NOESIS dubbing corpus. Format: bf16 dense (master). Disk ≈ 14.0 GB, VRAM peak load ≈ 14.0 GB on RTX 3060. --- ## NOESIS A/B test results — 2026-06-06 Evaluation harness: `scripts/nt318_eval_ab.py` (chat-format prompt + `<|im_end|>` stop + held-out 30-sample slice of `dub_subscene_MERGED.jsonl`, filtered to common target langs). | Metric | Upstream NF4 (baseline) | NOESIS SFT (this) | Δ | |---|---|---|---| | garbage% (n=30) | 16.7% | **0.0%** | ✅ -16.7 pp | | iso_fit (dubbing budget) | 0.502 | **0.549** | ✅ +0.047 | | overlap vs gold (Jaccard) | 0.202 | **0.226** | ✅ +0.024 | **Verdict:** ✅ no regression + measurable quality improvement on every metric. ### Real example outputs | Source | Upstream NF4 | NOESIS SFT | |---|---|---| | `Свртете се на десно.` | `Translation: "Turn right." |` | **`Turn right here.`** | | `Можам ли да ги видам?` | `Конеч语可以吗?Can we see them?` | **`I can see them.`** | Old/new sample dumps: `logs_heal/ab2/{old,new}_hymt2_7b.json`. --- ## Bundle inventory | File | Description | |------|-------------| | `model.safetensors` | weights (BF16, single shard) | | `config.json` | model architecture configuration | | `generation_config.json` | default decoding params | | `tokenizer.json` / `tokenizer_config.json` | tokenizer | | `chat_template.jinja` | chat template (im_start / im_end markers) | | `NOESIS_MERGE_MANIFEST.json` | NOESIS provenance (base, adapter, created-at) | | `README.md` | this file | | `LICENSE.md` | NOESIS provenance + upstream license terms | --- ## Training details | Field | Value | |---|---| | Method | SFT (Supervised Fine-Tuning) with QLoRA | | Trainer | `scripts/nt312_train_sft_lora.py` | | LoRA rank / alpha | 16 / 32 | | LoRA targets | down_proj, q_proj, v_proj (lean) | | Max steps | 500, save every 50, --resume capable | | LR scheduler | warmup_stable_decay (WSD, MiniCPM-style) | | Optimizer | AdamW 8-bit (paged) | | Adapter | `LORA/nt312_sft_hymt2_7b/adapter` | | Dataset | `LORA/Hy-MT2-SFT-100k.jsonl` | | Sealed rule | `R-SEALED-LORA-RECIPE-V3-NF4` | --- ## Quick Start ### Load ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch path = "NOESIS-Hy-MT2-7.5B-BF16" tok = AutoTokenizer.from_pretrained(path, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained( path, torch_dtype=torch.bfloat16, device_map={"": 0}, trust_remote_code=True, ) ``` ### Translate (chat format — MANDATORY for correct stop) ```python src_lang, tgt_lang, src = "en", "ru", "Get out of the city, now!" prompt = ( f"<|im_start|>user\n" f"Переведи реплику дубляжа {src_lang}->{tgt_lang}, только перевод.\n" f"SOURCE ({src_lang}): {src}<|im_end|>\n" f"<|im_start|>assistant\n" ) stop_ids = [tok.eos_token_id, tok.convert_tokens_to_ids("<|im_end|>")] ids = tok(prompt, return_tensors="pt").input_ids.cuda() g = model.generate( ids, max_new_tokens=64, do_sample=False, repetition_penalty=1.2, eos_token_id=stop_ids, pad_token_id=tok.eos_token_id, ) print(tok.decode(g[0][ids.shape[1]:], skip_special_tokens=True)) # → "Уберись из города! Немедленно." ``` Convert via `convert_hf_to_gguf.py` (b8808 patched) → llama-quantize q5_k_m/q8_0 (b9523). --- ## NOESIS sealed rules | Rule | Summary | |------|---------| | `R-MT-PRIMARY-7B-NF4-FALLBACK-1.8B` | Hy-MT2 7.5B = primary translator; 1.8B = low-VRAM fallback | | `R-MT-OWN-NF4-NOT-GGUF` | Translator NF4 is OWN bnb quant, not GGUF (GGUF is a separate dense artifact) | | `R-SEALED-LORA-RECIPE-V3-NF4` | Canonical SFT-LoRA recipe (rank 16, lean targets, WSD) | | `R-HF-NAMING-QUANT-ONLY-PRESERVE-UPSTREAM` | Naming convention for trained derivatives | | `R-NEVER-DELETE-WITHOUT-EXPLICIT-CONSENT` | Bundle must not be deleted without explicit operator instruction | --- ## Upstream - **Base model:** [`tencent/Hy-MT2-7.5B`](https://huggingface.co/tencent/Hy-MT2-7.5B) - **License:** Tencent HY Community License Agreement — see `LICENSE.md` for the full text and NOESIS compliance notes. - **Training corpus:** internal NOESIS dubbing dataset (translation pairs with phoneme budgets + isochrony targets). NOESIS provenance metadata, bundle inventory, sealed-rule annotations, and DHCF-FNO integration notes © AMAImedia 2026 (NOESIS DHCF-FNO project). ## MT benchmark — FLORES-200 devtest (2026-06-17) Real eval (not smoke): n=100 × 4 directions (eng↔rus, eng↔cmn), GPU via resident `llama-server -ngl 99`. Primary metric **COMET** (wmt22-comet-da, neural — how "best translator" is judged), plus chrF++ / BLEU / length-ratio. Each model prompted in its own native format (MT2 = dubbing ChatML "SOURCE (lang): … Только перевод"; 9B = ChatML + no-think). Data + COMET checkpoint: `D:/models/by_expert/07_MT_TRANSLATION`. | Model | Size | COMET avg | chrF++ | BLEU | gen tok/s | |-------|------|-----------|--------|------|-----------| | Qwopus3.5-9B-Translate Q4 | 5.24 GB | **0.8870** | 50.7 | 22.5 | 49 | | NOESIS-Hy-MT2-7.5B Q5 | 5.0 GB | 0.8709 | 46.2 | 21.4 | 52 | | NOESIS-Hy-MT2-1.8B Q8 | 1.78 GB | 0.8481 | 43.9 | 19.1 | 121 | Per-direction COMET — 9B-Translate wins all 4 (eng-rus .902 / eng-cmn .897 / rus-eng .872 / cmn-eng .877); MT2-7.5B 2nd, MT2-1.8B 3rd. **Notes:** - MT2 is a **dubbing** translator (isochrony): its outputs are shorter (len_ratio ~0.87-0.89 vs 9B ~1.0) because it compresses to fit speech slots → lower chrF on *literal* FLORES news. FLORES does NOT measure MT2's slot-fit strength, so it under-rates MT2 for its actual job. - 1.8B→7.5B degradation: COMET +0.023, chrF +2.3, BLEU +2.3 — modest; 1.8B is 2.4× faster and 2.8× smaller (good lightweight tradeoff). - BLEU for eng-cmn is low for all (Chinese needs char-tokenization); use chrF++/COMET there.