Measurement protocol

The figures on this site come from public datasets, not customer data. This page explains how they were obtained: results and method. The evaluation code is not published.

Datasets and licences

TaskDatasetLanguagesTrainingTest
Banking intents, 77 categoriesBanking77 (PolyAI, 2020), CC BY 4.0English9,000 sentences (1,003 more for validation)500 sentences drawn from the official test set, fixed seed
Routing, 60 intentsMASSIVE (Amazon, 2022), CC BY 4.0French, German, Italian, English11,514 sentences per language, joint training on the four languagesfull official test set: 2,974 sentences per language
Yes / no question: is the message about the calendar?derived from MASSIVE, CC BY 4.0French, German, Italian11,514 sentences per language (1,688 “yes”), joint training500 sentences per language, 250 “yes” and 250 “no”

For the yes / no question, “yes” is MASSIVE's calendar scenario (creating, checking or removing an appointment); “no” covers the 17 other scenarios (alarm, weather, music, transport…), spread evenly in the test set.

A stance dataset (X-stance) was also evaluated, then discarded: its licence forbids commercial use.

Compared models

Metrics

Non-inferiority test

The question is not “is the small model better?” but “is it at least as good as the API reference, within a margin?”.

Calibration

The probabilities shown in the playground are calibrated: a single temperature, fitted on validation, softens the model's scores so that “0.80” means roughly eight correct answers out of ten.

Test (fp32 model)ECE beforeECE after
Banking770.0390.025
Full MASSIVE, French / German / Italian / English0.091 / 0.095 / 0.098 / 0.0830.022 / 0.019 / 0.023 / 0.021
Yes / no, French / German / Italian0.032 / 0.024 / 0.0310.013 / 0.014 / 0.008

The same temperatures are applied to the served int8 model; its calibration has not been re-measured separately.

Served model and evaluation report

The decisionfactory evaluation report publishes the figures of the fp32 model (for MASSIVE, retrained for the full-test evaluation). This site shows those of the int8 model actually served, which we re-measured on the same test sets. The differences are one point at most:

TestReport (fp32)Served model (int8)
Banking770.9340.924
Full MASSIVE, English0.8910.893
Full MASSIVE, French0.8800.878
Full MASSIVE, German0.8720.863
Full MASSIVE, Italian0.8740.876
Yes / no, French / German / Italian0.964 / 0.970 / 0.9680.964 / 0.968 / 0.968

The “classic method” and “API reference” columns come from the decisionfactory report (October 2026).

Latency and cost measurement

Effect of the hardware

The same int8 model, measured in two environments. No cost column: the price bases are not comparable.

EnvironmentTaskp50p95Decisions per second
alec server (AMD EPYC, AVX2)
4 vCPU, container limited to 2 CPUs, 2 threads; fixed public sentences, tokenisation included
measured on October 17, 2026
Banking intents35.2 ms68.4 ms26.4
Multilingual routing35.2 ms53.8 ms27.8
Yes / no question36.7 ms49.8 ms26.3
Modal CPU containers (decisionfactory, step 4) (processor: not recorded)
4 vCPU (2 physical cores), 4 threads; 120 pre-tokenised test sentences (tokenisation not timed)
measured on October 15, 2026
Banking intents9.7 ms18.9 ms92.8
Multilingual routing9.0 ms12.8 ms107.3
Yes / no question9.1 ms14.2 ms105.5

On the Modal containers, the model answers about four times faster. The gap does not come from the processor alone: those containers had 4 vCPU and 4 threads, against 2 CPUs and 2 threads here, and tokenisation was not timed there. It is therefore an order of magnitude of what a more powerful machine brings, not an isolated measure of the processor's effect.

Limitations