Davidmg0815 commited on
Commit
668cfda
·
verified ·
1 Parent(s): fe3fffe

Upload METHODIK.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. METHODIK.md +131 -0
METHODIK.md ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Messprotokoll MATH-500 — warum eine Zahl allein nichts sagt
2
+
3
+ Diese Seite protokolliert, wie die Mathematik-Werte in der Modellkarte
4
+ zustande kommen, welche Fehler dabei aufgetreten sind und was noch fehlt.
5
+ Sie existiert, weil derselbe Messlauf je nach Auswertung **76 oder 98 Prozent**
6
+ ergibt — und beide Zahlen belegbar sind.
7
+
8
+ Wer Benchmark-Werte veröffentlicht, ohne das offenzulegen, veröffentlicht
9
+ eine Meinung.
10
+
11
+ ## Der aktuelle Stand
12
+
13
+ | Modell | streng gewertet | nur abgeschlossene Antworten | abgeschnitten |
14
+ |---|---|---|---|
15
+ | Qwen3.8-27B Q8_0 | 76,0 % | 98,3 % | 34 von 150 (23 %) |
16
+ | Qwen3.8-27B Q6_K | 76,7 % | 97,5 % | 32 von 150 (21 %) |
17
+ | Qwen3.6-27B Q6_K | 76,0 % | 97,4 % | 33 von 150 (22 %) |
18
+
19
+ **Beide Spalten sind verzerrt, in entgegengesetzte Richtungen.** Die strenge
20
+ Wertung bestraft Antworten, die nur nicht ins Token-Budget passten. Die zweite
21
+ Spalte wirft genau diese Fälle weg — und das sind überwiegend die schweren
22
+ Aufgaben, also schönt sie nach oben. Die belastbare Zahl liegt dazwischen und
23
+ ist noch nicht gemessen.
24
+
25
+ ## Fehler 1: das Token-Budget — offen
26
+
27
+ Der erste Durchgang lief mit **1.600 Token** Budget je Aufgabe. Das war die
28
+ denkbar schlechteste Wahl: knapp über dem 90.-Perzentil des tatsächlichen
29
+ Bedarfs.
30
+
31
+ Gemessener Bedarf der Antworten, die durchkamen:
32
+
33
+ | Stufe | Median | 80 % | größte abgeschlossene | abgeschnitten |
34
+ |---|---|---|---|---|
35
+ | L1 | 433 | 518 | 536 | 1 von 8 |
36
+ | L2 | 570 | 837 | 1.578 | 1 von 33 |
37
+ | L3 | 588 | 830 | 1.323 | 5 von 36 |
38
+ | L4 | 862 | 1.076 | 1.467 | 10 von 35 |
39
+ | **L5** | **980** | **1.235** | **1.575** | **17 von 38** |
40
+
41
+ Bei Stufe 5 wurde **fast die Hälfte** mitten im Rechenweg gekappt. Keine dieser
42
+ Antworten enthielt ein Ergebnis — der Abbruch ist echt, kein Extraktionsfehler.
43
+
44
+ Zum Vergleich: im Produktivbetrieb läuft dasselbe Modell mit **97.000 Token**
45
+ je Sitzung. Der Benchmark hat es also um den **Faktor 60** beschnitten und misst
46
+ damit teilweise das Budget statt das Modell.
47
+
48
+ **Behebung:** Nachmessung ausschließlich der abgeschnittenen Aufgaben mit
49
+ 8.000 Token (`bench_nachmessen.py`). Kostet rund 25 Minuten je Modell statt
50
+ drei Stunden für eine Neumessung. Steht aus.
51
+
52
+ ## Fehler 2: zu strenger Antwortvergleich — behoben
53
+
54
+ Von acht abgeschlossenen, aber als falsch gewerteten Antworten war **genau
55
+ eine wirklich falsch**. Die übrigen sieben waren Schreibvarianten:
56
+
57
+ | gegeben | erwartet | tatsächlich |
58
+ |---|---|---|
59
+ | `\frac{4}{3}` | `\frac43` | identisch, Kurzform ohne Klammern |
60
+ | `\frac{3}{4}` | `\frac 34` | identisch, Leerzeichen statt Klammern |
61
+ | `0,35625` | `.35625` | identisch, Dezimalkomma und führende Null |
62
+ | `5` | `x=5` | richtig gerechnet, ohne Zuweisungspräfix |
63
+ | `[-2, 7]` | `x \in [-2,7]` | richtig, ohne Mengenzeichen |
64
+ | `B` | `\text{(B)}` | richtig, Multiple-Choice-Buchstabe |
65
+ | `\frac{16}{49}` | `16/49` | identisch, andere Bruchschreibweise |
66
+ | `-0.09` | `\frac{9}{100}` | **echter Fehler** (Vorzeichen) |
67
+
68
+ Der Normalisierer fängt diese Formen jetzt ab. Wirkung ohne jede erneute
69
+ Modellrechnung — die Antworten lagen bereits vor:
70
+
71
+ | Modell | vorher | nachher |
72
+ |---|---|---|
73
+ | Qwen3.6-27B Q6_K | 70,7 % | **76,0 %** |
74
+ | Qwen3.8-27B Q6_K | 72,7 % | **76,7 %** |
75
+ | Qwen3.8-27B Q8_0 | 72,0 % | **76,0 %** |
76
+
77
+ **Vier bis fünf Prozentpunkte, die reine LaTeX-Konvention waren.** Der ältere
78
+ Selbsttest hatte diese Fälle nicht abgedeckt; er prüft sie jetzt (39 Prüfungen,
79
+ darunter jeder oben genannte Fall).
80
+
81
+ Das ist der Grund, warum `selftest_mathe.py` mitgeliefert wird: Bei
82
+ Mathematik-Benchmarks steckt der Fehler fast nie im Modell, sondern im
83
+ Vergleich.
84
+
85
+ ## Fehler 3: Trainingskontamination — nicht geprüft
86
+
87
+ MATH-500 liegt seit Jahren öffentlich auf HuggingFace. Ob die getesteten
88
+ Modelle die Aufgaben im Training gesehen haben, ist **nicht untersucht**.
89
+
90
+ Für den Vergleich der Varianten untereinander ist das unerheblich —
91
+ Kontamination trifft alle sieben gleichermaßen. Für jeden Vergleich mit
92
+ fremden Modellen macht es die absoluten Zahlen wertlos.
93
+
94
+ **Geplante Prüfung:** Fortsetzungstest — dem Modell die ersten Wörter einer
95
+ Aufgabe vorlegen und sehen, ob es den Originaltext wörtlich vervollständigt.
96
+ Schlägt er an, gehört das als Warnung in die Modellkarte.
97
+
98
+ ## Was die Zahlen deshalb bedeuten
99
+
100
+ **Belastbar:** Die sieben getesteten Varianten unterscheiden sich nicht. Alle
101
+ Konfidenzintervalle überlappen, in beiden Fächern (Code und Mathematik) und
102
+ über alle drei Auswertungsarten hinweg. Weder die neuere Generation noch die
103
+ höhere Quantisierung bringt einen messbaren Vorteil.
104
+
105
+ **Nicht belastbar:** Jeder absolute Wert und jeder Vergleich mit publizierten
106
+ MATH-500-Zahlen. Dort liegen Spitzenmodelle bei über 99 Prozent — allerdings
107
+ mit vollem Reasoning, das hier bewusst abgeschaltet war, und ohne
108
+ Budgetbeschränkung.
109
+
110
+ ## Was noch aussteht
111
+
112
+ 1. **Nachmessung** der abgeschnittenen Aufgaben mit 8.000 Token → schließt die
113
+ Lücke zwischen 76 und 98 Prozent
114
+ 2. **Omega-Messung**: Qwen3.8-27B Q8_0 mit vollem Reasoning, Budget aus einer
115
+ vorgeschalteten Bedarfsmessung statt geraten, Vorgabe: keine Aufgabe bricht
116
+ ab. Erst diese Zahl ist mit Leaderboards vergleichbar.
117
+ 3. **Kontaminationsprüfung** per Fortsetzungstest
118
+
119
+ ## Mitgelieferte Werkzeuge
120
+
121
+ | Datei | Zweck |
122
+ |---|---|
123
+ | `bench_mathe.py` | Messlauf gegen MATH-500 / GSM8K |
124
+ | `selftest_mathe.py` | 39 Prüfungen des Vergleichs — **vor** jedem Lauf ausführen |
125
+ | `bench_nachmessen.py` | misst nur die abgeschnittenen Aufgaben nach |
126
+ | `neubewerten.py` | wertet gespeicherte Läufe mit korrigiertem Vergleich neu |
127
+ | `run_omega.sh` | zweistufige Reasoning-Messung mit gemessenem statt geratenem Budget |
128
+
129
+ Alle Rohdaten liegen unter `bench/` — je Aufgabe die gelieferte Antwort, die
130
+ erwartete, der Token-Verbrauch und der Abbruchgrund. Wer die Auswertung
131
+ anzweifelt, kann sie nachrechnen.