pass@k-Rechner
Eingaben
| Erfolgsrate pro Stichprobe | 40 % |
|---|---|
| Anzahl der Stichproben | 10 |
pass@k-Rechner
Berechnet pass@k für Code- und Reasoning-Auswertungen: die Wahrscheinlichkeit, dass mindestens eine von k unabhängigen Modellstichproben ein Problem löst, ausgehend von der Erfolgsrate pro Stichprobe.
Eingaben
Sampling
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Details
pass@k
pass@k ist die übliche Methode, um Sprachmodelle bei Aufgaben zu bewerten, deren Lösungskandidat automatisch geprüft werden kann — am bekanntesten die Codegenerierung, bei der jeder Versuch eine Testsuite entweder besteht oder nicht. Anstatt zu fragen, ob eine einzelne Antwort richtig ist, fragt pass@k, ob irgendeiner von k Versuchen richtig ist. Dieser Rechner wandelt die Erfolgsrate pro Stichprobe eines Modells in pass@k um, sodass eine einzelne gemessene Genauigkeit auf eine beliebige Anzahl von Versuchen projiziert werden kann.
Was pass@k misst
Für jedes Problem in einem Benchmark erzeugt das Modell k unabhängige Lösungskandidaten, und das Problem gilt als gelöst, wenn mindestens ein Kandidat besteht. pass@k ist der Anteil der nach dieser Regel gelösten Probleme. pass@1 ist die gewöhnliche Genauigkeit bei einem einzigen Versuch; pass@10 und pass@100 messen, wie oft das Modell mit mehreren Versuchen zu einer korrekten Antwort gelangen kann. Die Metrik ist immer dann von Bedeutung, wenn ein externer Verifizierer — eine Testsuite, ein Compiler, ein Beweisprüfer — eine korrekte Antwort unter vielen Kandidaten erkennen kann, denn dann führen zusätzliche Versuche unmittelbar zu mehr gelösten Problemen.
Die Formel
Wenn jede Stichprobe unabhängig mit Wahrscheinlichkeit erfolgreich ist, dann scheitert eine einzelne Stichprobe mit Wahrscheinlichkeit eins minus , und alle Stichproben scheitern mit Wahrscheinlichkeit . pass@k ist das Komplement:
Pkqk=1−(1−p)k=(1−p)kwobei pass@k und die Wahrscheinlichkeit ist, dass jeder Versuch scheitert. Die Wahrscheinlichkeit für vollständiges Scheitern schrumpft geometrisch mit , weshalb selbst eine bescheidene Rate pro Stichprobe mit genügend Versuchen gegen Gewissheit strebt.
Rechenbeispiel
Angenommen, ein Modell löst ein Codierproblem bei 40 % der einzelnen Versuche, und die Auswertung erlaubt 10 Stichproben:
q10P10=(1−0.4)10=0.610≈0.0060=1−0.0060≈0.994=99.4%Eine Rate pro Stichprobe von 40 % wird zu einem pass@10 von etwa 99 %. Der Sprung veranschaulicht, warum pass@k-Werte mit k so schnell steigen und warum Benchmark-Tabellen mehrere Werte von k nebeneinander angeben — die Form dieser Kurve sagt mehr über ein Modell aus als jeder einzelne Punkt.
Wie es gemessen wird
pass@k zu schätzen, indem man genau k Stichproben zieht, ist verrauscht. Benchmarks wie HumanEval ziehen stattdessen einen größeren Pool von Stichproben, zählen die erfolgreichen und verwenden den erwartungstreuen Schätzer , der über jede Möglichkeit mittelt, der Stichproben auszuwählen. Die hier verwendete Unabhängigkeitsform stimmt mit diesem Schätzer überein, wenn als gewählt wird, und ist das richtige Werkzeug, um eine bekannte Erfolgsrate auf ein gewähltes Versuchsbudget zu projizieren. Die Form setzt einen gleichen, unabhängigen Erfolg über die Stichproben hinweg voraus; bei sehr niedriger Temperatur werden die Stichproben nahezu identisch und das Hinzufügen weiterer hilft wenig. Um zu planen, wie viele Probleme eine Auswertung für eine stabile Schätzung benötigt, siehe den Rechner für die Stichprobengröße bei LLM-Auswertungen.
Häufig gestellte Fragen (FAQ)
Was ist pass@k?
pass@k ist die Standardmetrik für Codegenerierung und andere Auswertungen nach dem Prinzip „erzeugen und prüfen“. Für jedes Problem erzeugt das Modell k Lösungskandidaten, und das Problem gilt als gelöst, wenn mindestens ein Kandidat die Tests besteht. pass@k ist der Anteil der nach dieser Regel gelösten Probleme.
pass@1 spiegelt die Genauigkeit bei einem einzigen Versuch wider, während pass@10 oder pass@100 misst, wie oft das Modell ein Problem mit mehreren Versuchen lösen kann — relevant, wenn ein externer Prüfer, etwa eine Testsuite oder ein Verifizierer, eine korrekte Antwort aus vielen heraussuchen kann.
Setzt die Formel voraus, dass die Stichproben unabhängig sind?
Ja. Der Ausdruck eins minus (eins minus p) hoch k setzt voraus, dass jede der k Stichproben unabhängig mit derselben Wahrscheinlichkeit p erfolgreich ist. Das gilt gut, wenn die Stichproben bei einer Temperatur ungleich null gezogen werden, sodass sie variieren.
Es versagt bei sehr niedriger Temperatur, bei der die Stichproben nahezu identisch sind und das Ziehen weiterer wenig beiträgt, sowie wenn die Schwierigkeit der Probleme variiert, sodass ein einziges durchschnittliches p eine Mischung aus leichten und schweren Fällen verbirgt. Um eine gemessene Rate auf ein anderes k zu projizieren, ist die Unabhängigkeitsform eine gute erste Näherung.
Wie wird pass@k in der Praxis gemessen?
pass@k zu schätzen, indem man buchstäblich k Stichproben zieht, ist verrauscht. Benchmarks wie HumanEval ziehen stattdessen eine größere Anzahl n von Stichproben, zählen die c erfolgreichen und verwenden den erwartungstreuen Schätzer pass@k = 1 − C(n−c, k) / C(n, k), wobei C der Binomialkoeffizient ist. Dies mittelt über alle Möglichkeiten, k der n Stichproben auszuwählen, und liefert einen weitaus stabileren Wert.
Dieser Rechner verwendet die einfachere Unabhängigkeitsform, die mit dem Schätzer übereinstimmt, wenn p als c/n gewählt wird, und ist ideal, um eine bekannte Erfolgsrate auf ein gewähltes Budget an Versuchen zu projizieren.
Haftungsausschluss
Die Unabhängigkeitsform setzt eine gleiche, unabhängige Erfolgswahrscheinlichkeit pro Stichprobe voraus. Reale Stichproben sind bei niedriger Temperatur korreliert, und die Schwierigkeit variiert über die Probleme hinweg, sodass das gemessene pass@k abweichen kann. Verwenden Sie einen großen Stichproben-Pool und den erwartungstreuen Schätzer, wenn Sie Benchmark-Ergebnisse berichten.