De opkomst van Grote Taalmodellen (LLM's) en de daaropvolgende snelle adoptie van toepassingen op basis van LLM's (LLMBA's) markeren een belangrijke verschuiving in het landschap van softwareontwikkeling, testen en verificatie. Waar traditionele softwaresystemen gebaseerd zijn op deterministische uitkomsten, brengen LLM's en LLMBA's een wereld van niet-deterministische en generatieve gedragingen die de conventionele paradigma's van software-engineering uitdagen. Deze verschuiving is niet slechts een technische evolutie, maar een fundamentele transformatie in de manier waarop we bedrijfsapplicaties ontwerpen, bouwen en evalueren.

De kans om LLM's te integreren in bedrijfs- of commerciële applicaties brengt nieuwe uitdagingen met zich mee, vooral op het gebied van testen en evaluatie. Het vasthouden aan traditionele testmethoden, die geen rekening houden met de probabilistische aard van LLM's en LLMBA's, leidt onvermijdelijk tot aanzienlijke risico's. Echter, zelfs voor de meest gemotiveerde en enthousiaste deelnemers aan deze nieuwe technologieën is het niet gemakkelijk om de mindset en methodologie te verschuiven. Dit hoofdstuk richt zich op de ‘evaluatiekloof’ die ontstaat tussen traditionele softwaretestbenaderingen en de unieke vereisten van LLMBA's. We onderzoeken waarom traditionele testframeworks tekortschieten en welke nieuwe evaluatiestrategieën nodig zijn.

Wanneer we spreken over LLMBA's, verwijzen we naar de inzet van een combinatie van een LLM, een databron en een output om een bedrijfs- of commerciële uitkomst te genereren. Bijvoorbeeld, het gebruik van een LLM om een rapport of een e-mail te schrijven is een LLMBA; het creëren van een chatinterface voor technische documenten is een andere vorm van LLMBA. Dit hoofdstuk onderzoekt verschillende evaluatiekaders en geeft concrete richtlijnen voor het ontwikkelen van robuuste evaluatiepijplijnen voor LLM-gebaseerde toepassingen.

Een van de fundamentele uitdagingen bij het integreren van LLM's in LLMBA's is hun niet-deterministische aard. Waar traditionele softwaresystemen een identieke output produceren bij gelijke invoer, kunnen LLM's telkens nieuwe teksten genereren die mogelijk niet in hun trainingsdata aanwezig zijn. Dit betekent dat zelfs bij identieke prompts en invoerdata, de gegenereerde antwoorden van een LLM kunnen variëren. Dit gedrag is zowel een kracht (wanneer we creativiteit en flexibiliteit waarderen) als een aanzienlijke uitdaging. Deze niet-deterministische eigenschap komt vooral tot uiting bij generatieve taken, wanneer een LLM verschillende geschreven antwoorden geeft op dezelfde vragen.

De niet-deterministische aard van LLM's maakt het moeilijk om betrouwbare, testbare systemen te bouwen, vooral op het niveau van bedrijven, waar consistentie van antwoorden een fundamentele vereiste is. Stel je voor dat een financieel dienstenbedrijf LLM's gebruikt om investeringsonderzoek te genereren, bijvoorbeeld een executive summary van een 10-K, een rapport dat bedrijven indienen bij de Securities and Exchange Commission. Dit onderzoek zou feitelijke grondslagen vereisen in de indiening (de inputdata), maar ook mogelijk een niveau van mening over de laatste informatie van het bedrijf (de output waar creatief denken gewenst is). Echter, de niet-deterministische aard van LLM's betekent dat:

  • Dezelfde invoerdata verschillende analytische conclusies kan opleveren

  • Het naleven van regelgeving steeds moeilijker te garanderen is

  • Vertrouwen en efficiëntie verminderd kunnen worden door inconsistente antwoorden

  • Het testen van dergelijke systemen aanzienlijk complexer is dan bij traditionele software

Waar komt deze niet-determinisme vandaan? De primaire bron is de manier waarop LLM's tekst genereren. Bij het genereren van tekst wordt de invoer eerst gesegmenteerd in tokens. Vervolgens krijgt elk token een unieke numerieke ID, en doorloopt het model een diepe neurale netwerkarchitectuur. Het model produceert logits – niet-genormaliseerde scores voor elk mogelijk volgend token. Deze logits worden vervolgens omgezet in een waarschijnlijkheidsdistributie door middel van de softmax-transformatie.

Bijvoorbeeld, de waarschijnlijkheid voor elk mogelijk volgend token wordt als volgt berekend:

P(yix)=softmax(xi)=j=1nexjvoor i=1,...,nP(y_i|x) = \text{softmax}(x_i) = \sum_{j=1}^{n} e^{x_j} \quad \text{voor } i = 1, ..., n

De transformatiestappen en de keuze van welke token gevolgd wordt, zijn wat deze niet-deterministische gedragingen aandrijven. Dit betekent dat bij elk verzoek de uitkomst van het model kan variëren, zelfs wanneer dezelfde invoer wordt gebruikt.

In plaats van traditionele testframeworks, die vaak zijn gebouwd rondom de veronderstelling van vaste outputs, moeten evaluatiesystemen voor LLMBA's zich richten op het meten van een breed scala aan prestaties, waarbij rekening wordt gehouden met zowel de deterministische als probabilistische aspecten van LLM-gedrag. Dit betekent dat naast de gebruikelijke functionele testen, LLMBA's ook beoordeeld moeten worden op hun capaciteit om consistent te blijven in output, hun vermogen om creatief te reageren wanneer nodig, en hun prestaties onder verschillende omstandigheden en invoervariabelen.

Bij het ontwikkelen van evaluatiekaders voor LLM's, moeten we bovendien de grotere impact van niet-deterministische gedragingen in bedrijfsomgevingen begrijpen. Het niet kunnen vertrouwen op consistente uitkomsten kan bijvoorbeeld een aanzienlijk risico vormen in sectoren waar nauwkeurigheid en compliance essentieel zijn, zoals in de financiële sector, gezondheidszorg of wetshandhaving. Het vermogen om verschillende scenario’s te simuleren, resultaten te vergelijken en de betrouwbaarheid van outputs te testen, wordt daarmee een cruciaal onderdeel van het ontwikkelings- en testproces.

Hoewel LLM's veel potentieel bieden, kan hun niet-deterministische aard het moeilijk maken om ze te integreren in toepassingen die de hoogste standaarden van betrouwbaarheid en controle vereisen. Dit vraagt om een herziening van testmethoden en een bredere adoptie van nieuwe evaluatiepraktijken die beter zijn afgestemd op de generatieve aard van deze technologieën.

Hoe Open-Source Evaluatie Frameworks de Kwaliteit van LLM's Verbeteren

Het evalueren van taalmodellen (LLM's) is een cruciaal proces voor het verbeteren van hun prestaties, met name wanneer het gaat om het vergelijken van verschillende modellen die zijn getraind op verschillende datasets of met verschillende configuraties. Zelfs bij temperatuurinstelling 0 blijven de resultaten van LLM's niet deterministisch, wat betekent dat dezelfde invoer soms verschillende uitkomsten kan opleveren. Dit maakt evaluatie van cruciaal belang voor het begrijpen van de effectiviteit van een model en het verbeteren van de nauwkeurigheid ervan. In deze context spelen open-source evaluatie frameworks een essentiële rol, die niet alleen kostenbesparend zijn, maar ook transparantie en flexibiliteit bieden in het proces van modelbeoordeling.

Een van de grootste uitdagingen bij het evalueren van LLM's is het beheer van lange invoergegevens. Dit wordt in hoofdstuk 2 van dit boek in detail besproken, maar het is belangrijk om te begrijpen dat de omvang van de invoer een significante invloed kan hebben op de prestaties van het model. Langere teksten kunnen vaak leiden tot hogere complexiteit en vereisen specifieke technieken om effectief geëvalueerd te worden.

De term "foundation model" werd voor het eerst geïntroduceerd door het Stanford Institute for Human-Centered Artificial Intelligence (HAI), en verwijst naar modellen die op grote schaal zijn getraind op brede datasets, zodat ze kunnen worden aangepast voor een breed scala aan downstreamtaken. De toepassing van deze modellen is gevarieerd, van tekstgeneratie tot vraagbeantwoording en vertaling. De kracht van foundation models ligt in hun veelzijdigheid en schaalbaarheid, wat hen tot een waardevolle bron maakt voor zowel onderzoeksdoeleinden als commerciële toepassingen.

In deze context komt Anthropic’s "A statistical approach to model evaluations" naar voren als een uitstekende referentie voor het schatten van het vertrouwensniveau van een evaluatiemaatregel. Dit soort statistische benaderingen helpt bij het begrijpen van de prestaties van een model, door niet alleen de output te meten, maar ook de onzekerheden en variaties die inherent zijn aan het model zelf.

Perplexiteit is een belangrijke maatstaf in taalmodellen, waarbij een lagere perplexiteit duidt op een beter voorspellingsvermogen (minder “verward” door de tekst). Dit betekent dat de modeluitvoer dichter bij de verwachte resultaten komt, wat een signaal is voor een goede generalisatiecapaciteit. Perplexiteit wordt vaak gebruikt in combinatie met andere evaluatiemetrieken om een completer beeld te geven van de prestaties van het model.

LangSmith, een open-source evaluatie framework, biedt een robuuste oplossing voor het beheren en monitoren van LLM's door hun hele levenscyclus. Het biedt ontwikkelaars tools voor het bouwen, testen en evalueren van modellen, en biedt diepgaande inzichten in de prestaties van LLM's. Met LangSmith kunnen teams de modelprestaties volgen, problemen in de productie identificeren en continu verbeteren door middel van systematische evaluatie tegen gedefinieerde criteria. LangSmith is ontwikkeld door hetzelfde team dat ook langchain heeft ontwikkeld, een populaire bibliotheek voor LLM-ontwikkeling.

Een voorbeeld van hoe LangSmith gebruikt kan worden, is het vergelijken van verschillende LLM-modellen bij het genereren van samenvattingen van een SEC 10-K rapport. Het proces begint met het creëren van een gouden dataset op basis van een benchmarkmodel, bijvoorbeeld GPT-4, en vervolgens worden testmodellen vergeleken met deze gouden dataset door middel van automatische evaluatiemetrieken zoals BLEU-scores.

De BLEU-score (Bilingual Evaluation Understudy) is een veelgebruikte metriek voor het meten van de overlap tussen n-grammen in gegenereerde en referentieteksten. Het wordt vaak gebruikt bij machinevertaling en tekstgeneratie om de kwaliteit van de uitvoer te kwantificeren. Hoe hoger de BLEU-score, hoe beter de gegenereerde tekst overeenkomt met de referentietekst, wat duidt op een goed model dat accuraat de essentie van de tekst weet vast te leggen.

Naast BLEU zijn er andere metrische evaluaties zoals ROUGE, die zich richt op het meten van de overlap in n-grammen tussen de gegenereerde en referentie-uitvoeren, maar met een focus op recall (hoeveel van de referentie-informatie is goed vastgelegd door het model). Beide evaluaties zijn belangrijk omdat ze verschillende aspecten van de kwaliteit van de tekst benadrukken: BLEU richt zich meer op precisie, terwijl ROUGE zich meer richt op volledigheid.

Het gebruik van LangSmith biedt ontwikkelaars de mogelijkheid om op een flexibele en herhaalbare manier hun modellen te evalueren, wat essentieel is in een snel evoluerende technische omgeving. Door het framework kunnen ontwikkelaars eenvoudig nieuwe modellen toevoegen aan hun evaluatietaken en vergelijken hoe verschillende modellen presteren onder verschillende omstandigheden. Het biedt niet alleen transparantie in het evaluatieproces, maar ook de mogelijkheid om het proces bij te stellen naarmate nieuwe modellen en evaluatiemethoden beschikbaar komen.

Wat belangrijk is voor de lezer om te begrijpen, is dat de keuze van de evaluatiemetrieken sterk afhankelijk is van de specifieke toepassing en het doel van het model. Het kan dus essentieel zijn om meerdere evaluatiestrategieën te combineren om een vollediger beeld te krijgen van hoe goed een model presteert in verschillende situaties. Verder moet men zich realiseren dat hoewel open-source tools zoals LangSmith een krachtige en flexibele oplossing bieden, de effectiviteit van deze tools afhangt van de zorgvuldige opzet en de juiste toepassing van de evaluatiemethoden.