LLM's vragen naar hun betrouwbaarheid

LLM-gebaseerde agenten kunnen veel taken uitvoeren. Of, in ieder geval, het lijkt erop dat ze dat kunnen. Ze schrijven bijvoorbeeld code, vatten papers samen, plannen reizen en vullen formulieren in. Als je een LLM vraagt om een waarschijnlijkheid of een betrouwbaarheidsscore, zal hij die ook geven. Ik heb veel ontwerpers van agenten gezien die LLM's op deze manier gebruiken om betrouwbaarheidsscores te genereren. Het probleem is dat er geen goede reden is om dat getal te vertrouwen. Dit bericht gaat over waarom we niet kunnen vertrouwen op een LLM om een betrouwbaarheidsscore te genereren.

Wat betrouwbaarheid betekent

Voordat we kunnen begrijpen waarom een LLM geen betrouwbare betrouwbaarheidsscore kan geven, moeten we begrijpen wat betrouwbaarheid echt betekent.

Denk bijvoorbeeld aan een weersvoorspeller die zegt: "Ik ben voor 70% zeker dat het morgen gaat regenen."

De voorspeller voorspelt dat het zal regenen. De 70% is de mate waarin hij zeker is van die voorspelling. Morgen zal het óf regenen óf niet, en hoe zeker hij vandaag is, hangt af van wat hij weet.

Hun betrouwbaarheid komt voort uit de informatie die ze gebruiken. Een deel daarvan gaat over morgen: luchtdruk, luchtvochtigheid, wind en de wolken op de radar. Een ander deel komt uit het verleden: jaren aan weergegevens en hoe vaak het regende na dagen die er zo uitzagen als deze. Hoe meer informatie ze hebben, en hoe sterker deze in één richting wijst, hoe dichter hun betrouwbaarheid bij de 100% of 0% kan komen.

In theorie is het omzetten van deze informatie in een betrouwbaarheidsscore een berekening, geen mening. Laten we zeggen dat deze berekening kan worden weergegeven door een hypothetische regel. Je begint met wat het verleden je vertelt, en je werkt dit bij met de informatie over morgen. Als twee voorspellers exact dezelfde informatie hebben en beiden de regel correct toepassen, moeten ze op exact dezelfde betrouwbaarheidsscore uitkomen. Wanneer voorspellers het oneens zijn, komt dat omdat ze verschillende informatie hebben, of omdat een van hen de regel verkeerd heeft toegepast.

Stel nu dat de voorspeller wordt gevraagd naar een dag over twee weken. Ze hebben nog geen informatie over die dag. Alles wat ze hebben, is het verleden. Stel dat het in deze tijd van het jaar op ongeveer 30% van de dagen regent. Dan is het beste wat ze kunnen zeggen: "Ik ben voor 30% zeker dat het gaat regenen." Naarmate de dag dichterbij komt, krijgen ze meer informatie en kan hun betrouwbaarheid omhoog bewegen richting de 100% of omlaag richting de 0%.

Hoe we de nauwkeurigheid van een betrouwbaarheidsscore meten

Nu we weten wat betrouwbaarheid betekent, kunnen we kijken naar hoe we kunnen bepalen of een betrouwbaarheidsscore nauwkeurig is.

Een enkele dag kan niet aantonen of de 70% van de voorspeller correct was, omdat het óf regende óf niet. We kunnen hun betrouwbaarheid alleen controleren over vele dagen.

Neem alle dagen waarop de voorspeller zei dat hij voor 70% zeker was van regen. Als het op ongeveer 70% van die dagen regende, is hun 70% nauwkeurig. Als het slechts op 40% van die dagen regende, waren ze overmoedig (overconfident). Als het op 90% van die dagen regende, waren ze te voorzichtig (underconfident). We kunnen hetzelfde doen voor elk betrouwbaarheidsniveau. Stel dat dit het overzicht van de voorspeller is voor één jaar:

VoorspellingDagenDagen met regenPercentage
10%1201311%
30%902629%
70%805771%
90%756789%

Op elk niveau ligt het percentage regen dicht bij wat ze hadden voorspeld. Wanneer de betrouwbaarheid op deze manier overeenkomt met de werkelijke frequentie, is deze gekalibreerd. Dit is ook hoe we ontdekken hoe goed de voorspeller de regel volgt.

Kalibratie alleen is niet voldoende. Een voorspeller die de weersomstandigheden van morgen negeert en altijd 30% zegt (het gebruikelijke percentage voor het seizoen), is ook gekalibreerd. Over het jaar gezien zal het op ongeveer 30% van hun "30%-dagen" regenen. Maar ze gebruiken nooit de informatie over morgen, dus vertelt hun betrouwbaarheid ons niets. De voorspeller in de tabel is beter, omdat de meeste van hun dagen dicht bij de 10% of dicht bij de 90% liggen. Ze gebruiken de informatie en zijn nog steeds gekalibreerd.

Er is nog één voorwaarde die gemakkelijk over het hoofd wordt gezien. Om dit alles te kunnen doen, moet iemand elke voorspelling en wat er daadwerkelijk is gebeurd opschrijven. Zonder dat verslag is er geen manier om te weten of een betrouwbaarheidsscore nauwkeurig is.

Een betrouwbaarheidsscore waar je op kunt vertrouwen, heeft dus twee dingen nodig:

  1. Het weerspiegelt hoeveel informatie de voorspelling is gebaseerd op.
  2. Het is gecontroleerd aan de hand van wat er daadwerkelijk is gebeurd, bij hetzelfde type vraag.

Hoe een LLM een betrouwbaarheidsscore geeft

Een LLM produceert tekst token voor token. Elk token wordt gekozen op basis van de tokens die eraan voorafgingen. Dit is wat "autoregressief" betekent. Wanneer je bijvoorbeeld vraagt "Hoe zeker ben je?", is het antwoord "0.85" niet afgelezen van een meter binnen het model. Het model schrijft het, token voor token, op dezelfde manier als het elke andere tekst schrijft. "0.85" is een plausibue voortzetting van het gesprek. Het is geen meting van iets.

In de termen van de vorige sectie bezit het getal geen van beide eigenschappen. Het weerspiegelt niet hoeveel informatie het model had, omdat het een voortzetting van de tekst is en geen samenvatting van het bewijs. En het is nooit gekalibreerd. Tijdens de pre-training wordt het model wel getoetst aan resultaten, maar het resultaat is het volgende token tekst. Het model is dus tot op zekere hoogte gekalibreerd op de vraag: "Welke tekst volgt er nu?" Het is nooit getoetst op de vraag of de betrouwbaarheid die het schrijft overeenkomt met hoe vaak het correct is. Het model heeft geleerd hoe betrouwbaarheidsscores eruitzien in tekst. Het heeft niet geleerd om zijn scores te laten overeenkomen met zijn nauwkeurigheid.

Dit heeft enkele consequenties die je zelf kunt vaststellen:

  • Vraag het opnieuw, en het getal verandert. Bijvoorbeeld: dezelfde vraag kan de ene keer 0.85 opleveren en de volgende keer 0.7. De informatie is niet veranderd, dus als het model een regel zou toepassen, zou de betrouwbaarheid ook niet veranderen.
  • Verander de bewoording, en het getal verandert. Als je bijvoorbeeld vraagt "Weet je het zeker?", verschuift de score meestal, zelfs als er niets aan het probleem is veranderd. Een andere bewoording is geen nieuwe informatie.
  • De tekst vóór het getal bepaalt het getal. Als het model bijvoorbeeld al heeft geschreven "Dit is duidelijk het juiste antwoord", is een hoge score de natuurlijke voortzetting. De score volgt uit de woorden, niet uit het bewijs.

Het model zal je altijd een getal geven. Het zal er precies uitzien. En, net als bij de samenvatting van een paper in mijn vorige bericht, ziet een onjuist getal er hetzelfde uit als een correct getal. Je kunt pas ontdekken of de getallen betrouwbaar zijn door er veel van te controleren aan de hand van een antwoordsleutel. De meeste mensen die een LLM om een betrouwbaarheidsscore vragen, doen dat niet.

Betrouwbaarheid meten zonder LLM

Als we de LLM niet om zijn betrouwbaarheid kunnen vragen, waar halen we die dan vandaan? We kunnen doen wat de weersvoorspeller doet: een regel bouwen die informatie omzet in betrouwbaarheid, en deze constant controleren aan de hand van wat er daadwerkelijk gebeurt. De LLM kan de taak nog steeds uitvoeren, zoals het schrijven van een antwoord, maar de betrouwbaarheidsscore komt voort uit de regel, niet uit de LLM.

Denk bijvoorbeeld aan een agent die vragen van de klantenservice beantwoordt door in een helpcenter te zoeken en een reactie te schrijven. We willen een betrouwbaarheidsscore voor elke reactie, zodat onzekere reacties eerst naar een mens gaan voordat ze worden verzonden.

  1. Kies de informatie. Maak een lijst van zaken die we kunnen observeren over elke reactie, zonder de LLM te vragen hoe hij zich voelt. Heeft de zoekopdracht een artikel over dit onderwerp gevonden? Hoeveel? Is dit een type vraag dat de agent eerder heeft beantwoord? Als we de agent dezelfde vraag twee keer stellen, zijn de twee reacties dan hetzelfde? Dit is de versie van de agent voor luchtdruk, luchtvochtigheid en wind.
  2. Begin met het verleden. Voordat we andere data hebben, is de beste betrouwbaarheid het gebruikelijke percentage, zoals bij de voorspelling voor over twee weken. Als een persoon 200 eerdere reacties heeft gecontroleerd en 150 daarvan correct waren, begint elke reactie op 75%.
  3. Registreer elke reactie en wat er gebeurde. Bewaar voor elke reactie de informatie uit stap 1, de betrouwbaarheid die de regel gaf, en of de reactie correct bleek te zijn. Een reactie is correct als een reviewer deze heeft goedgekeurd, of als de klant niet opnieuw hoefde te vragen. Dit is het verslag dat in de vorige secties als noodzakelijk werd beschreven.
  4. Werk de regel bij op basis van het verslag. Gropeer de eerdere reacties op basis van hun informatie en kijk hoe vaak elke groep correct was. Als reacties met een overeenkomend artikel en twee overeenstemmende antwoorden in 95% van de gevallen correct waren, dan moet de regel 95% aangeven voor de volgende reactie die daarop lijkt. Als reacties zonder overeenkomend artikel slechts in 40% van de gevallen correct waren, moet de regel 40% aangeven. In het begin zijn de groepen klein en de regel ruw. Met meer data worden de groepen groter en kan de regel meer van de informatie gebruiken.
  5. Blijf controleren. Maak elke week of zo dezelfde tabel als we voor de weersvoorspeller maakten: voor elk betrouwbaarheidsniveau, hoe vaak was de reactie correct? Als de 90%-reacties slechts in 70% van de gevallen correct waren, is de regel overmoedig, en de nieuwe gegevens laten zien hoe dit te herstellen.

Een regel als deze heeft de eigenschappen die het getal van een LLM niet heeft. Dezelfde informatie geeft altijd dezelfde betrouwbaarheid. De betrouwbaarheid hangt af van de informatie, niet van de bewoording. En het is gekalibreerd op ons eigen type vraag, omdat het is gebouwd vanuit onze eigen gegevens. Bovendien wordt het beter naarmate we het gebruiken, omdat elke reactie bijdraagt aan het verslag.

De regel is echter slechts zo goed als het verslag. Als niemand controleert of de reacties correct waren, is er niets om van te leren, en zijn we terug bij een getal dat niemand heeft gemeten.