Kubeflow
Originalförfattare | |
---|---|
Utvecklare | Kubeflow-bidragsgivare - AWS , Bloomberg , Google , IBM , NVIDIA , Nutanix , Red Hat , Arrikto och andra |
Initial release | 5 april 2018 |
Stabil frisättning | 1.6 / 7 september 2022
|
Förvar | |
Skrivet i | Gå , Python |
Plattform | Kubernetes |
Typ | Maskininlärningsplattform |
Licens | Apache-licens 2.0 |
Hemsida |
Kubeflow är en öppen källkodsplattform för maskininlärning och MLOps på Kubernetes introducerad av Google . De olika stadierna i en typisk livscykel för maskininlärning representeras med olika programvarukomponenter i Kubeflow, inklusive modellutveckling ( Kubeflow Notebooks ) , modellträning ( Kubeflow Pipelines , Kubeflow Training Operator ) , modellservering ( KServe ) och automatiserad maskininlärning ( Katib ) .
Varje komponent i Kubeflow kan distribueras separat, och det är inte ett krav att distribuera varje komponent.
Historia
Kubeflow-projektet tillkännagavs först vid KubeCon + CloudNativeCon North America 2017 av Googles ingenjörer David Aronchick, Jeremy Lewi och Vishnu Kannan för att åtgärda en upplevd brist på flexibla alternativ för att bygga produktionsfärdiga maskininlärningssystem. Projektet har också sagt att det började som ett sätt för Google att öppna källkod hur de körde TensorFlow internt.
Den första utgåvan av Kubeflow (Kubeflow 0.1) tillkännagavs vid KubeCon + CloudNativeCon Europe 2018 med påståenden om att redan ha blivit bland de 2% bästa GitHub- projekten någonsin. Kubeflow 1.0 släpptes i mars 2020 via ett offentligt blogginlägg som tillkännagav att många Kubeflow-komponenter uppgraderades till en "stabil status", vilket indikerar att de nu var redo för produktionsanvändning.
Komponenter
Kubeflow Notebooks för modellutveckling
Maskininlärningsmodeller utvecklas i komponenten för bärbara datorer som kallas Kubeflow Notebooks . Komponenten kör webbaserade utvecklingsmiljöer i ett Kubernetes-kluster, med inbyggt stöd för Jupyter Notebook , Visual Studio Code och RStudio .
Kubeflow Pipelines för modellträning
När de väl utvecklats tränas modellerna i Kubeflow Pipelines- komponenten. Komponenten fungerar som en plattform för att bygga och distribuera bärbara , skalbara arbetsflöden för maskininlärning baserade på Docker-behållare. Google Cloud Platform har antagit Kubeflow Pipelines DSL i sin Vertex AI Pipelines- produkt.
Kubeflow Training Operator för modellträning
För vissa maskininlärningsmodeller och bibliotek ger Kubeflow Training Operator- komponenten stöd för Kubernetes anpassade resurser . Komponenten kör distribuerade eller icke-distribuerade TensorFlow , PyTorch , Apache MXNet , XGBoost och MPI utbildningsjobb på Kubernetes.
KServe för modellservering
KServe - komponenten (tidigare kallad KFServing) tillhandahåller Kubernetes anpassade resurser för att betjäna maskininlärningsmodeller på godtyckliga ramverk inklusive TensorFlow , XGBoost , scikit-learn , PyTorch och ONNX . KServe utvecklades i samarbete av Google , IBM , Bloomberg , NVIDIA och Seldon . Offentligt avslöjade användare av KServe inkluderar Bloomberg , Gojek och andra.
Katib för automatiserad maskininlärning
Slutligen inkluderar Kubeflow en komponent för automatiserad träning och utveckling av maskininlärningsmodeller, Katib- komponenten . Det beskrivs som ett Kubernetes-inbyggt projekt och har hyperparameterjustering , tidig stopp och neural arkitektursökning .