{ "name": "granite-speech-4.1-2b-nar-portable", "display_name": "Granite Speech 4.1 2B NAR Portable INT4", "artifact_type": "onnxruntime-directml-cpu", "created_at_utc": "2026-07-10T00:03:54.0897852Z", "source_model": "ibm-granite/granite-speech-4.1-2b-nar", "source_license": "Apache-2.0", "target_runtime": "onnxruntime", "target_execution_providers": [ "DmlExecutionProvider", "CPUExecutionProvider" ], "intended_app": "Taurscribe", "expected_editor_output": "token_ids", "fixed_encoder_frames": 800, "encoder_dml_safe": true, "size_bytes": 2398658963, "graphs": { "encoder": "encoder.onnx", "projector": "projector.onnx", "embed_tokens": "embed_tokens.onnx", "editor": "editor.onnx" }, "modifications": [ "Applied INT4 weight-only MatMulNBits quantization to selected ONNX MatMul weights", "Patched editor.onnx with ArgMax so the graph outputs token_ids instead of full logits", "Flattened 32 rank-5 windowed-attention MatMul operations to equivalent rank-3 batched MatMul operations", "Baked fixed 800-frame shape-slot tensors as initializers and pruned approximately 950 dead nodes", "Replaced 16 two-output GLU Split operations with equivalent Slice pairs for DirectML correctness", "Packaged for Taurscribe ONNX Runtime DirectML with CPU fallback" ], "validation": { "encoder_cpu_worst_relative_difference": 0.000044, "directml_bpe_argmax_agreement": 1.0, "librispeech_subset_utterances": 30, "portable_directml_mean_seconds": 4.0454, "portable_directml_mean_rtf": 0.6429, "portable_directml_mean_wer": 0.0431, "portable_cpu_8_threads_mean_seconds": 8.8227, "portable_cpu_8_threads_mean_rtf": 1.4145, "portable_cpu_8_threads_mean_wer": 0.0431 }, "files": { "editor.onnx": { "size_bytes": 1630677, "sha256": "40dc0e1eafa152fd6fdcb0ca8030128469906501a63ea4d4ae83df195d23d792" }, "editor.onnx.data": { "size_bytes": 873816064, "sha256": "72704971b72bf00c281a859825cb72b25b7768239d009abe52fb4fbc6ddc009b" }, "embed_tokens.onnx": { "size_bytes": 822083791, "sha256": "10f33a9646ea843d65c761c5295d8487e1091bf66de587f395ccec5b44c71ad3" }, "encoder.onnx": { "size_bytes": 300910, "sha256": "e4e34584c2de0ebbf95d318a386bb6f150ae62eb9505837dae3e82190a72859a" }, "encoder.onnx.data": { "size_bytes": 650685536, "sha256": "038e259276a1119ad03afcd8fce16ff50cd3a98db535cd68be0b5a71bbcf3318" }, "generation_config.json": { "size_bytes": 38, "sha256": "af7cd9bbb214dea4f6a37756c2c133d002f6325ed4f497efc991f02b4d486dad" }, "preprocessor_config.json": { "size_bytes": 289, "sha256": "e12be1e9d4ec5c459741328f28d9d8c00c3c688e8fe4230a6ec28df5470db8b3" }, "processor_config.json": { "size_bytes": 153, "sha256": "74d21364b507dcbe465420152d48edd9276f94a84d22a78d0da371e716a79374" }, "projector.onnx": { "size_bytes": 33527, "sha256": "0641d423a5700d6b16c0d8a47a25b58e750b1e2d065f26a670b72a78930968b2" }, "projector.onnx.data": { "size_bytes": 42950656, "sha256": "d660a66a75178c1b111d154de6b6cfe6a8183111c68ada33948e42ba0acefc19" }, "taurscribe_granite_nar_manifest.json": { "size_bytes": 3128, "sha256": "bb59c18cdfa4297ff42d7f76d27911030fb118e04f2291b15e488e32dc92a47e" }, "tokenizer_config.json": { "size_bytes": 392, "sha256": "c7e48adce9bdf6cfe3524759067b5dfa2428de9ccba2fd257502bf0246161c2f" }, "tokenizer.json": { "size_bytes": 7153802, "sha256": "64c10a88b2495872bd7da5a885861a1757d9c23590c40fd378546ae176d280f6" } } }