Prüfen, ob sich Bewertungsintervalle überlappen
Ein Suchtreffer kann fragil sein, wenn viele Kandidaten ähnliche Bewertungen haben, selbst bei fast gleicher Klassifikationsgenauigkeit.
KI-gestützte Lernvisualisierung · schematische Erklärung zum Artikel
Ein Retriever vergleicht eine Anfrage mit vielen Korpuseinträgen. In den untersuchten Suchaufgaben liegen Spitzenwerte enger zusammen als Klassifikationswerte; dadurch bleibt weniger Spielraum für Zahlenänderungen vor einem Rangwechsel.
Ein Paper vom September 2026 dokumentiert eine Fehlerart, die Klassifikationsgenauigkeit allein nicht erkennen kann: Ein auf 4 Bit quantisiertes Modell kann viele Retrieval-Top-1-Ergebnisse ändern, während deutlich weniger Klassifikationsvorhersagen wechseln. The Undetected Damage of Quantization on Retrieval and How to Fix It (Zhou, Zirilli, Solombrino, Dessì und Rodolà, arXiv:2609.24322, eingereicht am 21. September 2026) berichtet bei den getesteten Modellen und Einstellungen Änderungen für ungefähr 14 bis 46 Prozent der Retrieval-Anfragen. Die ViT-Vergleiche nutzen für beide Aufgaben denselben feinabgestimmten Checkpoint; ein Qwen3-Vergleich kontrolliert den Checkpoint ebenfalls, während die erste Qwen3-Zeile unterschiedliche Checkpoints vergleicht1. In der CLIP-Text-zu-Bild-Einstellung fällt Recall@1 um 1,3 Prozent, während 24,6 Prozent der Top-1-Ergebnisse wechseln und 10,9 Prozent der zuvor korrekten Anfragen das richtige Bild verlieren1.
Der Mechanismus ist eine Schranke für Score-Abstände. Wenn die Quantisierung jeden Score — Klassen-Logit oder Query-Dokument-Ähnlichkeit — um höchstens ε ändert, kann kein anderer Kandidat den Spitzenreiter streng überholen, solange dessen Vorsprung vor dem Zweitplatzierten mindestens 2ε beträgt. Bei kleinerem Abstand ist ein solcher Tausch durch eine zulässige Störung möglich. Das Paper misst bei seinen Klassifikationsaufgaben größere Spitzenabstände als bei seinen Retrieval-Aufgaben. Ein kontrastiver Loss gegenüber ausgewählten Negativbeispielen garantiert im Allgemeinen keine Trennung von jedem Kandidaten im Evaluierungskorpus1. Der Abstand ist ohne Relevanzlabels messbar; ε oder ein einsetzbarer Schwellenwert müssen aber ebenfalls gemessen oder kalibriert werden. Das Paper schlägt zusätzliche Bitbreite für abstandssensitive Schichten und das Weiterleiten von Eingaben mit kleinem Abstand an Full Precision vor.
Dieser Guide verifiziert die Zahlen am Primärtext, behandelt die Schranke und die Annahmen, die sie stillschweigend trifft, reproduziert die Fehlerart, die Schranke und die Ökonomie der selektiven Präzision in ausführbarem Python — und bezahlt dann den Anti-Hype-Preis: was ein „Top-1-Wechsel“ ist und was nicht, und wo die saubere Schranke aufhört, sauber zu sein.
1. Der Effekt: dasselbe Modell, dieselben Gewichte, andere Aufgabe, anderer Schaden
Das Kerneperiment des Papers hält alles konstant außer der Aufgabe. Drei feinabgestimmte Backbones — ViT-B/16 und ViT-L/16 für Bilder, Qwen3-Embedding-0.6B für Text, insgesamt 53 feinabgestimmte Checkpoints — werden gewichtsbasiert auf 4 und 3 Bit quantisiert (W4/W3), symmetrische Skalen pro Kanal oder pro 128-Gewichte-Gruppe, jede lineare Schicht quantisiert, und dann auf zwei Arten gelesen: als Klassifikator (Top-1-Klasse) und als Retriever (Erstrangiges über einem Korpus)1. Bei W4 Round-to-nearest mit Group-128-Skalen teilt sich die Top-1-Wechselrate gegenüber dem Full-Precision-Modell (FP) so auf1:
| Backbone | Klassifikation Top-1-Wechsel | Retrieval Top-1-Wechsel | Verhältnis |
|---|---|---|---|
| ViT-B/16 | 6,2 % ± 1,4 | 45,5 % ± 2,5 | 7,3× |
| ViT-L/16 | 2,9 % ± 0,7 | 42,1 % ± 1,5 | 14,3× |
| Qwen3-Emb-0.6B | 4,3 % ± 1,1 | 33,4 % ± 4,1 | 7,8× |
Derselbe Checkpoint, derselbe Quantisierer, dieselbe Bitbreite: Wenige Prozent der Klassifikationsantworten wechseln — und bis zu 45,5 Prozent der Retrieval-Top-1-Ergebnisse. Die Kopfrange von 14 bis 46 Prozent aus dem Abstract überspannt den gesamten Messsatz des Papers — 14 Prozent sind der bestmögliche Fall (ein gut separierter Text-Embedder wie GTE oder BGE unter einem stärkeren Quantisierer wie GPTQ bei W4), das obere Ende ist Bild-Retrieval unter einfachem Round-to-nearest1. Die Ein-Checkpoint-Zeile von Tabelle 1 des Papers macht die Asymmetrie für den Einwand „andere Modelle“ unübersehbar: Ein Satz von Embeddings, gelesen durch eine eingefrorene lineare Sonde einerseits und durch Kosinus-Self-Retrieval andererseits, wechselt dennoch die Retrieval-Top-1 für 41,2 Prozent der Anfragen gegenüber 8,6 Prozent für die Klassifikation — ein 4,8×-Verhältnis auf identischen Vektoren1.
Aggregierte Metriken können die Änderungen pro Anfrage unterschätzen. In Tabelle 2 des Papers (Round-to-nearest, Group-128, vier BEIR-Korpora) verliert Qwen3-Emb-8B bei W4 3,1 Prozent des mittleren nDCG@10. Zugleich verlieren 15,6 Prozent der Anfragen, bei denen in Full Precision ein relevantes Dokument auf Rang 1 stand, dieses Dokument von Rang 1. Bei Qwen3-Emb-0.6B lauten die entsprechenden Werte 7,5 und 22,2 Prozent. Die Tabelle berichtet getrennt den Verlust aus den Top 10 unter Anfragen, bei denen ursprünglich ein relevantes Dokument in den FP-Top-10 lag. Diese Prozentsätze haben einen anderen Nenner und liegen für die vier W4-Zeilen zwischen 15,3 und 23,7 Prozent. Änderungen einer Rangliste und Änderungen der mittleren Relevanzmetriken beantworten unterschiedliche Fragen1.
2. Der Mechanismus: Lücke, Contender-Menge und die 2ε-Schranke
Die Analyse ist ein Worst-Case-Argument über den Score-Vektor z über N Kandidaten, wobei ein „Score“ das ist, wonach das System rangiert — ein Klassen-Logit in der Klassifikation, eine Query-Kandidat-Ähnlichkeit im Retrieval. Quantisierung wird modelliert als Ersetzung von z durch z + δ, wobei δ eine Störung mit ‖δ‖∞ ≤ ε ist — der größte Betrag, um den Quantisierung irgendeinen Score verschiebt. Mit g_2(z) für die Lücke zwischen Top-1 und Zweitplatziertem lautet Lemma 1 des Papers: Das Top-1 übersteht jede ε-beschränkte Störung genau dann, wenn g_2(z) ≥ 2ε gilt1.
Beide Richtungen zählen. Die Notwendigkeit ist das Zwei-Zeilen-Argument: Jeder Score bewegt sich um höchstens ε, ein Kandidat kann den Gewinner also nur überholen, wenn er innerhalb von 2ε von ihm startete; wenn niemand das tat, kann keine Störung einen neuen Spitzenreiter erzeugen. Die Hinlänglichkeit ist der konstruierte Tausch: Liegt die Lücke unter 2ε, subtrahiere ε vom Gewinner, addiere ε zum Zweitplatzierten, und die Reihenfolge kehrt sich um. Der Beweis steht auf älterem Grund als das Paper — ist jeder Score nur bis zu einem Intervall gleicher Breite bekannt, ist die induzierte Vergleichsrelation der Semiordnung von Luce, Scott und Suppes sowie Fishburn, und die Rangfolgen, die eine beschränkte Störung erreichen kann, sind deren lineare Erweiterungen2. Die Quellenangabe des Papers ist präzise: „What is new here is the measurement, not the condition"1.
Drei Verfeinerungen machen die Bedingung deploybar statt bloß wahr.
Die Contender-Menge, nicht nur der Zweitplatzierte. Die Menge C_ε(z) = {k ≥ 2 : g_k(z) < 2ε} enthält die Positionen, deren Kandidaten den FP-Spitzenreiter unter einer ε-beschränkten Störung streng überholen können. Sie kann weit in die Rangliste reichen, wenn viele Scores innerhalb von 2ε um den Sieger liegen. Eine Kette paarweiser Fast-Gleichstände erlaubt einem Kandidaten mit einem eigenen Abstand von mindestens 2ε zum Sieger dagegen kein Überholen; das folgt direkt aus der Schranke. Der Satz des Preprints, der ein Überholen eines weit unterhalb liegenden Kandidaten mit fehlender Transitivität begründet, ist daher falsch, sofern „weit unterhalb“ einen Score-Abstand von mindestens 2ε meint1. In den Experimenten war der neue Spitzenreiter bei 82,2 Prozent der Klassifikationswechsel der frühere Zweitplatzierte, bei Bild-Retrieval nur bei 39,7 Prozent. Die anderen Sieger standen auf tieferen Rängen, aber noch innerhalb des zulässigen Score-Abstands1.
Differenzen, nicht Niveaus. Korollar 1 beobachtet, ob das Top-1 übersteht, hängt von δ nur über die Differenzen δ_j − δ_a mit dem Gewinner ab — eine Störung, die jeden Score gleich verschiebt, ändert nichts, egal wie groß ε ist. Die zu kalibrierende Größe ist deshalb S(x) = max_j(δ_a′ − δ_j) ≤ 2‖δ‖∞ auf der realisierten Störung, nicht das globale 2ε; der Stabilitätscheck des Papers akzeptiert daher strikt mehr Eingaben, als die rohe Schranke es täte (2ε statt S zu kalibrieren akzeptiert 67,2 Prozent der Klassifikations-Eingaben gegenüber 85,2 Prozent bei α = 0,10 — und gar keine Retrieval-Anfrage)1.
Gemessen, nicht angenommen. Entscheidend: Das Paper nimmt ε nicht an, es lässt beide Modelle — FP und quantisiert — auf die Eingabe laufen und misst δ = z^PTQ − z^FP, mit ε = ‖δ‖∞. Die Aufgabe der Schranke ist strukturell — sie sagt, welche Statistik Flips vorhersagt —, während die Störungsgröße eine empirische Größe ist, und genau das lässt einen Schwellenwert über Anfragen hinweg generalisieren.
Die gemessenen Abstände helfen, die Asymmetrie der getesteten Aufgaben zu erklären. Bei W4 ist die Contender-Menge für 74,3 Prozent der ViT-B/16-Klassifikationseingaben leer und für keine Retrieval-Anfrage; über die gemessenen Eingaben hinweg überschreiten 85,8 Prozent der Klassifikationseingaben die Stabilitätsschwelle (medianes Separationsverhältnis g_2/2ε = 5,73), aber nur 3,5 Prozent der Retrieval-Anfragen (Median 0,081)1. Das Klassifikationstraining fördert einen Abstand zu anderen Klassen. Kontrastives Retrieval-Training mit ausgewählten Negativbeispielen garantiert keinen Abstand zwischen dem höchsten Score und dem Zweitplatzierten im vollständigen Evaluierungskorpus.
3. Was die Lücke kaufen kann: Vorhersage, Vertrauen pro Eingabe und zwei Fixes
Der Separationsratio g_2/2ε erklärt den Schaden über alles hinweg, was das Paper misst: Der mediane Separationskorrelationswert mit der Top-1-Wechselrate liegt bei Spearman −0,88 über 2.118 gemessenen Konfigurationen und bei −0,98 über zwölf Modell/Bitbreite-Konfigurationen (p < 10⁻⁷)1. Keine Zutat allein ist so prädiktiv — der mediane Gap erreicht −0,58 und das mediane ε nur +0,05, gegenüber −0,88 für den Ratio. Eine Konsequenz für Praktiker, die das Paper explizit macht: Wähle das Retrieval-Modell mit höherer Separation, nicht das größere — GTE-large mit 0,34B Parametern ändert bei beiden Bitbreiten weniger Top-1-Ergebnisse als Qwen3-Embedding-4B mit der zwölffachen Größe, weil seine Lücken weiter sind1.
Stabilitätscheck pro Eingabe (ohne Labels). Die Top-1-Bedingung benötigt FP-Scores und die Störungsgröße; wenn zur Laufzeit nur das quantisierte Modell arbeitet, sind beide unbekannt. Das Paper vergleicht stattdessen dessen Top-1/Top-2-Gap mit einem Schwellenwert, der auf ungelabelten Eingaben kalibriert wird, für die beide Modelle laufen. Bei n austauschbaren Kalibrationseingaben ist der gültige Schwellenwert für die obere Verteilungsschwanzwahrscheinlichkeit von S(x) der k-kleinste Kalibrationswert mit k = ⌈(n+1)(1−α)⌉ (oder +∞, falls k > n). Das begrenzt die gemeinsame Wahrscheinlichkeit Pr(akzeptiert und Top-1 gewechselt) durch α; es garantiert keine bedingte Fehlerrate von höchstens α unter akzeptierten Eingaben3. Der Preprint schreibt an dieser Stelle „k-größter“; diese Rangrichtung ist mit der angegebenen Garantie für den oberen Verteilungsschwanz unvereinbar. Die Werte in Tabelle 3 sind empirische Berichte: Bei ViT-B/16-Klassifikation und α = 0,10 beträgt die Abdeckung 85,2 ± 0,1 Prozent und die bedingte Verletzungsrate 1,47 Prozent; im Text-Retrieval liegt die Abdeckung bei 11,3 Prozent und bei CLIP ViT-L/14 bei 15,7 Prozent1. Aus den Paper-Ergebnissen allein lässt sich nicht unabhängig feststellen, welche Rangordnung der Code verwendet hat. Jede Conformal-Garantie setzt außerdem Austauschbarkeit von Kalibrations- und Deployment-Eingaben voraus und kann bei Verteilungsverschiebung versagen.
Fix 1, Retrieval: Bits dort verteilen, wo die Lücke sich bewegt. Gewichtsbasierte PTQ-Methoden entscheiden, wie gerundet wird, nicht, wo Bits ausgegeben werden — die Bitbreite wird global gesetzt, und existierende Allokatoren rangieren Schichten nach Rekonstruktionsfehler. Das Kriterium des Papers gibt die zusätzliche Bitbreite stattdessen den Schichten, deren Quantisierung den Top-1/Top-2-Gap am stärksten bewegt: Für jede lineare Schicht ℓ wird nur diese Schicht mit schlichtem Round-to-nearest auf 3 Bit quantisiert, 128 Kalibrations-Anfragen erneut durchlaufen und s_ℓ = median_x |g_2(x) − g_2^(ℓ)(x)| genommen — wie stark die Ein-Schicht-Quantisierung die Lücke zwischen denselben zwei Dokumenten verschiebt. Die Schichten werden nach s_ℓ geteilt durch ihre Parameterzahl gerankt; bei einem festen Budget von 3,5 Bit pro Gewicht erhält die obere Hälfte 4 Bit, der Rest bleibt bei 3. Die gesamte Messung sind L+1 Vorwärtsläufe über 128 ungelabelte Anfragen und trainiert nichts; die Sensitivitäten werden einmal mit RTN gemessen, und die resultierende Zuweisung wird unter dem Quantisierer angewendet, den das Deployment nutzt1. Das Ergebnis: Gap-Allokation gewinnt 60-73 Prozent des vollen W3→W4-Nutzens bei der Hälfte der Kosten des zusätzlichen Bits, rangiert unter allen sieben forward-only Kriterien unter jedem getesteten Quantisierer zuerst, und ihr Vorsprung vor dem nächstbesten Kriterium läuft von 5,5 bis 18,4 Punkten über 24 Konfigurationen. Der ersetzte Allokator — Rekonstruktionsfehler, das Ziel existierender Allokationsverfahren — gewinnt nur 40-48 Prozent und ist auf Text-Embeddern quer über die Schichten fast unkorreliert mit der Gap-Sensitivität (mittlerer Spearman −0,04)1. In absoluten Zahlen bei 3,5 Bit unter RTN: 33,3 Prozent der Top-1-Ergebnisse wechseln gegenüber 43,1 Prozent bei rekonstruktionsgetriebener Allokation, und 13,8 Prozent korrekter Top-1-Dokumente gehen verloren gegenüber 19,9 Prozent1.
Fix 2, Klassifikation: Eingaben mit kleiner Lücke auf FP routen. In der Klassifikation ist die gefährdete Minderheit klein, also ist der Fix pro Eingabe. Der eigene Top-1/Top-2-Gap des quantisierten Modells fällt kostenlos mit dem Vorwärtslauf an, den das Deployment ohnehin ausführt; route x auf das FP-Modell genau dann, wenn g_q(x) < τ, mit τ am 25. Perzentil von g_q auf einem ungelabelten Validierungsslice1. 25 Prozent der Eingaben zu routen gewinnt 85-93 Prozent der durch Quantisierung verlorenen Genauigkeit auf den drei Backbones des Papers zurück (Aufgaben mit mindestens 0,5 Punkten FP→PTQ-Lücke), zu Kosten, die das Paper als 47 Prozent der FP-Kosten bei der 4,5×-Beschleunigung von GPTQ berechnet. Eine Identifizierbarkeits-Aussage (Proposition 3) liefert einen theoretischen Boden: Bis auf Ordnungsäquivalenz ist die Lücke der einzige Score der quantisierten Logits, dessen Schwellenwert-Mengen zu jedem Budget die Worst-Case-Flip-Mengen treffen1.
4. Ausführbare Zellen
Drei in sich geschlossene Zellen (nur Standardbibliothek, Seed fixiert, gelaufen mit Python 3.9.6). Die erste reproduziert die Asymmetrie: identische beschränkte Störungen, zwei verschiedene Lückenverteilungen und die resultierende Kluft der Wechselraten.
import random
# CELL 1: the gap>2*eps criterion -- retrieval vs classification gap distributions
random.seed(11)
N = 200 # candidates
Q = 500 # queries/inputs per task
def retrieval_scores():
# retrieval-like: scores cluster near the top (nothing separates 1st from 2nd)
return sorted((random.uniform(0.85, 1.0) for _ in range(N)), reverse=True)
def classification_scores():
# classification-like: winner pulled away from the pack by a wide margin
rest = sorted((random.uniform(0.0, 0.35) for _ in range(N - 1)), reverse=True)
return [0.9 + random.uniform(0.0, 0.1)] + rest
eps = 0.01 # largest rounding-induced score displacement
def flip_stats(gen):
flips = contenders = 0
for _ in range(Q):
z = gen()
g2 = z[0] - z[1]
if g2 < 2 * eps:
contenders += 1
# simulate the actual perturbation: independent uniform in [-eps, eps]
d = [random.uniform(-eps, eps) for _ in range(N)]
zp = [a + b for a, b in zip(z, d)]
if zp.index(max(zp)) != 0:
flips += 1
return flips / Q, contenders / Q
rf, rc = flip_stats(retrieval_scores)
cf, cc = flip_stats(classification_scores)
print(f"eps = {eps} (stability threshold 2*eps = {2*eps})")
print()
print("task | top-1 flip rate | at-risk inputs (g2 < 2*eps)")
print(f"retrieval | {rf:6.1%} | {rc:6.1%}")
print(f"classification| {cf:6.1%} | {cc:6.1%}")
print()
print("same perturbation size; only the gap distribution differs")Ausgabe eines echten Laufs (Python 3.9.6, Seed 11):
eps = 0.01 (stability threshold 2*eps = 0.02)
task | top-1 flip rate | at-risk inputs (g2 < 2*eps)
retrieval | 78.4% | 100.0%
classification| 0.0% | 0.0%
same perturbation size; only the gap distribution differsEine Einschränkung, die die Zelle ebenfalls zeigt: Bei diesem bewusst extremen Lückenkontrast flippt die Klassifikationsseite nie — die echten Klassifikations-Eingaben des Papers flippen wenige Prozent der Zeit, weil echte Lücken nicht unendlich sind. Die Spalte der gefährdeten Eingaben ist die wahre Separation des Papers: Retrieval lässt 100 Prozent der Anfragen unter die Schwelle fallen, Klassifikation keine.
Die zweite Zelle macht die Schranke auf einem tatsächlichen Quantisierungsgitter konkret: eine Gewichtsmatrix mit Skalen pro Gruppe, die größte realisierte Score-Verschiebung und welche Kandidaten in der resultierenden Contender-Menge liegen.
import random
from math import ceil
# CELL 2: block-quantization rounding-error bound -- where the 2x bound bites
random.seed(23)
# a weight matrix: out=64 channels, in=256 inputs, group size 128
OUT, IN, GROUP, BITS = 64, 256, 128, 4
W = [[random.gauss(0.0, 0.08) for _ in range(IN)] for _ in range(OUT)]
X = [random.gauss(0.0, 1.0) for _ in range(IN)] # one typical query input
def quantize(w, bits, group):
step = lambda mx: 2 * mx / (2**bits - 1)
q = [[0.0] * len(w[0]) for _ in w]
max_round = 0.0 # largest per-score disp basis
for r, row in enumerate(w):
for g0 in range(0, len(row), group):
g = row[g0:g0 + group]
mx = max(abs(v) for v in g)
s = step(mx)
for j in range(len(g)):
q[r][g0 + j] = round(g[j] / s) * s
max_round = max(max_round, abs(q[r][g0 + j] - g[j]))
return q, max_round
Wq, werr = quantize(W, BITS, GROUP)
def scores(M):
return [sum(M[i][j] * X[j] for j in range(IN)) for i in range(OUT)]
z, zq = scores(W), scores(Wq)
disp = [abs(a - b) for a, b in zip(z, zq)]
eps = max(disp)
order = sorted(range(OUT), key=lambda i: -z[i])
g2 = z[order[0]] - z[order[1]]
violators = [i for i in range(1, OUT) if z[order[0]] - z[order[i]] < 2 * eps]
print(f"max per-weight rounding error (group_{GROUP}, {BITS} bits): {werr:.5f}")
print(f"largest realized score displacement eps: {eps:.5f}")
print(f"stability threshold 2*eps: {2 * eps:.5f}")
print()
print(f"top-1 score {z[order[0]]:.4f}")
print(f"top-2 score {z[order[1]]:.4f}")
print(f"top-1/top-2 gap g2: {g2:.5f}")
print()
print(f"contender set |C_eps| (candidates within 2*eps of top-1): {len(violators)}")
print(f"separation ratio g2 / 2*eps: {g2 / (2 * eps):.3f} "
f"({'stable' if g2 >= 2 * eps else 'NOT stable'})")
print()
print("the bound assumes |displacement| <= eps on every score;")
print("with a per-channel / per-group scale this holds exactly, and the")
print("criterion reduces to comparing one measured gap against 2*eps")Ausgabe eines echten Laufs (Python 3.9.6, Seed 23):
max per-weight rounding error (group_128, 4 bits): 0.02315
largest realized score displacement eps: 0.42153
stability threshold 2*eps: 0.84307
top-1 score 2.5917
top-2 score 2.3443
top-1/top-2 gap g2: 0.24734
contender set |C_eps| (candidates within 2*eps of top-1): 4
separation ratio g2 / 2*eps: 0.293 (NOT stable)
the bound assumes |displacement| <= eps on every score;
with a per-channel / per-group scale this holds exactly, and the
criterion reduces to comparing one measured gap against 2*epsZwei Lesarten. Der Separationsratio von 0,293 liegt mitten im Retrieval-Regime des Papers (Median 0,081) — meilenweit von der Schwelle entfernt und daher kippbar. Und die Kluft zwischen dem Gewichts-Rundungsfehler (0,02) und der Score-Verschiebung (0,42) ist das ehrliche Skalenproblem: ε auf der Ausgabe ist eine akkumulierte, eingabeabhängige Größe — weshalb das Paper es misst statt herleitet.
Die dritte Zelle spiegelt die Allokationsökonomie: Kauft bei einem festen Budget von 3,5 Bit pro Gewicht das zusätzliche halbe Bit auf den lückenbewegenden Schichten einen überproportionalen Anteil des vollen zusätzlichen Bits?
import random
# CELL 3: selective-precision economics -- gap-moving layers vs a uniform extra bit
random.seed(31)
L = 12 # linear layers
Q = 400 # queries
N = 200 # candidates
# Each layer, quantized at 3 bits, displaces every query-document score by an
# independent error uniform in [-e_l, e_l]. A few layers are far more
# gap-sensitive than the rest (paper finding: sensitivity is concentrated).
E3 = [0.080 if l in (2, 5, 8) else 0.003 for l in range(L)]
E4 = [e / 8 for e in E3] # one extra bit: 1/8 the rounding error
def flip_rate(bits_per_layer):
flips = 0
for _ in range(Q):
# retrieval-like scores: top items nearly tied
z = [random.uniform(0.85, 1.0) for _ in range(N)]
d = [sum(random.uniform(-e, e) for e in
(E3[l] if b == 3 else E4[l] for l, b in
enumerate(bits_per_layer))) for _ in range(N)]
zp = [a + b for a, b in zip(z, d)]
if zp.index(max(zp)) != z.index(max(z)):
flips += 1
return flips / Q
# rank layers by sensitivity / parameter count (here: equal sizes, so by e_l),
# give the extra bit to the half that moves the gap most -> avg 3.5 bits
ranked = sorted(range(L), key=lambda l: -E3[l])
gap_guided = [4 if l in ranked[:L // 2] else 3 for l in range(L)]
r_w3 = flip_rate([3] * L)
r_gap = flip_rate(gap_guided)
r_w4 = flip_rate([4] * L)
benefit_full = r_w3 - r_w4
benefit_gap = r_w3 - r_gap
capture = benefit_gap / benefit_full
print("allocation | avg bits | top-1 flip rate")
print(f"uniform W3 | 3.00 | {r_w3:5.1%}")
print(f"gap-guided (6 layers at 4b) | 3.50 | {r_gap:5.1%}")
print(f"uniform W4 | 4.00 | {r_w4:5.1%}")
print()
print(f"full extra bit's benefit (fewer flips): {benefit_full:5.1%}")
print(f"gap-guided captures: {capture:5.1%} of it")
print("for 50% of the extra bit's memory cost")Ausgabe eines echten Laufs (Python 3.9.6, Seed 31):
allocation | avg bits | top-1 flip rate
uniform W3 | 3.00 | 97.0%
gap-guided (6 layers at 4b) | 3.50 | 89.5%
uniform W4 | 4.00 | 86.0%
full extra bit's benefit (fewer flips): 11.0%
gap-guided captures: 68.2% of it
for 50% of the extra bit's memory costDas Spielzeugmodell landet innerhalb des gemessenen Bandes des Papers: Gap-geführte Allokation bei der Hälfte der Kosten des zusätzlichen Bits gewinnt 68,2 Prozent des Nutzens des vollen Bits — gegenüber 60-73 Prozent im Paper. Der Parameter, der das treibt, ist die Konzentration der Sensitivität: Dominieren drei von zwölf Schichten die Score-Verschiebung, kauft das zusätzliche halbe Bit fast das, was ein volles Bit überall kauft; macht man die Sensitivitätsverteilung uniform, kollabiert die Gewinnrate Richtung dessen, was Rekonstruktionsfehler-Allokation kauft (40-48 Prozent im Paper). Der Wert der Methode ist empirisch — sie misst, wo die Konzentration tatsächlich liegt, pro Modell, mit L+1 billigen label-freien Läufen.
5. Anti-Hype: Was „14-46 Prozent" sind — und was nicht
Die Zahlen sind gegen das FP-Modell gemessen, nicht gegen Ground Truth. Ein „Top-1-Wechsel" bedeutet, dass das quantisierte Modell ein anderes erstes Ergebnis liefert als das FP-Modell liefern würde — nicht zwingend ein schlechteres. Das Paper misst diese Unterscheidung: Gegen die BEIR-Relevanzlabels ersetzen 66 Prozent der Flips, deren FP-Top-1 ein relevantes Dokument war, es durch ein nicht relevantes bei W4 (77 Prozent bei W3); auf CLIP, wo jede Anfrage genau ein korrektes Bild hat, verlieren 26-30 Prozent der gewechselten Ergebnisse es, während 13-23 Prozent gewinnen1. Der Schaden ist also mehrheitlich schädlich, aber nicht uniform, und ein Downstream-System zählt auch bei neutralen Flips: Ein anderes abgerufenes Dokument ergibt eine andere generierte Antwort, und zwei Server, die dasselbe Modell mit unterschiedlicher Präzision betreiben, beantworten dieselbe Anfrage unterschiedlich. Die eigene Rahmung des „Undetected" ist eine Aussage über Benchmark-Praxis — Recall@k und nDCG@10 auf einem festen Korpus können eine Top-1-Wechselrate von 24,6 Prozent hinter einem Metrik-Dip von 1,3 Prozent verstecken — und die korrekte Antwort ist, Wechselraten neben aggregierten Metriken zu berichten, nicht jeden Flip als Genauigkeitsverlust zu behandeln.
Starke Quantisierer reduzieren das, aber sie beseitigen es nicht. Das Paper wiederholt die Messung mit GPTQ (mit und ohne Aktivierungs-Reihenfolge), AWQ, HQQ und AdaRound: Alle fünf senken die Top-1-Wechselrate — GPTQ mit Aktivierungs-Reihenfolge nimmt ViT-L/16 bei W4 von 42,1 auf 29,6 Prozent und die besten Text-Fälle auf 14,4-14,5 Prozent — und keiner nähert sich auf Retrieval der Stabilitätsschwelle1. Der stärkste Einzeldatenpunkt: GPTQ auf ViT-L/16 stellt die Klassifikationsgenauigkeit von 55,5 auf 88,6 Prozent wieder her und schneidet die Klassifikations-Wechselrate um das Elffache — während Retrieval auf demselben Modell weiterhin die meisten seiner Top-1-Ergebnisse wechselt. Wer im Kopf hat „ein guter Quantisierer fixt PTQ", für den ist Retrieval das Gegenbeispiel.
Die Schranke ist nur so sauber wie das Rundungsfehlermodell. Das 2ε-Argument setzt eine beschränkte Score-Verschiebung voraus. Das Paper misst ε empirisch pro Eingabe (was die Herleitung umgeht), aber das Regime zählt: Mit Skalen pro Kanal oder pro 128er-Gruppe ist der Gewichts-Rundungsfehler auf eine halbe Gitterstufe beschränkt, und die Akkumulation zu einem Score-ε ist messbar — das ist die Einstellung des Papers, und Aktivierungsquantisierung ist explizit ungetestet (die Limitations nennen: nur Gewichte bei 4/3 Bit, Aktivierungen ungetestet, exakte Kosinus-Ähnlichkeit über ein endliches Korpus, approximative Nearest-Neighbor-Indizes außerhalb des Scopes)1. Verfahren, die Gewichte nicht-uniform transformieren — Per-Channel-Outlier-Splits, gelernte Skalen unter Clipping — machen die Verschiebung weniger sauber beschränkt, und der Conformal-Schwellenwert erbt die Austauschbarkeitsannahme. Die Struktur des Kriteriums überlebt; das ε in „g_2 ≥ 2ε" ist eine empirische Größe pro Modell pro Bitbreite, keine Naturkonstante.
Der Routing-Fix gilt nur für Klassifikation — das Paper sagt warum. Bei W4 ist der gefährdete Anteil 94-100 Prozent der Retrieval-Anfragen gegenüber 9-26 Prozent der Klassifikations-Eingaben1; eine Minderheit zu routen funktioniert nur, wenn die Minderheit klein ist, und für Retrieval stellt der Check pro Eingabe korrekt fast nichts aus, was er zertifizieren könnte. Die Antwort auf der Retrieval-Seite ist global (Bits allozieren), die auf der Klassifikations-Seite pro Eingabe (routen) — und wer sie verwechselt und Retrieval-Anfragen per Gap routet, routet fast alles.
Die Frage, die dieses Paper jedem quantisierten Retrieval-Deployment stellen sollte: Wie groß ist der Anteil der Top-1-Ergebnisse, die vom FP-Modell abweichen, gemessen auf einem gehaltenen Slice — und, falls diese Zahl nirgends berichtet wird: Warum nicht?
6. Fazit
Der Beitrag des Papers teilt sich sauber. Die Bedingung (Top-1 übersteht genau dann, wenn g_2 ≥ 2ε) ist alte Mathematik, korrekt der Semiordnungs-Literatur zugeschrieben; die Messung ist neu und scharf — derselbe Checkpoint, der wenige Prozent der Klassifikationsantworten und 33-46 Prozent der Retrieval-Top-1-Ergebnisse bei W4 wechselt, mit aggregierten Metriken, die blind dafür sind, ist ein Befund zur Benchmark-Praxis, an dem Produktionssysteme handeln sollten. Die Gap-Statistik ist das richtige Objekt: label-frei, billig, prädiktiv über 2.118 Konfigurationen bei Spearman −0,88, und sie treibt zwei Fixes, deren Ökonomie das Paper misst statt behauptet (60-73 Prozent des Nutzens eines zusätzlichen Bits bei der Hälfte seiner Kosten; 85-93 Prozent der verlorenen Genauigkeit durch Routing eines Viertels der Eingaben). Die eigene Abrechnung des Papers bezahlt die offenen Fragen — ob Training die Lücke anregen kann, die ein Deployment braucht, steht als offene Frage, Aktivierungen und ANN-Indizes als außerhalb des Scopes. Für alle, die quantisierte Retriever ausliefern, ist der Kern eine Zahl, die morgen zu berichten sich lohnt: die Top-1-Übereinstimmungsrate mit dem FP-Modell, pro Korpus, vor und nach der Quantisierung.
Footnotes
Footnotes
-
Zhou, Luca; Zirilli, Alessandro; Solombrino, Daniele; Dessì, Roberto; Rodolà, Emanuele — The Undetected Damage of Quantization on Retrieval and How to Fix It, arXiv:2609.24322, cs.LG, eingereicht am 21. September 2026 (Affiliationen: Sapienza University of Rome, Paradigma, Not Diamond; volles HTML v1 verifiziert: Abstract 14-46 % Top-1-Retrieval-Wechselrange; Sec. 5 Tabelle 1 W4 RTN group_128 Wechselraten ViT-B/16 45,5 %±2,5 vs 6,2 %±1,4 Klassifikation (7,3×), ViT-L/16 42,1 % vs 2,9 % (14,3×), Qwen3-Emb-0.6B 33,4 % vs 4,3 % (7,8×), Ein-Checkpoint-Zeile 41,2 % vs 8,6 % (4,8×); Lemma 1 Top-1/Top-k-Stabilität gdw. g_2 ≥ 2ε mit konstruiertem Tausch; Korollar 1 Contender-Lokalität, S(x) = max_j(δ_a′ − δ_j) ≤ 2‖δ‖∞; Contender-Menge leer für 74,3 % der ViT-B/16-Klassifikations-Eingaben, keine Retrieval-Anfrage; 85,8 % Klassifikation vs 3,5 % Retrieval über der Stabilitätsschwelle, mediane Separation 5,73 vs 0,081; Klassifikation neues-Top-1-ist-Zweitplatzierter 82,2 % vs Retrieval 39,7 %; Tabelle 2 nDCG@10-Verlust 2,7-7,6 % W4 mit Gold-Verlust aus Top-1 für 16-22 % der Anfragen, W3 −68,9 % nDCG und 79,6 % Gold verloren; 66 % der W4-Flips ersetzen relevantes Top-1 durch nicht-relevantes, 77 % bei W3; CLIP ViT-L/14 Flickr30k W4 Recall@1 −1,3 %, 24,6 % Top-1-Wechsel, 10,9 % der korrekten-Top-1-Anfragen verlieren es, 6,5 % richtig-zu-falsch vs 5,7 % falsch-zu-richtig; Tabelle 3 Conformity: α=0,10 Abdeckung 85,2 %±0,1 / Verletzung 1,47 % (ViT-B/16-Klassifikation), 11,3 % Abdeckung (Text-Retrieval), 1,5 %/15,7 % (CLIP B/32, L/14); Split-Conformal-Schwellenwert mit Pr(akzeptiert und Top-1 gewechselt) ≤ α; Spearman −0,88 über 2.118 Konfigurationen, −0,98 über 12 Modell/Bitbreite-Konfigurationen, Gap allein −0,58, ε allein +0,05; GTE-large 0,34B flippt weniger als Qwen3-Emb-4B; Sec. 5.4 Tabelle 4: GPTQ act-order ViT-L/16 42,1→29,6 W4, beste Text-Fälle 14,4-14,5 %; GPTQ ViT-L/16 Klassifikationsgenauigkeit 55,5→88,6 %, Wechselrate um 11× gesenkt, Retrieval flippt weiterhin das meiste; Sec. 6.1: s_ℓ = median_x |g_2(x) − g_2^(ℓ)(x)| gerankt nach Sensitivität/Parameterzahl, 128 Kalibrations-Anfragen, L+1 Läufe, 3,5-Bit-Budget, Gewinn 60-73 % des W3→W4-Nutzens, erste von sieben forward-only Kriterien unter jedem Quantisierer, Vorsprung 5,5-18,4 Punkte über 24 Konfigurationen, Modell-für-Modell 68,3-84,5 %, Rekonstruktionsfehler gewinnt 40-48 %, Spearman gegen Gap-Sensitivität −0,04 auf Text-Embeddern, +0,34 CLIP; absolut: 33,3 % vs 43,1 % Top-1-Wechsel, 13,8 % vs 19,9 % korrekt-Top-1-Verlust unter RTN; CLIP 56,4 % vs 34,9 %; Routing: 25 % geroutet gewinnt 85-93 % der verlorenen Genauigkeit, 62-76 % bei 10 %, 97-99 % bei 50 %, 47 % der FP-Kosten bei GPTQ 4,5×-Beschleunigung; Prop. 3 Gap-Identifizierbarkeit bis auf Ordnungsäquivalenz; gefährdeter Anteil 94-100 % Retrieval vs 9-26 % Klassifikation bei W4; Reranker (ms-marco-MiniLM-L-6-v2) 5-10 % W4, 12-27 % W3 Wechsel; Limitations: nur Gewichte bei 4/3 Bit, Aktivierungen ungetestet, Conformal-Austauschbarkeitsannahme, nur exakte Kosinus-Ähnlichkeit, ANN-Indizes außerhalb des Scopes): https://arxiv.org/abs/2609.24322 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17 ↩18 ↩19 ↩20 ↩21 ↩22 ↩23 ↩24 ↩25 ↩26
-
Die Intervall-Vergleichs-Linie, der das Paper die Bedingung zuschreibt: Luce, R. Duncan (1956), Semi-orders and a theory of utility discrimination; Scott, Dana und Suppes, Patrick (1958), Foundational aspects of theories of measurement; Fishburn, Peter C. (1970), Intransitive indifference with unequal indifference intervals, Journal of Mathematical Psychology 7 (1), pp. 144–149; sowie Szpilrajn, Edward (1930), Sur l'extension de l'ordre partiel — ist jeder Score nur innerhalb eines Intervalls gleicher Breite bekannt, existieren Zwei-Wege-Vergleiche nur zwischen Elementen, deren Intervalle sich nicht überlappen (die Semiordnung), und die Rangfolgen, die eine beschränkte Störung erreichen kann, sind die linearen Erweiterungen der induzierten Partialordnung. Das Paper formuliert den Top-1-Fall in eigener Notation und hält fest: „What is new here is the measurement, not the condition": https://arxiv.org/abs/2609.24322 ↩
-
Das korrekte endliche obere Quantil ist der ⌈(n+1)(1−α)⌉-kleinste Kalibrationswert (oder +∞ bei k > n). Unter Austauschbarkeit gilt damit Pr(S_test > τ̂) ≤ α und folglich die gemeinsame Akzeptiert-und-Gewechselt-Schranke. Der Preprint schreibt irrtümlich „größter“; siehe das Primärpaper https://arxiv.org/html/2609.24322v1 und Ryan Tibshiranis Berkeley-Vorlesung https://statgrades.berkeley.edu/~ryantibs/statlearn-s24/lectures/conformal.pdf ↩