PRZEWODNIK techniczny

Orkiestracja potoków Kubeflow i ML

Kubeflow to zestaw narzędzi typu open source, który uruchamia przepływy pracy uczenia maszynowego w Kubernetes, przekształcając szkolenie i wdrażanie modeli w powtarzalne, kontenerowe potoki.

2 minuty czytaniaOstatnia aktualizacja

Przegląd

Ma to znaczenie, ponieważ pozwala zespołom skalować ML w taki sam sposób, w jaki skalują nowoczesne oprogramowanie w chmurze.

Głębokie nurkowanie

Kubeflow rozpoczął się w Google jako sposób na uruchomienie TensorFlow na Kubernetesie, a następnie rozrósł się do szerszej platformy. Jego podstawową ideą jest to, że każdy etap przepływu pracy ML, taki jak przygotowanie danych, szkolenie, ocena i udostępnianie, działa jako konteneryzowany komponent wewnątrz podu Kubernetes. Kubeflow Pipelines (KFP) pozwala wyrazić te kroki w postaci skierowanego wykresu acyklicznego (DAG): każdy węzeł jest samodzielnym kontenerem, a krawędzie definiują zależności danych. Ponieważ Kubernetes obsługuje planowanie, skalowanie i alokację zasobów, potok może zażądać procesorów graficznych w celu szkolenia i zwolnić je później. Inne komponenty obejmują Katib do dostrajania hiperparametrów, KServe do obsługi modeli i serwery notebooków. Korzyścią jest powtarzalność, przenośność między chmurami i możliwość niezależnego skalowania poszczególnych kroków.

Wgląd techniczny

Potok Kubeflow kompiluje Python DSL do specyfikacji YAML Argo Workflows. Każdy komponent staje się kontenerem, który odczytuje dane wejściowe i zapisuje dane wyjściowe w postaci artefaktów przekazywanych pomiędzy krokami przez wspólną składnicę obiektów, taką jak MinIO lub S3. Kubernetes planuje każdy pod, dołączając zasoby GPU lub procesora na żądanie komponentu. Płaszczyzna sterująca buforuje dane wyjściowe kroków, więc niezmienione kroki są pomijane przy powtórnych uruchomieniach, oszczędzając obliczenia i zwiększając wydajność dużych DAG.

Wpływ strategiczny

Koszt i budżet

Decyzje dotyczące architektury wpływają na wydajność i koszty operacyjne przez lata.

Jaśniejsze decyzje

Edukacja techniczna pomaga zespołom wybrać odpowiedni stos, a nie tylko najnowszy.

Kontrola jakości

Lepsze wybory inżynieryjne zmniejszają liczbę incydentów związanych z niezawodnością w produkcji.

Przyszłość Kubeflow i orkiestracji potoków ML

Kubeflow konsoliduje wokół KFP v2 i ściślejszą integrację z KServe do obsługi i Katib do dostrajania, a także lepszą obsługę rozproszonego uczenia dużych modeli na wielu procesorach graficznych. Spodziewaj się głębszych informacji o magazynach funkcji, rejestrach modeli i procesach dostrajania LLM. W miarę dojrzewania projektu w ramach CNCF trend zmierza w kierunku prostszej instalacji, obsługi wielu dzierżawców dla zespołów i ustandaryzowanych definicji potoków, które umożliwiają łatwe przenoszenie między lokalnymi i głównymi dostawcami usług w chmurze.

Implementacja w świecie rzeczywistym

Sprzedawca detaliczny planuje nocny potok Kubeflow, który pobiera dane dotyczące sprzedaży, ponownie szkoli model prognozowania popytu i przesyła je do KServe w celu wyciągnięcia wniosków.

Laboratorium badawcze wykorzystuje Katib do przeprowadzania setek równoległych prób hiperparametrycznych na klastrze GPU, automatycznie wybierając najlepszą konfigurację.

Bank tworzy powtarzalny potok wykrywania oszustw, w ramach którego każdy audyt zgodności może ponownie przeprowadzić dokładne kroki szkoleniowe na podstawie artefaktów przechowywanych w pamięci podręcznej.

Startup korzysta z serwerów notebooków w Kubeflow, więc analitycy danych tworzą prototypy modeli, które trafiają bezpośrednio do potoków produkcyjnych bez przepisywania kodu.

Zagrożenia i poręcze

Optymalizacja jednego testu porównawczego może ukryć szersze słabości systemu.

Koszty infrastruktury i utrzymania są często niedoszacowane.

W miarę jak systemy stają się coraz bardziej złożone, luki w bezpieczeństwie i obserwowalności mogą się zwiększać.

Plan wdrożenia

1

Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.

2

Test porównawczy w realistycznych warunkach obciążenia i danych.

3

Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.

4

Przed skalowaniem przygotuj ścieżki wycofywania zmian i reakcji na incydenty.

Odkrywaj dalej

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Kubeflow and ML Pipeline Orchestration quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Rozpocznij quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Następny poradnik

Harmonogramowanie GPU i orkiestracja klastrów

Często zadawane pytania

Co to jest orkiestracja potoków Kubeflow i ML?

Kubeflow to zestaw narzędzi typu open source, który uruchamia przepływy pracy uczenia maszynowego w Kubernetes, przekształcając szkolenie i wdrażanie modeli w powtarzalne, kontenerowe potoki. Ma to znaczenie, ponieważ pozwala zespołom skalować ML w taki sam sposób, w jaki skalują nowoczesne oprogramowanie w chmurze.

Na jakiej platformie Kubeflow obsługuje przepływy pracy uczenia maszynowego?

Kubeflow został stworzony specjalnie do uruchamiania przepływów pracy ML w Kubernetes, wykorzystując jego funkcje planowania i skalowania.

Jak zazwyczaj pakowany jest każdy etap przepływu pracy w Kubeflow Pipelines?

Każdy krok potoku to samodzielny kontener działający wewnątrz modułu Kubernetes z danymi wejściowymi i wyjściowymi przekazywanymi jako artefakty.

Jakiej struktury używa potok Kubeflow do wyrażenia kolejności i zależności kroków?

Potoki są wyrażane jako DAG, gdzie węzły są komponentami, a krawędzie reprezentują zależności danych między nimi.

Który komponent Kubeflow jest dedykowany do automatycznego dostrajania hiperparametrów?

Katib to komponent Kubeflow służący do optymalizacji hiperparametrów i wyszukiwania architektury neuronowej, przeprowadzający wiele testów równolegle.

Dlaczego potok Kubeflow może skutecznie pomijać pewne kroki po ponownym uruchomieniu?

Płaszczyzna sterująca buforuje dane wyjściowe, więc kroki, których dane wejściowe nie uległy zmianie, są pomijane, co pozwala zaoszczędzić obliczenia przy ponownym uruchomieniu.