La fonctionnalité de rembobinage des runs est en cours de développement actif. Elle est disponible en préversion sur le Cloud mutualisé et le Cloud dédié, mais pas encore en environnement autogéré.En raison de limitations de performances connues du rembobinage, W&B recommande généralement de recourir plutôt au fork.
Prérequis
Avant de rembobiner un run, vérifiez que vous remplissez les prérequis suivants :- Pour rembobiner un run, vous devez disposer du SDK Python W&B en version >=
0.17.1. - Vous devez utiliser des valeurs d’étape monotones croissantes. Le rembobinage ne fonctionne pas avec des valeurs d’étape non monotones définies avec
define_metric(), car elles perturbent l’ordre chronologique requis de l’historique du run.
Limitations
Le rembobinage ne prend pas en charge les éléments suivants :- Rembobinage des journaux : les journaux sont réinitialisés dans le nouveau segment du run.
- Rembobinage des métriques système : W&B journalise uniquement les nouvelles métriques système postérieures au point de rembobinage.
- Association des artifacts : W&B associe les artifacts au run source qui les produit.
- Troncature de l’historique : W&B tronque l’historique au point de rembobinage, ce qui permet de journaliser de nouvelles données.
- Métriques de synthèse : elles sont recalculées à partir de l’historique nouvellement journalisé.
- Conservation de la configuration : W&B conserve les configurations d’origine, et vous pouvez y fusionner de nouvelles configurations.
Compatibilité entre le rembobinage et le fork
Le fork complète le rembobinage. Lorsque vous forkez à partir d’un run, W&B crée une nouvelle branche de ce run à un point précis, afin d’essayer d’autres paramètres ou modèles. Lorsque vous rembobinez un run, W&B vous permet de corriger ou de modifier directement l’historique du run.Rembobiner un run
Rembobinez un run à partir d’une étape donnée et journalisez de nouvelles données à partir de ce point. Transmettez l’ID du run et l’étape à partir de laquelle vous souhaitez rembobiner comme arguments du paramètreresume_from de wandb.init(). Le paramètre resume_from accepte une chaîne de caractères au format <run ID>?_step=<step>, où <run ID> est l’ID du run que vous souhaitez rembobiner et <step> l’étape à partir de laquelle vous souhaitez rembobiner.
Supposons que vous journalisiez une droite pendant 300 étapes :
Par la suite, vous souhaitez rembobiner le run à partir de l’étape 200 et journaliser une nouvelle métrique, additional_metric, qui journalise i*1.1 de l’étape 200 à l’étape 300. À partir de l’étape 250, vous souhaitez journaliser un nouveau motif légèrement ondulé (i**2 + 2*sin(i/3)) au lieu d’une ligne droite :
- Le graphique en courbes affiche la ligne droite d’origine de l’étape 0 à l’étape 200, puis le nouveau motif légèrement ondulé à partir de l’étape 250 (image de gauche).
- W&B a créé un nouveau graphique (graphique de droite), intitulé
additional_metric, qui commence à l’étape 200.
Afficher un run archivé
Après avoir rembobiné un run, vous pouvez explorer le run d’origine archivé dans la W&B App. Pour afficher un run archivé, suivez ces étapes :- Ouvrez l’onglet Overview : accédez à l’onglet Overview sur la page du run. Cet onglet offre une vue complète des détails et de l’historique du run.
- Repérez le champ Forked From : dans l’onglet Overview, trouvez le champ
Forked From. Ce champ conserve l’historique des reprises. Le champ Forked From contient un lien vers le run source, ce qui vous permet de remonter jusqu’au run d’origine et de retracer l’historique complet des rembobinages.
Forked From, vous pouvez parcourir facilement l’arborescence des reprises archivées et mieux comprendre l’enchaînement et l’origine de chaque rembobinage.
Forker à partir d’un run rembobiné
Pour forker à partir d’un run rembobiné, utilisez l’argumentfork_from dans wandb.init() en indiquant l’ID du run source ainsi que l’étape de ce run à partir de laquelle forker :