Passer au contenu principal
Cette page explique comment enregistrer dans W&B les métriques et la configuration de fine-tuning de votre modèle OpenAI GPT-3.5 ou GPT-4. En intégrant W&B à l’API de fine-tuning d’OpenAI, vous pouvez suivre vos expériences, modèles et jeux de données de fine-tuning au même endroit et partager les résultats avec vos collègues. Utilisez cette intégration lorsque vous effectuez le fine-tuning de modèles OpenAI et souhaitez un suivi centralisé des expériences ainsi qu’un contrôle de version sur les données d’entraînement et les modèles obtenus.
Voir la documentation OpenAI pour obtenir la liste des modèles pour lesquels vous pouvez effectuer le fine-tuning.
Voir la section Intégration W&B dans la documentation OpenAI pour plus d’informations sur l’intégration de W&B avec OpenAI pour le fine-tuning.

Installer ou mettre à jour API Python OpenAI

Avant de synchroniser les résultats de fine-tuning, assurez-vous qu’une version compatible du client Python OpenAI est installée. L’intégration W&B OpenAI Fine-tuning fonctionne avec OpenAI à partir de la version 1.0. Voir la documentation PyPI pour accéder à la dernière version de la bibliothèque API Python OpenAI. Pour installer API Python OpenAI, exécutez :
Si l’API Python d’OpenAI est déjà installée, mettez-la à jour avec :

Synchronisez vos résultats de fine-tuning OpenAI

Cette section explique comment envoyer les métriques et la configuration d’un job de fine-tuning OpenAI vers W&B afin de pouvoir les consulter aux côtés de vos autres Experiments. Pour ce faire, utilisez la classe WandbLogger du module wandb.integration.openai.fine_tuning.
Fonctionnalité d’analyse automatique d’OpenAI

Synchronisez vos fine-tunings

Synchronisez vos résultats depuis votre script. L’exemple suivant montre à la fois l’appel minimal en une seule ligne et l’ensemble complet des paramètres facultatifs que vous pouvez transmettre pour définir le comportement de la synchronisation.

Référence

Le tableau suivant décrit chaque argument accepté par WandbLogger.sync.

Gestion des versions et visualisation des jeux de données

Lorsque vous synchronisez un job de fine-tuning, W&B capture également les données d’entraînement et de validation afin que vous puissiez en gérer les versions et les explorer de manière interactive. Les sous-sections suivantes décrivent les éléments suivis par W&B et comment les consulter.

Gestion des versions

Les données d’entraînement et de validation que vous téléversez dans OpenAI pour le Fine-tuning sont automatiquement enregistrées dans W&B Artifacts afin de faciliter la gestion des versions. L’image suivante montre une vue du fichier d’entraînement dans Artifacts. Vous pouvez y voir le run W&B qui a enregistré ce fichier, la date à laquelle il a été enregistré, la version du jeu de données correspondante, les métadonnées et la traçabilité du DAG, des données d’entraînement jusqu’au modèle entraîné.
W&B Artifacts avec des jeux de données d'entraînement

Visualisation

W&B affiche les jeux de données dans W&B Tables, ce qui vous permet de les explorer, d’y effectuer des recherches et d’interagir avec eux. L’image suivante montre les exemples d’entraînement visualisés avec W&B Tables.
Données OpenAI

Le modèle affiné et la gestion des versions des modèles

OpenAI ne rend pas accessibles les poids sous-jacents d’un modèle affiné ; W&B suit donc le modèle en capturant plutôt ses métadonnées. OpenAI vous fournit un ID du modèle affiné. Comme vous n’avez pas accès aux poids du modèle, WandbLogger crée un fichier model_metadata.json contenant tous les détails du modèle (hyperparamètres, ID des fichiers de données, etc.), ainsi que l’ID fine_tuned_model, puis l’enregistre en tant qu’Artifact W&B. Cet Artifact de modèle (métadonnées) peut ensuite être lié à un modèle dans le W&B Registry.
Métadonnées du modèle OpenAI

Questions fréquentes

Les sections suivantes répondent aux questions courantes sur le partage, l’organisation et la récupération des runs de fine-tuning synchronisés depuis OpenAI.

Partagez les résultats obtenus en effectuant le fine-tuning avec votre équipe

Enregistrez vos jobs de fine-tuning sur votre compte Teams avec :

Organisez vos runs

W&B organise automatiquement vos runs. Vous pouvez les filtrer et les trier en fonction de n’importe quel paramètre de configuration, comme le type de job, le modèle de base, le taux d’apprentissage, le nom du fichier d’entraînement et tout autre hyperparamètre. Vous pouvez également renommer vos runs, ajouter des notes ou créer des tags pour les regrouper. Une fois que tout vous convient, enregistrez votre Workspace et utilisez-le pour créer un report, en important des données depuis vos runs et vos Artifacts enregistrés (fichiers d’entraînement et de validation).

Accédez à votre modèle affiné

W&B journalise l’ID du modèle affiné dans les Artifacts (model_metadata.json) et dans la configuration.
Le paramètre fictif <version> peut prendre l’une des valeurs suivantes :
  • Un numéro de version comme v2.
  • L’ID du fine-tuning, par exemple ft-xxxxxxxxx.
  • Un alias ajouté automatiquement, comme latest, ou ajouté manuellement.
Vous pouvez ensuite obtenir l’ID fine_tuned_model en lisant le fichier model_metadata.json téléchargé.

Récupérer un fine-tuning qui ne s’est pas synchronisé

Si un fine-tuning n’a pas été enregistré correctement dans W&B, vous pouvez utiliser overwrite=True et passer l’ID du job de fine-tuning :

Suivre les jeux de données et les modèles avec W&B

W&B enregistre automatiquement les données d’entraînement et de validation sous forme d’Artifacts. W&B enregistre également les métadonnées, y compris l’ID du modèle affiné, sous forme d’Artifacts. Vous pouvez également piloter le pipeline à l’aide d’API wandb de bas niveau comme wandb.Artifact, wandb.Run.log, etc. Cela vous permet d’assurer une traçabilité complète de vos données et de vos modèles.
FAQ OpenAI sur le suivi

Ressources

Pour un contexte plus approfondi et des exemples de bout en bout, voir les ressources suivantes.