Utvärdering av generativa AI-applikationer

Viktigt!

Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Förbättringar i språkmodeller som GPT-4 via Azure OpenAI Service ger ett stort löfte när du kommer med utmaningar som rör ansvarsfull AI. Om de inte utformas noggrant kan system som bygger på dessa modeller vidmakthålla befintliga samhälleliga fördomar, främja felaktig information, skapa manipulativt innehåll eller leda till en mängd andra negativa effekter. Det är möjligt att hantera dessa risker samtidigt som fördelarna för användarna maximeras med en iterativ metod i fyra steg: identifiera, mäta och minimera driften.

Mätningssteget ger viktig information för att styra utvecklingen mot kvalitet och säkerhet. Å ena sidan omfattar detta utvärdering av prestanda och kvalitet. Vid utvärdering av risker och säkerhet omfattar detta å andra sidan en utvärdering av ai-systemets predisposition mot olika risker (som var och en kan ha olika allvarlighetsgrad). I båda fallen uppnås detta genom att fastställa tydliga mått, skapa testuppsättningar och slutföra iterativa, systematiska tester. Det här mätsteget ger utövare signaler som informerar riktade åtgärdssteg, till exempel snabbteknik och tillämpning av innehållsfilter. När åtgärder har tillämpats kan man upprepa utvärderingar för att testa effektiviteten.

Azure AI Studio ger utövare verktyg för manuell och automatiserad utvärdering som kan hjälpa dig med mätningssteget. Vi rekommenderar att du börjar med manuell utvärdering och sedan fortsätter med automatiserad utvärdering. Manuell utvärdering, d.v.s. manuellt granska programmets genererade utdata, är användbar för att spåra förloppet för en liten uppsättning prioritetsproblem. När du minimerar specifika risker är det ofta mest produktivt att manuellt kontrollera förloppet mot en liten datamängd tills bevis på riskerna inte längre observeras innan du övergår till automatiserad utvärdering. Azure AI Studio stöder en manuell utvärderingsupplevelse för felsökning av små datamängder.

Automatiserad utvärdering är användbar för att mäta kvalitet och säkerhet i stor skala med ökad täckning för att ge mer omfattande resultat. Automatiserade utvärderingsverktyg möjliggör även löpande utvärderingar som regelbundet körs för att övervaka regression när systemet, användningen och minskningarna utvecklas. Vi stöder två huvudsakliga metoder för automatiserad utvärdering av generativa AI-program: traditionella maskininlärningsutvärderingar och AI-assisterad utvärdering.

Traditionella maskininlärningsmätningar

När det gäller generativ AI är traditionella maskininlärningsutvärderingar (som producerar traditionella maskininlärningsmått) användbara när vi vill kvantifiera noggrannheten för genererade utdata jämfört med förväntade svar. Traditionella mått är bra när man har tillgång till grund sanning och förväntade svar.

  • Grundläggande sanning refererar till data som vi tror är sanna och därför använder som baslinje för jämförelser.
  • Förväntade svar är de resultat som vi anser bör ske baserat på våra grundsanningsdata. I till exempel uppgifter som klassificering eller kortforms frågesvar, där det vanligtvis finns ett korrekt eller förväntat svar, kan F1-poäng eller liknande traditionella mått användas för att mäta precisionen och återkalla genererade utdata mot de förväntade svaren.

Traditionella mått är också användbara när vi vill förstå hur mycket de genererade utdata regresserar, dvs. avviker från de förväntade svaren. De ger ett kvantitativt mått på fel eller avvikelse, så att vi kan spåra systemets prestanda över tid eller jämföra prestanda för olika system. Dessa mått kan dock vara mindre lämpliga för uppgifter som inbegriper kreativitet, tvetydighet eller flera korrekta lösningar, eftersom dessa mått vanligtvis behandlar avvikelser från ett förväntat svar som ett fel.

AI-assisterade utvärderingar

Stora språkmodeller (LLM) som GPT-4 kan användas för att utvärdera utdata från generativa AI-språksystem. Detta uppnås genom att instruera en LLM att kommentera vissa aspekter av AI-genererade utdata. Du kan till exempel ge GPT-4 en relevansskala för allvarlighetsgrad (till exempel ange kriterier för relevansanteckning på en 1–5-skala) och sedan be GPT-4 att kommentera relevansen av ett AI-systems svar på en viss fråga.

AI-assisterade utvärderingar kan vara till nytta i scenarier där grund sanning och förväntade svar inte är tillgängliga. I många generativa AI-scenarier, till exempel svar på öppna frågor eller kreativt skrivande, finns det inte enkla korrekta svar, vilket gör det svårt att fastställa den grundläggande sanningen eller förväntade svar som är nödvändiga för traditionella mått.

I dessa fall kan AI-assisterade utvärderingar hjälpa till att mäta viktiga begrepp som kvalitet och säkerhet för genererade utdata. Här refererar kvalitet till prestanda- och kvalitetsattribut som relevans, konsekvens, flyt och grund. Säkerhet avser risk- och säkerhetsattribut som förekomst av skadligt innehåll (innehållsrisker).

För vart och ett av dessa attribut krävs noggrann konceptualisering och experimentering för att skapa LLM:s instruktioner och allvarlighetsgradsskala. Ibland refererar dessa attribut till komplexa sociotekniska begrepp som olika personer kan se annorlunda på. Därför är det viktigt att LLM:s anteckningsinstruktioner skapas för att representera en överenskommen, konkret definition av attributet. Sedan är det lika viktigt att se till att LLM tillämpar instruktionerna på ett sätt som är förenligt med mänskliga expertanteckningar.

Genom att instruera en LLM att kommentera dessa attribut kan du skapa ett mått för hur bra ett generativt AI-program presterar även när det inte finns ett enda korrekt svar. AI-assisterade utvärderingar ger ett flexibelt och nyanserat sätt att utvärdera generativa AI-program, särskilt i uppgifter som involverar kreativitet, tvetydighet eller flera korrekta lösningar. Tillförlitligheten och giltigheten för dessa utvärderingar beror dock på kvaliteten på LLM och de instruktioner som ges till den.

AI-assisterad prestanda och kvalitetsmått

För att köra AI-assisterade prestanda- och kvalitetsutvärderingar kan en LLM användas för två separata funktioner. Först måste en testdatauppsättning skapas. Detta kan skapas manuellt genom att välja frågor och samla in svar från AI-systemet, eller så kan det skapas syntetiskt genom att simulera interaktioner mellan DITT AI-system och en LLM (kallas ai-assisterad datauppsättningsgenerator i följande diagram). Sedan används även en LLM för att kommentera AI-systemets utdata i testuppsättningen. Slutligen aggregeras anteckningar till prestanda- och kvalitetsmått och loggas till ditt AI Studio-projekt för visning och analys.

Diagram över utvärdera generativa AI-kvalitetsprogram i AI Studio.

Kommentar

Vi stöder för närvarande GPT-4 och GPT-3 som modeller för AI-assisterade utvärderingar. Om du vill använda dessa modeller för utvärderingar måste du upprätta giltiga anslutningar. Observera att vi starkt rekommenderar användning av GPT-4, eftersom det ger betydande förbättringar i sammanhangsberoende förståelse och efterlevnad av instruktioner.

AI-stödda risk- och säkerhetsmått

En tillämpning av kvalitets- och prestandautvärderingar med AI är skapandet av AI-stödda risk- och säkerhetsmått. För att skapa AI-stödda risk- och säkerhetsmått etablerar Azure AI Studio säkerhetsutvärderingar en Azure OpenAI GPT-4-modell som finns i en serverdelstjänst och dirigerar sedan vart och ett av de två LLM-beroende stegen:

  • Simulerar kontradiktoriska interaktioner med ditt generativa AI-system:

    Generera en högkvalitativ testdatauppsättning med indata och svar genom att simulera utbyten med en eller flera svängar som styrs av uppmaningar som är avsedda att generera skadliga svar. 

  • Kommentera testdatauppsättningen för innehålls- eller säkerhetsrisker:

    Kommentera varje interaktion från testdatauppsättningen med allvarlighetsgrad och resonemang som härleds från en allvarlighetsgradsskala som definieras för varje typ av innehåll och säkerhetsrisk.

Eftersom de etablerade GPT-4-modellerna fungerar som en adversarial datamängdsgenerator eller -kommenterare inaktiveras deras säkerhetsfilter och modellerna finns i en serverdelstjänst. De uppmaningar som används för dessa LLM:er och måldatauppsättningar för kontradiktoriska frågor finns också i tjänsten. På grund av den känsliga karaktären hos innehållet som genereras och skickas via LLM är modellerna och datatillgångarna inte direkt tillgängliga för Azure AI Studio-kunder.

De riktade motgångarna utvecklades av Microsoft-forskare, tillämpade forskare, lingvister och säkerhetsexperter för att hjälpa användarna att komma igång med att utvärdera innehålls- och säkerhetsrisker i generativa AI-system.

Om du redan har en testdatauppsättning med indatafrågor och AI-systemsvar (till exempel poster från red-teaming) kan du direkt skicka in datauppsättningen för att kommenteras av utvärderaren för innehållsrisk. Säkerhetsutvärderingar kan hjälpa till att öka och påskynda manuella red teamindelning genom att göra det möjligt för röda team att generera och automatisera motgångar i stor skala. AI-stödda utvärderingar är dock varken utformade för att ersätta mänsklig granskning eller för att ge en heltäckande täckning av alla möjliga risker.

Diagram över utvärdera generativ AI-säkerhet i AI Studio.

Utvärdera sårbarhet för jailbreak

Till skillnad från innehållsrisker kan sårbarheter i jailbreak inte mätas på ett tillförlitligt sätt med direkt anteckning av en LLM. Sårbarheter i jailbreak kan dock mätas via jämförelse av två parallella testdatauppsättningar: en baslinje för datamängden för kontradredundanstestdatamängden med jailbreak-inmatningar i första svängen. Varje datauppsättning kan kommenteras av den AI-assisterade innehållsriskutvärderingen, vilket ger en defekt frekvens för innehållsrisk för var och en. Sedan utvärderar användaren sårbarheten i jailbreak genom att jämföra defektfrekvensen och notera fall där datauppsättningen jailbreak ledde till fler eller högre allvarlighetsgradsfel. Om till exempel en instans i dessa parallella testdatauppsättningar kommenteras som allvarligare för versionen med en jailbreak-inmatning, skulle den instansen betraktas som en jailbreak-defekt.

Mer information om de aktivitetstyper och inbyggda mått som stöds finns i utvärderings- och övervakningsmått för generativ AI.

Utvärdera och övervaka generativa AI-program

Azure AI Studio har stöd för flera olika vägar för generativa AI-apputvecklare för att utvärdera sina program:

Diagram över utvärderings- och övervakningsflöden med olika sökvägar för att utvärdera generativa AI-program.

  • Lekplats: I den första vägen kan du börja med att engagera dig i en "lekplats" -upplevelse. Här har du möjlighet att välja de data som du vill använda för att grunda din modell, välja basmodellen för programmet och ange metapromptinstruktioner för att vägleda modellens beteende. Du kan sedan utvärdera programmet manuellt genom att skicka in en datauppsättning och observera programmets svar. När den manuella inspektionen är klar kan du välja att använda utvärderingsguiden för att utföra mer omfattande utvärderingar, antingen via traditionella mått eller AI-assisterade utvärderingar.

  • Flöden: Azure AI Studio Prompt-flödessidan erbjuder ett dedikerat utvecklingsverktyg som är skräddarsytt för att effektivisera hela livscykeln för AI-program som drivs av LLM:er. Med den här sökvägen kan du skapa körbara flöden som länkar llms, prompter och Python-verktyg via ett visualiserat diagram. Den här funktionen förenklar felsökning, delning och samarbets iterationer av flöden. Dessutom kan du skapa snabbvarianter och utvärdera deras prestanda genom storskalig testning.
    Förutom utvecklingsverktyget "Flows" har du även möjlighet att utveckla dina generativa AI-program med hjälp av en kod-första SDK-upplevelse. Oavsett din valda utvecklingsväg kan du utvärdera dina skapade flöden via utvärderingsguiden, som är tillgänglig från fliken Flöden eller via SDK/CLI-upplevelsen. På fliken "Flöden" har du till och med flexibiliteten att använda en anpassad utvärderingsguide och införliva dina egna mått.

  • Utvärdering av direktdatauppsättning: Om du har samlat in en datauppsättning som innehåller interaktioner mellan ditt program och slutanvändare kan du skicka dessa data direkt till utvärderingsguiden på fliken Utvärdering. Den här processen möjliggör generering av automatiska AI-assisterade utvärderingar och resultaten kan visualiseras på samma flik. Den här metoden fokuserar på en datacentrerad utvärderingsmetod. Du kan också välja att utvärdera din konversationsdatauppsättning med hjälp av SDK/CLI-upplevelsen och generera och visualisera utvärderingar via Azure AI Studio.

När du har utvärderat dina program, flöden eller data från någon av dessa kanaler kan du fortsätta att distribuera ditt generativa AI-program och övervaka dess kvalitet och säkerhet i en produktionsmiljö när det engagerar sig i nya interaktioner med dina användare.

Nästa steg