Vue d'ensemble
Metaflow 2.7, publié le 15 juin 2022, ajoute le support d'Argo Workflows et de Kubernetes pour l'orchestration de pipelines ML.
Fonctionnalités principales
Support Argo Workflows
Les flows Metaflow peuvent être déployés sur Argo Workflows pour une orchestration native Kubernetes, avec planification et monitoring intégrés.
python
from metaflow import FlowSpec, step
class EntrainementFlow(FlowSpec):
@step
def start(self):
self.donnees = [1, 2, 3, 4, 5]
self.next(self.entrainer)
@step
def entrainer(self):
self.modele = sum(self.donnees) / len(self.donnees)
self.next(self.end)
@step
def end(self):
print(f'Modèle: {self.modele}')
# python flow.py argo-workflows create
Kubernetes natif
Le décorateur @kubernetes permet d'exécuter des steps sur des pods Kubernetes avec des ressources configurables.
python
from metaflow import FlowSpec, step, kubernetes
class GPUFlow(FlowSpec):
@kubernetes(cpu=4, memory=16000, gpu=1)
@step
def entrainer_gpu(self):
# Exécuté sur un pod avec GPU
print('Entraînement sur GPU')
self.next(self.end)
@step
def end(self):
print('Terminé')
