Operacje uczenia maszynowego

W tym artykule opisano trzy architektury platformy Azure dla operacji uczenia maszynowego, które mają kompleksowe potoki ciągłej integracji i ciągłego dostarczania (CI/CD) oraz potoki ponownego trenowania. Architektury są przeznaczone dla tych aplikacji sztucznej inteligencji:

  • Klasyczne uczenie maszynowe
  • Przetwarzanie obrazów (CV)
  • Przetwarzanie języka naturalnego

Te architektury są produktem projektu MLOps w wersji 2. Obejmują one najlepsze rozwiązania, które architekci rozwiązań zidentyfikowali w procesie opracowywania różnych rozwiązań uczenia maszynowego. Wynik jest możliwy do wdrożenia, powtarzalny i konserwowalny wzorce. Wszystkie trzy architektury korzystają z usługi Azure Machine Learning.

Aby zapoznać się z implementacją z przykładowymi szablonami wdrażania dla metodyki MLOps w wersji 2, zobacz Akcelerator rozwiązań usługi Azure MLOps w wersji 2.

Potencjalne przypadki użycia

  • Klasyczne uczenie maszynowe: prognozowanie szeregów czasowych, regresja i klasyfikacja danych tabelarycznych ze strukturą są najczęstszymi przypadkami użycia w tej kategorii. Oto kilka przykładów:

    • Klasyfikacja binarna i wieloaskładowa.

    • Regresja liniowa, wielomianowa, grzbietowa, lasso, kwantylowa i bayesyjna.

    • ARIMA, autoregressive, SARIMA, VAR, SES, LSTM.

  • CV: Struktura MLOps w tym artykule koncentruje się głównie na przypadkach użycia CV segmentacji i klasyfikacji obrazów.

  • Przetwarzanie języka naturalnego: możesz użyć tej platformy MLOps do zaimplementowania:

    • Rozpoznawanie nazwanych jednostek:

    • Klasyfikacja tekstu

    • Generowanie tekstu

    • Analiza opinii

    • Tłumaczenie

    • Odpowiadanie na pytania

    • Podsumowanie

    • Wykrywanie zdań

    • Wykrywanie języka

    • Tagowanie części mowy

W tym artykule nie opisano symulacji sztucznej inteligencji, uczenia głębokiego wzmacniania i innych form sztucznej inteligencji.

Architektura

Wzorzec architektury MLOps w wersji 2 ma cztery główne składniki modułowe lub fazy cyklu życia metodyki MLOps:

  • Majątek danych
  • Administracja i instalacja
  • Programowanie modelu lub faza pętli wewnętrznej
  • Wdrażanie modelu lub faza pętli zewnętrznej

Powyższe składniki, połączenia między nimi i typowe osoby, których dotyczy, są standardami we wszystkich architekturach scenariuszy MLOps w wersji 2. Różnice w szczegółach poszczególnych składników zależą od scenariusza.

Podstawowa architektura metodyki MLOps w wersji 2 dla uczenia maszynowego to klasyczny scenariusz uczenia maszynowego dla danych tabelarycznych. Architektury CV i NLP są oparte na architekturze podstawowej i modyfikują je.

Metodyka MLOps w wersji 2 obejmuje następujące architektury opisane w tym artykule:

Klasyczna architektura uczenia maszynowego

Diagram przedstawiający klasyczną architekturę uczenia maszynowego.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy dla klasycznej architektury uczenia maszynowego

  1. Majątek danych

    Ten składnik ilustruje majątek danych organizacji oraz potencjalne źródła danych i cele dla projektu nauki o danych. Inżynierowie danych są głównymi właścicielami tego składnika cyklu życia metodyki MLOps w wersji 2. Platformy danych platformy Azure na tym diagramie nie są wyczerpujące ani normatywne. Zielony znacznik wyboru wskazuje źródła danych i cele reprezentujące zalecane najlepsze rozwiązania oparte na przypadku użycia klienta.

  2. Administracja i instalacja

    Ten składnik jest pierwszym krokiem we wdrożeniu akceleratora MLOps w wersji 2. Składa się z wszystkich zadań związanych z tworzeniem i zarządzaniem zasobami i rolami skojarzonymi z projektem. Na przykład zespół infrastruktury może:

    1. Tworzenie repozytoriów kodu źródłowego projektu.
    2. Tworzenie obszarów roboczych usługi Machine Learning za pomocą narzędzia Bicep lub Terraform.
    3. Tworzenie lub modyfikowanie zestawów danych i zasobów obliczeniowych na potrzeby tworzenia i wdrażania modelu.
    4. Definiowanie użytkowników zespołu projektu, ich ról i kontroli dostępu do innych zasobów.
    5. Tworzenie potoków ciągłej integracji/ciągłego wdrażania.
    6. Tworzenie składników monitorowania w celu zbierania i tworzenia alertów dotyczących metryk modelu i infrastruktury.

    Podstawową osobą skojarzą z tą fazą jest zespół infrastruktury, ale organizacja może również mieć inżynierów danych, inżynierów uczenia maszynowego lub analityków danych.

  3. Programowanie modelu (faza pętli wewnętrznej)

    Faza pętli wewnętrznej składa się z iteracyjnego przepływu pracy nauki o danych, który działa w dedykowanym i bezpiecznym obszarze roboczym uczenia maszynowego. Na powyższym diagramie przedstawiono typowy przepływ pracy. Proces rozpoczyna się od pozyskiwania danych, przechodzi przez eksploracyjne analizy danych, eksperymentowanie, opracowywanie i ewaluację modelu, a następnie rejestruje model do użytku produkcyjnego. Ten modułowy składnik zaimplementowany w akceleratorze MLOps w wersji 2 jest niezależny i dostosowywany do procesu używanego przez zespół ds. nauki o danych do tworzenia modeli.

    Osoby skojarzone z tą fazą obejmują analityków danych i inżynierów uczenia maszynowego.

  4. Rejestry usługi Machine Learning

    Gdy zespół ds. nauki o danych opracuje model, który może wdrożyć w środowisku produkcyjnym, zarejestruje model w rejestrze obszarów roboczych usługi Machine Learning. Potoki ciągłej integracji, które są wyzwalane automatycznie przez rejestrację modelu lub przez zatwierdzenie przez człowieka w pętli, podwyższanie poziomu modelu i innych zależności modelu do fazy wdrażania modelu.

    Osoby skojarzone z tym etapem są zwykle inżynierami uczenia maszynowego.

  5. Wdrażanie modelu (faza pętli zewnętrznej)

    Wdrożenie modelu lub faza pętli zewnętrznej składa się z etapu przedprodukcyjnego i testowania, wdrażania produkcyjnego oraz monitorowania modelu, danych i infrastruktury. Gdy model spełnia kryteria organizacji i przypadku użycia, potoki ciągłego wdrażania promują model i powiązane zasoby za pośrednictwem środowiska produkcyjnego, monitorowania i potencjalnego ponownego trenowania.

    Osoby skojarzone z tą fazą są głównie inżynierami uczenia maszynowego.

  6. Przemieszczanie i testowanie

    Faza przemieszczania i testowania różni się w zależności od praktyk klienta. Ta faza obejmuje zazwyczaj operacje, takie jak ponowne trenowanie i testowanie kandydata modelu na danych produkcyjnych, wdrożenia testowe pod kątem wydajności punktu końcowego, kontrole jakości danych, testy jednostkowe i odpowiedzialne sprawdzanie sztucznej inteligencji pod kątem uprzedzeń modelu i danych. Ta faza odbywa się w co najmniej jednym dedykowanym i bezpiecznym obszarze roboczym usługi Machine Learning.

  7. Wdrożenie produkcyjne

    Gdy model przejdzie etap przejściowy i testowy, inżynierowie uczenia maszynowego mogą używać zatwierdzenia bramkowanego przez człowieka do produkcji. Opcje wdrażania modelu obejmują zarządzany punkt końcowy wsadowy dla scenariuszy wsadowych lub zarządzanego punktu końcowego online lub wdrożenia kubernetes, które korzysta z usługi Azure Arc na potrzeby scenariuszy online niemal w czasie rzeczywistym. Produkcja zwykle odbywa się w co najmniej jednym dedykowanym i bezpiecznym obszarze roboczym usługi Machine Learning.

  8. Monitorowanie

    Inżynierowie uczenia maszynowego monitorują składniki w środowisku przejściowym, testowym i produkcyjnym, aby zbierać metryki związane ze zmianami wydajności modelu, danych i infrastruktury. Mogą używać tych metryk do podjęcia działań. Monitorowanie modeli i danych może obejmować sprawdzanie dryfu modelu i danych, wydajność modelu na nowych danych oraz problemy z odpowiedzialną sztuczną inteligencją. Monitorowanie infrastruktury może identyfikować powolną reakcję punktu końcowego, niewystarczającą pojemność obliczeniową lub problemy z siecią.

  9. Monitorowanie danych i modeli: zdarzenia i akcje

    Na podstawie kryteriów modelu i danych, takich jak progi metryk lub harmonogramy, automatyczne wyzwalacze i powiadomienia mogą implementować odpowiednie akcje do wykonania. Na przykład wyzwalacz może ponownie wytrenować model w celu użycia nowych danych produkcyjnych, a następnie sprzężenia zwrotnego modelu do przemieszczania i testowania na potrzeby oceny przedprodukcyjnej. Lub problem z modelem lub danymi może wywołać akcję, która wymaga sprzężenia zwrotnego do fazy opracowywania modelu, w której analitycy danych mogą zbadać problem i potencjalnie opracować nowy model.

  10. Monitorowanie infrastruktury: zdarzenia i akcje

    Zautomatyzowane wyzwalacze i powiadomienia mogą implementować odpowiednie akcje w celu wykonania na podstawie kryteriów infrastruktury, takich jak opóźnienie odpowiedzi punktu końcowego lub niewystarczające zasoby obliczeniowe dla wdrożenia. Wyzwalacze automatyczne i powiadomienia mogą wyzwalać sprzężenie zwrotne do fazy konfiguracji i administrowania, w której zespół infrastruktury może zbadać problem i potencjalnie ponownie skonfigurować zasoby obliczeniowe i sieciowe.

Architektura CV usługi Machine Learning

Diagram przedstawiający architekturę przetwarzania obrazów.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy dla architektury CV

Architektura CV usługi Machine Learning jest oparta na klasycznej architekturze uczenia maszynowego, ale ma modyfikacje specyficzne dla nadzorowanych scenariuszy CV.

  1. Majątek danych

    Ten składnik przedstawia zasoby danych organizacji oraz potencjalne źródła danych i cele dla projektu nauki o danych. Inżynierowie danych są głównymi właścicielami tego składnika w cyklu życia metodyki MLOps w wersji 2. Platformy danych platformy Azure na tym diagramie nie są wyczerpujące ani normatywne. Obrazy scenariuszy CV mogą pochodzić z różnych źródeł danych. Aby uzyskać wydajność podczas tworzenia i wdrażania modeli CV za pomocą usługi Machine Learning, zalecamy usługę Azure Blob Storage i usługę Azure Data Lake Storage.

  2. Administracja i instalacja

    Ten składnik jest pierwszym krokiem we wdrożeniu akceleratora MLOps w wersji 2. Składa się z wszystkich zadań związanych z tworzeniem i zarządzaniem zasobami i rolami skojarzonymi z projektem. W przypadku scenariuszy CV administracja i konfiguracja środowiska MLOps w wersji 2 jest w dużej mierze taka sama jak w przypadku klasycznego uczenia maszynowego, ale obejmuje dodatkowy krok. Zespół ds. infrastruktury używa funkcji etykietowania usługi Machine Learning lub innego narzędzia do tworzenia projektów etykietowania obrazów i adnotacji.

  3. Programowanie modelu (faza pętli wewnętrznej)

    Faza pętli wewnętrznej składa się z iteracyjnego przepływu pracy nauki o danych wykonywanego w dedykowanym i bezpiecznym obszarze roboczym usługi Machine Learning. Podstawową różnicą między tym przepływem pracy a klasycznym scenariuszem uczenia maszynowego jest to, że etykietowanie obrazów i adnotacja to kluczowy składnik tej pętli programowania.

  4. Rejestry usługi Machine Learning

    Gdy zespół ds. nauki o danych opracuje model, który może wdrożyć w środowisku produkcyjnym, zarejestruje model w rejestrze obszarów roboczych usługi Machine Learning. Potoki ciągłej integracji wyzwalane automatycznie przez rejestrację modelu lub przez zatwierdzenie przez człowieka w pętli promują model i wszelkie inne zależności modelu do fazy wdrażania modelu.

  5. Wdrażanie modelu (faza pętli zewnętrznej)

    Faza wdrażania modelu lub pętli zewnętrznej składa się z etapu przedprodukcyjnego i testowania, wdrażania produkcyjnego oraz monitorowania modelu, danych i infrastruktury. Gdy model spełnia kryteria organizacji i przypadku użycia, potoki ciągłego wdrażania promują model i powiązane zasoby za pośrednictwem środowiska produkcyjnego, monitorowania i potencjalnego ponownego trenowania.

  6. Przemieszczanie i testowanie

    Faza przemieszczania i testowania różni się w zależności od praktyk klienta. Ta faza obejmuje zazwyczaj operacje, takie jak wdrożenia testowe pod kątem wydajności punktu końcowego, kontrole jakości danych, testowanie jednostkowe i kontrole odpowiedzialnej sztucznej inteligencji pod kątem stronniczych modeli i danych. W przypadku scenariuszy CV inżynierowie uczenia maszynowego nie muszą ponownie trenować kandydata modelu na danych produkcyjnych z powodu ograniczeń dotyczących zasobów i czasu. Zespół ds. nauki o danych może zamiast tego używać danych produkcyjnych do tworzenia modeli. Model kandydata zarejestrowany w pętli programowania jest oceniany pod kątem produkcji. Ta faza odbywa się w co najmniej jednym dedykowanym i bezpiecznym obszarze roboczym usługi Machine Learning.

  7. Wdrożenie produkcyjne

    Gdy model przejdzie etap przejściowy i testowy, inżynierowie uczenia maszynowego mogą używać zatwierdzenia bramkowanego przez człowieka do produkcji. Opcje wdrażania modelu obejmują zarządzany punkt końcowy wsadowy dla scenariuszy wsadowych lub zarządzanego punktu końcowego online lub wdrożenia kubernetes, które korzysta z usługi Azure Arc na potrzeby scenariuszy online niemal w czasie rzeczywistym. Produkcja zwykle odbywa się w co najmniej jednym dedykowanym i bezpiecznym obszarze roboczym usługi Machine Learning.

  8. Monitorowanie

    Inżynierowie uczenia maszynowego monitorują składniki w środowisku przejściowym, testowym i produkcyjnym, aby zbierać metryki związane ze zmianami wydajności modelu, danych i infrastruktury. Mogą używać tych metryk do podjęcia działań. Monitorowanie modeli i danych może obejmować sprawdzanie wydajności modelu na nowych obrazach. Monitorowanie infrastruktury może identyfikować powolną reakcję punktu końcowego, niewystarczającą pojemność obliczeniową lub problemy z siecią.

  9. Monitorowanie danych i modeli: zdarzenia i akcje

    Fazy monitorowania danych i modelu oraz zdarzenia i akcji metodyki MLOps na potrzeby przetwarzania języka naturalnego są kluczowymi różnicami w porównaniu z klasycznym uczeniem maszynowym. Automatyczne ponowne trenowanie zwykle nie jest wykonywane w scenariuszach CV, gdy wykryto obniżenie wydajności modelu na nowych obrazach. W takim przypadku proces pętli human-in-the-loop jest niezbędny do przejrzenia i dodawania adnotacji do nowych danych tekstowych dla modelu, który działa źle. Następna akcja często wraca do pętli tworzenia modelu w celu zaktualizowania modelu przy użyciu nowych obrazów.

  10. Monitorowanie infrastruktury: zdarzenia i akcje

    Zautomatyzowane wyzwalacze i powiadomienia mogą implementować odpowiednie akcje w celu wykonania na podstawie kryteriów infrastruktury, takich jak opóźnienie odpowiedzi punktu końcowego lub niewystarczające zasoby obliczeniowe dla wdrożenia. Wyzwalacze automatyczne i powiadomienia mogą wyzwalać sprzężenie zwrotne do fazy konfiguracji i administrowania, w której zespół infrastruktury może zbadać problem i potencjalnie ponownie skonfigurować środowisko, zasoby obliczeniowe i sieciowe.

Architektura przetwarzania języka naturalnego usługi Machine Learning

Diagram architektury przetwarzania języka naturalnego.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy dla architektury przetwarzania języka naturalnego

Architektura przetwarzania języka naturalnego usługi Machine Learning jest oparta na klasycznej architekturze uczenia maszynowego, ale ma pewne modyfikacje specyficzne dla scenariuszy NLP.

  1. Majątek danych

    Ten składnik przedstawia zasoby danych organizacji oraz potencjalne źródła danych i cele dla projektu nauki o danych. Inżynierowie danych są głównymi właścicielami tego składnika w cyklu życia metodyki MLOps w wersji 2. Platformy danych platformy Azure na tym diagramie nie są wyczerpujące ani normatywne. Zielony znacznik wyboru wskazuje źródła i cele reprezentujące zalecane najlepsze rozwiązania oparte na przypadku użycia klienta.

  2. Administracja i instalacja

    Ten składnik jest pierwszym krokiem we wdrożeniu akceleratora MLOps w wersji 2. Składa się z wszystkich zadań związanych z tworzeniem i zarządzaniem zasobami i rolami skojarzonymi z projektem. W przypadku scenariuszy przetwarzania języka naturalnego administracja i konfiguracja środowiska MLOps w wersji 2 jest w dużej mierze taka sama jak w przypadku klasycznego uczenia maszynowego, ale z dodatkowym krokiem: tworzenie projektów etykietowania obrazów i adnotacji przy użyciu funkcji etykietowania usługi Machine Learning lub innego narzędzia.

  3. Programowanie modelu (faza pętli wewnętrznej)

    Faza pętli wewnętrznej składa się z iteracyjnego przepływu pracy nauki o danych wykonywanego w dedykowanym i bezpiecznym obszarze roboczym usługi Machine Learning. Typowa pętla programowania modelu NLP różni się od klasycznego scenariusza uczenia maszynowego, ponieważ typowe kroki programistyczne dla tego scenariusza obejmują adnotacje dla zdań i tokenizacji, normalizacji i osadzania danych tekstowych.

  4. Rejestry usługi Machine Learning

    Gdy zespół ds. nauki o danych opracuje model, który może wdrożyć w środowisku produkcyjnym, zarejestruje model w rejestrze obszarów roboczych usługi Machine Learning. Potoki ciągłej integracji wyzwalane automatycznie przez rejestrację modelu lub przez zatwierdzenie przez człowieka w pętli promują model i wszelkie inne zależności modelu do fazy wdrażania modelu.

  5. Wdrażanie modelu (faza pętli zewnętrznej)

    Faza wdrażania modelu lub pętli zewnętrznej składa się z etapu przedprodukcyjnego i testowania, wdrażania produkcyjnego oraz monitorowania modelu, danych i infrastruktury. Gdy model spełnia kryteria organizacji i przypadku użycia, potoki ciągłego wdrażania promują model i powiązane zasoby za pośrednictwem środowiska produkcyjnego, monitorowania i potencjalnego ponownego trenowania.

  6. Przemieszczanie i testowanie

    Faza przemieszczania i testowania różni się w zależności od praktyk klienta. Ta faza obejmuje zazwyczaj operacje, takie jak ponowne trenowanie i testowanie kandydata modelu na danych produkcyjnych, wdrożenia testowe pod kątem wydajności punktu końcowego, kontrole jakości danych, testy jednostkowe i odpowiedzialne sprawdzanie sztucznej inteligencji pod kątem uprzedzeń modelu i danych. Ta faza odbywa się w co najmniej jednym dedykowanym i bezpiecznym obszarze roboczym usługi Machine Learning.

  7. Wdrożenie produkcyjne

    Gdy model przejdzie etap przejściowy i testowy, inżynierowie uczenia maszynowego mogą używać zatwierdzenia bramkowanego przez człowieka do produkcji. Opcje wdrażania modelu obejmują zarządzany punkt końcowy wsadowy dla scenariuszy wsadowych lub zarządzanego punktu końcowego online lub wdrożenia kubernetes, które korzysta z usługi Azure Arc na potrzeby scenariuszy online niemal w czasie rzeczywistym. Produkcja zwykle odbywa się w co najmniej jednym dedykowanym i bezpiecznym obszarze roboczym usługi Machine Learning.

  8. Monitorowanie

    Inżynierowie uczenia maszynowego monitorują składniki w środowisku przejściowym, testowym i produkcyjnym, aby zbierać metryki związane ze zmianami wydajności modelu, danych i infrastruktury. Mogą używać tych metryk do podjęcia działań. Monitorowanie modelu i danych może obejmować sprawdzanie dryfu modelu i danych, wydajność modelu na nowych danych tekstowych i problemy z odpowiedzialną sztuczną inteligencją. Monitorowanie infrastruktury może identyfikować problemy, takie jak powolne reagowanie na punkty końcowe, niewystarczająca pojemność obliczeniowa i problemy z siecią.

  9. Monitorowanie danych i modeli: zdarzenia i akcje

    Podobnie jak w przypadku architektury CV, fazy monitorowania danych i modelu oraz zdarzenia i akcji metodyki MLOps na potrzeby przetwarzania języka naturalnego są kluczowymi różnicami w porównaniu z klasycznym uczeniem maszynowym. Automatyczne ponowne trenowanie nie jest zwykle wykonywane w scenariuszach przetwarzania języka naturalnego, gdy wykryto obniżenie wydajności modelu na nowym tekście. W takim przypadku proces pętli human-in-the-loop jest niezbędny do przejrzenia i dodawania adnotacji do nowych danych tekstowych dla modelu, który działa źle. Często kolejną akcją jest powrót do pętli tworzenia modelu w celu zaktualizowania modelu przy użyciu nowych danych tekstowych.

  10. Monitorowanie infrastruktury: zdarzenia i akcje

    Zautomatyzowane wyzwalacze i powiadomienia mogą implementować odpowiednie akcje w celu wykonania na podstawie kryteriów infrastruktury, takich jak opóźnienie odpowiedzi punktu końcowego lub niewystarczające zasoby obliczeniowe dla wdrożenia. Wyzwalacze automatyczne i powiadomienia mogą wyzwalać sprzężenie zwrotne do fazy konfiguracji i administrowania, w której zespół infrastruktury może zbadać problem i potencjalnie ponownie skonfigurować zasoby obliczeniowe i sieciowe.

Składniki

  • Machine Learning to usługa w chmurze, której można użyć do trenowania, oceniania, wdrażania i zarządzania modelami uczenia maszynowego na dużą skalę.

  • Azure Pipelines to system kompilacji i testowania oparty na usłudze Azure DevOps, który jest używany do tworzenia i wydawania potoków. Usługa Azure Pipelines dzieli te potoki na kroki logiczne nazywane zadaniami.

  • GitHub to platforma hostingu kodu do kontroli wersji, współpracy i przepływów pracy ciągłej integracji/ciągłego wdrażania.

  • Azure Arc to platforma, która używa usługi Azure Resource Manager do zarządzania zasobami platformy Azure i zasobami lokalnymi. Zasoby mogą obejmować maszyny wirtualne, klastry Kubernetes i bazy danych.

  • Kubernetes to system typu open source, którego można użyć do automatyzacji wdrażania, skalowania i zarządzania konteneryzowanymi aplikacjami.

  • Azure Data Lake Storage to system plików zgodny z usługą Hadoop. Ma zintegrowaną hierarchiczną przestrzeń nazw oraz ogromną skalę i gospodarkę usługi Blob Storage.

  • Azure Synapse Analytics to nieograniczona usługa analizy, która łączy integrację danych, magazynowanie danych przedsiębiorstwa i analizę danych big data.

  • Azure Event Hubs to usługa, która pozyskuje strumienie danych generowane przez aplikacje klienckie. Następnie pozyskuje i przechowuje dane przesyłane strumieniowo, co zachowuje sekwencję odebranych zdarzeń. Klienci mogą łączyć się z punktami końcowymi centrum, aby pobierać komunikaty do przetwarzania. Ta architektura korzysta z integracji usługi Data Lake Storage.

Inne uwagi

Powyższy wzorzec architektury MLOps w wersji 2 ma kilka krytycznych składników, w tym kontrolę dostępu opartą na rolach (RBAC), która jest zgodna z osobami biorącymi udział w projekcie biznesowym, wydajnym zarządzaniem pakietami i niezawodnymi mechanizmami monitorowania. Te składniki wspólnie przyczyniają się do pomyślnej implementacji i zarządzania przepływami pracy uczenia maszynowego.

Kontrola dostępu oparta na rolach oparta na osobach

Niezwykle ważne jest zarządzanie dostępem do danych i zasobów uczenia maszynowego. Kontrola dostępu oparta na rolach zapewnia niezawodną platformę, która ułatwia zarządzanie osobami, które mogą wykonywać określone działania i uzyskiwać dostęp do określonych obszarów w rozwiązaniu. Zaprojektuj strategię segmentacji tożsamości, aby dostosować się do cyklu życia modeli uczenia maszynowego w usłudze Machine Learning i osobach uwzględnionych w procesie. Każda osoba ma określony zestaw obowiązków, które są odzwierciedlane w rolach RBAC i członkostwie w grupach.

Przykładowe osoby

Aby zapewnić obsługę odpowiedniej segmentacji w obciążeniu uczenia maszynowego, rozważ następujące typowe osoby, które informują o projekcie grupy RBAC opartej na tożsamościach.

Analityk danych i inżynier uczenia maszynowego

Analitycy danych i inżynierowie uczenia maszynowego wykonują różne działania związane z uczeniem maszynowym i nauką o danych w całym cyklu życia tworzenia oprogramowania projektu. Ich obowiązki obejmują eksploracyjne analizowanie danych i wstępne przetwarzanie danych. Analitycy danych i inżynierowie uczenia maszynowego są odpowiedzialni za szkolenie, ocenianie i wdrażanie modeli. Obowiązki tych ról obejmują również działania naprawy przerwania dla modeli uczenia maszynowego, pakietów i danych. Te obowiązki są poza zakresem zespołu pomocy technicznej platformy.

Typ: Osoba
Specyficzne dla projektu: Tak

Analityk danych

Analitycy danych zapewniają niezbędne dane wejściowe dla działań związanych z nauką o danych, takich jak uruchamianie zapytań SQL na potrzeby analizy biznesowej. Obowiązki tej roli obejmują pracę z danymi, przeprowadzanie analizy danych oraz wspieranie opracowywania modeli i wdrażania modeli.

Typ: Osoba
Specyficzne dla projektu: Tak

Tester modelu

Testerzy modeli przeprowadzają testy w środowiskach testowych i przejściowych. Ta rola zapewnia podział funkcjonalny z procesów ciągłej integracji/ciągłego wdrażania.

Typ: Osoba
Specyficzne dla projektu: Tak

Osoby biorące udział w projekcie biznesowym

Osoby biorące udział w projekcie są skojarzone z projektem, takim jak menedżer marketingu.

Typ: Osoba
Specyficzne dla projektu: Tak

Kierownik projektu lub kierownik ds. nauki o danych

Kierownik ds. nauki o danych to rola administracyjna projektu dla obszaru roboczego usługi Machine Learning. Ta rola wykonuje również działania związane z przerywanymi poprawkami dla modeli i pakietów uczenia maszynowego.

Typ: Osoba
Specyficzne dla projektu: Tak

Właściciel projektu lub produktu (właściciel firmy)

Osoby biorące udział w projekcie biznesowym są odpowiedzialne za obszar roboczy usługi Machine Learning zgodnie z własnością danych.

Typ: Osoba
Specyficzne dla projektu: Tak

Pomoc techniczna dotycząca platformy

Pomoc techniczna platformy to personel pomocy technicznej odpowiedzialny za działania naprawy przerwania na całej platformie. Ta rola obejmuje infrastrukturę lub usługę, ale nie modele uczenia maszynowego, pakiety lub dane. Te składniki pozostają w ramach roli analityka danych lub inżyniera uczenia maszynowego i są odpowiedzialne za projekt.

Typ: Osoba
Specyficzne dla projektu: Nie

Model użytkownika końcowego

Użytkownicy końcowi modelu są konsumentami końcowymi modelu uczenia maszynowego.

Typ: Osoba lub proces
Specyficzne dla projektu: Tak

Procesy ciągłej integracji/ciągłego wdrażania

Procesy ciągłej integracji/ciągłego wdrażania zwalniają lub cofają zmiany w środowiskach platformy.

Typ: Proces
Specyficzne dla projektu: Nie

Obszar roboczy usługi Machine Learning

Obszary robocze usługi Machine Learning używają tożsamości zarządzanych do interakcji z innymi częściami platformy Azure. Ta osoba reprezentuje różne usługi tworzące implementację usługi Machine Learning. Te usługi współdziałają z innymi częściami platformy, takimi jak obszar roboczy programowania, który łączy się z magazynem danych programowania.

Typ: Proces
Specyficzne dla projektu: Nie

Procesy monitorowania

Procesy monitorowania to procesy obliczeniowe, które monitorują i ostrzegają na podstawie działań platformy.

Typ: Proces
Specyficzne dla projektu: Nie

Procesy nadzoru nad danymi

Procesy nadzoru nad danymi skanują projekt uczenia maszynowego i magazyny danych w celu zapewnienia ładu w danych.

Typ: Proces
Specyficzne dla projektu: Nie

Członkostwo w grupie Microsoft Entra

Podczas implementowania kontroli dostępu opartej na rolach grupy entra firmy Microsoft zapewniają elastyczny i skalowalny sposób zarządzania uprawnieniami dostępu w różnych osobach. Grupy entra firmy Microsoft umożliwiają zarządzanie użytkownikami, którzy potrzebują tego samego dostępu i uprawnień do zasobów, takich jak potencjalnie ograniczone aplikacje i usługi. Zamiast dodawać specjalne uprawnienia do poszczególnych użytkowników, należy utworzyć grupę, która stosuje specjalne uprawnienia do każdego członka tej grupy.

W tym wzorcu architektury można połączyć te grupy z konfiguracją obszaru roboczego usługi Machine Learning, taką jak projekt, zespół lub dział. Możesz skojarzyć użytkowników z określonymi grupami, aby zdefiniować szczegółowe zasady dostępu. Zasady udzielają lub ograniczają uprawnienia do różnych obszarów roboczych usługi Machine Learning na podstawie funkcji zadań, wymagań projektu lub innych kryteriów. Możesz na przykład mieć grupę, która udziela wszystkim analitykom danych dostępu do obszaru roboczego programowania dla określonego przypadku użycia.

Kontrola dostępu oparta na rolach tożsamości

Rozważ użycie następujących wbudowanych ról kontroli dostępu opartej na rolach platformy Azure w celu zastosowania kontroli dostępu opartej na rolach do środowisk produkcyjnych i przedprodukcyjnych. W przypadku architektury w tym artykule środowiska produkcyjne obejmują środowiska przejściowe, testowe i produkcyjne. Środowiska przedprodukcyjne obejmują środowiska deweloperskie. Następujące role RBAC są oparte na osobach opisanych wcześniej w tym artykule.

Role standardowe

Role specyficzne dla składników

Te skróty ról RBAC platformy Azure odpowiadają poniższym tabelom.

Środowisko produkcyjne
Osoba Obszar roboczy usługi Machine Learning Azure Key Vault Container Registry Konto usługi Azure Storage Azure DevOps Azure Artifacts Obszar roboczy usługi Log Analytics Azure Monitor
Mistrz danych R LAR MR
Analityk danych
Tester modelu
Osoby biorące udział w projekcie biznesowym MR
Kierownik projektu (kierownik ds. nauki o danych) R R, KVR R LAR MR
Właściciel projektu/produktu MR
Pomoc techniczna dotycząca platformy O O, KVA DOPCA O O O
Model użytkownika końcowego
Procesy ciągłej integracji/ciągłego wdrażania O O, KVA AcrPush DOPCA O O O
Obszar roboczy usługi Machine Learning R C C
Procesy monitorowania R LAR MR
Procesy nadzoru nad danymi R R R R R
Środowisko przedprodukcyjne
Osoba Obszar roboczy usługi Machine Learning Key Vault Container Registry Konto magazynu Azure DevOps Azure Artifacts Obszar roboczy usługi Log Analytics Azure Monitor
Mistrz danych REKLAMY R, KVA C C C C LAKIER MC
Analityk danych R C LAR MC
Tester modelu R R, KVR R R R R LAR MR
Osoby biorące udział w projekcie biznesowym R R R R R
Kierownik projektu (kierownik ds. nauki o danych) C C, KVA C C C C LAKIER MC
Właściciel projektu/produktu R R MR
Pomoc techniczna dotycząca platformy O O, KVA O O DOPCA O O O
Model użytkownika końcowego
Procesy ciągłej integracji/ciągłego wdrażania O O, KVA AcrPush O DOPCA O O O
Obszar roboczy usługi Machine Learning R, KVR C C
Procesy monitorowania R R R R R R LAKIER
Procesy nadzoru nad danymi R R R

Uwaga

Każda osoba zachowuje dostęp do czasu trwania projektu, z wyjątkiem pomocy technicznej platformy, która ma dostęp tymczasowy lub just-in-time microsoft Entra Privileged Identity Management (PIM).

Kontrola dostępu oparta na rolach odgrywa istotną rolę w zabezpieczaniu i usprawnieniu przepływów pracy metodyki MLOps. Kontrola dostępu oparta na rolach ogranicza dostęp na podstawie przypisanych ról i uniemożliwia nieautoryzowanym użytkownikom dostęp do poufnych danych, co ogranicza zagrożenia bezpieczeństwa. Poufne dane obejmują dane szkoleniowe lub modele i infrastrukturę krytyczną, taką jak potoki produkcyjne. Możesz użyć kontroli dostępu opartej na rolach, aby zapewnić zgodność z przepisami dotyczącymi prywatności danych. Kontrola dostępu oparta na rolach zapewnia również jasny rejestr dostępu i uprawnień, co upraszcza inspekcję, ułatwia identyfikowanie luk w zabezpieczeniach i śledzenie aktywności użytkowników.

Zarządzanie pakietami

Zależności od różnych pakietów, bibliotek i plików binarnych są wspólne w całym cyklu życia metodyki MLOps. Te zależności, często opracowywane przez społeczność i szybko ewoluujące, wymagają wiedzy ekspertów w zakresie odpowiedniego wykorzystania i zrozumienia. Należy się upewnić, że odpowiednie osoby mają bezpieczny dostęp do różnych zasobów, takich jak pakiety i biblioteki, ale należy również zapobiec lukom w zabezpieczeniach. Analitycy danych napotykają ten problem podczas tworzenia wyspecjalizowanych bloków konstrukcyjnych dla rozwiązań uczenia maszynowego. Tradycyjne podejścia do zarządzania oprogramowaniem są kosztowne i nieefektywne. Inne podejścia zapewniają większą wartość.

Aby zarządzać tymi zależnościami, możesz użyć bezpiecznego, samoobsługowego procesu zarządzania pakietami na podstawie wzorca kwarantanny. Ten proces można zaprojektować, aby umożliwić analitykom danych samoobsługę z wyselekcjonowanych list pakietów i zapewnić bezpieczeństwo pakietów i zgodność z standardami organizacyjnymi.

Takie podejście obejmuje trzy standardowe w branży repozytoria pakietów uczenia maszynowego: Rejestr Artefaktów Microsoft, Python Package Index (PyPI) i Conda. Bezpieczna lista umożliwia samoobsługowe korzystanie z poszczególnych obszarów roboczych usługi Machine Learning. Następnie użyj zautomatyzowanego procesu testowania podczas wdrażania, aby przeskanować wynikowe kontenery rozwiązań. Błędy elegancko zamykają proces wdrażania i usuwają kontener. Na poniższym diagramie i przepływie procesów przedstawiono ten proces:

Diagram przedstawiający podejście do bezpiecznego pakietu usługi Machine Learning.

Przepływ procesu

  1. Analitycy danych pracujący w obszarze roboczym usługi Machine Learning, który ma konfigurację sieci, mogą samodzielnie obsługiwać pakiety uczenia maszynowego na żądanie z repozytoriów pakietów uczenia maszynowego. Proces wyjątku jest wymagany dla wszystkich innych elementów przy użyciu wzorca magazynu prywatnego, który jest rozmieszczany i utrzymywany przy użyciu scentralizowanej funkcji.

  2. Usługa Machine Learning dostarcza rozwiązania uczenia maszynowego jako kontenery platformy Docker. W miarę opracowywania tych rozwiązań są one przekazywane do usługi Container Registry. Usługa Microsoft Defender for Containers generuje oceny luk w zabezpieczeniach dla obrazu kontenera.

  3. Wdrożenie rozwiązania odbywa się za pośrednictwem procesu ciągłej integracji/ciągłego wdrażania. Usługa Microsoft Defender for DevOps jest używana w całym stosie w celu zapewnienia zarządzania stanem zabezpieczeń i ochrony przed zagrożeniami.

  4. Kontener rozwiązania jest wdrażany tylko wtedy, gdy przekazuje każdy z procesów zabezpieczeń. Jeśli kontener rozwiązania zakończy się niepowodzeniem w procesie zabezpieczeń, wdrożenie zakończy się niepowodzeniem z powiadomieniami o błędach i pełnymi śladami inspekcji. Kontener rozwiązania jest odrzucany.

Poprzedni przepływ procesu zapewnia bezpieczny, samoobsługowy proces zarządzania pakietami dla analityków danych i zapewnia, że pakiety są bezpieczne i zgodne ze standardami organizacyjnymi. Aby zrównoważyć innowacje i bezpieczeństwo, można udzielić analitykom danych samoobsługowego dostępu do typowych pakietów uczenia maszynowego, bibliotek i plików binarnych w środowiskach przedprodukcyjnych. Wymagaj wyjątków dla mniej typowych pakietów. Ta strategia zapewnia, że analitycy danych mogą zachować produktywność podczas opracowywania, co zapobiega poważnemu wąskim gardłom podczas dostarczania.

Aby usprawnić procesy wydawania, konteneryzowanie środowisk do użycia w środowiskach produkcyjnych. Konteneryzowane środowiska zmniejszają trud i zapewniają ciągłe zabezpieczenia dzięki skanowaniu luk w zabezpieczeniach. Ten przepływ procesów zapewnia powtarzalne podejście, którego można używać w różnych przypadkach użycia do czasu dostarczenia. Zmniejsza to całkowity koszt tworzenia i wdrażania rozwiązań uczenia maszynowego w przedsiębiorstwie.

Monitorowanie

W metodyce MLOps monitorowanie ma kluczowe znaczenie dla utrzymania kondycji i wydajności systemów uczenia maszynowego oraz zapewnienia, że modele pozostają skuteczne i dostosowane do celów biznesowych. Monitorowanie obsługuje mechanizmy kontroli ładu, zabezpieczeń i kosztów w fazie pętli wewnętrznej. Ponadto zapewnia wgląd w wydajność, degradację modelu i użycie podczas wdrażania rozwiązań w fazie pętli zewnętrznej. Działania monitorowania są istotne dla osób, takich jak badacze dancyh, osoby biorące udział w projekcie, potencjalni klienci projektu, właściciele projektów, pomoc techniczna platformy, procesy ciągłej integracji/ciągłego wdrażania i procesy monitorowania.

Wybierz platformę monitorowania i weryfikacji w zależności od konfiguracji obszaru roboczego usługi Machine Learning, takiej jak projekt, zespół lub dział.

Wydajność modelu

Monitorowanie wydajności modelu w celu wczesnego wykrywania problemów z modelem i obniżenia wydajności. Śledź wydajność, aby zapewnić, że modele pozostają dokładne, niezawodne i dostosowane do celów biznesowych.

Dryf danych

Dryf danych śledzi zmiany w dystrybucji danych wejściowych modelu, porównując je z danymi treningowymi modelu lub ostatnimi danymi produkcyjnymi. Te zmiany są wynikiem zmian w dynamiki rynku, zmian transformacji funkcji lub zmian danych nadrzędnych. Takie zmiany mogą obniżyć wydajność modelu, dlatego ważne jest, aby monitorować dryf w celu zapewnienia terminowego korygowania. Aby przeprowadzić porównanie, refaktoryzacja dryfu danych wymaga ostatnich produkcyjnych zestawów danych i danych wyjściowych.

Środowisko: produkcja
Ułatwienia na platformie Azure: Machine Learning — monitorowanie modelu

Dryf przewidywania

Dryf przewidywania śledzi zmiany w dystrybucji danych wyjściowych przewidywania modelu, porównując je z danymi walidacji, oznaczonymi testami lub najnowszymi danymi produkcyjnymi. Aby przeprowadzić porównanie, refaktoryzacja dryfu danych wymaga ostatnich produkcyjnych zestawów danych i danych wyjściowych.

Środowisko: produkcja
Ułatwienia na platformie Azure: Machine Learning — monitorowanie modelu

Zasób

Użyj kilku modeli obsługujących metryki punktów końcowych, aby wskazać jakość i wydajność, na przykład użycie procesora CPU lub pamięci. Takie podejście pomaga nauczyć się od środowiska produkcyjnego, aby pomóc w rozwoju przyszłych inwestycji lub zmian.

Środowisko: wszystkie
Ułatwienia platformy Azure: Monitorowanie — metryki punktów końcowych online

Metryki użycia

Monitoruj użycie punktów końcowych, aby upewnić się, że są spełnione kluczowe wskaźniki wydajności specyficzne dla organizacji lub obciążenia, śledzić wzorce użycia oraz diagnozować i korygować problemy, które napotkają użytkownicy.

Żądania klientów

Śledź liczbę żądań klientów do punktu końcowego modelu, aby zrozumieć aktywny profil użycia punktów końcowych, co może mieć wpływ na wysiłki związane ze skalowaniem lub optymalizacją kosztów.

Środowisko: produkcja
Ułatwienia platformy Azure: Monitorowanie — metryki punktów końcowych online, takie jak RequestsPerMinute. Uwagi:

  • Dopuszczalne progi można dopasować do rozmiarów lub anomalii dostosowanych do potrzeb obciążenia.
  • Wycofywanie modeli, które nie są już używane z produkcji.
Opóźnienia ograniczania przepustowości

Opóźnienia ograniczania przepustowości są spowolnione w żądaniu i odpowiedzi na transfery danych. Ograniczanie przepływności odbywa się na poziomie usługi Resource Manager i na poziomie usługi. Śledzenie metryk na obu poziomach.

Środowisko: produkcja
Ułatwienia platformy Azure:

  • Monitor — resource manager, suma requestThrottlingDelayMs, ResponseThrottlingDelayMs.
  • Machine Learning — aby sprawdzić informacje o żądaniach punktów końcowych, możesz włączyć dzienniki ruchu punktów końcowych online. Do przetwarzania dzienników można użyć obszaru roboczego usługi Log Analytics.

Uwagi: Dopasuj dopuszczalne progi do celów poziomu usług (SLO) obciążenia lub umów dotyczących poziomu usług (SLA) i wymagań niefunkcjonalnych rozwiązania (NFRs).

Wygenerowane błędy

Śledzenie błędów kodu odpowiedzi w celu mierzenia niezawodności usługi i zapewnienia wczesnego wykrywania problemów z usługą. Na przykład nagły wzrost liczby odpowiedzi na błędy serwera 500 może wskazywać na krytyczny problem, który wymaga natychmiastowej uwagi.

Środowisko: produkcja
Ułatwienia na platformie Azure: Machine Learning — włączanie dzienników ruchu punktów końcowych online w celu sprawdzenia informacji o żądaniu. Możesz na przykład sprawdzić liczbę identyfikatorów XRequestId przy użyciu metody ModelStatusCode lub ModelStatusReason. Do przetwarzania dzienników można użyć obszaru roboczego usługi Log Analytics.
Uwagi:

  • Wszystkie kody odpowiedzi HTTP w zakresie 400 i 500 są klasyfikowane jako błąd.

Optymalizacja kosztów

Zarządzanie kosztami i optymalizacja w środowisku chmury mają kluczowe znaczenie, ponieważ pomagają obciążenia kontrolować wydatki, efektywnie przydzielać zasoby i maksymalizować wartość swoich usług w chmurze.

Obliczenia obszaru roboczego

Gdy miesięczne wydatki operacyjne osiągną lub przekroczą wstępnie zdefiniowaną kwotę, wygeneruj alerty, aby powiadomić odpowiednich uczestników projektu, takich jak potencjalni klienci projektu lub właściciele projektów, na podstawie granic konfiguracji obszaru roboczego. Możesz określić konfigurację obszaru roboczego na podstawie granic projektu, zespołu lub działu.

Środowisko: wszystkie
Ułatwienia platformy Azure: Microsoft Cost Management — alerty budżetowe
Uwagi:

  • Ustaw progi budżetu na podstawie początkowych NFR i oszacowań kosztów.
  • Użyj wielu warstw progowych. Wiele warstw progowych zapewnia, że osoby biorące udział w projekcie otrzymają odpowiednie ostrzeżenie przed przekroczeniem budżetu. Osoby biorące udział w projekcie mogą obejmować potencjalnych klientów biznesowych, właścicieli projektów lub potencjalnych klientów projektu w zależności od organizacji lub obciążenia.
  • Spójne alerty budżetowe mogą być również wyzwalaczem refaktoryzacji w celu obsługi większego zapotrzebowania.
Nieaktualność obszaru roboczego

Jeśli obszar roboczy usługi Machine Learning nie pokazuje żadnych oznak aktywnego użycia na podstawie skojarzonego użycia obliczeniowego dla zamierzonego przypadku użycia, właściciel projektu może zlikwidować obszar roboczy, jeśli nie jest już potrzebny dla danego projektu.

Środowisko: przedprodukcyjny
Ułatwienia platformy Azure:

Uwagi:

  • Aktywne rdzenie powinny być równe zero z agregacją liczby.
  • Wyrównywanie progów dat do harmonogramu projektu.

Zabezpieczenia

Monitoruj, aby wykrywać odchylenia od odpowiednich mechanizmów kontroli zabezpieczeń i punktów odniesienia, aby upewnić się, że obszary robocze usługi Machine Learning są zgodne z zasadami zabezpieczeń organizacji. Można użyć kombinacji wstępnie zdefiniowanych i niestandardowych zasad.

Środowisko: wszystkie
Ułatwienia platformy Azure: Azure Policy for Machine Learning

Zabezpieczenia punktu końcowego

Aby uzyskać wgląd w interfejsy API krytyczne dla działania firmy, zaimplementuj ukierunkowane monitorowanie zabezpieczeń wszystkich punktów końcowych usługi Machine Learning. Możesz badać i ulepszać stan zabezpieczeń interfejsu API, ustalać priorytety poprawek luk w zabezpieczeniach i szybko wykrywać aktywne zagrożenia w czasie rzeczywistym.

Środowisko: produkcja
Ułatwienia platformy Azure: usługa Microsoft Defender dla interfejsów API oferuje szeroką ochronę, wykrywanie i pokrycie odpowiedzi dla interfejsów API. Uwagi: usługa Defender dla interfejsów API zapewnia zabezpieczenia interfejsów API publikowanych w usłudze Azure API Management. Usługę Defender dla interfejsów API można dołączyć w portalu Microsoft Defender dla Chmury lub w wystąpieniu usługi API Management w witrynie Azure Portal. Musisz zintegrować punkty końcowe online usługi Machine Learning z usługą API Management.

Monitorowanie wdrożenia

Monitorowanie wdrożenia zapewnia, że wszystkie punkty końcowe utworzone przez Ciebie są zgodne z zasadami obciążenia lub organizacji i są wolne od luk w zabezpieczeniach. Ten proces wymaga wymuszenia zasad zgodności na zasobach platformy Azure przed wdrożeniem i po wdrożeniu, zapewnienia ciągłego zabezpieczeń poprzez skanowanie luk w zabezpieczeniach i upewnienia się, że usługa spełnia cele SLO podczas działania.

Standardy i ład

Monitoruj, aby wykrywać odchylenia od odpowiednich standardów i upewnić się, że obciążenie jest zgodne z zabezpieczeniami.

Środowisko: wszystkie
Ułatwienia platformy Azure:

Uwagi: Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące zgodności z przepisami usługi Machine Learning na platformie Azure.

Skanowanie zabezpieczeń

Zaimplementuj zautomatyzowane skanowania zabezpieczeń w ramach zautomatyzowanych procesów integracji i wdrażania.

Środowisko: wszystkie
Ułatwienia platformy Azure: Defender For DevOps
Uwagi: możesz użyć aplikacji w witrynie Azure Marketplace , aby rozszerzyć ten proces na moduły testowania zabezpieczeń firmy innej niż Microsoft.

Bieżąca usługa

Monitoruj bieżącą usługę interfejsu API pod kątem optymalizacji wydajności, zabezpieczeń i użycia zasobów. Zapewnianie terminowego wykrywania błędów, wydajnego rozwiązywania problemów i zgodności ze standardami.

Środowisko: produkcja
Ułatwienia platformy Azure:

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Autorzy zabezpieczeń:

Inni współautorzy:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki