Platform

See through every model you ship.

Kaimei turns a trained model into something you can inspect: its architecture, feature-level attributions, global behaviour, learned rules, robustness and drift. Here is what that means in practice.

Local explanations

Why this prediction, for this input.

Kaimei queries the model repeatedly and measures how far each feature moves the output from the population baseline. Edit any input in the dashboard and re-explain, or call the API from your own code with the same result.

  • ExactUp to 12 inputs: every feature coalition over a fixed reference sample, so the same request returns the same numbers
  • UnitsAttributions in the output's own units: percentage points of P(survived), dollars of predicted spend
  • LoggedEvery explanation is stored and linked to the prediction it explains
Kaimei Explain tab: passenger inputs on the left, prediction 'died' with P(died) 90.6% and a bar per feature on the right
tabularKernelSHAPShapley values by weighted linear regression over feature coalitions. Exact for small executable models.
tabularPermutation ShapleyShapley values by sampling feature orderings, for larger inputs and remote models.
tabular · imagesLIMEA local surrogate fitted around the input. Works for any model, including a scoring endpoint.
imagesGrad-CAMReads the last convolutional feature map of an uploaded network, or the layer you choose.
imagesOcclusionHides each region in turn and measures the drop. Any image model, remote or uploaded.
tabularCounterfactualsThe smallest change that flips the decision, step by step, with chosen features frozen.

Global analysis

What the model learned, not just what it answered.

One analysis call studies the whole model against its reference data and writes insights to the dashboard. Compare them across versions to see whether a change fixed the reason, or only the score.

Importance

Which inputs the model actually relies on, measured on the reference rows rather than read from a coefficient.

Learned rules

Plain-language rules the model behaves as if it follows, with how often and how reliably each one holds.

Behaviour curves

How the output moves as one input sweeps its range, so a threshold or a kink is visible before a customer finds it.

Interactions

Pairs of inputs that only matter together. In the Titanic example this is how a data quirk, fare shared by a whole family, surfaced unprompted.

Robustness

How much the prediction changes under small perturbations of the input, and where the model is brittle.

Drift

Population stability index per input and for the predictions themselves, reference rows against the latest logged traffic.

Model anatomy

Every layer, weight and bias, drawn and replayed.

The dashboard draws the structure you uploaded and walks a prediction through it in your browser, from the stored weights, with every step confirmed against the API's own trace.

  • Trees, forests, linear models and MLPsDrawn node by node, with the path a prediction takes highlighted.
  • Keras and PyTorch networksLayer graphs including convolutions, pooling, residual adds and concatenations.
  • Large models stay readableRepeated blocks fold into one, so encoder.layers.0 to 47 becomes a single ×48 block, and tensors load only when you open them.
Kaimei model anatomy view: a random forest drawn as a 3D scene with the prediction path highlighted and a step-by-step account below

Production monitoring

Watch every model, and know why when it moves.

Log the predictions your stack already makes, or let Kaimei host the model and predict for you. Either way, every logged prediction can be explained after the fact, and drift arrives with the input that caused it.

Logged predictionsOne call per prediction, or batches. Inputs, outputs and latency, per model version.
Shadow modelsRun a candidate on live traffic beside the champion and compare before you switch.
Drift per inputPSI against the reference rows. Stable below 0.1, significant above 0.25, flagged within a batch.
VersionsShip v2 under the same model, keep v1's history, and compare their insights side by side.
Input drift chart: Fare shows a PSI of 1.555, significant, while nine other inputs are stable
From the Titanic example: a feed starts sending fares in pence. Drift on Fare turns significant within the batch, and explaining one affected prediction shows a third-class passenger's £775 fare as the biggest push toward survival.

Supported models

Upload what you have. Kaimei runs what it can, and connects to the rest.

The client reads the live estimator in your process and uploads its structure and weights. Models with an executable structure are explained in-process. Anything else is explained through a scoring endpoint or attributions you provide.

EstimatorWhat is uploadedExplain and predict in Kaimei
scikit-learn linear modelsExact weightsYes
scikit-learn MLPClassifier / MLPRegressorExact layersYes
scikit-learn decision treesFull node listYes
scikit-learn forests and extra treesTrees when ≤30 estimators and ≤4,000 nodes, otherwise importancesWhen trees are inlined
scikit-learn Pipeline with StandardScaler or MinMaxScalerScaler folded in, then the estimatorSame as the final step
Keras / TensorFlowDense, Conv2D, depthwise and separable convolutions, batch norm, pooling, Add, Multiply, Concatenate, LayerNorm, functional graphsYes, unless a layer is unrecognised
PyTorch CNNsTraced with torch.fx: ResNet, MobileNet, EfficientNet, DenseNet, VGG, SqueezeNetYes, with input_shape
PyTorch Linear, LayerNorm, Embedding, BatchNorm1dForward-hook orderYes, unless a layer is unrecognised
XGBoost · LightGBM · CatBoostFeature importance summaryVia remote inference or your attributions
ONNX · Hugging Face · LLMsFramework labelVia remote inference

Remote inference

Register an HTTP scoring URL and Kaimei calls it for predictions, explanations and analyses. Images travel as nested lists or PNG, in the layout your endpoint expects.

inference={"type": "remote", "url": ...}

Your own attributions

Already computing TreeSHAP or anything else? POST the values and Kaimei stores, draws and monitors them like its own.

POST /v1/explanations

Private weights

Upload shapes and statistics only. The architecture is drawable; the weights never leave your environment. Pair it with a remote endpoint to explain and predict.

weights="summary"

Upload a model this afternoon.

The free plan covers the whole Titanic walkthrough with room to spare. Your own model is one call away.