Skip to content

FAQ: why not PMML, ONNX, or m2cgen? #17

Description

@orgoca

Problem

PMML has represented scorecards for two decades and model validators know it. ONNX is the general interchange standard. m2cgen already transpiles models to many languages. Anyone evaluating CompileML will ask why they should not just use one of those, and the FAQ does not answer it.

We do have good answers — they are just not written down:

  • PMML expresses scorecards and trees, but carries no integer determinism guarantee, no reason-code dictionary, no calibration + banding + attribution in one hashed object, and no reconciliation identity a validator can re-add.
  • ONNX is an inference graph. It does not model the decision — no bands, no PD calibration, no adverse-action reasons — and float determinism across runtimes is explicitly not guaranteed.
  • m2cgen transpiles the scorer. CompileML compiles the decision, and pins the arithmetic so the transpiled output is provably identical, which m2cgen does not attempt.

Acceptance criteria

  • A FAQ entry covering all three, written fairly — each of those tools is good at what it does, and the answer should say so rather than strawman them
  • Note where they are genuinely the better choice (e.g. ONNX for a neural net you do not want to distill)

Files

docs/faq.md

Scope

Small, docs only. Good first contribution — needs clear thinking more than code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationgood first issueGood for newcomers

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions