Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Important
Objekt som har markerats som förhandsversioner i den här artikeln är för närvarande i förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och Microsoft 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.
Important
Interaktiv utbildning kräver uttryckligt godkännande för åtkomst. Begär åtkomst via registreringsformuläret för förhandsversionen och vänta på godkännande innan du skapar en utbildningssession.
Med interaktiv träning kan ditt program styra hur en modell lär sig när Microsoft Foundry kör modellen. Ditt program, som även kallas träningsstyrning, väljer exempel, utvärderar svar och bestämmer när modellen ska uppdateras.
Begreppen nedan förklarar hur delarna i en träningsloop passar ihop. Information om kod och implementering finns i SDK-fuskbladet.
Utbildningstillfällen
En träningssession lagrar modellen och dess aktuella träningsförlopp medan experimentet körs. Din drivrutin begär enskilda åtgärder, till exempel att generera svar eller tillämpa en uppdatering.
En session har ett annat syfte än ett hanterat jobb eller en driftsättning:
| Resource | Purpose |
|---|---|
| Interaktiv träningssession | Programmet styr träningsloopen en åtgärd i taget. |
| Hanterat jobb för finjustering | Tjänsten kör ett fördefinierat träningsarbetsflöde med de data och inställningar som du anger. |
| Serveringsdistribution | En tränad modell svarar på begäranden från ett program. |
Drivrutinen/programvaran håller sessionen aktiv medan experimentet körs. Framsteg som bara finns i sessionen är inte en varaktig post. En slutförd kontrollpunkt för träning bevarar den.
LoRA-adaptrar
En basmodell är den modell som du börjar med. Dess viktningar är de inlärda värden som formar dess beteende.
En LoRA-adapter (low-rank adaptation) är en liten uppsättning träningsbara vikter som läggs till basmodellen. Träningen ändrar adaptern i stället för att träna om alla modellens ursprungliga vikter.
Adaptern innehåller det som experimentet har lärt sig. Den är fortfarande kopplad till en kompatibel basmodell. Det är inte en fristående ersättning för den modellen.
Mer information om implementering finns i Skapa en session.
Utbildningsnivåer
En träningsnivå beskriver tjänstalternativet som används för att genomföra träning. Nivåerna kan skilja sig åt i var träningen körs, hur kapacitet tillhandahålls och vilka tjänstgarantier som gäller.
Vilka alternativ som är tillgängliga för dig beror på modell, region och projekt. Utbildningsnivåer är separata från distributionsalternativ som används för att tillhandahålla en tränad modell. Se Träningstyper.
Meddelandeformatering
Dina meddelanden måste konverteras till en form som den valda modellen förstår. Det formatet särskiljer även användarfrågor, assistentsvar och information som returneras av verktyg.
- Token är små textenheter, till exempel ord eller orddelar, som modellen läser och genererar.
- En tokenizer konverterar text till token och token tillbaka till text.
- En chattmall organiserar meddelanden så att modellen kan särskilja talare och identifiera var ett svar börjar.
- En renderare förbereder meddelanden i modellens format och konverterar genererade svar tillbaka till läsbart innehåll.
Olika modeller kan använda olika meddelandeformat. Konsekvent formatering hjälper träningsprogrammet att identifiera vilka delar av en interaktion som ska bidra till inlärningen.
Bildbaserad träning kräver också en kompatibel vision-language-modell och stöd för bildträning för ditt projekt. En meddelandeformaterare som förstår bilder innebär inte att träning är tillgänglig för dem.
Träningsslingan
Interaktiv träning separerar generering av svar, beräkning av inlärningssignaler och tillämpning av uppdateringar. Drivrutinen kombinerar dessa åtgärder i ett arbetsflöde.
| Operation | Vad det innebär |
|---|---|
| Provtagning | Modellen genererar svar från en vald snapshot av adaptern. |
| Framåtpassering | Modellen bearbetar exempel så att du kan mäta förlustfunktion eller inspektera inlärningssignaler utan att ackumulera ändringar för en uppdatering. |
| Gradientberäkning | Träningsprocessen beräknar hur adapterns vikter kan ändras för att förbättra inlärningsmålet. |
| Uppdatering av optimeraren | Optimeraren tillämpar de ackumulerade gradienterna för att ändra adaptern. |
| Utvärdering | Din modell mäter prestanda på exempel som hålls åtskilda från träning. |
Gradienter beskriver potentiella ändringar i adaptern. En optimerare omvandlar dessa gradienter till en uppdatering. Beräkning av gradienter ändrar inte adaptern på egen hand.
Flera uppsättningar av exempel kan bidra med gradienter till en uppdatering. Efter en uppdatering behöver sampling en uppdaterad ögonblicksbild för att använda adapterns senaste inlärda tillstånd.
Utvärdering använder reserverade exempel, som inte används för träning, för att kontrollera prestanda för den uppgift som är relevant för dig. En lägre träningsförlust eller högre träningsbelöning i sig ger inte bättre prestanda.
Motsvarande åtgärder i kod finns i SDK-fuskbladet.
Förlustfunktioner och tokenvikter
En förlustfunktion uttrycker det mål som träningen försöker förbättra. Det omvandlar exempel och inlärningssignaler till ett mått som vägleder ändringar i adaptern.
| Inlärningsmetod | Vad som vägleder uppdateringen |
|---|---|
| Övervakad inlärning | Önskade svar visar modellen vad den ska generera. |
| Förstärkningsinlärning | Poäng och jämförelser mellan genererade svar vägleder vilket beteende som ska stärkas. |
En förlustfunktion är en del av ett arbetsflöde. Den väljer inte dina exempel, bedömer svar eller bestämmer när träningen stoppas.
Tokenvikter styr hur starkt delar av ett exempel bidrar till inlärningen. Masker exkluderar delar som inte ska bidra.
Ett arbetsflöde för övervakad inlärning kan till exempel lära sig av assistentens svar utan att lära sig att återskapa användarens uppmaning.
För förstärkningsinlärning skiljer inlärningssignalen även modellgenererade svar från information som tillhandahålls av användaren eller miljön. Den använder information från modellen som genererade varje svar, även om modellen ändras senare.
Anpassade mål kan kombinera modellutdata med beräkningar i drivern. Föraren samordnar fortfarande inlärningssignalerna och modelluppdateringarna.
För datastrukturer och exempel, se Förbereda övervakade data och Förbereda RL-data.
Hur inlärningssignaler kombineras
Olika mål kan kombinera inlärningssignaler på olika sätt, till exempel att lägga ihop dem eller att beräkna medelvärdet av dem. Om du kombinerar inkompatibla tillvägagångssätt i en uppdatering kan det ändra dess skala eller leda till att tjänsten avvisar den.
Bidrag till samma uppdatering kräver ett konsekvent sätt att kombinera inlärningssignaler. En uppdatering slutförs innan arbetsflödet växlar till en inkompatibel metod.
Belöningar, utrullningar och fördelar
I förstärkningsinlärning utvärderar din styrning vad modellen gör och omvandlar utvärderingen till en inlärningssignal.
| Begrepp | Meaning |
|---|---|
| Utrullning | Ett genererat svar eller en längre interaktion som kan innehålla verktygsanrop och observationer. |
| Belöning | En poäng som beskriver hur väl en utrullning uppfyller uppgiftens mål. Ditt program tilldelar den här poängen. |
| Fördel | En jämförelse som anger om ett svar presterar bättre eller sämre än en referens, till exempel andra svar på samma prompt. |
En metod genererar flera svar på samma prompt och jämför varje belöning med gruppens genomsnittliga belöning:
- Över genomsnittet: Svaret har en fördel.
- Under genomsnittet: Svaret har en nackdel.
- Lika belöningar: Ingen av svaren har någon fördel, så den här jämförelsen ger ingen inlärningssignal.
För en matematisk uppgift kan belöningen återspegla om det slutliga svaret är korrekt. Enbart en hög formateringspoäng anger inte att svaret är korrekt.
Din drivrutin definierar graderingsregler och jämförelsemetod. För fullständiga exempel kan du utforska finjusteringsexempelrepot.
Slutförande av åtgärd
Varje operation tar tid att köra. Tjänsten som accepterar en begäran skiljer sig från att slutföra det begärda arbetet.
| Status | Vad det säger dig |
|---|---|
| Accepterad | Tjänsten tar emot begäran. Arbetet kanske fortfarande är i vänteläge eller körs. |
| Har slutförts | Åtgärden är klar och resultatet kan användas av en beroende åtgärd. |
| Tidsgräns | Din förare väntar inte längre. Detta bevisar inte att operationen misslyckas eller stannar i tjänsten. |
Ordningen är viktig: en uppdatering beror på slutförd gradientberäkning, och sampling från nya vikter beror på en slutförd uppdatering av cache. Ett resultat som saknas är inte ett framgångsrikt resultat eller en nollvärdesmätning.
För implementeringsdetaljer, se Använd asynkrona operationer.
Checkpoints
En checkpunkt registrerar modelltillstånd vid en viss punkt. Kontrollpunkter för träning och samplerkontrollpunkter bevarar annan information.
| Type | Vad den bevarar | Vad du använder det för |
|---|---|---|
| Träningskontrollpunkt | adapterns inlärda vikter och optimerarens historik över tidigare uppdateringar. | Återställa framsteg eller fortsätta träningen i en kompatibel session. |
| Sampler-checkpunkt | En ögonblicksbild av adaptervikter för att generera svar. | Sampling från en vald version av adaptern, utan den information som behövs för att återuppta träningen. |
En uppdatering av samplern förbereder det senaste adaptertillståndet för generering. Det är inte en ersättning för en sparad träningskontrollpunkt, och den skapar inte nödvändigtvis en beständig artefakt.
Din drivrutin har en egen status att bevara, till exempel vilka exempel den redan har använt och när utvärderingen sker. En modellkontrollpunkt återställer inte framstegen automatiskt.
Ingen av kontrollpunktstyperna är en programändpunkt. Att använda den tränade modellen i ett program är en separat distributionsuppgift.
Kodexempel finns i Spara och återuppta träningen.
Sessionslivscykel
När du avlastar frigörs en sessions aktiva träningsresurser. Den har ett annat syfte än att ta bort sessionen och dess sparade artefakter.
| Action | Meaning |
|---|---|
| Inspektera | Kontrollera sessionens status och identifiera dess sparade kontrollpunkter. |
| Mata ut | Frigör den aktiva sessionens beräkningsresurser. Det här är inte borttagning av checkpoints. |
| Delete | Ta bort sessionen. Detta kan också ta bort sina kontrollpunkter och samplingsresurser. |
Att skicka en begäran om avladdning bekräftar inte att rensningen har slutförts. Att stänga drivrutinens nätverksanslutning är inte heller detsamma som att avsluta sessionen.
En slutförd kontrollpunkt för träning bevarar framsteg innan en session avslutas. Om du tar bort sessionen kan du ta bort det sparade tillståndet, så borttagning är inte samma sak som att frigöra beräkningsresurser.
För implementeringsdetaljer, se Stäng resurser.
Relaterat innehåll
Utforska dessa resurser när du är redo att använda begreppen:
- Kom igång med interaktiv träning för att köra en kort training recipe.
- SDK-lathund för kodexempel och implementeringsinformation.
- Exempel på finjustering på GitHub för fullständiga träningsarbetsflöden.