Utveckla ansvarsfulla generativa AI-program och funktioner i Windows
Det här dokumentet innehåller en översikt över rekommenderade ansvarsfulla utvecklingsmetoder som du kan använda när du skapar program och funktioner i Windows med generativ artificiell intelligens.
Riktlinjer för ansvarsfull utveckling av generativa AI-appar och funktioner i Windows
Alla team på Microsoft följer grundläggande principer och metoder för att på ett ansvarsfullt sätt skapa och skicka AI, inklusive Windows. Du kan läsa mer om Microsofts metod för ansvarsfull utveckling i Microsoft Responsible AI Transparency Report. Windows följer grundpelarna i RAI-utveckling – styrning, karta, mått och hantering – som är anpassade till National Institute for Standards and Technology (NIST) AI Risk Management Framework.
Styrning – principer, metoder och processer
Standarder är grunden för styrnings- och efterlevnadsprocesser. Microsoft har utvecklat vår egen Responsible AI Standard, inklusive sex principer som du kan använda som utgångspunkt för att utveckla dina riktlinjer för ansvarsfull AI. Vi rekommenderar att du skapar AI-principer i livscykeln från slutpunkt till slutpunkt, samt i dina processer och arbetsflöden för efterlevnad av lagar och föreskrifter för sekretess, säkerhet och ansvarsfull AI. Detta sträcker sig från tidig utvärdering av varje AI-funktion, med hjälp av verktyg som AI Fairness Checklist och riktlinjer för Human-AI interaktion – Microsoft Research, för övervakning och granskning av AI-benchmarks, testning och processer med hjälp av verktyg som ett Ansvarsfullt AI-styrkort, till offentlig dokumentation om dina AI-funktioners funktioner och begränsningar samt användarinformation och kontrollmekanismer - information, samtycke, datainsamling och bearbetningsinformation osv. – i enlighet med tillämpliga sekretesslagar, myndighetskrav och policyer.
Karta – Identifiera risk
Rekommenderade metoder för att identifiera risker är:
Testning från slutpunkt till slutpunkt
Slutpunkt-till-slutpunkt-testning utvärderar hela AI-systemet från början till slutpunkt för att säkerställa att det fungerar som avsett och följer etablerade standarder. Den här omfattande metoden kan omfatta:
Röd teamindelning
Termen rött team har historiskt beskrivit systematiska angrepp för att testa säkerhetssårbarheter. På senare tid har termen utvidgats utöver traditionell cybersäkerhet och utvecklats i vanlig användning för att beskriva många typer av avsökning, testning och angrepp av AI-system.
Med både stora språkmodeller (LLM) och små språkmodeller (SLA) kan både godartad och kontradiktorisk användning ge potentiellt skadliga utdata som kan ta många former, inklusive hatpropaganda, uppvigling eller förhärligande av våld eller sexuellt innehåll. Genom en grundlig röd teamindelning kan du stresstesta systemet och förfina din innehållsstrategi för att minska risken för att systemet orsakar skada.
Alla AI-system bör genomgå red teamtestning, beroende på funktion och syfte, för både högrisksystem som använder generativ AI och lågrisksystem som använder icke-generativ AI:
Formell röd teamindelning: Oberoende röd teamindelning bör slutföras för alla högrisksystem som använder generativ AI med hjälp av stora språkmodeller (LLM). Formell röd teamindelning omfattar rekrytering av proffs utanför din organisation för att delta i röda teamaktiviteter.
Intern röd teamindelning: Planera som minst intern röd teamindelning för alla ai-system med lägre risk och icke-generativ användning. Detta kan göras av personer i din organisation.
Läs mer om röd teamindelning och hur du utvärderar systemets röda teamindelningsbehov: Microsoft AI Red Team
Modellutvärdering
Som en del av testning från slutpunkt till slutpunkt är det viktigt att utvärdera själva modellen.
modellkort: För offentligt tillgängliga modeller, till exempel de på HuggingFace, kan du kontrollera varje modells modellkort som en praktisk referens för att förstå om en modell är rätt för ditt användningsfall. Läs mer om modellkort.
Manuell testning: Människor som utför stegvisa tester utan skript är en viktig komponent i modellutvärderingen som stöder...
Mäta förloppet för en liten uppsättning prioriterade problem. När du minimerar specifika skador är det ofta mest produktivt att manuellt kontrollera förloppet mot en liten datamängd tills skadan inte längre observeras innan du övergår till automatiserad mätning.
Definiera och rapportera mått tills automatiserad mätning är tillräckligt tillförlitlig för att kunna användas på egen hand.
Punktkontroll med jämna mellanrum för att mäta kvaliteten på automatisk mätning.
Automatiserad testning: Automatiskt utförd testning är också en viktig komponent i modellutvärderingen som stöder...
Mätning i stor skala med ökad täckning för att ge mer omfattande resultat.
Löpande mätning för att övervaka eventuell regression när systemet, användningen och minskningarna utvecklas.
Modellval: Välj en modell som passar ditt syfte och lär dig att förstå dess funktioner, begränsningar och potentiella säkerhetsutmaningar. När du testar din modell ska du se till att den ger lämpliga resultat för din användning. För att komma igång, är destinationerna för modellkällor, inklusive både Microsoft och öppen källkod/icke-Microsoft:
Mått – Utvärdera risker och åtgärder
Rekommenderade metoder är:
Tilldela en Content Moderator-: Content Moderator kontrollerar text-, bild- och videoinnehåll efter material som kan vara stötande, riskabelt eller på annat sätt oönskat i innehåll. Läs mer: Introduktion till Content Moderator (Microsoft Learn Training).
Använd säkerhetsfilter för innehåll: Den här ensemblen av klassificeringsmodeller med flera klasser identifierar fyra kategorier av skadligt innehåll (våld, hat, sexuellt och självskadebeteende) på fyra allvarlighetsnivåer (säkra, låga, medelhöga och höga). Läs mer: Konfigurera innehållsfilter med Azure OpenAI Service.
Använd en metaprompt: En metaprompt är ett systemmeddelande som ingår i början av prompten och används för att primera modellen med kontext, instruktioner eller annan information som är relevant för ditt användningsfall. De här instruktionerna används för att vägleda modellens beteende. Läs mer: Skapa effektiva skyddsräcken med metaprompt/systemmeddelandeteknik.
Använda blocklistor: Detta blockerar användningen av vissa termer eller mönster i en prompt. Läs mer: Använda en blockeringslista i Azure OpenAI.
Bekanta dig med modellens ursprung: Provenance är ägarskapets historia för en modell, eller vem-vad-var-när och är mycket viktigt att förstå. Vem har samlat in data i en modell? Vem syftar den data på? Vilken typ av data används? Var samlades data in? När samlades data in? Att veta var modelldata kommer ifrån kan hjälpa dig att bedöma dess kvalitet, tillförlitlighet och undvika oetisk, orättvis, partisk eller felaktig dataanvändning.
Använd en standardpipeline: Använd en pipeline för innehållsmoderering i stället för att dra ihop delar bit för bit. Läs mer: Förstå maskininlärningspipelines.
Tillämpaanvändargränssnittåtgärder: Dessa ger viktig tydlighet för användaren om funktioner och begränsningar för en AI-baserad funktionalitet. För att hjälpa användare och ge insyn i din funktion kan du:
Uppmuntra användare att redigera utdata innan de godkänns
Markera potentiella felaktigheter i AI-utdata
Avslöja AI:s roll i interaktionen
Citera referenser och källor
Begränsa längden på indata och utdata när det är lämpligt
Ange struktur för indata eller utdata – prompter måste följa ett standardformat
Förbered förutbestämda svar för kontroversiella frågor.
Implementera feedbackslingor för kunder: Uppmuntra användarna att aktivt delta i feedbackslingor:
Be om feedback direkt i din app/produkt med hjälp av en enkel feedbackmekanism som är tillgänglig i kontexten som en del av användarupplevelsen.
Tillämpa tekniker för social lyssning på de kanaler som dina kunder använder för tidiga konversationer om funktionsproblem, problem och eventuell skada.
Hantera – Minimera AI-risker
Rekommendationer för att minimera AI-risker är:
Övervakning av missbruk: Den här metoden identifierar och minimerar instanser av återkommande innehåll och/eller beteenden som tyder på att en tjänst har använts på ett sätt som kan strida mot uppförandekoden eller andra tillämpliga produktvillkor. Läs mer: Övervakning av missbruk.
Stegvis leverans: Distribuera DIN AI-lösning långsamt för att hantera inkommande rapporter och problem.
Incidenthanteringsplan: Utvärdera vad som kommer att hända och hur lång tid det tar att svara på en incident för varje högprioriterad risk och hur svarsprocessen kommer att se ut.
Möjlighet att stänga av funktionen eller systemet: Tillhandahålla funktioner för att inaktivera funktionen om en incident är på väg eller har inträffat som kräver att funktionen pausas för att undvika ytterligare skada.
Användaråtkomstkontroller/blockering: Utveckla ett sätt att blockera användare som missbrukar ett system.
Användarfeedback: Använd mekanismer för att identifiera problem från användarens sida.
Be om feedback direkt i din produkt, med en enkel feedbackmekanism som är tillgänglig i samband med ett typiskt arbetsflöde.
Tillämpa tekniker för social lyssning på de kanaler som dina kunder använder för tidiga konversationer om funktionsproblem, problem och eventuell skada.
Ansvarsfull distribution av telemetridata: Identifiera, samla in och övervaka signaler som indikerar användarnöjdhet eller deras förmåga att använda systemet som avsett, vilket säkerställer att du följer tillämpliga sekretesslagar, principer och åtaganden. Använd telemetridata för att identifiera luckor och förbättra systemet.
Verktyg och resurser
Ansvarsfull AI-verktygslåda: Ansvarsfull AI är en metod för att utvärdera, utveckla och distribuera AI-system på ett säkert, tillförlitligt och etiskt sätt. Verktygslådan Ansvarsfull AI är en uppsättning verktyg som tillhandahåller en samling användargränssnitt och bibliotek för modell- och datautforskning och utvärdering som ger bättre förståelse för AI-system. Dessa gränssnitt och bibliotek gör det möjligt för utvecklare och intressenter i AI-system att utveckla och övervaka AI på ett mer ansvarsfullt sätt och vidta bättre datadrivna åtgärder.
Ansvarsfull AI-instrumentpanelsmodellfelsökning: Den här instrumentpanelen kan hjälpa dig att identifiera, diagnostisera och åtgärda problem med hjälp av data för att vidta välgrundade åtgärder. Den här anpassningsbara upplevelsen kan tas i en mängd olika riktningar, från analys av modellen eller data holistiskt, till att genomföra en djupdykning eller jämförelse av kohorter av intresse, till att förklara och förvränga modellförutsägelser för enskilda instanser och till att informera användarna om affärsbeslut och åtgärder. Ta en ansvarsfull AI-beslutsquiz.
Granska Azure Machine Learning-sammanfattningen av Vad är ansvarsfull AI?
Läs om tillvägagångssättet för ansvarsfull AI för Copilot i Bing.
Läs Brad Smiths artikel om Bekämpa missbrukande AI-genererat innehåll: en omfattande metod från 13 februari 2024.
Översikt över ansvarsfulla AI-metoder för Azure OpenAI-modeller – Azure AI-tjänster
Använda innehållsfilter (förhandsversion) med Azure OpenAI Service
Planera röd teamindelning för stora språkmodeller (LLM) och deras program
AI/ML omorienteras mot säkerhet. Ett felfält för utvecklingslivscykel
Verktyg för hantering och idéhantering av ansvarsfulla AI-åtgärder – Microsoft Research
Felanalys och Skapa ansvarsfull AI med hjälp av verktyg för felanalys (youtube.com)
InterpretML och "How to Explain Models with InterpretML Deep Dive" (youtube.com)
Black-Box och Glass-Box förklaring i Machine Learning (youtube.com)