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#
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'strait_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 ondistance.silhouette— the mean silhouette of that cut over the artifacts that share a group;nullwhen none does.most_similarandmost_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#
| Sentence | Cause |
|---|---|
vector compare needs at least two artifacts and got 1 | One 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 artifact | More 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 compare | A zero or non-finite direction. |
vector/compare needs at least two artifacts and got 1 | The desktop request names one artifact; refused with status 2 before anything is read. |