Evaluatie van generatieve AI-toepassingen
Belangrijk
Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
Verbeteringen in taalmodellen, zoals GPT-4 via Azure OpenAI Service, bieden een grote belofte terwijl ze uitdagingen met betrekking tot verantwoorde AI aangaan. Als ze niet zorgvuldig zijn ontworpen, kunnen systemen die op deze modellen zijn gebouwd, bestaande maatschappelijke vooroordelen bestendigen, onjuiste informatie bevorderen, manipulatieve inhoud creëren of leiden tot een breed scala aan andere negatieve effecten. Het aanpakken van deze risico's terwijl het maximaliseren van voordelen voor gebruikers mogelijk is met een iteratieve benadering via vier fasen: identificeren, meten en beperken, werken.
De meetfase biedt cruciale informatie voor het sturen van ontwikkeling naar kwaliteit en veiligheid. Aan de ene kant omvat dit evaluatie van prestaties en kwaliteit. Aan de andere kant, bij het evalueren van risico's en veiligheid, omvat dit de evaluatie van de predispositie van een AI-systeem voor verschillende risico's (die elk verschillende ernst kunnen hebben). In beide gevallen wordt dit bereikt door duidelijke metrische gegevens vast te stellen, testsets te maken en iteratieve, systematische tests uit te voeren. Deze meetfase biedt beoefenaars signalen die gerichte beperkingsstappen, zoals prompt engineering en de toepassing van inhoudsfilters, informeren. Zodra oplossingen zijn toegepast, kunt u evaluaties herhalen om de effectiviteit te testen.
Azure AI Studio biedt beoefenaars hulpprogramma's voor handmatige en geautomatiseerde evaluatie die u kunnen helpen bij de meetfase. We raden u aan om te beginnen met handmatige evaluatie en vervolgens verder te gaan met geautomatiseerde evaluatie. Handmatige evaluatie, dat wil gezegd, handmatig de gegenereerde uitvoer van de toepassing controleren, is handig voor het bijhouden van de voortgang van een kleine set prioriteitsproblemen. Wanneer u specifieke risico's beperkt, is het vaak het meest productief om de voortgang handmatig te controleren op een kleine gegevensset totdat het bewijs van de risico's niet meer wordt waargenomen voordat u overstapt op geautomatiseerde evaluatie. Azure AI Studio ondersteunt een handmatige evaluatie-ervaring voor het controleren van kleine gegevenssets.
Geautomatiseerde evaluatie is handig voor het meten van kwaliteit en veiligheid op schaal met een verhoogde dekking om uitgebreidere resultaten te bieden. Met geautomatiseerde evaluatiehulpprogramma's kunnen ook doorlopende evaluaties worden uitgevoerd die periodiek worden uitgevoerd om te controleren op regressie naarmate het systeem, het gebruik en de oplossingen zich ontwikkelen. We ondersteunen twee belangrijke methoden voor geautomatiseerde evaluatie van generatieve AI-toepassingen: traditionele machine learning-evaluaties en ai-ondersteunde evaluatie.
Traditionele machine learning-metingen
In de context van generatieve AI zijn traditionele machine learning-evaluaties (het produceren van traditionele machine learning-metrische gegevens) nuttig wanneer we de nauwkeurigheid van gegenereerde uitvoer willen kwantificeren in vergelijking met verwachte antwoorden. Traditionele metrische gegevens zijn nuttig wanneer men toegang heeft tot grondwaar en verwachte antwoorden.
- Grondwaar verwijst naar gegevens die we geloven waar te zijn en daarom gebruiken als basislijn voor vergelijkingen.
- Verwachte antwoorden zijn de resultaten die we geloven moeten plaatsvinden op basis van onze grondwaargegevens. In taken zoals classificatie of korte vragen beantwoorden, waarbij er doorgaans één juist of verwacht antwoord is, kunnen F1-scores of vergelijkbare traditionele metrische gegevens worden gebruikt om de precisie en relevante overeenkomsten van gegenereerde uitvoer te meten op basis van de verwachte antwoorden.
Traditionele metrische gegevens zijn ook handig als we willen weten hoeveel de gegenereerde uitvoer regresseren, dat wil weten, afwijkt van de verwachte antwoorden. Ze bieden een kwantitatieve meting van fout of afwijking, zodat we de prestaties van het systeem in de loop van de tijd kunnen bijhouden of de prestaties van verschillende systemen kunnen vergelijken. Deze metrische gegevens zijn echter mogelijk minder geschikt voor taken die betrekking hebben op creativiteit, dubbelzinnigheid of meerdere juiste oplossingen, omdat deze metrische gegevens doorgaans elke afwijking van een verwacht antwoord behandelen als een fout.
Ai-ondersteunde evaluaties
Grote taalmodellen (LLM), zoals GPT-4, kunnen worden gebruikt om de uitvoer van generatieve AI-taalsystemen te evalueren. Dit wordt bereikt door een LLM te instrueren om aantekeningen te maken bij bepaalde aspecten van de door AI gegenereerde uitvoer. U kunt bijvoorbeeld GPT-4 opgeven met een ernstschaal voor relevantie (bijvoorbeeld criteria opgeven voor relevantieaantekening op een schaal van 1-5) en vervolgens GPT-4 vragen om aantekeningen te maken op de relevantie van het antwoord van een AI-systeem op een bepaalde vraag.
AI-ondersteunde evaluaties kunnen nuttig zijn in scenario's waarin grondwaar en verwachte antwoorden niet beschikbaar zijn. In veel generatieve AI-scenario's, zoals open-ended vragen beantwoorden of creatief schrijven, bestaan er geen juiste antwoorden, waardoor het lastig is om de grond waarheid vast te stellen of verwachte antwoorden die nodig zijn voor traditionele metrische gegevens.
In deze gevallen kunnen ai-ondersteunde evaluaties helpen bij het meten van belangrijke concepten, zoals de kwaliteit en veiligheid van gegenereerde uitvoer. Hier verwijst kwaliteit naar prestatie- en kwaliteitskenmerken zoals relevantie, samenhang, vloeiendheid en grondheid. Veiligheid verwijst naar risico- en veiligheidskenmerken, zoals aanwezigheid van schadelijke inhoud (inhoudsrisico's).
Voor elk van deze kenmerken is zorgvuldige conceptualisatie en experimenten vereist om de instructies en ernstschaal van de LLM te maken. Soms verwijzen deze kenmerken naar complexe sociaaltechnische concepten die verschillende personen anders kunnen bekijken. Het is dus essentieel dat de aantekeningsinstructies van de LLM worden gemaakt om een overeengekomen, concrete definitie van het kenmerk weer te geven. Vervolgens is het vergelijkbaar kritiek om ervoor te zorgen dat de LLM de instructies toepast op een manier die consistent is met menselijke deskundige aantekeningen.
Door een LLM te instrueren om aantekeningen te maken bij deze kenmerken, kunt u een metrische waarde bouwen voor hoe goed een generatieve AI-toepassing presteert, zelfs als er geen enkel juist antwoord is. Ai-ondersteunde evaluaties bieden een flexibele en genuanceerde manier om generatieve AI-toepassingen te evalueren, met name in taken die betrekking hebben op creativiteit, dubbelzinnigheid of meerdere juiste oplossingen. De betrouwbaarheid en geldigheid van deze evaluaties zijn echter afhankelijk van de kwaliteit van de LLM en de instructies die eraan worden gegeven.
Met AI ondersteunde metrische gegevens over prestaties en kwaliteit
Voor het uitvoeren van ai-ondersteunde prestatie- en kwaliteitsevaluaties wordt mogelijk een LLM gebruikt voor twee afzonderlijke functies. Eerst moet er een testgegevensset worden gemaakt. Dit kan handmatig worden gemaakt door prompts te kiezen en reacties van uw AI-systeem vast te leggen, maar u kunt dit ook synthetisch maken door interacties tussen uw AI-systeem en een LLM te simuleren (in het volgende diagram de generator voor ai-ondersteunde gegevenssets genoemd). Vervolgens wordt een LLM ook gebruikt om aantekeningen te maken op de uitvoer van uw AI-systeem in de testset. Ten slotte worden aantekeningen samengevoegd in metrische gegevens over prestaties en kwaliteit en vastgelegd in uw AI Studio-project voor weergave en analyse.
Notitie
Momenteel ondersteunen we GPT-4 en GPT-3 als modellen voor ai-ondersteunde evaluaties. Als u deze modellen wilt gebruiken voor evaluaties, moet u geldige verbindingen tot stand brengen. Houd er rekening mee dat we het gebruik van GPT-4 sterk aanbevelen, omdat het aanzienlijke verbeteringen biedt in contextueel begrip en naleving van instructies.
Met AI ondersteunde metrische gegevens over risico's en veiligheid
Eén toepassing van door AI ondersteunde kwaliteits- en prestatieevaluaties is het maken van met AI ondersteunde risico- en veiligheidsstatistieken. Om met AI ondersteunde metrische risico's en veiligheidsgegevens te maken, richt Azure AI Studio-veiligheidsevaluaties een Azure OpenAI GPT-4-model in dat wordt gehost in een back-endservice en worden vervolgens elk van de twee LLM-afhankelijke stappen ingedeeld:
Adversarial interacties simuleren met uw generatieve AI-systeem:
Genereer een hoogwaardige testgegevensset met invoer en antwoorden door het simuleren van uitwisselingen met één of meerdere beurten, geleid door prompts die zijn gericht op het genereren van schadelijke reacties.
Aantekeningen toevoegen aan uw testgegevensset voor inhoud of beveiligingsrisico's:
Aantekeningen toevoegen aan elke interactie uit de testgegevensset met een ernst en redenering die is afgeleid van een ernstschaal die is gedefinieerd voor elk type inhoud en beveiligingsrisico.
Omdat de ingerichte GPT-4-modellen fungeren als een adversarial gegevenssetgenerator of annotator, worden hun veiligheidsfilters uitgeschakeld en worden de modellen gehost in een back-endservice. De prompts die worden gebruikt voor deze LLM's en de doelgegevenssets voor adversarial prompts worden ook gehost in de service. Vanwege de gevoelige aard van de inhoud die wordt gegenereerd en doorgegeven via de LLM, zijn de modellen en gegevensassets niet rechtstreeks toegankelijk voor Azure AI Studio-klanten.
De adversarial gerichte promptgegevenssets zijn ontwikkeld door Microsoft-onderzoekers, toegepaste wetenschappers, taalkundigen en beveiligingsexperts om gebruikers te helpen aan de slag te gaan met het evalueren van inhouds- en beveiligingsrisico's in generatieve AI-systemen.
Als u al een testgegevensset hebt met invoerprompts en AI-systeemantwoorden (bijvoorbeeld records van red-teaming), kunt u die gegevensset rechtstreeks doorgeven om te worden geannoteerd door de inhoudsrisico-evaluator. Veiligheidsevaluaties kunnen helpen bij het verbeteren en versnellen van handmatige rode koppelingsinspanningen door rode teams in staat te stellen adversarial prompts op schaal te genereren en te automatiseren. Ai-ondersteunde evaluaties zijn echter niet ontworpen ter vervanging van menselijke beoordeling en bieden geen uitgebreide dekking van alle mogelijke risico's.
Jailbreak-beveiligingsprobleem evalueren
In tegenstelling tot inhoudsrisico's kan jailbreak-beveiligingsprobleem niet betrouwbaar worden gemeten met directe aantekeningen door een LLM. Jailbreak-beveiligingsprobleem kan echter worden gemeten via een vergelijking van twee parallelle testgegevenssets: een adversarial testgegevensset volgens de basislijn versus dezelfde adversarial testgegevensset met jailbreakinjecties in de eerste keer. Elke gegevensset kan worden geannoteerd door de ai-ondersteunde inhoudsrisico-evaluator, waardoor voor elke gegevensset een foutpercentage voor inhoudsrisico's ontstaat. Vervolgens evalueert de gebruiker het jailbreakprobleem door de defectpercentages te vergelijken en gevallen te noteren waarbij de jailbreakgegevensset heeft geleid tot meer of hogere ernstfouten. Als een exemplaar in deze parallelle testgegevenssets bijvoorbeeld wordt geannoteerd als ernstiger voor de versie met een jailbreakinjectie, wordt dat exemplaar beschouwd als een jailbreakfout.
Zie de evaluatie- en bewakingsgegevens voor generatieve AI voor meer informatie over de ondersteunde taaktypen en ingebouwde metrische gegevens.
Evalueren en bewaken van generatieve AI-toepassingen
Azure AI Studio ondersteunt verschillende verschillende paden voor generatieve AI-app-ontwikkelaars om hun toepassingen te evalueren:
Speeltuin: In het eerste pad kunt u beginnen met een 'speeltuin'-ervaring. Hier hebt u de mogelijkheid om de gegevens te selecteren die u wilt gebruiken voor het gronden van uw model, het basismodel voor de toepassing te kiezen en metaprompt-instructies te bieden om het gedrag van het model te begeleiden. Vervolgens kunt u de toepassing handmatig evalueren door een gegevensset door te geven en de reacties van de toepassing te observeren. Zodra de handmatige inspectie is voltooid, kunt u ervoor kiezen om de evaluatiewizard te gebruiken om uitgebreidere evaluaties uit te voeren, hetzij via traditionele metrische gegevens of ai-ondersteunde evaluaties.
Stromen: De azure AI Studio-promptstroompagina biedt een speciaal ontwikkelhulpprogramma dat is afgestemd op het stroomlijnen van de volledige levenscyclus van AI-toepassingen die worden aangedreven door LLM's. Met dit pad kunt u uitvoerbare stromen maken die LLM's, prompts en Python-hulpprogramma's koppelen via een gevisualiseerde grafiek. Deze functie vereenvoudigt foutopsporing, delen en gezamenlijke iteraties van stromen. Bovendien kunt u promptvarianten maken en hun prestaties beoordelen door grootschalige tests uit te voeren.
Naast het ontwikkelhulpprogramma 'Stromen' hebt u ook de mogelijkheid om uw generatieve AI-toepassingen te ontwikkelen met behulp van een code-first SDK-ervaring. Ongeacht het gekozen ontwikkelingspad kunt u de gemaakte stromen evalueren via de evaluatiewizard, toegankelijk via het tabblad Stromen of via de SDK/CLI-ervaring. Op het tabblad Stromen hebt u zelfs de flexibiliteit om een aangepaste evaluatiewizard te gebruiken en uw eigen metrische gegevens op te nemen.Directe gegevenssetevaluatie: als u een gegevensset hebt verzameld met interacties tussen uw toepassing en eindgebruikers, kunt u deze gegevens rechtstreeks verzenden naar de evaluatiewizard op het tabblad Evaluatie. Met dit proces kunt u automatische ai-ondersteunde evaluaties genereren en de resultaten kunnen op hetzelfde tabblad worden gevisualiseerd. Deze aanpak is gericht op een gegevensgerichte evaluatiemethode. U kunt uw gespreksgegevensset ook evalueren met behulp van de SDK/CLI-ervaring en evaluaties genereren en visualiseren via Azure AI Studio.
Nadat u uw toepassingen, stromen of gegevens van een van deze kanalen hebt beoordeeld, kunt u doorgaan met het implementeren van uw generatieve AI-toepassing en de kwaliteit en veiligheid ervan bewaken in een productieomgeving wanneer deze nieuwe interacties met uw gebruikers uitvoert.