{ "packFormat": 1, "direction": "en-de", "source": "en", "target": "de", "model": { "catalogueId": "translate-en-de", "repo": "WindyTranslate/translate-en-de", "revision": "751ef3680a3c312229aa73a0176a228f0c233b6a", "baseModel": "Helsinki-NLP/opus-mt-en-de" }, "licence": "CC-BY-4.0", "attribution": "Based on OPUS-MT model Helsinki-NLP/opus-mt-en-de by Helsinki-NLP (Language Technology Research Group, University of Helsinki). Licensed CC-BY-4.0.", "notice": "This product uses the model WindyTranslate/translate-en-de\n(https://huggingface.co/WindyTranslate/translate-en-de), published by Windstorm Labs (https://windstormlabs.com).\nBased on OPUS-MT model Helsinki-NLP/opus-mt-en-de by Helsinki-NLP (Language Technology Research Group, University of Helsinki). Licensed CC-BY-4.0.\nWindstorm Labs modified the upstream weights; the model card describes what was changed.\nLicensed under Creative Commons Attribution 4.0 International: https://creativecommons.org/licenses/by/4.0/", "runtime": { "engine": "onnxruntime", "opset": 17, "weights": "int8 (dynamic quantization, MatMul; embedding int8 shared)", "files": { "encoder": "encoder.onnx", "decoder": "decoder.onnx", "sharedEmbedding": "embed.bin (external data of both graphs; keep it next to them)", "sourceTokenizer": "source.spm", "targetTokenizer": "target.spm", "vocab": "vocab.json", "config": "model_config.json" }, "tokenizer": "SentencePiece PIECES from source.spm mapped to ids through vocab.json (unknown piece -> ), then . Raw SentencePiece ids are NOT model ids. Do not use onnxruntime-extensions' tokenizer op.", "sourcePrefixToken": null, "decoding": { "decoderStartTokenId": 58100, "eosTokenId": 0, "padTokenId": 58100, "neverGenerate": [ 58100 ], "beam": 4, "lengthNormalisation": "sum log-prob / output length", "maxNewTokens": 256 }, "encoder": { "inputs": [ "input_ids [b,s] int64", "attention_mask [b,s] int64" ], "outputs": [ "cross_k_i / cross_v_i [b,8,s,64] for i in 0..5" ] }, "decoder": { "inputs": [ "input_ids [b,1] int64 (start token on step 1, then the last token)", "encoder_attention_mask [b,s] int64", "past_k_i / past_v_i [b,8,t,64] float32 (t = 0 on step 1)", "cross_k_i / cross_v_i (from the encoder)" ], "outputs": [ "logits [b,1,vocab]", "present_k_i / present_v_i [b,heads,t+1,head_dim] (next step's past)" ] } }, "files": { "decoder.onnx": { "bytes": 23838352, "sha256": "0c43977f66971473eee4b6f4116d1cb03a78130859a611279c6aac0b5cec71f6" }, "embed.bin": { "bytes": 29747712, "sha256": "dc9c783c65c8b687f365048e14c77f7d0d76fbf7ac521897165caa585be9aa14" }, "encoder.onnx": { "bytes": 23494590, "sha256": "2d9e76eaf396a52b95890b67770879b178f2848cd62fdbea1051cb0c4d654ef3" }, "model_config.json": { "bytes": 196, "sha256": "980f013ba461a9bd56a0257357c83a1d1ecbca91cc2599cafe7ce8a9333465ee" }, "source.spm": { "bytes": 768489, "sha256": "678f2a1177d8389f67b66299762dcc4fc567e89b07e212ba91b0c56daecf47ce" }, "target.spm": { "bytes": 796845, "sha256": "bbd1f495eea99c8e21ae086d9146e0fa7b096c3dfdd9ba07ab8b631889df5c9b" }, "test_vectors.json": { "bytes": 27391, "sha256": "211495478cf7e1cf7e4ad5d441aecce05da135bb9a6952bcf182a0587f8d206d" }, "vocab.json": { "bytes": 1389436, "sha256": "d5acea957b265a78554999144459c5e391e0df525864edc8287bc090290baa44" } }, "downloadBytes": 80063011, "weightsBytes": 80035620, "quality": { "benchmark": "FLORES-200 devtest", "sentences": 1012, "chrf++": 60.72, "spbleu": 42.45, "ct2_int8_chrf++": 60.95, "delta_vs_ct2": -0.23, "beam": 4, "measured": "2026-10-17", "by": "Windy Translate" }, "built": "2026-10-17T16:41:57Z", "builder": "export_lean.py (Windy Translate)" }