|
Download README.md from imtk/OpenThai-SystemOne-ONNX: direct link, hf CLI and curl.
- Browser
- Download file 6.07 kB
-
https://huggingface.co/imtk/OpenThai-SystemOne-ONNX/resolve/main/README.md
- Command line
-
hf download hf://imtk/OpenThai-SystemOne-ONNX/README.md
-
curl -L -o README.md https://huggingface.co/imtk/OpenThai-SystemOne-ONNX/resolve/main/README.md
6.07 kB
| license: apache-2.0 | |
| library_name: onnxruntime | |
| base_model: iapp/OpenThai-SystemOne | |
| tags: | |
| - onnx | |
| - onnxruntime | |
| - thai | |
| - qwen3.5 | |
| # OpenThai-SystemOne ONNX | |
| This is a bundled ONNX Runtime conversion of `iapp/OpenThai-SystemOne` with | |
| FP32, INT8, and INT4 versions. | |
| The accepted structural limit is 262,144 | |
| tokens, inherited from the Qwen3.5 text backbone. PyTorch/ONNX numerical parity | |
| is validated through 65,536 tokens only. | |
| The model requires ONNX Runtime 1.30.0. | |
| ## Usage | |
| Clone this model repository and run `uv sync --frozen` once to install its | |
| locked helper package and runtime dependencies, then: | |
| ```python | |
| from openthai_systemone_onnx import OnnxSystemOneClient, Choice | |
| client = OnnxSystemOneClient("imtk/OpenThai-SystemOne-ONNX") | |
| result = client.system_one( | |
| "บริการดีมาก", | |
| {"sentiment": Choice(instructions="Choose sentiment", criteria={"positive": None, "negative": None})}, | |
| ) | |
| ``` | |
| Pass `precision="int8"` or `precision="int4"` to select a quantized graph. | |
| * INT8 dynamically quantizes activations and uses per-channel signed weights. | |
| * INT4 uses asymmetric 32-value weight blocks with FP32 activations. | |
| The client subclasses the upstream `SystemOneClient`. Formatting, public methods, | |
| response classes, decoding, confidence, permutations, and usage accounting are | |
| inherited unchanged. | |
| ## Validation | |
| See `artifact-manifest.json` for the tensor schema, operator domains, runtime | |
| versions, source revisions, limits, and SHA-256 checksums. | |
| ### Benchmark on Thai Datasets | |
| #### Result Summary | |
| - **OpenThaiONNX and OpenThai produced identical predictions across all | |
| 2,704 evaluated examples** (Cohen's kappa and raw agreement were both | |
| 1.00). This benchmark only dips its toes in with up to 500 samples per task (204 for SIB-200). _Want to help it dive deeper? Larger and more thorough evaluation contributions are very welcome!_ | |
| - **That parity preserves OpenThai's accuracy advantage:** the OpenThai models | |
| averaged 76.5% accuracy across the six selected Thai CPU task configurations, | |
| compared with 60.6% for Laya. That is a gain of 15.9 percentage points, or a | |
| 26.2% relative improvement. | |
| - **OpenThaiONNX had 34.8% ± 4.4 percentage points lower CPU runtime than | |
| OpenThai** This makes the ONNX version a better fit for | |
| latency-sensitive, offline, and edge applications without a dedicated | |
| accelerator, provided the device has sufficient memory for the FP32 model. _Sadly, Laya still crosses the finish line about 10× sooner than both OpenThaiONNX and OpenThai. The good news: that leaves us a delightfully large optimization playground—contributions are very welcome!_lly | |
| large optimization playground, and contributions are very welcome! | |
| #### CPU | |
| | Dataset | Model | n | Type | Accuracy | ECE | Runtime (s) | | |
| |---|---|---:|---|---:|---:|---:| | |
| | xnli_th | ONNX | 500 | choice | 0.8100 | 0.0246 | 407.935 | | |
| | xnli_th | OpenThai | 500 | choice | 0.8100 | 0.0246 | 686.813 | | |
| | xnli_th | Laya | 500 | choice | 0.6740 | 0.2347 | 39.480 | | |
| | | | | | | | | | |
| | xnli_th | ONNX | 500 | noul | 0.8680 | 0.0247 | 407.935 | | |
| | xnli_th | OpenThai | 500 | noul | 0.8680 | 0.0247 | 686.813 | | |
| | xnli_th | Laya | 500 | noul | 0.8180 | 0.1511 | 39.480 | | |
| | | | | | | | | | |
| | sib200_th | ONNX | 204 | choice | 0.7843 | 0.0816 | 126.797 | | |
| | sib200_th | OpenThai | 204 | choice | 0.7843 | 0.0816 | 199.093 | | |
| | sib200_th | Laya | 204 | choice | 0.7500 | 0.1572 | 7.244 | | |
| | | | | | | | | | |
| | wongnai | ONNX | 500 | score | 0.6400 | 0.0428 | 2866.504 | | |
| | wongnai | OpenThai | 500 | score | 0.6400 | 0.0428 | 4008.158 | | |
| | wongnai | Laya | 500 | score | 0.2640 | 0.2493 | 167.471 | | |
| | | | | | | | | | |
| | wisesight | ONNX | 500 | choice | 0.4960 | 0.3603 | 1397.613 | | |
| | wisesight | OpenThai | 500 | choice | 0.4960 | 0.3603 | 2125.524 | | |
| | wisesight | Laya | 500 | choice | 0.2800 | 0.2753 | 91.182 | | |
| | | | | | | | | | |
| | xlam_tools | ONNX | 500 | choice | 0.9920 | 0.0072 | 448.700 | | |
| | xlam_tools | OpenThai | 500 | choice | 0.9920 | 0.0072 | 682.976 | | |
| | xlam_tools | Laya | 500 | choice | 0.8500 | 0.0598 | 80.015 | | |
| #### GPU/MPS | |
| | Dataset | Model | n | Type | Accuracy | ECE | Runtime (s) | | |
| |---|---|---:|---|---:|---:|---:| | |
| | xnli_th | ONNX | 500 | choice | ??? | ??? | ??? | | |
| | xnli_th | OpenThai | 500 | choice | 0.8100 | 0.0246 | 165.242 | | |
| | xnli_th | Laya | 500 | choice | 0.6700 | 0.2262 | 27.470 | | |
| | | | | | | | | | |
| | xnli_th | ONNX | 500 | noul | ??? | ??? | ??? | | |
| | xnli_th | OpenThai | 500 | noul | 0.8680 | 0.0247 | 165.242 | | |
| | xnli_th | Laya | 500 | noul | 0.7640 | 0.1072 | 27.470 | | |
| | | | | | | | | | |
| | sib200_th | OpenThai | 204 | choice | ??? | ??? | ??? | | |
| | sib200_th | OpenThai | 204 | choice | 0.7843 | 0.0816 | 51.089 | | |
| | sib200_th | Laya | 204 | choice | 0.6176 | 0.1412 | 5.103 | | |
| | | | | | | | | | |
| | wongnai | OpenThai | 500 | score | ??? | ??? | ??? | | |
| | wongnai | OpenThai | 500 | score | 0.6400 | 0.0424 | 3178.868 | | |
| | wongnai | Laya | 500 | score | 0.0340 | 0.0173 | 124.185 | | |
| | | | | | | | | | |
| | wisesight | OpenThai | 500 | choice | ??? | ??? | ??? | | |
| | wisesight | OpenThai | 500 | choice | 0.4960 | 0.3603 | 2000.341 | | |
| | wisesight | Laya | 500 | choice | 0.2500 | 0.2002 | 74.300 | | |
| | | | | | | | | | |
| | xlam_tools | OpenThai | 500 | choice | ??? | ??? | ??? | | |
| | xlam_tools | OpenThai | 500 | choice | 0.9920 | 0.0072 | 609.601 | | |
| | xlam_tools | Laya | 500 | choice | 0.8500 | 0.0598 | 45.588 | | |
| ### OpenThaiONNX vs OpenThai Agreement (Cohen's kappa) | |
| | Task | n | Kappa | | |
| |---|---:|---:| | |
| | **Overall** | **2704** | **1.000000** | | |
| | sib200_th / choice | 204 | 1.000000 | | |
| | wisesight / choice | 500 | 1.000000 | | |
| | wongnai / score | 500 | 1.000000 | | |
| | xlam_tools / choice | 500 | 1.000000 | | |
| | xnli_th / noul | 500 | 1.000000 | | |
| | xnli_th / choice | 500 | 1.000000 | | |
| ## Limitations | |
| - Quantized results are approximate and should be evaluated with the included | |
| held-out benchmark for the target workload. | |
| - The model performs complete-request inference; generation caches are | |
| deliberately internal and reset for every call. | |
| - 262,144 tokens is an accepted graph boundary, not a performance guarantee. | |