sneakyfree commited on
Commit
22841fd
·
verified ·
1 Parent(s): b530480

clone from WindyWord/translate-sg-en via local upload (ADR-039 Phase C)

Browse files
.gitattributes CHANGED
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ lora/source.spm filter=lfs diff=lfs merge=lfs -text
37
+ lora/target.spm filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-4.0
3
+ tags:
4
+ - translation
5
+ - marian
6
+ - windyword
7
+ - sango
8
+ - english
9
+ language:
10
+ - sg
11
+ - en
12
+ library_name: transformers
13
+ pipeline_tag: translation
14
+ ---
15
+
16
+ # WindyWord.ai Translation — Sango → English
17
+
18
+ **Translates Sango → English.**
19
+
20
+ **Quality Rating: ⭐⭐⭐⭐ (4.0★ Standard)**
21
+
22
+ Part of the [WindyWord.ai](https://windyword.ai) translation fleet — 1,800+ proprietary language pairs.
23
+
24
+ ## Quality & Pricing Tier
25
+
26
+ - **5-star rating:** 4.0★ ⭐⭐⭐⭐
27
+ - **Tier:** Standard
28
+ - **Composite score:** 73.8 / 100
29
+ - **Rated via:** Grand Rounds v2 — an 8-test stress battery (paragraphs, multi-paragraph, native input, domain stress, edge cases, round-trip fidelity, speed, and consistency checks)
30
+
31
+ ## Available Variants
32
+
33
+ This repository contains multiple deployment formats. Pick the one that matches your use case:
34
+
35
+ | Variant | Description |
36
+ |---|---|
37
+ | `lora/` | **WindyStandard** — our proprietary production baseline. Stable, reliable, optimized for GPU inference. |
38
+ | `lora-ct2-int8/` | **WindyStandard · CPU INT8** — CTranslate2 quantized version of WindyStandard. ~25% of the size, 2–4× faster on CPU, no measurable quality loss. |
39
+
40
+ ### Quick usage
41
+
42
+ **Transformers (PyTorch):**
43
+ ```python
44
+ from transformers import MarianMTModel, MarianTokenizer
45
+ tokenizer = MarianTokenizer.from_pretrained("WindyWord/translate-sg-en", subfolder="lora")
46
+ model = MarianMTModel.from_pretrained("WindyWord/translate-sg-en", subfolder="lora")
47
+ ```
48
+
49
+ **CTranslate2 (fast CPU inference):**
50
+ ```python
51
+ import ctranslate2
52
+ translator = ctranslate2.Translator("path/to/translate-sg-en/lora-ct2-int8")
53
+ ```
54
+
55
+ ## Commercial Use
56
+
57
+ The WindyWord.ai platform provides:
58
+ - **Mobile apps** (iOS, Android — coming soon)
59
+ - **Real-time voice-to-text-to-translation** pipeline
60
+ - **API access** with premium model quality
61
+ - **Offline deployment** support
62
+
63
+ Visit [windyword.ai](https://windyword.ai) for apps and commercial API access.
64
+
65
+ ---
66
+
67
+ ## Provenance & License
68
+
69
+ Weights derived from the OPUS-MT project ([Helsinki-NLP/opus-mt-sg-en](https://huggingface.co/Helsinki-NLP/opus-mt-sg-en)) under CC-BY-4.0. WindyStandard, WindyEnhanced, and WindyScripture variants are proprietary to WindyWord.ai, independently trained and quality-certified via our Grand Rounds v2 test battery.
70
+
71
+ Licensed CC-BY-4.0 — attribution preserved as required.
72
+
73
+ *Certified by Opus 4.6 Opus-Claw (Dr. C) on Veron-1 (RTX 5090).*
74
+ *Patient file: [clinic record](https://github.com/sneakyfree/Windy-Clinic/blob/main/translation-pairs/sg-en.json)*
lora-ct2-int8/config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_source_bos": false,
3
+ "add_source_eos": false,
4
+ "bos_token": "<s>",
5
+ "decoder_start_token": "</s>",
6
+ "eos_token": "</s>",
7
+ "layer_norm_epsilon": null,
8
+ "multi_query_attention": false,
9
+ "unk_token": "<unk>"
10
+ }
lora-ct2-int8/model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b1105ce5a1f6d1fb84eec8913b14dd013b1c1883d9958945810aab84797833c9
3
+ size 68554555
lora-ct2-int8/shared_vocabulary.json ADDED
The diff for this file is too large to render. See raw diff
 
lora/config.json ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "Helsinki-NLP/opus-mt-sg-en",
3
+ "_num_labels": 3,
4
+ "activation_dropout": 0.0,
5
+ "activation_function": "swish",
6
+ "add_bias_logits": false,
7
+ "add_final_layer_norm": false,
8
+ "architectures": [
9
+ "MarianMTModel"
10
+ ],
11
+ "attention_dropout": 0.0,
12
+ "bos_token_id": 0,
13
+ "classif_dropout": 0.0,
14
+ "classifier_dropout": 0.0,
15
+ "d_model": 512,
16
+ "decoder_attention_heads": 8,
17
+ "decoder_ffn_dim": 2048,
18
+ "decoder_layerdrop": 0.0,
19
+ "decoder_layers": 6,
20
+ "decoder_start_token_id": 43821,
21
+ "decoder_vocab_size": 43822,
22
+ "dropout": 0.1,
23
+ "encoder_attention_heads": 8,
24
+ "encoder_ffn_dim": 2048,
25
+ "encoder_layerdrop": 0.0,
26
+ "encoder_layers": 6,
27
+ "eos_token_id": 0,
28
+ "forced_eos_token_id": 0,
29
+ "id2label": {
30
+ "0": "LABEL_0",
31
+ "1": "LABEL_1",
32
+ "2": "LABEL_2"
33
+ },
34
+ "init_std": 0.02,
35
+ "is_encoder_decoder": true,
36
+ "label2id": {
37
+ "LABEL_0": 0,
38
+ "LABEL_1": 1,
39
+ "LABEL_2": 2
40
+ },
41
+ "max_length": null,
42
+ "max_position_embeddings": 512,
43
+ "model_type": "marian",
44
+ "normalize_before": false,
45
+ "normalize_embedding": false,
46
+ "num_beams": null,
47
+ "num_hidden_layers": 6,
48
+ "pad_token_id": 43821,
49
+ "scale_embedding": true,
50
+ "share_encoder_decoder_embeddings": true,
51
+ "static_position_embeddings": true,
52
+ "torch_dtype": "float32",
53
+ "transformers_version": "4.45.1",
54
+ "use_cache": true,
55
+ "vocab_size": 43822
56
+ }
lora/generation_config.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bad_words_ids": [
3
+ [
4
+ 43821
5
+ ]
6
+ ],
7
+ "bos_token_id": 0,
8
+ "decoder_start_token_id": 43821,
9
+ "eos_token_id": 0,
10
+ "forced_eos_token_id": 0,
11
+ "max_length": 512,
12
+ "num_beams": 6,
13
+ "pad_token_id": 43821,
14
+ "renormalize_logits": true,
15
+ "transformers_version": "4.45.1"
16
+ }
lora/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bdbc1ef93d7c2da7b5df15fc90b7b197254c6575fd2e57ee2c63903374560baa
3
+ size 266505784
lora/source.spm ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:535390940d16665e1f8bb287285223f048e54190d34c7528075c4d2ae1afe565
3
+ size 533536
lora/special_tokens_map.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "eos_token": "</s>",
3
+ "pad_token": "<pad>",
4
+ "unk_token": "<unk>"
5
+ }
lora/target.spm ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b17f0e349c085b0bba93ede1afb4a970ff05c3063a084a0b9a12731c14e33521
3
+ size 812481
lora/tokenizer_config.json ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "</s>",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": true
10
+ },
11
+ "1": {
12
+ "content": "<unk>",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "43821": {
20
+ "content": "<pad>",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ }
27
+ },
28
+ "clean_up_tokenization_spaces": false,
29
+ "eos_token": "</s>",
30
+ "model_max_length": 512,
31
+ "pad_token": "<pad>",
32
+ "separate_vocabs": false,
33
+ "source_lang": "sg",
34
+ "sp_model_kwargs": {},
35
+ "target_lang": "en",
36
+ "tokenizer_class": "MarianTokenizer",
37
+ "unk_token": "<unk>"
38
+ }
lora/vocab.json ADDED
The diff for this file is too large to render. See raw diff