Vue d'ensemble
Metaflow 2.3, publié le 16 juin 2021, améliore l'intégration avec AWS Batch pour des exécutions plus fiables et plus performantes des pipelines ML.
Fonctionnalités principales
AWS Batch amélioré
L'intégration AWS Batch est renforcée avec un meilleur contrôle des ressources, le support des files d'attente prioritaires et une gestion améliorée des reprises après échec.
python
from metaflow import FlowSpec, step, batch
class EntrainementFlow(FlowSpec):
@step
def start(self):
self.donnees = charger_donnees()
self.next(self.entrainer)
@batch(cpu=4, memory=16000, gpu=1)
@step
def entrainer(self):
"""Exécuté sur AWS Batch avec GPU."""
self.modele = entrainer_modele(self.donnees)
self.next(self.end)
@step
def end(self):
print(f'Modèle entraîné : {self.modele}')
Gestion des artefacts
La gestion des artefacts est améliorée avec un stockage plus efficace et la possibilité de charger des résultats de runs précédents pour la reproductibilité.
python
from metaflow import Flow
# Accéder aux résultats d'un run précédent
run = Flow('EntrainementFlow').latest_successful_run
print(f'Run : {run.id}')
print(f'Modèle : {run.data.modele}')
# Lister tous les runs
for run in Flow('EntrainementFlow').runs():
print(f'{run.id} - {run.finished_at}')
