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é')

Sources