Multilingual translation model translate-windy-core
One CTranslate2 INT8 model for many language directions, fine-tuned by Windstorm Labs from facebook/m2m100_1.2B.
- Task
- Translation (multilingual)
- Lineage
- M2M-100
- Format
- CTranslate2 (INT8)
- Hugging Face
- WindyWord/translate-windy-core
- Last updated on HF
- 2026-07-27
Quality (as published in the model card)
FLORES-200 devtest, 1012 sentences per pair, beam 4. These numbers come from the Hugging Face model card; this site has not re-measured them, and they use a different setup from our pair screening (devtest, 1,012 sentences, spBLEU and chrF), so do not compare them directly with pair scores.
| Pair | spBLEU | chrF |
|---|---|---|
| English → Spanish | 29.37 | 53.61 |
| English → French | 49.56 | 67.72 |
| English → German | 41.30 | 62.54 |
| English → Italian | 31.93 | 56.29 |
| English → Portuguese | 50.19 | 68.54 |
| English → Russian | 36.05 | 55.85 |
| English → Chinese | 27.36 | 29.68 |
| English → Japanese | 23.11 | 35.10 |
| English → Korean | 19.01 | 32.57 |
| English → Arabic | 20.57 | 42.28 |
| English → Hindi | 29.24 | 51.42 |
| English → Swahili | 28.19 | 55.32 |
| Spanish → English | 30.46 | 56.90 |
| French → English | 44.93 | 66.08 |
| Chinese → English | 27.52 | 54.56 |
| Japanese → English | 26.19 | 53.38 |
| Mean | 32.19 | 52.62 |
Covers 74 of the 76 languages in the Windy translation set. Telugu and Basque are not covered.
How to run
pip install ctranslate2 transformers sentencepiece huggingface_hubimport ctranslate2
from huggingface_hub import snapshot_download
from transformers import AutoTokenizer
path = snapshot_download("WindyWord/translate-windy-core")
tok = AutoTokenizer.from_pretrained(path) # the tokenizer ships in the repo
translator = ctranslate2.Translator(path, device="cpu", compute_type="int8")
tok.src_lang = "en"
source = tok.convert_ids_to_tokens(tok.encode("Where is the train station?"))
target_prefix = [tok.convert_ids_to_tokens(tok.get_lang_id("es"))]
result = translator.translate_batch([source], target_prefix=[target_prefix], beam_size=4)
print(tok.decode(tok.convert_tokens_to_ids(result[0].hypotheses[0][1:])))Tested: Pattern run on 2026-10-01 against WindyWord/translate-windy-nano with ctranslate2 4.8.2 and transformers 5.18.0 on CPU. Same code path as translate-windy-core. Not run on every model individually.
Licence and attribution
- Licence
- MIT
- Upstream
- facebook/m2m100_1.2B
- Upstream licence
- MIT
- Attribution
- Based on facebook/m2m100_1.2B (M2M-100) by Meta Platforms, Inc. Licensed MIT.
Copy this into your NOTICE file (or equivalent) when you ship the model:
This product uses the model WindyWord/translate-windy-core
(https://huggingface.co/WindyWord/translate-windy-core), published by Windstorm Labs (https://windstormlabs.com).
Based on facebook/m2m100_1.2B (M2M-100) by Meta Platforms, Inc. Licensed MIT.
Windstorm Labs modified the upstream weights; the model card describes what was changed.
Licensed under the MIT License: https://opensource.org/license/mitThis is a convenience, not legal advice. See Licensing.