{ "packFormat": 1, "direction": "de-en", "source": "de", "target": "en", "model": { "catalogueId": "translate-de-en", "repo": "WindyTranslate/translate-de-en", "revision": "fb6f91ba4c16c3c3e1778633d1a6c1cd6be4d0ca", "baseModel": "Helsinki-NLP/opus-mt-de-en" }, "licence": "Apache-2.0", "attribution": "Based on OPUS-MT model Helsinki-NLP/opus-mt-de-en by Helsinki-NLP (Language Technology Research Group, University of Helsinki). Licensed Apache-2.0.", "notice": "This product uses the model WindyTranslate/translate-de-en\n(https://huggingface.co/WindyTranslate/translate-de-en), published by Windstorm Labs (https://windstormlabs.com).\nBased on OPUS-MT model Helsinki-NLP/opus-mt-de-en by Helsinki-NLP (Language Technology Research Group, University of Helsinki). Licensed Apache-2.0.\nWindstorm Labs modified the upstream weights; the model card describes what was changed.\nLicensed under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.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": "652d457bfcb0337151248d60fc11d386787b7700e9b9edcf068116022e60a256" }, "embed.bin": { "bytes": 29747712, "sha256": "da40d6f4b76ea50c3a5407f745fa5026766143392d5bc159a71a104ab4948b9e" }, "encoder.onnx": { "bytes": 23494590, "sha256": "f28d8a67abd588316b119999276b2bbe51d8a3c36570c4eba6cee556f8c56c7d" }, "model_config.json": { "bytes": 196, "sha256": "980f013ba461a9bd56a0257357c83a1d1ecbca91cc2599cafe7ce8a9333465ee" }, "source.spm": { "bytes": 796845, "sha256": "bbd1f495eea99c8e21ae086d9146e0fa7b096c3dfdd9ba07ab8b631889df5c9b" }, "target.spm": { "bytes": 768489, "sha256": "678f2a1177d8389f67b66299762dcc4fc567e89b07e212ba91b0c56daecf47ce" }, "test_vectors.json": { "bytes": 26571, "sha256": "bc815f26294e0715586d55d006971e05ab262d124927547b06833cc4ba1a8534" }, "vocab.json": { "bytes": 1389436, "sha256": "d5acea957b265a78554999144459c5e391e0df525864edc8287bc090290baa44" } }, "downloadBytes": 80062191, "weightsBytes": 80035620, "quality": { "benchmark": "FLORES-200 devtest", "sentences": 1012, "chrf++": 64.81, "spbleu": 44.79, "ct2_int8_chrf++": 64.75, "delta_vs_ct2": 0.06, "beam": 4, "measured": "2026-10-17", "by": "Windy Translate" }, "built": "2026-10-17T16:42:56Z", "builder": "export_lean.py (Windy Translate)" }