Finjustera modeller med Azure AI Foundry
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.
Finjustering syftar på att anpassa en förtränad generativ AI-modell med ytterligare utbildning om en specifik uppgift eller ny datauppsättning för bättre prestanda, nya färdigheter eller bättre noggrannhet. Resultatet är en ny anpassad GenAI-modell som är optimerad baserat på de angivna exemplen.
Överväg att finjustera GenAI-modeller för att:
- Skala och anpassa efter specifika företagsbehov
- Minska falska positiva identifieringar eftersom skräddarsydda modeller är mindre benägna att ge felaktiga eller irrelevanta svar
- Förbättra modellens noggrannhet för domänspecifika uppgifter
- Spara tid och resurser med snabbare och mer exakta resultat
- Få mer relevanta och sammanhangsmedvetna resultat när modeller finjusteras för specifika användningsfall
Azure AI Foundry erbjuder flera modeller mellan modellleverantörer så att du kan få tillgång till den senaste och bästa på marknaden. Du kan identifiera modeller som stöds för finjustering genom vår modellkatalog med hjälp av filtret Finjustera uppgifter och välja modellkortet för att lära dig detaljerad information om varje modell. Specifika modeller kan utsättas för regionala begränsningar. Mer information finns i den här listan.
Den här artikeln går igenom användningsfall för finjustering och hur detta kan hjälpa dig i din GenAI-resa.
Komma igång med finjustering
När du börjar med din generativa AI-resa rekommenderar vi att du börjar med snabb teknik och RAG för att bekanta dig med basmodeller och dess funktioner.
- Prompt engineering är en teknik som innebär att utforma frågor med hjälp av ton- och formatinformation, exempelsvar och avsiktsmappning för bearbetningsmodeller för naturligt språk. Den här processen förbättrar noggrannheten och relevansen i svar för att optimera modellens prestanda.
- Hämtning av utökad generering (RAG) förbättrar LLM-prestanda genom att hämta data från externa källor och införliva dem i en prompt. RAG kan hjälpa företag att uppnå anpassade lösningar samtidigt som de bibehåller datarelevans och optimerar kostnader.
När du blir bekväm och börjar skapa din lösning är det viktigt att förstå var snabb teknik misslyckas och det hjälper dig att inse om du bör prova finjustering.
- Misslyckas basmodellen i gränsfall eller undantag?
- Ger basmodellen inte konsekvent utdata i rätt format?
- Är det svårt att passa tillräckligt många exempel i kontextfönstret för att styra modellen?
- Finns det långa svarstider?
Exempel på fel med basmodellen och prompttekniken kan hjälpa dig att identifiera de data som ska samlas in för finjustering och upprätta en prestandabaslinje som du kan utvärdera och jämföra din finjusterade modell med. Att ha en baslinje för prestanda utan finjustering är viktigt för att veta om finjustering förbättrar modellens prestanda eller inte.
Här är ett exempel:
En kund vill använda GPT-3.5 Turbo för att omvandla frågor på naturligt språk till frågor på ett specifikt, icke-standardfrågespråk. Kunden ger vägledning i prompten ("Returnera alltid GQL") och använder RAG för att hämta databasschemat. Syntaxen är dock inte alltid korrekt och misslyckas ofta för gränsfall. Kunden samlar in tusentals exempel på frågor om naturligt språk och motsvarande frågor för databasen, inklusive fall där modellen misslyckades tidigare. Kunden använder sedan dessa data för att finjustera modellen. Genom att kombinera den nyligen finjusterade modellen med den konstruerade prompten och hämtningen får modellens utdata att uppfylla acceptabla standarder för användning.
Användningsfall
Basmodeller är redan förtränade på stora mängder data och de flesta gånger lägger du till instruktioner och exempel i uppmaningen för att få de kvalitetssvar som du letar efter – den här processen kallas "few-shot learning". Med finjustering kan du träna en modell med många fler exempel som du kan skräddarsy för att uppfylla ditt specifika användningsfall, vilket förbättrar inlärningen med få skott. Detta kan minska antalet token i prompten som leder till potentiella kostnadsbesparingar och begäranden med lägre svarstid.
Att omvandla naturligt språk till ett frågespråk är bara ett användningsfall där du inte kan visa modellen hur den ska bete sig. Här följer några ytterligare användningsfall:
- Förbättra modellens hantering av hämtade data
- Styr modell för att mata ut innehåll i ett specifikt format, en viss ton eller ett visst format
- Förbättra noggrannheten när du söker efter information
- Minska längden på prompten
- Lär ut nya färdigheter (dvs. naturligt språk att koda)
Om du identifierar kostnaden som din primära motivator fortsätter du med försiktighet. Finjustering kan minska kostnaderna för vissa användningsfall genom att förkorta uppmaningar eller tillåta att du använder en mindre modell. Men det kan finnas en högre startkostnad för träning, och du måste betala för att vara värd för din egen anpassade modell.
Steg för att finjustera en modell
Här är de allmänna stegen för att finjustera en modell:
- Baserat på ditt användningsfall väljer du en modell som stöder din uppgift
- Förbereda och ladda upp träningsdata
- (Valfritt) Förbereda och ladda upp valideringsdata
- (Valfritt) Konfigurera aktivitetsparametrar
- Träna din modell.
- När du är klar granskar du mått och utvärderar modellen. Om resultatet inte uppfyller ditt riktmärke går du tillbaka till steg 2.
- Använda din finjusterade modell
Det är viktigt att påpeka att finjustering är starkt beroende av kvaliteten på data som du kan tillhandahålla. Det är bästa praxis att tillhandahålla hundratals, om inte tusentals, träningsexempel för att lyckas och få önskat resultat.
Modeller som stöds för finjustering
Nu när du vet när du ska använda finjustering för ditt användningsfall kan du gå till Azure AI Foundry för att hitta modeller som är tillgängliga för finjustering. För vissa modeller i modellkatalogen är finjustering tillgänglig med hjälp av ett serverlöst API eller en hanterad beräkning (förhandsversion) eller båda.
Finjustering är tillgängligt i specifika Azure-regioner för vissa modeller som distribueras via serverlösa API:er. För att finjustera sådana modeller måste en användare ha en hubb/ett projekt i den region där modellen är tillgänglig för finjustering. Mer information finns i Regiontillgänglighet för modeller i serverlösa API-slutpunkter .
Mer information om finjustering med hjälp av en hanterad beräkning (förhandsversion) finns i Finjustera modeller med hanterad beräkning (förhandsversion).
Mer information om Azure OpenAI-modeller som är tillgängliga för finjustering finns i dokumentationen om Azure OpenAI Service-modeller eller tabellen med Azure OpenAI-modeller senare i den här guiden.
För Azure OpenAI Service-modeller som du kan finjustera kan du finjustera regioner som stöds för finjustering: USA, norra centrala, Sverige, centrala med mera.
Finjustera Azure OpenAI-modeller
Kommentar
gpt-35-turbo
– Finjustering av den här modellen är begränsad till en delmängd av regioner och är inte tillgänglig i varje region som basmodellen är tillgänglig.
De regioner som stöds för finjustering kan variera om du använder Azure OpenAI-modeller i ett Azure AI Foundry-projekt jämfört med utanför ett projekt.
Model ID | Finjustera regioner | Maximal begäran (token) | Träningsdata (upp till) |
---|---|---|---|
babbage-002 |
USA, norra centrala Sverige, centrala Schweiz, västra |
16,384 | Sep 2021 |
davinci-002 |
USA, norra centrala Sverige, centrala Schweiz, västra |
16,384 | Sep 2021 |
gpt-35-turbo (0613) |
USA, östra 2 USA, norra centrala Sverige, centrala Schweiz, västra |
4,096 | Sep 2021 |
gpt-35-turbo (1106) |
USA, östra 2 USA, norra centrala Sverige, centrala Schweiz, västra |
Indata: 16 385 Utdata: 4 096 |
Sep 2021 |
gpt-35-turbo (0125) |
USA, östra 2 USA, norra centrala Sverige, centrala Schweiz, västra |
16,385 | Sep 2021 |
gpt-4 (0613) 1 |
USA, norra centrala Sverige, centrala |
8192 | Sep 2021 |
gpt-4o-mini (2024-07-18) |
USA, norra centrala Sverige, centrala |
Indata: 128 000 Utdata: 16 384 Kontextlängd för träningsexempel: 64 536 |
Okt 2023 |
gpt-4o (2024-08-06) |
USA, östra 2 USA, norra centrala Sverige, centrala |
Indata: 128 000 Utdata: 16 384 Kontextlängd för träningsexempel: 64 536 |
Okt 2023 |
1 GPT-4 är för närvarande i offentlig förhandsversion.
Relaterat innehåll
- Finjustera modeller med hanterad beräkning (förhandsversion)
- Finjustera en Azure OpenAI-modell i Azure AI Foundry-portalen
- Finjustera en Llama 2-modell i Azure AI Foundry-portalen
- Finjustera en Phi-3-modell i Azure AI Foundry-portalen
- Distribuera Phi-3-familj med små språkmodeller med Azure AI Foundry