Dela via


Finjusteringsöverväganden för Azure OpenAI i Azure AI Foundry-modeller

Finjustering är processen att ta en förtränad språkmodell och anpassa den för att utföra en viss uppgift eller förbättra dess prestanda på en viss datauppsättning. Detta innebär att du tränar modellen på en mindre, uppgiftsspecifik datamängd samtidigt som modellens vikter justeras något. Finjustering utnyttjar den kunskap som modellen fick under sin inledande träning på en stor, varierad datamängd, vilket gör att den kan specialisera sig utan att börja från början. Den här metoden är ofta effektivare och effektivare än att träna en ny modell från grunden, särskilt för specialiserade uppgifter.

Viktiga fördelar med finjustering

Förbättrad noggrannhet och relevans

Finjustering förbättrar modellens prestanda för vissa uppgifter genom att träna den med uppgiftsspecifika data. Detta resulterar ofta i mer exakta och relevanta högkvalitativa utdata jämfört med att använda allmänna uppmaningar.

Till skillnad från inlärning med få exempel, där endast ett begränsat antal exempel kan ingå i en uppmaning, kan du med finjustering träna modellen på en ytterligare datamängd. Finjustering hjälper modellen att lära sig mer nyanserade mönster och förbättrar aktivitetsprestanda.

Effektivitet och potentiella kostnadsbesparingar

Finjusterade modeller kräver kortare frågor eftersom de tränas på relevanta exempel. Den här processen minskar antalet token som behövs i varje begäran, vilket kan leda till kostnadsbesparingar beroende på användningsfallet.

Eftersom finjusterade modeller behöver färre exempel i prompten bearbetar de begäranden snabbare, vilket resulterar i snabbare svarstider.

Skalbarhet och specialisering

Finjustering tillämpar den omfattande förträning av språkmodeller och finslipar deras kapabiliteter för specifika tillämpningar, vilket gör dem mer effektiva och verkningsfulla för målinriktade användningsfall.

Finjustering av mindre modeller kan uppnå prestandanivåer som är jämförbara med större och dyrare modeller för specifika uppgifter. Den här metoden minskar beräkningskostnaderna och ökar hastigheten, vilket gör den till en kostnadseffektiv skalbar lösning för att distribuera AI i resursbegränsade miljöer.

När du ska finjustera

Finjustering passar för tider då du har en liten mängd data och vill förbättra modellens prestanda. Finjustering kan vara för olika typer av användningsfall - men de faller ofta i bredare kategorier.

  • Minska kostnaderna för promptteknik: Många användare börjar med få-exempel-inlärning och lägger till exempel på önskat resultat i systemmeddelandet. Med tiden kan den här processen leda till allt längre frågor, vilket ökar antalet token och svarstiden. Med finjustering kan du bädda in dessa exempel i modellen genom att träna på förväntade utdata, vilket är värdefullt i scenarier med många gränsfall.

  • Ändra stil och ton: Finjustering hjälper till att justera modellutdata med önskad stil eller ton, vilket säkerställer konsekvens i program som kundtjänstchattrobotar och varumärkesspecifik kommunikation.

  • Generera utdata i specifika format eller scheman: Modeller kan finjusteras för att producera utdata i specifika format eller scheman, vilket gör dem idealiska för strukturerad datagenerering, rapporter eller formaterade svar.

  • Förbättra verktygsanvändningen: Även om API:et för slutförande av chattar stöder verktygsanrop, ökar antalet verktyg användningen av tokens och kan leda till hallucinationer. Finjustering med verktygsexempel förbättrar noggrannheten och konsekvensen, även utan fullständiga verktygsdefinitioner.

  • Förbättra hämtningsbaserade prestanda: Genom att kombinera finjustering med hämtningsmetoder kan en modell integrera extern kunskap, utföra komplexa uppgifter och ge mer exakta, sammanhangsmedvetna svar. Finjustering tränar modellen att effektivt använda hämtade data vid filtrering av irrelevant information.

  • Optimera för effektivitet: Finjustering kan också användas för att överföra kunskap från en större modell till en mindre modell, vilket gör att den mindre modellen kan uppnå liknande aktivitetsprestanda med lägre kostnad och svarstid. Till exempel kan produktionsdata från en högpresterande modell användas för att finjustera en mindre, effektivare modell. Den här metoden hjälper till att skala AI-lösningar samtidigt som du bibehåller kvalitet och minskar beräkningskostnaderna.

  • Destillation: Modelldestillation använder en stor modells utdata för att finjustera en mindre modell, vilket gör att den kan utföra på samma sätt på en specifik uppgift, till exempel samla in produktionstrafik från en o1-distribution och använda den som träningsdata för att finjustera 4o-mini. Den här processen kan minska kostnaderna och svarstiden eftersom mindre modeller kan vara mer effektiva.

Typer av finjustering

Azure AI Foundry erbjuder flera typer av bra -tuning tekniker:

  • Övervakad finjustering: På så sätt kan du tillhandahålla anpassade data (prompt/slutförande eller konversationschatt, beroende på modell) för att lära basmodellen nya kunskaper. Den här processen innebär att ytterligare träna modellen på en högkvalitativ etiketterad datauppsättning, där varje datapunkt är associerad med rätt utdata eller svar. Målet är att förbättra modellens prestanda för en viss uppgift genom att justera dess parametrar baserat på etiketterade data. Den här tekniken fungerar bäst när det finns ändliga sätt att lösa ett problem och du vill lära modellen en viss uppgift och förbättra dess noggrannhet och koncishet.

  • Förbättrad finjustering: Det här är en modellanpassningsteknik som är fördelaktig för att optimera modellbeteendet i mycket komplexa eller dynamiska miljöer, vilket gör det möjligt för modellen att lära sig och anpassa sig genom iterativ feedback och beslutsfattande. Leverantörer av finansiella tjänster kan till exempel optimera modellen för snabbare, mer exakta riskbedömningar eller personlig investeringsrådgivning. Inom sjukvård och läkemedel kan o3-mini skräddarsys för att påskynda läkemedelsidentifiering, möjliggöra effektivare dataanalys, hypotesgenerering och identifiering av lovande föreningar. RFT är ett bra sätt att finjustera när det finns oändliga eller många sätt att lösa ett problem. Utvärderaren belönar modellen successivt och förbättrar resonemanget.

  • DPO (Direct Preference Optimization): Detta är en annan ny justeringsteknik för stora språkmodeller som är utformad för att justera modellvikter baserat på mänskliga preferenser. Till skillnad från Reinforcement Learning from Human Feedback (RLHF) kräver DPO inte anpassning av en belöningsmodell och använder binära inställningar för träning. Den här metoden är beräkningsmässigt lättare och snabbare, vilket gör den lika effektiv vid justering samtidigt som den är mer effektiv. Du delar både icke-föredragna och föredragna svar med träningsuppsättningen och använder DPO-metoden.

Du kan också stapla tekniker: först använder du SFT för att skapa en anpassad modell – optimerad för ditt användningsfall – och sedan använda finjustering av inställningar för att justera svaren efter dina specifika inställningar. Under SFT-steget fokuserar du på datakvalitet och representativitet för uppgifterna, medan DPO-steget justerar svar med specifika jämförelser.

Utmaningar och begränsningar för finjustering

Finjustering av stora språkmodeller är en kraftfull teknik för att anpassa dem till specifika domäner och uppgifter. Finjustering kommer dock också med vissa utmaningar och nackdelar som måste beaktas innan det tillämpas på ett verkligt problem. Nedan visas några av dessa utmaningar och nackdelar.

  • Finjustering kräver högkvalitativa, tillräckligt stora och representativa träningsdata som matchar måldomänen och uppgiften. Kvalitetsdata är relevanta, korrekta, konsekventa och tillräckligt olika för att täcka möjliga scenarier och variationer som modellen kommer att stöta på i verkligheten. Dåliga eller icke-representativa data leder till överanpassning, underanpassning eller bias i den finjusterade modellen, vilket skadar dess generalisering och robusthet.
  • Finjustering av stora språkmodeller innebär extra kostnader i samband med modellträning och drift av den anpassade modellen.
  • Formatering av in- och utdatapar som används för att finjustera en stor språkmodell kan vara avgörande för dess prestanda och användbarhet.
  • Finjustering kan behöva upprepas när data uppdateras eller när en uppdaterad basmodell släpps. Detta omfattar övervakning och uppdatering regelbundet.
  • Finjustering är en repetitiv uppgift (försök och misstag), så hyperparametrarna behöver noggrant ställas in. Finjustering kräver mycket experimentering och testning för att hitta den bästa kombinationen av hyperparametrar och inställningar för att uppnå önskad prestanda och kvalitet.

Nästa steg