Wat is interactieve training (preview) in Microsoft Foundry?

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.

Interactieve training (preview) is een API voor het bouwen van uw eigen post-trainingslus over open-weight-modellen in Microsoft Foundry. U beheert het experiment in Python. Foundry voert modelsampling en LoRA-updates (Low-Rank Adaptation) uit op serverloze GPU's.

Voor versterkingsleer (RL) beheert uw code het verzamelen van roll-outs, beloningen, advantages en updateplanning. Dezelfde primitieven ondersteunen leren onder supervisie, preference learning, distillatie en workflows met aangepaste verliesfunctie.

Wanneer gebruikt u het?

Gebruik interactieve training wanneer de trainingslus zelf deel uitmaakt van uw onderzoek:

  • U hebt een aangepast leersignaal nodig. Lever demonstraties aan, bereken beloningen en voordelen, of stel een lokaal verlies op voor voorkeursleer of andere doelstellingen.
  • Uw model communiceert met een omgeving. Coördineer modelreacties, hulpprogramma-aanroepen, waarnemingen en beloningen in uw driver.
  • U moet controle hebben over afzonderlijke updates Selecteer batches, token masks, verliesinstellingen en optimalisatieparameters. Bepaal wanneer u gradiënten wilt verzamelen en pas een update toe.
  • U wilt een experiment inspecteren en aanpassen. Neem een sample van de huidige adapter, evalueer op achtergehouden prompts en kies de volgende prompts op basis van waargenomen resultaten.
  • U moet de voortgang behouden en de voortgang voortzetten. Sla de adapter- en optimalisatiestatus op en hervat vervolgens in een compatibele sessie. Houd de positie van de gegevensset en andere experimentstatus in uw driver.

Beheerde fine-tuning ondersteunt ook graders voor reinforcement fine-tuning. Kies interactieve training wanneer u controle over de loop nodig hebt, niet alleen de grader- of taakinstellingen. Zie Uw trainingsaanpak kiezen.

Wie doet wat

Uw Python-programma is het programma dat de training aanstuurt. Het bereidt invoer voor en coördineert het experiment. Foundry onderhoudt het model en de adapterstatus en voert de aangevraagde bewerkingen uit.

Diagram dat uw Python-driver scheidt van de uitvoering van het Foundry-model. De driver beheert tokenisatie, beloningen, advantages, doelstellingen en experimentplanning. Het verzendt tokens en bewerkingsaanvragen naar Foundry en ontvangt samples, logwaarschijnlijkheden, metrische gegevens en checkpoint-ID's. Foundry voert sampling uit, forward- en backward-passes, en optimizer-updates en beheert checkpointbewerkingen.

Uw stuurprogramma kan worden uitgevoerd op een CPU, inclusief uw eigen computer of een compute-omgeving. Een beloningsmodel of -omgeving die u toevoegt, kan eigen rekenvereisten hebben. Houd de bestuurder actief terwijl deze de lus beheert.

Kernconcepten en primitieven

Een sessie is stateful: gradiëntberekening, updates van de optimizer en steekproeven zijn afzonderlijke bewerkingen op een geselecteerd model en een geselecteerde adapter. Met deze scheiding kunt u kiezen wanneer u gegevens wilt verzamelen, gradiënten wilt accumuleren, bijwerken en evalueren.

Bouwsteen Wat het doet
Trainingssessie en LoRA-adapter FineTuningSession.create initialiseert een ondersteund basismodel met uw adapterconfiguratie. De sessie bevat de status die wordt gebruikt door volgende bewerkingen.
Getokeniseerde batch en maskers Datum draagt modelinvoer en lossinvoer. Masks selecteren welke tokens bijdragen aan het leren, zoals assistenttokens in plaats van prompts of toolobservaties.
Steekproeven sample genereert antwoorden vanuit een geselecteerd sampler-checkpoint. RL-invoer koppelt gesamplede tokens aan hun rollout-logwaarschijnlijkheden en uit beloningen afgeleide voordelen.
Voorwaartse en achterwaartse passes forward retourneert verliesfunctie-uitvoer per voorbeeld zonder gradiënten te accumuleren. forward_backward berekent de geselecteerde doelstelling en verzamelt gradiënten. Er wordt geen optimizer-update toegepast.
Optimizer update optim_step past geaccumuleerde gradiënten toe met uw Adam-parameters. U kiest wanneer u wilt bijwerken en welke leersnelheid u wilt gebruiken.
Sampler-checkpoint save_weights_for_sampler bereidt adaptergewichten voor het genereren voor. Vernieuw deze gewichten na een update voordat u van de bijgewerkte adapter een sample neemt.
Trainingscheckpoint save_weights behoudt de gewichten van de adapter en de optimalisatiestatus. FineTuningSession.create_from_checkpoint hervat de training in een compatibele sessie.

De SDK omvat cross_entropy voor updates onder supervisie en RL-losses zoals importance_sampling en ppo. Deze verliezen zijn verliesprimitieven, niet vooraf gedefinieerde end-to-end-algoritmen. Zie Kernbegrippen voor invoercontracten en aangepaste verliessamenstelling.

Hoe een RL-lus werkt

Overweeg een wiskundig redeneringsexperiment: uw model genereert verschillende antwoorden op elk probleem en uw programma beoordeelt hun juistheid. Volg Aan de slag voor een werkvoorbeeld.

Diagram van één RL-iteratie. Foundry vernieuwt de gewichten van de sampler en samplet roll-outs. Uw stuurprogramma berekent beloningen, voordelen en tokenmaskers. Foundry berekent gradiënten en past de optimizer-update toe. De lus keert terug om de samplergewichten te vernieuwen voordat nieuwe roll-outs worden verzameld.

Stel een held-outbasislijn in en test uw beloningsfunctie vóór de eerste update. Herhaal het volgende:

  1. Maak het huidige beleid gereed voor steekproeven. Sla de gewichten van de sampler op van de trainingsadapter en verzamel vervolgens verschillende antwoorden of roll-outs voor elke prompt.
  2. Beoordeel en vergelijk antwoorden. Uw beloningsfunctie wijst een score toe aan elke roll-out. Trek de gemiddelde beloning van de promptgroep af om de advantage van elke rollout te produceren.
  3. Bereid het leersignaal voor. Lijn gesamplede assistent-tokens uit met hun rollout-logwaarschijnlijkheden en advantages. Sluit prompts en omgevingsobservaties uit van het leersignaal.
  4. Bereken gradiënten. Verzend de batch naar forward_backward met importance_sampling. Voltooi de berekening van de gradiënt vóór de update die deze verbruikt.
  5. Werk de adapter bij. Roep optim_step aan en vernieuw vervolgens de gewichten van de sampler voordat antwoorden van het bijgewerkte beleid worden verzameld.
  6. Evalueer en behoud de voortgang. Vergelijk de correctheid op de hold-outset met de baseline en sla trainingscheckpoints op met de door u gekozen frequentie.

Get started

Kies het beginpunt dat bij uw taak past:

Ondersteunde modellen en regio's

Zie het overzicht voor het afstemmen van ondersteunde modellen en ondersteunde regio's.