--- license: mit library_name: optimum pipeline_tag: text-classification tags: - onnx - int8 - code - nli - cross-encoder - unixcoder base_model: microsoft/unixcoder-base --- # Staleguard (int8 ONNX) A 3-class **code↔doc coherence** cross-encoder: given a `(code premise, prose claim)` pair it predicts `{entailment, neutral, contradiction}`. Fine-tuned from [`microsoft/unixcoder-base`](https://huggingface.co/microsoft/unixcoder-base), then exported to ONNX and **dynamically quantized to int8** (per-channel, avx512_vnni) for portable CPU inference. Please note that the ml drift detection approach is undergoing quite some change. Take a look at the Github Project below for a deterministic fast and lightweight documentation drift detection layer on which this model intends to build. **GitHub:** [Arthur920/Staleguard](https://github.com/Arthur920/Staleguard) · **Docs:** [arthur920.github.io/Staleguard](https://arthur920.github.io/Staleguard/) - **Artifact:** `model_quantized.onnx` (~121 MB, ~4× smaller than the fp32 checkpoint) - **Labels:** `0=entailment, 1=neutral, 2=contradiction` - **Lead metric:** held-out contradiction precision (repo-disjoint eval split) — **~87.6% precision / ~89.9% recall** on the contradiction (alert) class. ## Usage ```python from optimum.onnxruntime import ORTModelForSequenceClassification from transformers import AutoTokenizer repo = "Arthur920/staleguard" tok = AutoTokenizer.from_pretrained(repo) model = ORTModelForSequenceClassification.from_pretrained( repo, file_name="model_quantized.onnx") inputs = tok("def add(a, b): return a + b", "The function returns the sum of a and b.", truncation=True, max_length=192, return_tensors="pt") logits = model(**inputs).logits print(model.config.id2label[int(logits.argmax(-1))]) ``` ## Notes Int8 dynamic quantization quantizes the Linear/MatMul weights; activations stay fp32. Parity check vs the fp32 checkpoint showed matching argmax labels on sample pairs. Re-quantize from the fp32 export with `model/quantize.py`.