Ster/Docs

ster vector compare

Compare steering artifacts fitted for different traits on one model: cosine similarity at every layer they share, what each holds that the others do not span, and the groups they fall into.

Usage#

text
ster vector compare <ARTIFACT> <ARTIFACT>... --clusters <N> [--layers <L,L,...>]

Reads the artifacts and loads no model. --clusters is the number of groups average linkage cuts the artifacts into; Ster chooses none. --layers is a comma list of layers every artifact must carry; without it every layer all of them carry is compared. The global --text prints the same answer as path: value lines.

What it reports#

  • labels — each artifact's trait_name, in argument order.
  • layers — the layers compared.
  • per_layer — per layer, the cosine similarity of every pair of directions.
  • similarity — the mean of those over the compared layers.
  • distance — the mean over the compared layers of the distance between each pair's unit directions, taking whichever of a pair's two signs lies nearer, because a direction and its negation pick out one axis.
  • uniqueness — per artifact, the length of the part of its directions that the other artifacts' directions at the same layers do not span, over their whole length: one when nothing else explains it, none when the others already contain it.
  • clusters — the group of each artifact, in argument order, from average linkage on distance.
  • silhouette — the mean silhouette of that cut over the artifacts that share a group; null when none does.
  • most_similar and most_different — the pairs with the highest and lowest mean cosine.

Desktop request#

ster request vector/compare takes {"artifacts": [...], "clusters": N, "layers": [...]}, with layers optional, and returns the same document. Ster Desktop runs it from the Compare workflow: one artifact path per line, the group count, and the layers field (all or a comma list).

Refusals#

SentenceCause
vector compare needs at least two artifacts and got 1One artifact named.
vector compare compares directions of one model: <A> is <MODEL> at width <W>, <B> is <MODEL> at width <W>Artifacts from different models or widths.
--clusters <N> cannot group <C> artifacts: at most one group per artifactMore groups than artifacts.
layer <L> is not in <TRAIT>'s artifact, which carries layers {...}--layers names a layer an artifact does not carry.
the artifacts share no layer to compare at: ...No layer every artifact carries.
<TRAIT>'s direction at layer <L> has length <X>, so it has no angle to compareA zero or non-finite direction.
vector/compare needs at least two artifacts and got 1The desktop request names one artifact; refused with status 2 before anything is read.