LLM-értékelés: nyilvános benchmarkoktól a saját golden setig
Ugyanaz az agent, ugyanaz a feladat, tíz futás. Hét siker 70%-nak látszik, amíg ki nem számolod a pass^10-et: pontosan nulla.
Ezen az oldalon
Íme egy bemutató. A 23. fejezet agentje — ugyanaz a loop, a négy tool közül kettő — kap egy öt log- és konfigurációs fájlból álló könyvtárat, és egyetlen kérdést.
Q: What is the last line of errors.log about?
turn 1 -> read_file({"path": "errors.log"})
turn 2 -> "The last line of errors.log is:
ERROR worker 7 timed out after 30000 ms."Helyes, és semmit nem bizonyít — mert ez a transcript egy a tízből, amelyet lefuttattam, és azután választottam ki, hogy mind a tízet láttam.
Futtasd le ugyanazt a feladatot tízszer, semmit nem változtatva a sampling seed kivételével, és az agent hétszer találja el. Hetven százalék: ez kerülne a slide-ra. Most tedd fel azt a kérdést, ami az ügyfelet valójában érdekli — minden alkalommal működni fog? — és a válasz egészen más szám:
t20 7/10 successes = 70 % (95 % Wilson interval: 39.7 % to 89.2 %)
pass^1 70.00 % pass^5 8.33 %
pass^2 46.67 % pass^7 0.83 %
pass^3 29.17 % pass^8 0.00 %
pass^4 16.67 % pass^10 0.00 %Az agent még soha nem oldotta meg ezt a feladatot tízszer egymás után, és ezek alapján nem is várható tőle. Ez a szám — pass^10 — az őszinte szám; szinte soha nem publikálják, és a fejezet végére tudni fogod, hogyan kell kiszámolni, mennyibe kerül kiszámolni, és miért fontosabb a 70% melletti intervallum magánál a 70%-nál.
Részletek megjelenítése
Amire ennek a fejezetnek szüksége van a korábbiakból.
- 4. fejezet a statisztikához: a Wilson-intervallum egy arányon, az ok, amiért a húszból tizenhét helyes nem különböztet meg semmit, és a buta baseline mint első követelmény.
- 15. fejezet a benchhez: az ötvensoros harness, a párosított előjelteszt azokon az eseteken, ahol két rendszer eltér, és a szabály, hogy egy promptot mérni kell, nem megvitatni.
- 23. fejezet a mérendő dologhoz: a loop, az öt kijárat, a költségelszámolás, és a záró megfigyelés, hogy egy harness kormányozhatóvá tesz egy agentet, de nem teszi helyessé.
Két panel lesz. TypeScript a saját értékelésedhez, mert annak a kódod mellett, a continuous integrationben van a helye. Python a második panelhez, mert a nyilvános benchmarkok ott élnek, és az alábbi mérések egyikéhez logitokra van szükség.
Három projekt, három műszer
Link a szakaszhoz: Három projekt, három műszerAz értékelésről szóló viták többségében két ember különböző dolgokat mér. Három projekt van, és nincs közös műszerük.
| amit értékelsz | a kérdés | a műszer | kié |
|---|---|---|---|
| a modell | ez a modell általában jobb annál? | nyilvános benchmarkok, ranglisták | a közösségé |
| az alkalmazásod | működik a promptom, a retrievalöm, a sémám a saját inputjaimon? | a saját golden seted | a tiéd |
| az agented | a teljes loop, toolokkal és mellékhatásokkal, megbízhatóan eléri a célt? | feladatsiker plusz pass^k | a tiéd |
A zavar az egyik irányban drága. Egy ranglista megmondhatja, hogy egy modell erős posztgraduális szintű következtetésben; azt nem mondhatja meg, hogy jól fogja-e route-olni a support jegyeidet. És egy alkalmazásértékelés, amely inputonként egy választ pontoz, egy agentet egyáltalán nem lát, mert egy agent trajektóriák eloszlásával rendelkezik, egy válasz pedig ennek egyetlen mintája. A 22. fejezet megnevezte ezt a harmadik sort, és üresen hagyta: a teljesítménymutatót, az agent specifikációjának azt az egy részét, amelyet a csapatok utoljára írnak le, vagy soha.
A sorrend is számít, és ezt az a vendor is kimondja, aki a modellt eladja neked. Az OpenAI agent útmutatója a modellválasztást három lépésre redukálja, ebben a sorrendben: „Set up evals to establish a performance baseline”, „Focus on meeting your accuracy target with the best models available”, „Optimize for cost and latency by replacing larger models with smaller ones where possible”.1 Az értékelés jön először, mert a második és harmadik lépés szám nélkül értelmetlen.
A golden set, és mit vesz valójában húsz eset
Link a szakaszhoz: A golden set, és mit vesz valójában húsz esetA golden set inputok listája, mindegyikhez leírt válasszal, és egy graderrel, amely eldönti, hogy egy output megfelel-e. Unalmas, kicsi, és ebben a fejezetben az egyetlen artefaktum, amely a tiéd. Az itt felépített készlet húsz feladatot tartalmaz egy öt fájlból álló könyvtáron — nem a 23. fejezet három fájlján, tehát a válaszok nem ugyanazok —, és a grader még az agent futása előtt készül el:
export type Task = {
id: string;
prompt: string;
answer: string; // the fact, in words, for a human and for a judge
must: RegExp[]; // ALL must match the final answer
mustNot?: RegExp[]; // NONE may match
};
export const GOLDEN: Task[] = [
{ id: "t04", prompt: "Which file is the largest?", answer: "access.log",
must: [/access\.log/i], mustNot: [/errors\.log/i, /notes\.txt/i] },
{ id: "t12", prompt: "Which HTTP status codes appear in access.log? List all of them.",
answer: "200, 429 and 500", must: [/200/, /429/, /500/] },
// ...eighteen more
];Két tulajdonság tartja az egészet. A mustNot lista azért létezik, mert az a modell, amely három fájlt nevez meg, köztük a helyessel, még nem válaszolt. A answer pedig prózában és mintákban is le van írva, mert később embernek és judge-nak egyaránt szüksége lesz rá — és ugyanannak a ténynek két jelölésben való leírása az a mód, ahogy kiderül, hogy te magad sem értettél egyet magaddal abban, mi volt a feladat.
Most a döntő táblázat. Négy jelöltrendszer, ugyanaz a húsz feladat, pontosság intervallummal, és az a két oszlop, amelyet a puszta pontosságtáblázatok mindig elrejtenek:
| system | helyes | pontosság, 95% Wilson | költség megoldott feladatonként | átlagos latency |
|---|---|---|---|---|
| A — nincs tool, greedy | 2/20 | 10,0% [2,8, 30,1] | $0.004649 | 663 ms |
| B — toolok, tömör prompt | 5/20 | 25,0% [11,2, 46,9] | $0.005576 | 1.362 ms |
| C — toolok, irányított prompt | 2/20 | 10,0% [2,8, 30,1] | $0.013071 | 930 ms |
| D — C, best of 3 T = 0.7 mellett | 1/20 | 5,0% [0,9, 23,6] | $0.073532 | 2.628 ms |
Előbb az intervallumokat olvasd, csak utána a győztest. A B kar 11%-tól 47%-ig fut; az A kar 3%-tól 30%-ig. Hosszuk nagy részén átfednek, vagyis a 4. fejezet állítása pontosan ott érkezik meg, ahová ígértük: húsz eset nem tud négy rendszert rangsorolni. A 15. fejezet ezt úgy élezte ki, hogy inkább a párosított kérdést tette fel — azokban az esetekben, ahol két kar eltér, mennyire egyoldalú a megoszlás? —, mert a készlet közös nehézsége kiesik. Íme minden pár:
A vs B +0 / -3 p = 0.2500 B vs C +4 / -1 p = 0.3750
A vs C +2 / -2 p = 1.0000 B vs D +4 / -0 p = 0.1250
A vs D +2 / -1 p = 1.0000 C vs D +1 / -0 p = 1.0000A hat összehasonlítás közül egyetlenegy sem bizonyított. A legjobb kar tizenöt ponttal veri a tool nélküli kart, és ez három discordant eseten nyugszik. Húsz eset mechanizmust mutat, de nem választ beszállítót; az ellenkezőjét mondani egy meetingben az a mód, ahogy rossz modellt vásárolnak.
Egy dolgot viszont ez a táblázat tényleg bizonyít, mégpedig azt az oszlopot, amelyet senki nem tesz bele. A D kar tizenháromszor annyiba kerül megoldott feladatonként, mint a B, mert három trajektória samplingelése és a modális válasz kiválasztása akkor is megháromszorozza a számlát, ha a pontosságot nem háromszorozza meg. A költséget kihagyó pontosságtáblák láthatatlanná teszik ezt a cserét.
A metrika dönti el a számot
Link a szakaszhoz: A metrika dönti el a számotMost jön az a felismerés, amely megváltoztatja, hogyan olvasol majd minden benchmarkot, amit valaha látsz. Vedd ugyanazt a kétszáz transcriptet — húsz feladat, tíz futás, egyetlen token sincs újragenerálva —, és pontozd háromféleképpen:
| grader | helyes | pontosság, 95% Wilson |
|---|---|---|
| exact match az írott válaszhoz | 0/200 | 0,0% [0,0, 1,9] |
| az írott válasz substringként szerepel | 26/200 | 13,0% [9,0, 18,4] |
| a fenti kulcsszavas rubric | 52/200 | 26,0% [20,4, 32,5] |
Nulla, tizenhárom, huszonhat. A rendszer nem változott. A grader változott. Az exact match nem azért ad nullát, mert az agent használhatatlan, hanem mert egy szabad szöveges válasz soha nem byte-ra azonos a referenciával: formázást mér, és képességként jelenti.
Ez nem érdekesség, hanem mechanizmus, és neve is van. A hard-cutoff metric több résztényen pontoz egy feladatot mindent-vagy-semmit módon, ezért összeszorzódik. A t12 feladat három státuszkódot kér egyszerre. A tíz futásban:
per-code presence 200: 9/10 429: 6/10 500: 8/10 (mean 0.77 per fact)
all three at once 5/10Mindegyik tény az esetek nagyjából háromnegyedében helyes; mindhárom egyszerre való megkövetelése megfelezi a pontszámot, és a elég közel van a mért 0,50-hez ahhoz, hogy megmutassa, honnan jött az esés. Általánosítva:
| tényenkénti pontosság | |||||
|---|---|---|---|---|---|
| 0,60 | 60,0% | 36,0% | 21,6% | 7,8% | 0,6% |
| 0,80 | 80,0% | 64,0% | 51,2% | 32,8% | 10,7% |
| 0,90 | 90,0% | 81,0% | 72,9% | 59,0% | 34,9% |
| 0,95 | 95,0% | 90,3% | 85,7% | 77,4% | 59,9% |
Olvasd össze a 0,90-es sort a 0,95-össel mellett: egy tényenkénti ötpontos javulás huszonöt ponttá válik a konjunkción. A modellel nem történt semmi diszkontinuus. Egy sima görbe mindent-vagy-semmit metrikán át olvasva ugrásnak látszik — pontosan ezt az érvet hozta Schaeffer, Miranda és Koyejo az emergens képességekről, és ezt halasztotta ide a 10. fejezet.2 Auditjuk szerint a BIG-Bench 39 preferált metrikájából legfeljebb 5 mutat egyáltalán emergenciát, és két diszkontinuus metrika felel a bejelentett esetek több mint 92%-áért.
A fegyelem tehát egy mondatban: egy grafikonon látható ugrás először a metrikáról szóló bizonyíték, amíg be nem bizonyosodik az ellenkezője. Mielőtt elhiszed, hogy megjelent egy képesség, rajzold fel ugyanazokat a futásokat részpontszámot adó metrikával, és nézd meg, túléli-e a szakadék.
Ennek van egy másodrendű változata is, amely Kalai és kollégái szerint már upstream kárt okoz: a helyes-vagy-helytelen módon pontozott benchmarkok a találgatást jutalmazzák az „nem tudom” helyett, ezért az ellenük optimalizált modell megtanul találgatni. Javasolt javításuk nem egy újabb hallucinációs benchmark, hanem „a félreigazított, de a ranglistákat domináló meglévő benchmarkok pontozásának módosítása”.3 A te golden setedben ugyanez a kar egyetlen sor: döntsd el, hogy a tartózkodás hibának számít-e vagy saját kategóriának. A legtöbben soha nem döntenek, ezért csendben hibának számít, és a shipelt rendszer találgat.
pass^k, és a variancia, amit senki nem publikál
Link a szakaszhoz: pass^k, és a variancia, amit senki nem publikálEddig minden egy feladatonkénti egy próbálkozást pontozott. Egy agent nem egy próbálkozás. A 17. fejezet megmutatta, hogy még temperature nulla mellett sincs determinizmus, tehát ugyanaz az input trajektóriák eloszlását adja, és az a benchmark, amely minden feladatot egyszer futtat, ennek egyetlen mintáját jelenti.
A τ-bench hozzájárulása ehhez a metrika. A paper egyszerűen definiálja: „we propose a new metric – pass^k (pass hat k), defined as the chance that all k i.i.d. task trials are successful, averaged across tasks.”4 Futtasd minden feladatot alkalommal, számold meg a sikert, és a torzítatlan becslők:
A második a kódgenerálásból ismert pass@k: annak esélye, hogy próbálkozásból legalább egy sikerül. Tedd őket egymás mellé ugyanazokon a mért számlálásokon, és ellentétes irányba mozognak:
pass@k — legalább egy | pass^k — mindegyik | |
|---|---|---|
| 1 | 26,0% | 26,0% |
| 2 | 37,0% | 15,0% |
| 3 | 43,5% | 10,5% |
| 5 | 51,2% | 6,7% |
| 8 | 57,7% | 5,1% |
| 10 | 60,0% | 5,0% |
Ugyanazok a futások, ugyanaz a grader, ugyanaz a húsz feladat. Az egyik oszlop azt mondja, hogy a rendszer javul több próbálkozással, a másik azt, hogy romlik, és mindkettő igaz, mert más kérdésre válaszolnak. A pass@k a jó metrika, amikor ember szűri az outputot — kódgenerálásnál, vázlatoknál, ötletelésnél —, és az extra próbálkozások olcsók. A pass^k a jó metrika, amikor az agent szűrő nélkül cselekszik, márpedig ezt jelenti az „agent”. Az első publikálása ott, ahol a második érvényes, a terület leggyakoribb túlzása, és a τ-bench saját főcíme az őszinte verzió: gpt-4o retailen nagyjából 61% pass^1 értékről körülbelül 25%-ra esik pass^8 mellett.4
Most a csípős rész a saját számaimban. A pass^10 a húsz feladatomon 5,0%: pontosan egy feladat húszból sikerült mind a tíz futásban. Ez a feladat a t19, „Sikerült a deploy 42?”, és itt van két válasz a tízből, amelyet a rubric helyesnek pontozott:
run 2 "To check if 'deploy.log' succeeded in deploying 42, I will list the file
names in the working directory using the list_files function..."
run 8 "Yes, deploy 42 has successfully deployed. Deploying was successful for 41
as well."Az első soha nem válaszol. A második hozzátesz egy hamis állítást — a deploy 41-et visszagörgették. Mindkettő illeszkedett a /succe|yes/ mintára. Az egyetlen feladat, amely a pass^10 értéket nulla fölött tartja, grader-artefaktum, tehát a valódi szám nulla, és ezt semmilyen aggregátum nem mutatta volna meg. A legjobb pontszámú feladat mögötti transcriptek samplingelése az a hely, ahol a graderek meghalnak.
És még egy szám, amelyről ez a szakasz a nevét kapta. Tíz azonos értékelés — ugyanaz a rendszer, ugyanaz a húsz feladat, ugyanaz a kód, semmi nem változott a seedeken kívül:
per-run correct: 5 2 5 5 8 5 8 5 4 5 -> 10 % .. 40 %, mean 26.0 %, sd 8.8 pointsHarmincpontos tartomány egy olyan rendszeren, amely nem változott. Ha a suite-odat egyszer futtatod release előtt és egyszer utána, egy nyolcpontos „javulás” ezen a szóráson belül van, és úgy shippeled, hogy azt hiszed, te okoztad. Ezért túl szűk önmagában idézni a fenti pooled intervallumot — 26,0% [20,4, 32,5] —: kétszáz korrelált próbát kezel kétszáz függetlenként. Egy agent-értékelés őszinte összefoglalója egy átlag és a repeat-ek közötti szórás, és a másodikat szinte senki nem publikálja.
A judge, és a judge saját golden setje
Link a szakaszhoz: A judge, és a judge saját golden setjeA rubricek nem skálázódnak nyílt végű válaszokra, ezért a standard lépés az, hogy egy modell osztályozza az outputot. Frontier méretben elég jól működik ahhoz, hogy ez legyen az alapértelmezés, és három néven nevezett hibamódja van: pozíciótorzítás, verbosity bias és self-enhancement bias.5
Mérd meg, mielőtt megbízol benne. Ugyanazt a hatvan választ — a tíz futás közül hármat — háromféleképpen címkéztük. Az emberi címke az enyém: mind a hatvanat elolvastam az öt fájllal megnyitva, és egy írott szabályt alkalmaztam: pass akkor és csak akkor, ha a válasz kimondja a kérdés által kért tényt, és nem tartalmaz semmit, amit a fájlok cáfolnak.
| grader | pass-t mond | egyezik az emberrel | false pass | false fail |
|---|---|---|---|---|
| kulcsszavas rubric | 17/60 | 50/60 = 83,3% [72,0, 90,7] | 8 | 2 |
| a modell mint judge | 60/60 | 11/60 = 18,3% [10,6, 29,9] | 49 | 0 |
A judge hatvanszor mondott PASS-t hatvanból. Ezt az agentet 100%-os pontosságúnak jelentette volna egy olyan készleten, ahol az ember 18%-ra pontozza. Egy diszkriminatív erő nélküli judge nem zajos műszer; konstans függvény, a konstans függvény pedig a legjobb és a legrosszabb rendszerednek ugyanazt a pontszámot adja.
A prompting nem mentette meg. Négy variáns, ugyanaz a hatvan elem:
| judge prompt | pass-t mond | egyezés az emberrel |
|---|---|---|
| „Reply PASS or FAIL.” | 60/60 | 18,3% |
| „Reply FAIL or PASS.” — felcserélt címkék | 56/60 | 25,0% |
| plusz explicit lista arról, mi számít hibának | 55/60 | 26,7% |
plusz egy kidolgozott FAIL példa és egy PASS példa | 56/60 | 25,0% |
A két címke sorrendjének felcserélése az instrukcióban négy ítéletet mozdított el. Ez mérhető hatás, és a rossz fajta hatás: a judge a prompt alakjára reagál, nem az előtte lévő válaszra.
A tiszta demonstráció páros. Húsz kérdés, mindegyikhez egy nyilvánvalóan helyes és egy nyilvánvalóan rossz jelölt, mindkét sorrendben bemutatva:
picked the FIRST option 40/40 = 100.0 %
order-consistent (same winner both ways) 0/20 = 0.0 % [Wilson 0.0, 16.1]
picked the CORRECT answer 20/40 = 50.0 %Negyvenből negyvenszer az A pozíciót választotta. Az 50%-os helyesség nem részleges kompetencia — aritmetika, mert a helyes válasz pontosan a próbák felében ül A pozícióban. A konzisztenciát itt úgy definiáljuk, ahogy az MT-Bench: „the percentage of cases where a judge gives consistent results when swapping the order of two assistants”, így az összehasonlítás almát almával vet össze: GPT-4 ezen a mércén 65,0%-ot ér el, és few-shot prompting 77,5%-ra emelte.5 Az enyém nulla.
A standard mitigáció szintén ebből a paperből jön: „call a judge twice by swapping the order of two answers and only declare a win when an answer is preferred in both orders.”5 Alkalmazd itt, és a judge nulla használható ítéletet ad húsz párból — ez a helyes eredmény, és végtelenül jobb húsz magabiztosnál.
Egy módszertani megjegyzés, amely többet ér az eredménynél. Futtattam verbosity tesztet is: ugyanaz a helyes válasz, az egyik példány 36 szavas, semmit hozzá nem tevő mondattal kitöltve. A judge pontosan a próbák 50%-ában preferálta a hosszabb verziót — ami úgy néz ki, mint a verbosity bias hiánya, de egyáltalán nem az, mert egy judge, amely mindig az A pozíciót választja, bármilyen kiegyensúlyozott párosításon 50%-ot ér el. Nem mérhetsz második torzítást, amíg az első nincs kontroll alatt. A pozíciók felcserélése nem későbbi finomítás; ez tesz minden más mérést értelmezhetővé.
Mire való egy judge. Nyílt végű válaszokra, amelyeknek nincs parse-olható formájuk: hangnemre, lefedettségre, arra, hogy egy idézet alátámasztja-e a mondatát, vagy helyénvaló volt-e a refusal. Olcsó, gyors, és nagyjából olyan jó, mint az alapmodellje.
Mire nem való egy judge. Ground truthnak. Olyan rendszer, amelynek van pontossága, torzításprofilja és költsége, és saját, emberi címkés golden setre van szüksége — ismert hibákkal együtt —, mielőtt bármely általa előállított szám bármit jelentene.
Az őszinte kikötés: ez a judge félmilliárd paraméteres modell, és senkinek nem kellene ilyennel osztályoznia. Nem az a lényeg, hogy a judge-ok rosszak. Hanem az, hogy a fenti számok előállítása nyolc percbe került, és nélkülük ennek a judge-nak az ítélete egy shipping döntésről 100% lett volna.
Második panel: Python, és egy szonda contaminationre
Link a szakaszhoz: Második panel: Python, és egy szonda contaminationreEz a kurzus harmadik és utolsó deklarált Python panelje, és az ok az, ahonnan a nyilvános számok jönnek. A lm-evaluation-harness „over 60 standard academic benchmarks for LLMs, with hundreds of subtasks and variants implemented” lefedését adja, és „the backend for Hugging Face's popular Open LLM Leaderboard”; a HELM, a SWE-bench és a τ-bench Python csomagok Python belépési pontokkal.6 A published figure elleni modellfuttatás azt jelenti, hogy az ő kódjukat futtatod, és azon a napon, amikor egy valaki által idézett számmal akarsz összevetni, ebben az ökoszisztémában vagy:
lm_eval --model hf \
--model_args pretrained=EleutherAI/gpt-j-6B \
--tasks hellaswag \
--device cuda:0 \
--batch_size 8A második ok az, hogy ebben a fejezetben egy mérés HTTP-n keresztül lehetetlen. Contamination — amikor a tesztkészlet kiszivárgott a training data-ba — az a hiba, amely egy nyilvános benchmarkot csendben értelmetlenné tesz, és a legélesebb szonda hozzá a modell saját lossát igényli, amit semmilyen chat API nem ad vissza. Ez a 8. fejezet tokenenkénti cross-entropyje, egy memóriáról szóló kérdésre irányítva:
def nll(text: str) -> float:
"""Mean negative log-likelihood per token, in nats."""
ids = tok(text, return_tensors="pt").input_ids.to(model.device)
with torch.no_grad():
out = model(ids, labels=ids)
return float(out.loss)Tíz mondatpár: öt, amely a web minden crawl-jában benne van, amióta létezik, és öt, amelyet ma reggel írtam ehhez a fejezethez; mindegyik egy ugyanazt a tartalmat hordozó átfogalmazással párosítva.
| készlet | kanonikus megfogalmazás | átfogalmazott | rés |
|---|---|---|---|
| híres, 5 átlaga | 1,21 | 3,03 | +1,83 |
| friss, 5 átlaga | 5,02 | 5,96 | +0,93 |
A modell négyszer jobban meglepődik egy ma reggel írt mondaton, mint olyanon, amelyet milliószor látott, és az átfogalmazás kétszer annyiba kerül a híreseknél — a pluszköltség az a rész, amelyet memorizált, nem megértett. Az abszolút loss összekeveri a memorizálást a hétköznapi természetességgel, ezért a rés a jobb statisztika, a folytatási teszt pedig még jobb. Add meg az első hat szót:
famous "Permission is hereby granted, free of"
-> "charge, to any person obtaining a copy of this software and associated
documentation files (the "
famous "All human beings are born free"
-> "and equal in dignity and rights. The right to life, liberty, and security"
fresh "All evaluation harnesses are born tiny"
-> ", and the most common way to measure their size is by using a ruler."Az öt híres stringből három hat szóból szó szerint folytatódott; az öt frissből egy sem. Ez egy félmilliárd paraméteres modell, amely az MIT License-t szavalja. Ha a benchmarkod a nyilvános weben van, feltételezd, hogy benne van a weightsben. Ez egyben az egész fejezet érve is: a saját adataidból írt, crawler által olvasott repositoryn kívül tartott golden set az egyetlen tesztkészlet, amelyről biztos lehetsz, hogy soha nem tanították rajta.
Mit mérnek valójában a nyilvános benchmarkok
Link a szakaszhoz: Mit mérnek valójában a nyilvános benchmarkokMég mindig érdemes olvasni őket, amíg azt olvasod, hogy mindegyik mit mér, nem pedig a hozzá ragasztott egyetlen számot.
| benchmark | mit mér | egy szám a paperből |
|---|---|---|
| MMLU | feleletválasztós tudás 57 tárgykörben | GPT-3 „almost 20 percentage points on average” verte a véletlent7 |
| HELM | sok metrika × sok szcenárió, standardizálva | a core szcenáriók lefedettsége 17,9%-ról 96,0%-ra nőtt8 |
| Chatbot Arena | crowdsourced párosított emberi preferencia | több mint 240K szavazat; a crowd szavazatai „in good agreement” vannak a szakértőkkel9 |
| SWE-bench | valós GitHub issue-k megoldása, a repo tesztjeivel osztályozva | 2.294 probléma; az akkori legjobb modell „a mere 1.96 %”-ot oldott meg10 |
| τ-bench | tool use szimulált userrel és domain policyvel | gpt-4o ≈ 61% pass^1, ≈ 25% pass^8 retailen4 |
| WebArena | hosszú horizontú feladatok működő weboldalakon | legjobb GPT-4 agent 14,41%, emberek 78,24%11 |
| OSWorld | valós desktop- és OS-feladatok alkalmazások között | 369 feladat; legjobb modell 12,24%, emberek 72,36%12 |
| GAIA | embereknek könnyű, assistantoknak nehéz kérdések | 466 kérdés; emberek 92%, GPT-4 pluginekkel 15%13 |
| AgentBench | agent reasoning 8 eltérő környezetben | nagy rés kereskedelmi és open modellek között14 |
| AgentHarm | végrehajt-e egy agent rosszindulatú többlépéses feladatokat | 110 rosszindulatú feladat 11 ártalomkategóriában15 |
A táblát vedd, ne bármelyik sort. Az agentic benchmarkok mind az embereket teszik messze a modellek fölé, ami a tudásbenchmarkok ellentéte, és a terület jelenlegi állapotának legjobb egymondatos összefoglalója; számaik hónapok alatt öregszenek, ezért dátummal idézd őket, amikor olvastad; és mindegyik olyan feladatot mér, amely nem a tiéd.
A metrikák, amelyek productionben döntenek
Link a szakaszhoz: A metrikák, amelyek productionben döntenekA pontosság az a metrika, amin vitatkoztok. Ezek döntik el, hogy shipel-e a dolog. Mind a négy kijön a már mért kétszáz futásból.
Költség megoldott feladatonként, nem hívásonként. Az agent próbálkozásonként $0.001345-be kerül, és $0.005172-be ténylegesen megoldott feladatonként — 3,85-ször többe, mert a próbálkozások háromnegyede semmit nem termel. A latency ugyanígy viselkedik: 1.213 ms próbálkozásonként, 4.667 ms megoldott feladatonként. Minden retry, minden újrakérdezés, minden elhagyott trajektória a második számban van, és láthatatlan az elsőben.
Egy diagnosztika, amely veri a pontosságot. 200 próbálkozásból 123-ban az agent egyetlen tool hívása nélkül válaszolt — találgatott, nem nézett utána. Erre bontva:
answered without reading anything 8/123 = 6.5 % [3.3, 12.3]
answered after reading something 44/77 = 57.1 % [46.0, 67.6]Az intervallumok meg sem közelítik egymást. Ez többet ér az aggregált 26%-nál, mert megnevezi a javítandó dolgot — a modell nem a reasoningben bukik el, hanem abban, hogy nem néz utána —, és a javítás a harnessben van, nem a modellben. Egy kikötéssel tartozik ez a fejezet a saját sztenderdjeinek: a két csoport különböző feladatokból áll, nem ugyanazokból párosítva, így a rés egy része abból is jöhet, hogy éppen azokon a kérdéseken hagyja ki a toolokat, amelyeket nehéznek talál. A bontás diagnosztika, nem kauzális állítás.
Human intervention rate az a metrika, amelyet egy vevő először kérdez: a futások mekkora része állt meg approvalnél, guardrailnél vagy handoffnál. A 23. fejezet tipizált megszakításai megszámolhatóvá teszik, és feladattípusonként, hetente számolva ez választja el a munkáját tanuló agentet attól, amely csendben sorban állássá válik.
Abandonment az, amit offline suite nem láthat: a user, aki elolvasta a választ, bezárta a lapot, és maga végezte el a feladatot. Az offline értékelés kapu; a production értékelés a valós forgalom folyamatos mintája, ugyanazzal a graderrel plusz ezzel a néggyel pontozva.
És egy szabály a 17. fejezetből: soha ne assertelj exact outputra. Tulajdonságokra assertelj — érvényes JSON, helyes séma, a megfelelő tool hívása, tolerancián belüli szám, kötelező substring jelenléte. A fejezet eleji exact-match oszlop az, ami akkor történik, ha ezt a szabályt megszegik.
Mit küldesz harmadik félnek
Link a szakaszhoz: Mit küldesz harmadik félnekEgy beszállító értékelése nem csak pontosságról szól, és ez a kurzus etikájának második fele, saját címmel, nem függelékként.
Mérd a torzítást, ne feltételezd. Bármit hiszel egy modell viselkedéséről neveken, dialektusokon, nemeken vagy nemzetiségeken, az a te pipeline-od mérhető tulajdonsága, és a műszer már megvan: vedd a golden seted, csak az attribútumot változtasd, hasonlíts párosítva. A HELM pontosan azért létezik, mert pusztán pontosságot jelentettek ott, ahol bias, toxicitás, kalibráció és robusztusság is eldönthető volt.8 Egy vendor model cardja kiindulópont, nem bizonyíték a te inputjaidról.
A contamination is beszállítói kérdés. A fenti szonda az oka annak, hogy meg kell kérdezni, min mérték a publikált számot, és mikor vágták el a modell adatait.
Retention, training és residency, 2026. szeptember 7-én olvasva. Ezek változnak, ezért rögzítsd a dátumot a válasz mellé. Az Anthropic policy oldala ezt írja: „By default, we will not use your inputs or outputs from our commercial products (e.g. Claude for Work, Anthropic API, Claude Gov, etc.) to train our models”, kivéve azokat a tartalmakat, amelyeket kifejezetten feedbackként küldesz be, és amelyeket „for up to 5 years” tárolnak.16 Az OpenAI data controls dokumentációja szerint „data sent to the OpenAI API is not used to train or improve OpenAI models (unless you explicitly opt in to share data with us)”, leírja az abuse-monitoring logok harmincnapos alapértelmezett retentionjét, és kínál Zero Data Retentiont, amely „excludes customer content from abuse monitoring logs”, valamint konfigurálható data residencyt régiók listáján.17
Négy kérdést kérj írásban az első production hívás előtt, mert mindegyiknek más a tulajdonosa: használják-e az adataimat trainingre; mennyi ideig őrzik meg, és ki; hol dolgozzák fel és tárolják; és mi történik mindezzel, ha nem közvetlenül a szolgáltatót, hanem viszonteladót, gatewayt vagy aggregátort használok. Az utolsónál él a legtöbb meglepetés, és ezt egyetlen benchmark sem mondja meg.
Merre tovább
Link a szakaszhoz: Merre továbbMost már megvan a műszer: saját golden set, intervallum minden számon, párosított teszt minden összehasonlításhoz, pass^k azokhoz a futásokhoz, amelyeket senkinek nem mutattál meg, mért judge, és szonda arra, hogy egy nyilvános pontszám jelent-e bármit. A 23. fejezet záró állítása most már ellenőrizhető, nem csak kijelenthető — egy harness kormányozhatóvá tesz egy agentet, nem helyessé —, és az ellenőrzés kétszáz futásba és nyolc percbe került.
Van az agentnek egy tulajdonsága, amelyet mindez nem mér, és ez az, ami miatt embereket kirúgnak.
A fejezet golden setjének minden feladatát én írtam, és minden fájlt, amelyet az agent olvasott, én írtam. Abban a könyvtárban semmi nem próbált semmit tenni. Változtass meg egy sort egy fájlban, amelyet az agentnek olvasnia kell — egy sort, amely egy instrukcióval végződik a következő olvasóhoz címezve —, és a 26%-ot elérő agent követni fogja ugyanazokkal a toolokkal, ugyanazokkal az engedélyekkel és ugyanazzal a tiszta trace-szel, miközben ebben a fejezetben minden szám pontosan ott marad, ahol volt. Egy evaluation suite azt méri, milyen gyakran éri el egy rendszer a te célodat. Nem méri, milyen könnyen cserélheti ki valaki más a sajátjára.
A 30. fejezet erről szól: prompt injection, a private data, untrusted content és external communication halálos hármasa, és mennyibe kerül valódi engedélyeket adni egy agentnek. Azzal a megfigyeléssel nyit, amelyet ez a fejezet eddig került — hogy ugyanaz a passing score kompatibilis egy olyan agenttel, amely pontosan azt teszi, amit egy támadó írt egy fájlba, amelyet olvasnia kellett.
Források és módszer
Link a szakaszhoz: Források és módszerA fenti számok mind egy gépen készültek, és egyik sem érintett fizetős endpointot. Az agent a 23. fejezet loopja a négy tool közül kettővel egy öt fájlból álló könyvtáron; a port mögötti modell Qwen/Qwen2.5-0.5B-Instruct, egy kis szerveren keresztül expose-olva, amely alakjában ugyanaz, mint egy chat completions endpoint, pontosan úgy, mint a 23. fejezetben, de fél precisionben egy consumer GPU-n, nem pedig annak a fejezetnek a CPU-ján. A költségek a 16. fejezet díjait használják — $2.00 millió input tokenenként és $12.00 millió outputonként — a mért token countsra alkalmazva. Az ismételt futások temperature 0.7-et használnak fix seedekkel, hogy a teljes készlet reprodukálható legyen; a négykarú táblázat greedy. Az intervallumok 95%-os Wilson-intervallumok, a párosított összehasonlítások kétoldali exact sign tesztek a discordant párokon; a Wilson-intervallum a 4. fejezeté, az exact párosított sign test a 15. fejezeté, mindkettő változatlanul újrahasznosítva. Az emberi címkék az enyémek, hatvan válaszra alkalmazva a szövegben idézett írott szabály szerint. Minden nagyságrendet itt egy félmilliárd paraméteres modell tulajdonságaként olvass, és minden módszert átvihetőként: egy nagyobb modell minden számot feljebb tol, és egyik műszert sem mozdítja el.
Hivatkozások
Link a szakaszhoz: Hivatkozások-
OpenAI, A practical guide to building agents (PDF), 8. oldal, olvasva 2026. szeptember 7-én. A fent idézett háromlépéses sorrend forrása, valamint a kísérő tanácsé: „build your agent prototype with the most capable model for every task to establish a performance baseline. From there, try swapping in smaller models to see if they still achieve acceptable results.” A 22. és 25. fejezet definíciós és orchestration oldalait idézi. ↩
-
Schaeffer, R., Miranda, B. and Koyejo, S. Are Emergent Abilities of Large Language Models a Mirage? arXiv:2304.15004 (2023). Az érv, hogy a diszkontinuus, mindent-vagy-semmit metrikák látszólagos ugrásokat gyártanak sima mögöttes javulásokból, a 10. fejezetben idézett BIG-Bench audittal. Saját óvatosságukat érdemes megismételni: a paperben semmi nem állítja, hogy a nagy modellek nem mutathatnak emergens képességeket. ↩
-
Kalai, A. T., Nachum, O., Vempala, S. S. and Zhang, E. Why Language Models Hallucinate. arXiv:2509.04664 (2025). Az érv, hogy a helyes-vagy-helytelen módon pontozott benchmarkok a találgatást jutalmazzák a tartózkodással szemben, és a javasolt orvoslás: „modifying the scoring of existing benchmarks that are misaligned but dominate leaderboards, rather than introducing additional hallucination evaluations”. A 19. fejezet a retrieval oldaláról idézi; ez ugyanannak az állításnak az értékelési oldala. ↩
-
Yao, S., Shinn, N., Razavi, P. and Narasimhan, K. τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains. arXiv:2406.12045 (2024). A
pass^keredete, a fent idézett definícióval, a paperben egymás mellé nyomtatott mindkét becslővel; az abstract fő állítása, hogy a state-of-the-art function-calling agentek „succeed on <50 % of the tasks, and are quite inconsistent (pass^8 <25 % in retail)”, az 1. szakasz pedig megadja a gpt-4o ≈61%pass^1és ≈25%pass^8számait τ-retailen. A vele szembeállítottpass@kbecslő Chen, M. et al., Evaluating Large Language Models Trained on Code, arXiv:2107.03374 (2021) munkájából származik. ↩ ↩2 ↩3 -
Zheng, L. et al. Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. arXiv:2306.05685 (2023). A három megnevezett torzítás forrása, a fent használt konzisztenciadefinícióé („the percentage of cases where a judge gives consistent results when swapping the order of two assistants”), annak a megállapításnak a forrása, hogy „only GPT-4 outputs consistent results in more than 60 % of cases”, 65,0%-ról 77,5%-ra emelkedve few-shot mellett, valamint a szó szerint idézett swap-and-require-agreement mitigációé. Pozitív eredménye is fontos: a GPT-4 judge-ok „an agreement rate exceeding 80 %” értéket érnek el emberi értékelésekkel, „the same level of human-human agreement” — ezért érdemes judge-ot használni, és ezért kell a sajátodat mérni. ↩ ↩2 ↩3
-
EleutherAI, Language Model Evaluation Harness, projekt README, olvasva 2026. szeptember 7-én: „over 60 standard academic benchmarks for LLMs, with hundreds of subtasks and variants implemented”, és „the backend for Hugging Face's popular Open LLM Leaderboard”. A fent idézett
lm_evalinvocation a README saját példája. Liang, P. et al., Holistic Evaluation of Language Models, arXiv:2211.09110 (2022), a másik standard runner, és jobb olvasmány az értékeléstervezésről. ↩ -
Hendrycks, D., Burns, C., Basart, S., Zou, A., Mazeika, M., Song, D. and Steinhardt, J. Measuring Massive Multitask Language Understanding. arXiv:2009.03300 (2020). 57 feladat; az abstract állítása, hogy a legnagyobb GPT-3 modell „improves over random chance by almost 20 percentage points on average”, hasznos emlékeztető arra, mennyire friss ennek a benchmarknak a telítődése. ↩
-
Liang, P. et al. Holistic Evaluation of Language Models. arXiv:2211.09110 (2022). Hét metrika — accuracy, calibration, robustness, fairness, bias, toxicity és efficiency — 16 core szcenárión és 30 modellen, a fent idézett lefedettségi számokkal. Azért érdemes olvasni, mert a keretezés a lényeg: a hétből melyiket jelentik, az maga is választás. ↩ ↩2
-
Chiang, W.-L. et al. Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. arXiv:2403.04132 (2024). Több mint 240K szavazat az írás idején, crowdsourced párosított preferencia, és az állítás, hogy „the crowdsourced human votes are in good agreement with those of expert raters”. ↩
-
Jimenez, C. E., Yang, J., Wettig, A., Yao, S., Pei, K., Press, O. and Narasimhan, K. SWE-bench: Can Language Models Resolve Real-World GitHub Issues? arXiv:2310.06770 (2023). 2.294 probléma 12 Python repositoryból, a repositoryk saját tesztjeivel osztályozva, miközben az akkori legjobb modell „a mere 1.96 %”-ot oldott meg. A 23. fejezet a „harness” szó másik értelméhez használja. ↩
-
Zhou, S. et al. WebArena: A Realistic Web Environment for Building Autonomous Agents. arXiv:2307.13854 (2023). Működő weboldalak négy domainen, a legjobb GPT-4 agent 14,41%-on az emberek 78,24%-ával szemben. ↩
-
Xie, T. et al. OSWorld: Benchmarking Multimodal Agents for Open-Ended Tasks in Real Computer Environments. arXiv:2404.07972 (2024). 369 feladat valós operációs rendszereken; emberek 72,36% felett, legjobb modell 12,24%, a fő résként GUI groundinggal. ↩
-
Mialon, G., Fourrier, C., Swift, C., Wolf, T., LeCun, Y. and Scialom, T. GAIA: A Benchmark for General AI Assistants. arXiv:2311.12983 (2023). 466 kérdés, emberek 92%-on, GPT-4 pluginekkel 15%-on — a legtisztább publikált állítás arról a résről, ami az embernek könnyű és ami egy assistantnak könnyű. ↩
-
Liu, X. et al. AgentBench: Evaluating LLMs as Agents. arXiv:2308.03688 (2023). Nyolc eltérő környezet, és jelentős különbség a vezető kereskedelmi modellek és hasonló méretű open-source modellek között. ↩
-
Andriushchenko, M. et al. AgentHarm: A Benchmark for Measuring Harmfulness of LLM Agents. arXiv:2410.09024 (2024). 110 kifejezetten rosszindulatú agent-feladat (augmentációkkal 440) 11 ártalomkategóriában, azzal a megállapítással, hogy a vezető modellek „surprisingly compliant with malicious agent requests without jailbreaking”, és az egyszerű univerzális jailbreak template-ek átvihetők agentekre, miközben megőrzik képességeiket. Ez a híd a 30. fejezethez: egy capability benchmark és egy harm benchmark ugyanazt a rendszert méri, és nem ért egyet abban, készen áll-e. ↩
-
Anthropic, Is my data used for model training?,
privacy.claude.com, olvasva 2026. szeptember 7-én. Fent szó szerint idézve, beleértve a feedback kivételt és a beküldött feedback ötéves tárolási ablakát. ↩ -
OpenAI, Your data (API data controls documentation),
developers.openai.com, olvasva 2026. szeptember 7-én. A default no-training állítás, a harmincnapos abuse-monitoring retention, a Zero Data Retention leírása és az eligible endpointok listája, valamint a data residency régiók forrása. ↩