Concepts clés de la formation programmée (aperçu) dans Microsoft Foundry

Important

Les éléments marqués comme préversion dans cet article sont actuellement en préversion. Cette préversion est fournie sans contrat de niveau de service et Microsoft ne le recommande pas pour les charges de travail de production. Certaines fonctionnalités peuvent ne pas être prises en charge ou avoir des fonctionnalités contraintes. Pour plus d’informations, consultez Conditions d'utilisation supplémentaires pour les versions préliminaires de Microsoft Azure.

Important

La formation programmée nécessite une approbation d’accès explicite. Demandez l’accès via le formulaire d’inscription en préversion et attendez l’approbation avant de créer une session d’entraînement.

L’entraînement programmé permet à votre programme de contrôler l’apprentissage d’un modèle pendant que Microsoft Foundry exécute le modèle. Votre programme, également appelé programme d’entraînement, choisit les exemples, évalue les réponses et décide quand mettre à jour le modèle.

Les concepts ci-dessous expliquent comment les parties d’une boucle d’entraînement s’intègrent ensemble. Pour plus d’informations sur le code et l’implémentation, consultez la aide-mémoire du Kit de développement logiciel (SDK).

Sessions de formation

Une session d’entraînement contient le modèle et sa progression actuelle de l’entraînement pendant l’exécution de votre expérience. Votre pilote demande des opérations individuelles, telles que la génération de réponses ou l’application d’une mise à jour.

Une session a un objectif différent d’une tâche de formation gérée ou d’un déploiement :

Resource Purpose
Session de formation programmée Votre programme contrôle la boucle d’entraînement une opération à la fois.
Travail de formation programmée Le service exécute un flux de travail d’entraînement prédéfini à partir des données et des paramètres que vous fournissez.
Déploiement de l’inférence Un modèle entraîné répond aux demandes d’une application.

Votre driver conserve la session active pendant l’exécution du test. La progression conservée uniquement dans la session n’est pas un enregistrement durable, un point de reprise de formation terminé permet de la conserver.

Adaptateurs LoRA

Un modèle de base est le modèle avec lequel vous commencez. Ses poids sont les valeurs apprises qui modèlent son comportement.

Un adaptateur LoRA (adaptation de rang faible) est un petit ensemble de poids entraînables ajoutés au modèle de base. L’entraînement modifie l’adaptateur plutôt que de réentraîner toutes les pondérations d’origine du modèle.

L’adaptateur contient ce que votre expérimentation apprend. Elle reste liée à un modèle de base compatible ; ce n’est pas un remplacement autonome pour ce modèle.

Pour les détails de mise en œuvre, consultez Créer une session.

Niveaux d’entraînement

Un niveau de calcul d’entraînement décrit l’option de service utilisée pour exécuter l’entraînement. Les niveaux peuvent différer de l’endroit où l’entraînement s’exécute, la façon dont la capacité est fournie et les garanties de service qui s’appliquent.

Les options disponibles dépendent du modèle, de la région et du projet. Les niveaux d’entraînement sont distincts des options de déploiement utilisées pour servir un modèle entraîné. Consultez les types d’entraînement.

Mise en forme des messages

Vos messages doivent être convertis en une forme que le modèle sélectionné comprend. Ce format distingue également les invites utilisateur, les réponses de l’Assistant et les informations retournées par les outils.

  • Les tokens sont de petites unités de texte, telles que des mots ou des parties de mots, que le modèle lit et génère.
  • Un tokenizer convertit le texte en jetons et les jetons en texte.
  • Un modèle de conversation organise les messages afin que le modèle puisse distinguer les interlocuteurs et reconnaître l’endroit où commence une réponse.
  • Un moteur de rendu prépare les messages au format du modèle et convertit les réponses générées en contenu lisible.

Différents modèles peuvent utiliser différents formats de message. La mise en forme cohérente permet au programme de formation d’identifier les parties d’une interaction qui doivent contribuer à l’apprentissage.

L’entraînement basé sur des images nécessite également un modèle vision-langage compatible et la prise en charge de l’entraînement sur images pour votre projet. Un formateur de messages qui comprend les images n’indique pas qu’un apprentissage est disponible pour celles-ci.

Boucle d’entraînement

L’entraînement programmé sépare la génération de réponses, le calcul des signaux d’apprentissage et l’application de mises à jour. Votre gestionnaire combine ces opérations dans un flux de travail.

Opération Ce que cela signifie
Échantillonnage Le modèle génère des réponses à partir d’un instantané sélectionné de l’adaptateur.
Propagation avant Le modèle traite des exemples afin que vous puissiez mesurer la perte ou inspecter les signaux d’apprentissage sans accumuler de modifications pour une mise à jour.
Calcul du gradient L’entraînement calcule la façon dont les pondérations de l’adaptateur peuvent changer pour améliorer l’objectif d’apprentissage.
Mise à jour de l’optimiseur L’optimiseur applique les gradients cumulés pour modifier l’adaptateur.
Évaluation Votre modèle mesure les performances sur des exemples tenus à l’écart de l’entraînement.

Les gradients indiquent les modifications potentielles de l’adaptateur. Un optimiseur transforme ces gradients en une mise à jour. Le calcul des gradients ne modifie pas l’adaptateur lui-même.

Plusieurs ensembles d’exemples peuvent contribuer aux gradients lors d’une mise à jour. Après une mise à jour, l’échantillonnage a besoin d’un instantané actualisé pour utiliser le dernier état appris de l’adaptateur.

L’évaluation utilise des exemples réservés, qui ne sont pas utilisés pour l’entraînement, pour vérifier les performances sur la tâche à laquelle vous vous intéressez. Une perte d’entraînement inférieure ou une récompense d’entraînement supérieure, à elle seule, n’établit pas de meilleures performances.

Pour connaître les opérations correspondantes dans le code, consultez la aide-mémoire du Kit de développement logiciel (SDK).

Fonctions de perte et poids des tokens

Une fonction de perte exprime l’objectif que l’entraînement tente d’améliorer. Il transforme des exemples et des signaux d’apprentissage en une mesure qui guide les modifications apportées à l’adaptateur.

Approche d’apprentissage Ce qui guide la mise à jour
Apprentissage supervisé Les réponses souhaitées montrent au modèle ce qu’il doit produire.
Apprentissage par renforcement Les scores et les comparaisons entre les réponses générées guident le comportement à renforcer.

Une fonction de perte est une partie d’un flux de travail. Il ne choisit pas vos exemples, ne note pas les réponses ni ne décide quand l’entraînement s’arrête.

Les pondérations de token contrôlent la manière dont les parties d’un exemple contribuent à l’apprentissage. Les masques excluent les parties qui ne doivent pas contribuer.

Par exemple, un flux de travail supervisé peut apprendre à partir de la réponse de l’assistant sans apprendre à reproduire le prompt de l’utilisateur.

Pour l’apprentissage par renforcement, le signal d’apprentissage distingue également les réponses générées par le modèle des informations fournies par l’utilisateur ou l’environnement. Il utilise des informations du modèle qui a généré chaque réponse, même si le modèle change ultérieurement.

Les objectifs personnalisés peuvent combiner des sorties de modèle avec des calculs dans votre driver. Le conducteur coordonne toujours les signaux d’apprentissage et les mises à jour du modèle.

Pour obtenir des structures de données et des exemples, consultez Préparer les données supervisées et Préparer les données RL.

Comment les signaux d’apprentissage sont combinés

Différents objectifs peuvent combiner les signaux d’apprentissage différemment, par exemple en les additionnant ou en les moyennant. La combinaison d’approches incompatibles dans une mise à jour peut en modifier l’ampleur ou amener le service à la rejeter.

Les contributions à la même mise à jour ont besoin d’un moyen cohérent de combiner les signaux d’apprentissage. Une mise à jour se termine avant que le flux de travail ne passe à une approche incompatible.

Récompenses, déploiements et avantages

Dans l’apprentissage par renforcement, votre orchestrateur évalue ce que fait le modèle et transforme cette évaluation en signal d’apprentissage.

Concept Meaning
Déploiement Réponse générée ou interaction plus longue qui peut inclure des appels d’outils et des observations.
Récompense Score qui décrit la façon dont un déploiement répond à l’objectif de la tâche. Votre programme attribue ce score.
Avantage Comparaison qui indique si une réponse est meilleure ou moins bonne qu’une référence, telle que d’autres réponses à la même requête.

Une approche génère plusieurs réponses à la même invite et compare chaque récompense à la récompense moyenne du groupe :

  • Supérieur à la moyenne : La réponse présente un avantage positif.
  • En dessous de la moyenne : La réponse présente un désavantage.
  • Récompenses égales : Toutes les réponses ont un avantage nul, donc cette comparaison ne fournit aucun signal d’apprentissage.

Pour une tâche mathématique, la récompense peut refléter si la réponse finale est correcte. Un score de mise en forme élevé à lui seul n’établit pas que la réponse est correcte.

Votre moteur définit les règles de notation et la méthode de comparaison. Pour obtenir des exemples complets, explorez le référentiel d’exemples de fine-tuning.

Achèvement de l’opération

Chaque opération prend du temps à s’exécuter. Le service acceptant une demande diffère du fait de terminer le travail demandé.

Status Ce qu’il vous dit
Accepté Le service reçoit la demande. Le travail peut toujours être en attente ou en cours d’exécution.
Completed L’opération se termine et son résultat peut être utilisé par une opération dépendante.
Délai dépassé Votre chauffeur n’attend plus. Cela ne prouve pas que l’opération échoue ou s’arrête au niveau du service.

L’ordre est important : une mise à jour dépend du calcul du gradient terminé, et l’échantillonnage à partir de nouveaux poids dépend d’une actualisation terminée. Un résultat manquant n’est pas un résultat réussi ou une mesure à valeur nulle.

Pour plus de détails sur l’implémentation, consultez Utilisation d’opérations asynchrones.

Checkpoints

Un checkpoint enregistre l’état du modèle à un point particulier. Les points de contrôle d’entraînement et les points de contrôle de l’échantillonneur conservent différentes informations.

Type Ce qu’il préserve À quoi vous l’utilisez
Point de reprise de l’entraînement Poids appris de l’adaptateur et enregistrement de l’optimiseur des mises à jour antérieures. Récupération de la progression ou poursuite de l’entraînement dans une session compatible.
Point de contrôle de l’échantillonneur Capture instantanée des pondérations de l’adaptateur pour générer des réponses. Échantillonnage à partir d’une version sélectionnée de l’adaptateur, sans les informations nécessaires pour reprendre l’entraînement.

Une actualisation du sampler prépare l’état de l’adaptateur le plus récent pour la génération. Il n’est pas un substitut à un point de contrôle d’entraînement enregistré, et il ne crée pas nécessairement un artefact persistant.

Votre driver a son propre état à conserver, notamment les exemples qu’il a déjà utilisés et le moment où l’évaluation a lieu. Un point de contrôle de modèle ne restaure pas automatiquement cette progression.

Aucun type de point de contrôle n’est un point de terminaison d’application. L’utilisation du modèle entraîné dans une application est une tâche de déploiement distincte.

Pour obtenir des exemples de code, consultez Enregistrer et reprendre l’apprentissage.

Cycle de vie de session

Le déchargement libère les ressources d’entraînement actives d’une session. Il a un objectif différent de celui de supprimer la session et ses artefacts enregistrés.

Action Meaning
Inspecter Vérifiez l’état de la session et identifiez ses points de contrôle enregistrés.
Décharger Relâchez les ressources de calcul de la session active. Il ne s’agit pas d’une suppression de point de contrôle.
Supprimer Supprimez la session. Cela peut également supprimer ses points de contrôle et ses ressources d’échantillonnage.

L’envoi d’une demande de déchargement ne confirme pas que le nettoyage est terminé. La fermeture de la connexion réseau de votre pilote n’est pas la même que le déchargement de session.

Un point de contrôle de formation terminé conserve la progression avant qu’une session ne se termine. La suppression de la session peut supprimer cet état enregistré. Par conséquent, la suppression n’est pas interchangeable avec la libération des ressources de calcul.

Pour des détails sur l’implémentation, consultez Fermer les ressources.

Explorez ces ressources lorsque vous êtes prêt à utiliser les concepts :