INTEL128

INTEL128 · DOCS · EVALUATION

How we evaluate

What we measure, how we split data, and what we will not publish. This is the protocol, written before the results.

No performance numbers appear on this page. The evaluation runs against a held-out, source- and time-disjoint test set that stays sealed until prompts, model versions, and analysis plans are frozen. When results exist they will be published here with their confidence intervals — including any that are flat or negative.

The five tasks

TaskWhat is asked
Entity extractionIdentify supported CTI entities and their exact mention spans in the report text.
Relation extractionPredict a typed relation between two entities, with the source evidence for it.
ATT&CK mappingMap a described behavior to a version-pinned technique identifier — with an explicit no-match or uncertain option.
Evidence supportDecide whether the cited report span actually entails the proposed claim.
AbstentionBehave correctly on ambiguous or insufficiently supported input.

Actor attribution is not a primary prediction target. If it appears at all, it is exploratory, is evaluated separately, and is never presented as definitive attribution.

Metrics

MeasuredHow
Extraction qualityStrict span-level precision, recall and F1 for entities and relations. Relaxed matching is reported only as a secondary measure, never instead of strict.
Relation correctnessBoth endpoints and the predicate must be right.
NormalizationIdentifier accuracy and the unresolved-ID rate, against a pinned reference version.
EvidenceExact quote and offset match, plus a blinded human entailment review.
ATT&CK mappingPrecision, recall and F1 against the pinned release, with an explicit adjudication policy.
Schema validityThe share of model outputs that pass the validator.
Unsupported-claim rateClaims whose evidence does not support them.
AbstentionCoverage, and the risk among non-abstained predictions — i.e. what happens to the answers it does give.
EfficiencyLatency, tokens per second where meaningful, peak GPU memory, host RAM, adapter size, training time.

A confidence output is treated as a score, not a calibrated probability, unless calibration is explicitly evaluated and reported as such.

Statistical analysis

Splitting

Ablations

Each component is removed or varied one at a time, so a gain can be attributed to something specific:

The adapter feasibility gate

Before any fine-tuning result is claimed, the stack must demonstrate, on synthetic examples: a forward pass, a finite training loss, a backward pass, an optimizer update, adapter save and reload, and reproducible inference. The exact trainable modules, model revision, quantization, library versions, sequence length and peak VRAM are recorded.

If that gate fails, the adaptation claim is dropped — not softened. The model remains an inference baseline and any result from a different model is reported as that model's result.

Reproducibility

Each run records software versions, OS, GPU and VRAM, model revision, tokenizer and prompt-encoding implementation, prompts, schema, reference-data version, dataset hashes, split manifests, seeds and decoding configuration. Every experiment has a unique identifier and a machine-readable configuration, and the tables regenerate from saved predictions.

Public release is limited to code, configs, manifests, schemas, synthetic fixtures, and artifacts whose licenses permit redistribution.

What you will not see

Previous: ← The claim schema

Ask us for the evaluation protocol.

If you are assessing PeriscopeCTI for adoption or review, we will share the full protocol, the split design and the metric definitions.

Request a research preview