Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Items die zijn gemarkeerd als voorbeeld in dit artikel, zijn momenteel beschikbaar als preview-versie. Deze preview wordt aangeboden zonder een service level agreement en Microsoft raadt dit niet aan voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer informatie.
Important
Voor interactieve training is expliciete toestemming voor toegang vereist. Vraag toegang aan via het aanmeldingsformulier voor preview en wacht op goedkeuring voordat u een trainingssessie maakt.
Met interactieve training kunt u bepalen hoe een model leert terwijl Microsoft Foundry het model uitvoert. Uw programma, ook wel een trainingsdriver genoemd, kiest de voorbeelden, evalueert antwoorden en bepaalt wanneer het model moet worden bijgewerkt.
De onderstaande concepten leggen uit hoe de onderdelen van een trainingslus bij elkaar passen. Zie het sdk-cheatsheet voor meer informatie over code en implementatie.
Trainingen
Een trainingssessie bevat het model en de huidige trainingsvoortgang terwijl uw experiment wordt uitgevoerd. Uw driver vraagt afzonderlijke bewerkingen aan, zoals het genereren van antwoorden of het toepassen van een update.
Een sessie heeft een ander doel dan een beheerde taak of implementatie:
| Hulpbron | Purpose |
|---|---|
| Interactieve trainingssessie | Uw programma stuurt de trainingsloop één bewerking tegelijk. |
| Beheerde taak voor fijnafstemming | De dienst voert een vooraf gedefinieerde trainingsworkflow uit op basis van de gegevens en instellingen die u opgeeft. |
| Serving-implementatie | Een getraind model beantwoordt verzoeken van een toepassing. |
Uw driver houdt de sessie actief terwijl het experiment wordt uitgevoerd. Voortgang die alleen binnen de sessie wordt bewaard, is geen blijvende registratie; een voltooid trainingscontrolepunt bewaart die voortgang.
LoRA-adapters
Een basismodel is het model waarmee u begint. De gewichten zijn de geleerde waarden die het gedrag vormgeven.
Een LoRA-adapter (Low-Rank Adaptation) is een kleine set trainbare gewichten die aan het basismodel worden toegevoegd. Training wijzigt de adapter in plaats van de oorspronkelijke gewichten van het model opnieuw te trainen.
De adapter bevat wat uw experiment heeft geleerd. Het blijft gekoppeld aan een compatibel basismodel; het is geen zelfstandige vervanging voor dat model.
Zie Een sessie maken voor implementatiedetails.
Trainingsniveaus
Een trainingsniveau beschrijft de serviceoptie die wordt gebruikt om training uit te voeren. Niveaus kunnen verschillen in waar training wordt uitgevoerd, hoe capaciteit wordt geleverd en de servicegaranties die van toepassing zijn.
De beschikbare opties zijn afhankelijk van het model, de regio en het project. Trainingslagen zijn gescheiden van implementatieopties die worden gebruikt om een getraind model aan te bieden. Zie Trainingstypen.
Berichtopmaak
Uw berichten moeten worden geconverteerd naar een vorm die het geselecteerde model begrijpt. Deze indeling onderscheidt ook gebruikersprompts, antwoorden van assistenten en informatie die wordt geretourneerd door hulpprogramma's.
- Tokens zijn kleine eenheden tekst, zoals woorden of woordonderdelen, die door het model worden gelezen en gegenereerd.
- Een tokenizer converteert tekst naar tokens en tokens terug naar tekst.
- Een chatsjabloon organiseert berichten zodat het model sprekers kan onderscheiden en kan herkennen waar een antwoord begint.
- Een renderer bereidt berichten voor in de indeling van het model en converteert gegenereerde antwoorden terug naar leesbare inhoud.
Verschillende modellen kunnen verschillende berichtindelingen gebruiken. Consistente opmaak helpt het trainingsprogramma te bepalen welke onderdelen van een interactie moeten bijdragen aan leren.
Training op basis van afbeeldingen vereist ook een compatibel vision-language model en ondersteuning voor training met afbeeldingen voor uw project. Een berichtformatter die afbeeldingen begrijpt, stelt niet vast dat training voor hen beschikbaar is.
De trainingsloop
Interactieve training scheidt het genereren van reacties, het berekenen van leersignalen en het toepassen van updates. Uw stuurprogramma combineert deze bewerkingen in een werkstroom.
| Operation | Wat betekent het? |
|---|---|
| Steekproef | Het model genereert antwoorden op basis van een geselecteerde momentopname van de adapter. |
| voorwaartse doorgang | Het model verwerkt voorbeelden, zodat u verlies kunt meten of leersignalen kunt inspecteren zonder parameterwijzigingen voor een update op te bouwen. |
| Gradiëntberekening | Training berekent hoe de gewichten van de adapter kunnen veranderen om het leerdoel te verbeteren. |
| Optimizer update | De optimalisator past de geaccumuleerde gradiënten toe om de adapter te wijzigen. |
| Evaluatie | Uw stuurprogramma meet de prestaties van voorbeelden die gescheiden blijven van de training. |
Gradiënten beschrijven mogelijke wijzigingen in de adapter. Met een optimizer worden deze gradiënten omgezet in een update. Het berekenen van gradiënten verandert de adapter niet zelf.
Verschillende sets van voorbeelden kunnen gradiënten bijdragen aan één update. Na een update heeft sampling een vernieuwde momentopname nodig om de meest recente geleerde status van de adapter te kunnen gebruiken.
Evaluatie maakt gebruik van held-out voorbeelden, die niet worden gebruikt voor training, om te beoordelen hoe goed er wordt gepresteerd op de taak die u belangrijk vindt. Een lager trainingsverlies of een hogere trainingsbeloning alleen duidt niet op betere prestaties.
Zie het SDK-cheatsheet voor de bijbehorende bewerkingen in code.
Verliesfuncties en tokengewichten
Een verliesfunctie geeft het doel aan dat training probeert te verbeteren. Hiermee worden voorbeelden en leersignalen omgezet in een meting die wijzigingen aan de adapter begeleidt.
| Leeraanpak | Wat stuurt de update aan |
|---|---|
| Begeleid leren | Gewenste antwoorden tonen het model wat er moet worden geproduceerd. |
| bekrachtigingsleren | Scores en vergelijkingen tussen gegenereerde antwoorden begeleiden welk gedrag moet worden versterkt. |
Een verliesfunctie is een onderdeel van een werkstroom. Het kiest niet uw voorbeelden, beoordeelt reacties niet en beslist niet wanneer de training stopt.
Tokengewichten bepalen hoe sterk delen van een voorbeeld bijdragen aan leren. Maskers sluiten delen uit die niet moeten bijdragen.
Een werkstroom voor leren onder supervisie kan bijvoorbeeld leren van het antwoord van de assistent zonder te leren de prompt van de gebruiker te reproduceren.
Voor reinforcement learning onderscheidt het leersignaal ook door het model gegenereerde reacties van informatie die door de gebruiker of omgeving wordt verstrekt. Er wordt gebruikgemaakt van informatie uit het model dat elke reactie heeft gegenereerd, zelfs als het model later verandert.
Aangepaste doelstellingen kunnen modeluitvoer combineren met berekeningen in uw driver. De driver coördineert nog steeds de leersignalen en modelupdates.
Zie gegevens onder supervisie voorbereiden en RL-gegevens voorbereiden voor gegevensstructuren en voorbeelden.
Hoe leersignalen worden gecombineerd
Verschillende doelstellingen kunnen leersignalen op een andere manier combineren, zoals het samenvoegen ervan of het middelen ervan. Het combineren van incompatibele benaderingen in één update kan de schaal ervan wijzigen of ervoor zorgen dat de service deze weigert.
Bijdragen aan dezelfde update vereisen een consistente manier om leersignalen te combineren. Een update wordt voltooid voordat de werkstroom overschakelt naar een incompatibele benadering.
Beloningen, uitroltrajecten en voordelen
Bij versterkingsleer evalueert uw driver wat het model doet en zet die evaluatie om in een leersignaal.
| Concept | Betekenis |
|---|---|
| Uitrol | Een gegenereerd antwoord of een langere interactie die hulpprogramma-aanroepen en waarnemingen kan bevatten. |
| Beloning | Een score die beschrijft hoe goed een implementatie voldoet aan het doel van de taak. Uw programma wijst deze score toe. |
| Voordeel | Een vergelijking die aangeeft of een antwoord beter of slechter presteert dan een referentie, zoals andere antwoorden op dezelfde prompt. |
Eén benadering genereert verschillende reacties op dezelfde prompt en vergelijkt elke beloning met de gemiddelde beloning van de groep:
- Boven het gemiddelde: Het antwoord heeft een voordeel.
- Onder het gemiddelde: Het antwoord heeft een nadeel.
- Gelijke beloningen: Geen van de antwoorden heeft voordeel, dus deze vergelijking levert geen leersignaal op.
Voor een wiskundige taak kan de beloning aangeven of het uiteindelijke antwoord juist is. Een hoge opmaakscore alleen geeft niet aan dat het antwoord juist is.
Uw driver definieert de beoordelingsregels en vergelijkingsmethode. Bekijk voor volledige voorbeelden de repository met fine-tuning-voorbeelden.
Bewerking voltooid
Het duurt even voordat elke bewerking wordt uitgevoerd. De service die een aanvraag accepteert, verschilt van het voltooien van het aangevraagde werk.
| Status | Wat het u vertelt |
|---|---|
| Geaccepteerd | De service ontvangt het verzoek. Het werk kan nog steeds wachten of wordt uitgevoerd. |
| Completed | De bewerking wordt voltooid en het resultaat ervan kan worden gebruikt door een afhankelijke bewerking. |
| Verstreken tijdlimiet | Uw chauffeur stopt met wachten. Dit bewijst niet dat de bewerking mislukt of stopt in de service. |
De volgorde is van belang: een update is afhankelijk van voltooide gradiëntberekening en steekproeven van nieuwe gewichten zijn afhankelijk van een voltooide vernieuwing. Een ontbrekend resultaat is geen geslaagd resultaat of een meting met een waarde van nul.
Zie Asynchrone bewerkingen gebruiken voor implementatiedetails.
Checkpoints
Een checkpoint registreert modelstatus op een bepaald punt. Trainingscheckpoints en sampler-checkpoints bewaren verschillende soorten informatie.
| Type | Wat het bewaart | Waarvoor u het gebruikt |
|---|---|---|
| Trainingscontrolepunt | De geleerde gewichten van de adapter en de registratie van de optimizer van eerdere updates. | Voortgang herstellen of training voortzetten in een compatibele sessie. |
| Sampler-controlepunt | Een momentopname van adaptergewichten voor het genereren van reacties. | Samplen uit een geselecteerde versie van de adapter, zonder de informatie die nodig is om de training te hervatten. |
Met een sampler-vernieuwing wordt de meest recente adapterstatus voorbereid voor het genereren. Het is geen vervanging voor een opgeslagen trainingscontrolepunt en maakt niet noodzakelijkerwijs een permanent artefact.
Uw driver behoudt zijn eigen voortgang, zoals welke voorbeelden het al heeft gebruikt en wanneer de evaluatie plaatsvindt. Een modelcheckpunt herstelt die voortgang niet automatisch.
Geen van beide checkpointtypen is een applicatie-eindpunt. Het gebruik van het getrainde model in een toepassing is een afzonderlijke implementatietaak.
Zie Training opslaan en hervatten voor codevoorbeelden.
Sessie-levenscyclus
Ontladen geeft de actieve trainingsresources van een sessie vrij. Het heeft een ander doel dan het verwijderen van de sessie en de opgeslagen artefacten.
| Action | Betekenis |
|---|---|
| Inspecteren | Controleer de status van de sessie en identificeer de opgeslagen checkpoints. |
| Uitladen | Geef de rekenresources van de actieve sessie vrij. Dit is niet het verwijderen van controlepunten. |
| Delete | Verwijder de sessie. Hiermee kunnen ook de controlepunten en samplingbronnen worden verwijderd. |
Het indienen van een aanvraag voor uitladen bevestigt niet dat het opschonen wordt voltooid. Het sluiten van de netwerkverbinding van uw driver is ook niet hetzelfde als het ontladen van de sessie.
Een voltooid trainingscheckpoint behoudt de voortgang voordat een sessie eindigt. Als u de sessie verwijdert, kan deze opgeslagen status worden verwijderd, zodat verwijderen niet hetzelfde is als rekenkracht vrijgeven.
Zie Resources sluiten voor implementatiedetails.
Verwante onderwerpen
Verken deze resources wanneer u klaar bent om de concepten te gebruiken:
- Ga aan de slag met interactieve training om een korte trainingsconfiguratie uit te voeren.
- SDK-cheatsheet voor codevoorbeelden en implementatiedetails.
- Fine-tuning-samples op GitHub voor volledige trainingsworkflows.