sneakyfree commited on
Commit
76c9ce9
·
verified ·
1 Parent(s): ce3b440

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

Browse files
.gitattributes CHANGED
@@ -33,3 +33,7 @@ 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
38
+ herm0/source.spm filter=lfs diff=lfs merge=lfs -text
39
+ herm0/target.spm filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-4.0
3
+ tags:
4
+ - translation
5
+ - marian
6
+ - windyword
7
+ - cushitic-languages
8
+ - somali
9
+ - oromo
10
+ - afar
11
+ - beja
12
+ - english
13
+ language:
14
+ - cus
15
+ - en
16
+ library_name: transformers
17
+ pipeline_tag: translation
18
+ ---
19
+
20
+ # WindyWord.ai Translation — Cushitic languages → English
21
+
22
+ **Translates Cushitic languages (Somali, Oromo, Afar, Beja) → English.**
23
+
24
+ **Quality Rating: ⭐⭐½ (2.5★ Basic)**
25
+
26
+ Part of the [WindyWord.ai](https://windyword.ai) translation fleet — 1,800+ proprietary language pairs.
27
+
28
+ ## Quality & Pricing Tier
29
+
30
+ - **5-star rating:** 2.5★ ⭐⭐½
31
+ - **Tier:** Basic
32
+ - **Composite score:** 51.0 / 100
33
+ - **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)
34
+
35
+ ## Available Variants
36
+
37
+ This repository contains multiple deployment formats. Pick the one that matches your use case:
38
+
39
+ | Variant | Description |
40
+ |---|---|
41
+ | `lora/` | **WindyStandard** — our proprietary production baseline. Stable, reliable, optimized for GPU inference. |
42
+ | `lora-ct2-int8/` | **WindyStandard · CPU INT8** — CTranslate2 quantized version of WindyStandard. ~25% of the size, 2–4× faster on CPU, no measurable quality loss. |
43
+ | `herm0/` | **WindyEnhanced** — deep fine-tuned on OPUS-100, Tatoeba, and WikiMatrix parallel corpora. Measurably higher translation quality on supported pairs. |
44
+ | `herm0-ct2-int8/` | **WindyEnhanced · CPU INT8** — CTranslate2 quantized WindyEnhanced. Premium quality, CPU-efficient. |
45
+
46
+ ### Quick usage
47
+
48
+ **Transformers (PyTorch):**
49
+ ```python
50
+ from transformers import MarianMTModel, MarianTokenizer
51
+ tokenizer = MarianTokenizer.from_pretrained("WindyWord/translate-cus-en", subfolder="lora")
52
+ model = MarianMTModel.from_pretrained("WindyWord/translate-cus-en", subfolder="lora")
53
+ ```
54
+
55
+ **CTranslate2 (fast CPU inference):**
56
+ ```python
57
+ import ctranslate2
58
+ translator = ctranslate2.Translator("path/to/translate-cus-en/lora-ct2-int8")
59
+ ```
60
+
61
+ ## Commercial Use
62
+
63
+ The WindyWord.ai platform provides:
64
+ - **Mobile apps** (iOS, Android — coming soon)
65
+ - **Real-time voice-to-text-to-translation** pipeline
66
+ - **API access** with premium model quality
67
+ - **Offline deployment** support
68
+
69
+ Visit [windyword.ai](https://windyword.ai) for apps and commercial API access.
70
+
71
+ ---
72
+
73
+ ## Provenance & License
74
+
75
+ Weights derived from the OPUS-MT project ([Helsinki-NLP/opus-mt-cus-en](https://huggingface.co/Helsinki-NLP/opus-mt-cus-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.
76
+
77
+ Licensed CC-BY-4.0 — attribution preserved as required.
78
+
79
+ *Certified by Opus 4.6 Opus-Claw (Dr. C) on Veron-1 (RTX 5090).*
80
+ *Patient file: [clinic record](https://github.com/sneakyfree/Windy-Clinic/blob/main/translation-pairs/cus-en.json)*
herm0-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
+ }
herm0-ct2-int8/model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7d1706ad33f5db7b30bdfc9b6f827426771f9464109ecc13b97ce8ec6f76a79d
3
+ size 57922115
herm0-ct2-int8/shared_vocabulary.json ADDED
The diff for this file is too large to render. See raw diff
 
herm0/config.json ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "/home/user1-gpu/Desktop/grants_folder/windy-pro/models/windy-pair-cus-en/lora",
3
+ "activation_dropout": 0.0,
4
+ "activation_function": "swish",
5
+ "add_bias_logits": false,
6
+ "add_final_layer_norm": false,
7
+ "architectures": [
8
+ "MarianMTModel"
9
+ ],
10
+ "attention_dropout": 0.0,
11
+ "bos_token_id": 0,
12
+ "classif_dropout": 0.0,
13
+ "classifier_dropout": 0.0,
14
+ "d_model": 512,
15
+ "decoder_attention_heads": 8,
16
+ "decoder_ffn_dim": 2048,
17
+ "decoder_layerdrop": 0.0,
18
+ "decoder_layers": 6,
19
+ "decoder_start_token_id": 23374,
20
+ "decoder_vocab_size": 23375,
21
+ "dropout": 0.1,
22
+ "encoder_attention_heads": 8,
23
+ "encoder_ffn_dim": 2048,
24
+ "encoder_layerdrop": 0.0,
25
+ "encoder_layers": 6,
26
+ "eos_token_id": 0,
27
+ "extra_pos_embeddings": 23375,
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": 23374,
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": 23375
56
+ }
herm0/generation_config.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bad_words_ids": [
3
+ [
4
+ 23374
5
+ ]
6
+ ],
7
+ "bos_token_id": 0,
8
+ "decoder_start_token_id": 23374,
9
+ "eos_token_id": 0,
10
+ "forced_eos_token_id": 0,
11
+ "max_length": 512,
12
+ "num_beams": 4,
13
+ "pad_token_id": 23374,
14
+ "renormalize_logits": true,
15
+ "transformers_version": "4.45.1"
16
+ }
herm0/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:00c2cf27f7a9405684f0e6aba1bd78a288f0b5cc5b7efefdaf84f4de2c2b5b78
3
+ size 224548532
herm0/source.spm ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:38df7718566f354da8d0b0a91aaf7adb45db623c3de934f324d35c178ed8e22a
3
+ size 453945
herm0/special_tokens_map.json ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "eos_token": {
3
+ "content": "</s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "pad_token": {
10
+ "content": "<pad>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "unk_token": {
17
+ "content": "<unk>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ }
23
+ }
herm0/target.spm ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cac993f533fd57d4f0eee80f05406ccae3d463ff1f2968077420d76d295f8b23
3
+ size 450961
herm0/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
+ "23374": {
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": "cus",
34
+ "sp_model_kwargs": {},
35
+ "target_lang": "eng",
36
+ "tokenizer_class": "MarianTokenizer",
37
+ "unk_token": "<unk>"
38
+ }
herm0/vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
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:3deb038c0fcd04152461ccef51d31f1052803f90b05d60bfa52e6d86582852c1
3
+ size 57922115
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-cus-en",
3
+ "activation_dropout": 0.0,
4
+ "activation_function": "swish",
5
+ "add_bias_logits": false,
6
+ "add_final_layer_norm": false,
7
+ "architectures": [
8
+ "MarianMTModel"
9
+ ],
10
+ "attention_dropout": 0.0,
11
+ "bos_token_id": 0,
12
+ "classif_dropout": 0.0,
13
+ "classifier_dropout": 0.0,
14
+ "d_model": 512,
15
+ "decoder_attention_heads": 8,
16
+ "decoder_ffn_dim": 2048,
17
+ "decoder_layerdrop": 0.0,
18
+ "decoder_layers": 6,
19
+ "decoder_start_token_id": 23374,
20
+ "decoder_vocab_size": 23375,
21
+ "dropout": 0.1,
22
+ "encoder_attention_heads": 8,
23
+ "encoder_ffn_dim": 2048,
24
+ "encoder_layerdrop": 0.0,
25
+ "encoder_layers": 6,
26
+ "eos_token_id": 0,
27
+ "extra_pos_embeddings": 23375,
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": 23374,
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": 23375
56
+ }
lora/generation_config.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bad_words_ids": [
3
+ [
4
+ 23374
5
+ ]
6
+ ],
7
+ "bos_token_id": 0,
8
+ "decoder_start_token_id": 23374,
9
+ "eos_token_id": 0,
10
+ "forced_eos_token_id": 0,
11
+ "max_length": 512,
12
+ "num_beams": 4,
13
+ "pad_token_id": 23374,
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:564509146be62788bf4ab60b66e46fde7864ed4a83b179b8e709c2c2da22a7f8
3
+ size 224548532
lora/source.spm ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:38df7718566f354da8d0b0a91aaf7adb45db623c3de934f324d35c178ed8e22a
3
+ size 453945
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:cac993f533fd57d4f0eee80f05406ccae3d463ff1f2968077420d76d295f8b23
3
+ size 450961
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
+ "23374": {
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": "cus",
34
+ "sp_model_kwargs": {},
35
+ "target_lang": "eng",
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