Evaluering av finjustert Phi-3 / Phi-3.5-modell i Azure AI Foundry med fokus på Microsofts prinsipper for ansvarlig AI
Denne ende-til-ende (E2E) veiledningen er basert på artikkelen "Evaluate Fine-tuned Phi-3 / 3.5 Models in Azure AI Foundry Focusing on Microsoft's Responsible AI" fra Microsoft Tech Community.
Hvordan kan du evaluere sikkerheten og ytelsen til en finjustert Phi-3 / Phi-3.5-modell i Azure AI Foundry?
Finjustering av en modell kan noen ganger føre til utilsiktede eller uønskede responser. For å sikre at modellen forblir trygg og effektiv, er det viktig å evaluere modellens potensial til å generere skadelig innhold og dens evne til å produsere nøyaktige, relevante og sammenhengende svar. I denne veiledningen vil du lære hvordan du evaluerer sikkerheten og ytelsen til en finjustert Phi-3 / Phi-3.5-modell integrert med Prompt flow i Azure AI Foundry.
Her er evalueringsprosessen i Azure AI Foundry.
Bildekilde: Evaluering av generative AI-applikasjoner
Note
For mer detaljert informasjon og for å utforske ytterligere ressurser om Phi-3 / Phi-3.5, vennligst besøk Phi-3CookBook.
- Python
- Azure-abonnement
- Visual Studio Code
- Finjustert Phi-3 / Phi-3.5-modell
-
Scenario 1: Introduksjon til Azure AI Foundrys Prompt flow-evaluering
-
Scenario 2: Evaluering av Phi-3 / Phi-3.5-modellen i Azure AI Foundry
For å sikre at AI-modellen din er etisk og trygg, er det avgjørende å evaluere den mot Microsofts prinsipper for ansvarlig AI. I Azure AI Foundry lar sikkerhetsevalueringer deg vurdere modellens sårbarhet for jailbreak-angrep og dens potensial til å generere skadelig innhold, noe som er i tråd med disse prinsippene.
Bildekilde: Evaluering av generative AI-applikasjoner
Før du starter de tekniske stegene, er det viktig å forstå Microsofts prinsipper for ansvarlig AI, et etisk rammeverk designet for å veilede ansvarlig utvikling, distribusjon og drift av AI-systemer. Disse prinsippene sikrer at AI-teknologier utvikles på en måte som er rettferdig, transparent og inkluderende. De er grunnlaget for evalueringen av AI-modellenes sikkerhet.
Microsofts prinsipper for ansvarlig AI inkluderer:
-
Rettferdighet og inkludering: AI-systemer bør behandle alle rettferdig og unngå å påvirke lignende grupper av mennesker på forskjellige måter. For eksempel, når AI-systemer gir veiledning om medisinsk behandling, lånesøknader eller ansettelse, bør de gi samme anbefalinger til alle med lignende symptomer, økonomiske forhold eller faglige kvalifikasjoner.
-
Pålitelighet og sikkerhet: For å bygge tillit er det kritisk at AI-systemer fungerer pålitelig, trygt og konsistent. Disse systemene bør fungere som de opprinnelig ble designet, reagere trygt på uforutsette situasjoner og motstå skadelig manipulering.
-
Åpenhet: Når AI-systemer hjelper til med å informere beslutninger som har stor innvirkning på folks liv, er det avgjørende at folk forstår hvordan disse beslutningene ble tatt. For eksempel kan en bank bruke et AI-system for å avgjøre om en person er kredittverdig.
-
Personvern og sikkerhet: Etter hvert som AI blir mer utbredt, blir det stadig viktigere og mer komplekst å beskytte personvern og sikre personlig og forretningsmessig informasjon.
-
Ansvarlighet: Personene som designer og distribuerer AI-systemer må være ansvarlige for hvordan systemene fungerer. Organisasjoner bør følge industristandarder for å utvikle normer for ansvarlighet.
Bildekilde: Hva er ansvarlig AI?
Note
For å lære mer om Microsofts prinsipper for ansvarlig AI, besøk Hva er ansvarlig AI?.
I denne veiledningen vil du evaluere sikkerheten til den finjusterte Phi-3-modellen ved hjelp av sikkerhetsmålinger i Azure AI Foundry. Disse målingene hjelper deg med å vurdere modellens potensial til å generere skadelig innhold og dens sårbarhet for jailbreak-angrep. Sikkerhetsmålingene inkluderer:
- Innhold relatert til selvskading: Evaluerer om modellen har en tendens til å produsere innhold relatert til selvskading.
- Hatefult og urettferdig innhold: Evaluerer om modellen har en tendens til å produsere hatefullt eller urettferdig innhold.
- Voldelig innhold: Evaluerer om modellen har en tendens til å produsere voldelig innhold.
- Seksuelt innhold: Evaluerer om modellen har en tendens til å produsere upassende seksuelt innhold.
Ved å evaluere disse aspektene sikrer du at AI-modellen ikke produserer skadelig eller støtende innhold, i tråd med samfunnsverdier og regulatoriske standarder.
For å sikre at AI-modellen din fungerer som forventet, er det viktig å evaluere ytelsen mot ytelsesmålinger. I Azure AI Foundry lar ytelsesevalueringer deg vurdere modellens effektivitet i å generere nøyaktige, relevante og sammenhengende svar.
Bildekilde: Evaluering av generative AI-applikasjoner
I denne veiledningen vil du evaluere ytelsen til den finjusterte Phi-3 / Phi-3.5-modellen ved hjelp av ytelsesmålinger i Azure AI Foundry. Disse målingene hjelper deg med å vurdere modellens effektivitet i å generere nøyaktige, relevante og sammenhengende svar. Ytelsesmålingene inkluderer:
- Grunnlag: Evaluer hvor godt de genererte svarene samsvarer med informasjonen fra inngangskilden.
- Relevans: Evaluer hvor relevante de genererte svarene er for de gitte spørsmålene.
- Sammenheng: Evaluer hvor jevnt teksten flyter, leser naturlig og ligner menneskelig språk.
- Flyt: Evaluer språkferdigheten til den genererte teksten.
- GPT-likhet: Sammenligner det genererte svaret med den faktiske sannheten for likhet.
- F1-score: Beregner forholdet mellom delte ord mellom det genererte svaret og kildedataene.
Disse målingene hjelper deg med å evaluere modellens effektivitet i å generere nøyaktige, relevante og sammenhengende svar.
Denne veiledningen er en oppfølging av de tidligere blogginnleggene, "Fine-Tune and Integrate Custom Phi-3 Models with Prompt Flow: Step-by-Step Guide" og "Fine-Tune and Integrate Custom Phi-3 Models with Prompt Flow in Azure AI Foundry." I disse innleggene gikk vi gjennom prosessen med å finjustere en Phi-3 / Phi-3.5-modell i Azure AI Foundry og integrere den med Prompt flow.
I denne veiledningen vil du distribuere en Azure OpenAI-modell som en evaluator i Azure AI Foundry og bruke den til å evaluere din finjusterte Phi-3 / Phi-3.5-modell.
Før du begynner denne veiledningen, sørg for at du har følgende forutsetninger, som beskrevet i de tidligere veiledningene:
- Et forberedt datasett for å evaluere den finjusterte Phi-3 / Phi-3.5-modellen.
- En Phi-3 / Phi-3.5-modell som er finjustert og distribuert til Azure Machine Learning.
- En Prompt flow integrert med din finjusterte Phi-3 / Phi-3.5-modell i Azure AI Foundry.
Note
Du vil bruke filen test_data.jsonl, som ligger i data-mappen fra ULTRACHAT_200k-datasettet som ble lastet ned i de forrige blogginnleggene, som datasettet for å evaluere den finjusterte Phi-3 / Phi-3.5-modellen.
Integrer den tilpassede Phi-3 / Phi-3.5-modellen med Prompt flow i Azure AI Foundry (Kode-først-tilnærming)
Note
Hvis du fulgte lavkode-tilnærmingen beskrevet i "Fine-Tune and Integrate Custom Phi-3 Models with Prompt Flow in Azure AI Foundry", kan du hoppe over denne øvelsen og gå videre til neste. Hvis du derimot fulgte kode-først-tilnærmingen beskrevet i "Fine-Tune and Integrate Custom Phi-3 Models with Prompt Flow: Step-by-Step Guide" for å finjustere og distribuere din Phi-3 / Phi-3.5-modell, er prosessen med å koble modellen din til Prompt flow litt annerledes. Du vil lære denne prosessen i denne øvelsen.
For å fortsette må du integrere din finjusterte Phi-3 / Phi-3.5-modell i Prompt flow i Azure AI Foundry.
Du må opprette en Hub før du oppretter et prosjekt. En Hub fungerer som en Ressursgruppe, som lar deg organisere og administrere flere prosjekter i Azure AI Foundry.
-
Logg inn på Azure AI Foundry.
-
Velg Alle hubs fra venstre sidefane.
-
Velg + Ny hub fra navigasjonsmenyen.
-
Utfør følgende oppgaver:
- Skriv inn Hub-navn. Det må være en unik verdi.
- Velg ditt Azure Abonnement.
- Velg Ressursgruppe som skal brukes (opprett en ny hvis nødvendig).
- Velg Plassering du vil bruke.
- Velg Koble til Azure AI-tjenester som skal brukes (opprett en ny hvis nødvendig).
- Velg Koble til Azure AI Search for å Hopp over tilkobling.
-
Velg Neste.
-
I huben du opprettet, velg Alle prosjekter fra fanen på venstre side.
-
Velg + Nytt prosjekt fra navigasjonsmenyen.
-
Skriv inn Prosjektnavn. Det må være en unik verdi.
-
Velg Opprett et prosjekt.
For å integrere din tilpassede Phi-3 / Phi-3.5-modell med Prompt flow, må du lagre modellens endepunkt og nøkkel i en tilpasset tilkobling. Dette oppsettet sikrer tilgang til din tilpassede Phi-3 / Phi-3.5-modell i Prompt flow.
-
Gå til Azure ML Studio.
-
Naviger til Azure Machine Learning-arbeidsområdet du opprettet.
-
Velg Endepunkter fra fanen på venstre side.
-
Velg endepunktet du opprettet.
-
Velg Forbruk fra navigasjonsmenyen.
-
Kopier ditt REST-endepunkt og Primærnøkkel.
-
Gå til Azure AI Foundry.
-
Naviger til Azure AI Foundry-prosjektet du opprettet.
-
I prosjektet du opprettet, velg Innstillinger fra fanen på venstre side.
-
Velg + Ny tilkobling.
-
Velg Tilpassede nøkler fra navigasjonsmenyen.
-
Utfør følgende oppgaver:
- Velg + Legg til nøkkel-verdi-par.
- For nøkkelnavnet, skriv inn endpoint og lim inn endepunktet du kopierte fra Azure ML Studio i verdifeltet.
- Velg + Legg til nøkkel-verdi-par igjen.
- For nøkkelnavnet, skriv inn key og lim inn nøkkelen du kopierte fra Azure ML Studio i verdifeltet.
- Etter å ha lagt til nøklene, velg er hemmelig for å forhindre at nøkkelen blir eksponert.
-
Velg Legg til tilkobling.
Du har lagt til en tilpasset tilkobling i Azure AI Foundry. Nå skal vi opprette en Prompt flow ved hjelp av følgende trinn. Deretter kobler du denne Prompt flow til den tilpassede tilkoblingen for å bruke den finjusterte modellen i Prompt flow.
-
Naviger til Azure AI Foundry-prosjektet du opprettet.
-
Velg Prompt flow fra fanen på venstre side.
-
Velg + Opprett fra navigasjonsmenyen.
-
Velg Chat flow fra navigasjonsmenyen.
-
Skriv inn Mappenavn som skal brukes.
-
Velg Opprett.
Du må integrere den finjusterte Phi-3 / Phi-3.5-modellen i en Prompt flow. Den eksisterende Prompt flow som tilbys, er imidlertid ikke designet for dette formålet. Derfor må du redesigne Prompt flow for å muliggjøre integrasjon av den tilpassede modellen.
-
I Prompt flow, utfør følgende oppgaver for å bygge om den eksisterende flyten:
-
Velg Råfil-modus.
-
Slett all eksisterende kode i flow.dag.yml-filen.
-
Legg til følgende kode i flow.dag.yml.
inputs: input_data: type: string default: "Who founded Microsoft?" outputs: answer: type: string reference: ${integrate_with_promptflow.output} nodes: - name: integrate_with_promptflow type: python source: type: code path: integrate_with_promptflow.py inputs: input_data: ${inputs.input_data}
-
Velg Lagre.
-
-
Legg til følgende kode i integrate_with_promptflow.py for å bruke den tilpassede Phi-3 / Phi-3.5-modellen i Prompt flow.
import logging import requests from promptflow import tool from promptflow.connections import CustomConnection # Logging setup logging.basicConfig( format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S", level=logging.DEBUG ) logger = logging.getLogger(__name__) def query_phi3_model(input_data: str, connection: CustomConnection) -> str: """ Send a request to the Phi-3 / Phi-3.5 model endpoint with the given input data using Custom Connection. """ # "connection" is the name of the Custom Connection, "endpoint", "key" are the keys in the Custom Connection endpoint_url = connection.endpoint api_key = connection.key headers = { "Content-Type": "application/json", "Authorization": f"Bearer {api_key}" } data = { "input_data": [input_data], "params": { "temperature": 0.7, "max_new_tokens": 128, "do_sample": True, "return_full_text": True } } try: response = requests.post(endpoint_url, json=data, headers=headers) response.raise_for_status() # Log the full JSON response logger.debug(f"Full JSON response: {response.json()}") result = response.json()["output"] logger.info("Successfully received response from Azure ML Endpoint.") return result except requests.exceptions.RequestException as e: logger.error(f"Error querying Azure ML Endpoint: {e}") raise @tool def my_python_tool(input_data: str, connection: CustomConnection) -> str: """ Tool function to process input data and query the Phi-3 / Phi-3.5 model. """ return query_phi3_model(input_data, connection)
Note
For mer detaljert informasjon om hvordan du bruker Prompt flow i Azure AI Foundry, kan du se Prompt flow i Azure AI Foundry.
-
Velg Chat input, Chat output for å aktivere chat med modellen din.
-
Nå er du klar til å chatte med din tilpassede Phi-3 / Phi-3.5-modell. I neste øvelse vil du lære hvordan du starter Prompt flow og bruker den til å chatte med din finjusterte Phi-3 / Phi-3.5-modell.
-
Velg Start beregningsøkter for å starte Prompt flow.
-
Velg Valider og analyser input for å fornye parametere.
-
Velg Verdien til tilkoblingen til den tilpassede tilkoblingen du opprettet. For eksempel connection.
-
Velg Chat.
-
Her er et eksempel på resultatene: Nå kan du chatte med din tilpassede Phi-3 / Phi-3.5-modell. Det anbefales å stille spørsmål basert på dataene som ble brukt til finjustering.
For å evaluere Phi-3 / Phi-3.5-modellen i Azure AI Foundry, må du distribuere en Azure OpenAI-modell. Denne modellen vil bli brukt til å evaluere ytelsen til Phi-3 / Phi-3.5-modellen.
-
Logg inn på Azure AI Foundry.
-
Naviger til Azure AI Foundry-prosjektet du opprettet.
-
I prosjektet du opprettet, velg Distribusjoner fra fanen på venstre side.
-
Velg + Distribuer modell fra navigasjonsmenyen.
-
Velg Distribuer grunnmodell.
-
Velg Azure OpenAI-modellen du ønsker å bruke. For eksempel gpt-4o.
-
Velg Bekreft.
Evaluer den finjusterte Phi-3 / Phi-3.5-modellen ved hjelp av Azure AI Foundrys Prompt flow-evaluering
-
Gå til Azure AI Foundry.
-
Naviger til Azure AI Foundry-prosjektet du opprettet.
-
I prosjektet du opprettet, velg Evaluering fra fanen på venstre side.
-
Velg Prompt flow-evaluering.
-
Utfør følgende oppgaver:
- Skriv inn evalueringsnavnet. Det må være en unik verdi.
- Velg Spørsmål og svar uten kontekst som oppgavetypen. Dette fordi ULTRACHAT_200k-datasettet som brukes i denne opplæringen ikke inneholder kontekst.
- Velg prompt flow-en du ønsker å evaluere.
-
Velg Neste.
-
Utfør følgende oppgaver:
- Velg Legg til datasettet ditt for å laste opp datasettet. For eksempel kan du laste opp testdatasett-filen, som test_data.json1, som er inkludert når du laster ned ULTRACHAT_200k-datasettet.
- Velg riktig Datasettkolonne som samsvarer med datasettet ditt. For eksempel, hvis du bruker ULTRACHAT_200k-datasettet, velg ${data.prompt} som datasettkolonne.
-
Velg Neste.
-
Utfør følgende oppgaver for å konfigurere ytelses- og kvalitetsmålinger:
- Velg ytelses- og kvalitetsmålingene du ønsker å bruke.
- Velg Azure OpenAI-modellen du opprettet for evaluering. For eksempel, velg gpt-4o.
-
Utfør følgende oppgaver for å konfigurere risiko- og sikkerhetsmålinger:
- Velg risiko- og sikkerhetsmålingene du ønsker å bruke.
- Velg terskelen for å beregne feilraten du ønsker å bruke. For eksempel, velg Medium.
- For spørsmål, velg Datakilde til {$data.prompt}.
- For svar, velg Datakilde til {$run.outputs.answer}.
- For ground_truth, velg Datakilde til {$data.message}.
-
Velg Neste.
-
Velg Send inn for å starte evalueringen.
-
Evalueringen vil ta litt tid å fullføre. Du kan overvåke fremdriften i Evaluering-fanen.
Note
Resultatene som presenteres nedenfor er ment å illustrere evalueringsprosessen. I denne opplæringen har vi brukt en modell som er finjustert på et relativt lite datasett, noe som kan føre til suboptimale resultater. Faktiske resultater kan variere betydelig avhengig av størrelsen, kvaliteten og mangfoldet på datasettet som brukes, samt den spesifikke konfigurasjonen av modellen.
Når evalueringen er fullført, kan du gjennomgå resultatene for både ytelses- og sikkerhetsmålinger.
-
Ytelses- og kvalitetsmålinger:
- Vurder modellens effektivitet i å generere sammenhengende, flytende og relevante svar.
-
Risiko- og sikkerhetsmålinger:
- Sørg for at modellens utdata er sikre og i tråd med prinsippene for ansvarlig AI, og unngå skadelig eller støtende innhold.
-
Du kan bla ned for å se Detaljerte måleresultater.
-
Ved å evaluere din tilpassede Phi-3 / Phi-3.5-modell mot både ytelses- og sikkerhetsmålinger, kan du bekrefte at modellen ikke bare er effektiv, men også følger ansvarlige AI-praksiser, og dermed er klar for implementering i virkelige scenarier.
Du har med hell evaluert den finjusterte Phi-3-modellen integrert med Prompt flow i Azure AI Foundry. Dette er et viktig steg for å sikre at AI-modellene dine ikke bare presterer godt, men også følger Microsofts prinsipper for ansvarlig AI, slik at du kan bygge pålitelige og pålitelige AI-applikasjoner.
Rydd opp i Azure-ressursene dine for å unngå ekstra kostnader på kontoen din. Gå til Azure-portalen og slett følgende ressurser:
- Azure Machine Learning-ressursen.
- Endepunktet for Azure Machine Learning-modellen.
- Azure AI Foundry-prosjektressursen.
- Azure AI Foundry Prompt flow-ressursen.
- Vurder AI-systemer ved hjelp av instrumentbordet for ansvarlig AI
- Evaluering og overvåking av målinger for generativ AI
- Azure AI Foundry-dokumentasjon
- Prompt flow-dokumentasjon
- Hva er ansvarlig AI?
- Kunngjøring av nye verktøy i Azure AI for å hjelpe deg med å bygge sikrere og mer pålitelige generative AI-applikasjoner
- Evaluering av generative AI-applikasjoner
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av maskinbaserte AI-oversettelsestjenester. Selv om vi tilstreber nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.