Współautorem tego wpisu na blogu jest Guillermo Ribeiro, starszy specjalista ds. danych w firmie Cepsa.
Uczenie maszynowe (ML) szybko ewoluowało z modnego trendu wyłaniającego się ze środowisk akademickich i działów innowacji w kluczowy sposób dostarczania wartości dla firm w każdej branży. To przejście od eksperymentów w laboratoriach do rozwiązywania rzeczywistych problemów w środowiskach produkcyjnych idzie w parze z MLOps, czyli adaptacja DevOps do świata ML.
MLOps pomaga usprawnić i zautomatyzować pełny cykl życia modelu ML, koncentrując się na źródłowych zestawach danych, odtwarzalności eksperymentów, kodzie algorytmu ML i jakości modelu.
At Cepsa, globalna firma energetyczna, używamy ML do rozwiązywania złożonych problemów w naszych branżach, od konserwacji predykcyjnej urządzeń przemysłowych po monitorowanie i ulepszanie procesów petrochemicznych w naszych rafineriach.
W tym poście omówimy, w jaki sposób zbudowaliśmy naszą architekturę referencyjną dla MLOps przy użyciu następujących kluczowych usług AWS:
- Amazon Sage Maker, usługa do tworzenia, trenowania i wdrażania modeli ML
- Funkcje kroków AWS, bezserwerowa usługa wizualnego przepływu pracy o niskim kodzie, służąca do organizowania i automatyzacji procesów
- Most zdarzeń Amazona, bezserwerowa magistrala zdarzeń
- AWS Lambda, bezserwerowej usługi obliczeniowej, która umożliwia uruchamianie kodu bez udostępniania serwerów ani zarządzania nimi
Wyjaśniamy również, w jaki sposób zastosowaliśmy tę architekturę referencyjną do ładowania nowych projektów ML w naszej firmie.
Wyzwanie
W ciągu ostatnich 4 lat wiele linii biznesowych w Cepsa uruchomiło projekty ML, ale wkrótce zaczęły pojawiać się pewne problemy i ograniczenia.
Nie mieliśmy architektury referencyjnej dla ML, więc każdy projekt podążał inną ścieżką implementacji, wykonując szkolenie i wdrażanie modelu ad hoc. Bez wspólnej metody obsługi kodu projektu i parametrów oraz bez rejestru modeli ML lub systemu wersjonowania straciliśmy możliwość śledzenia zestawów danych, kodu i modeli.
Wykryliśmy również możliwość ulepszeń w sposobie obsługi modeli w środowisku produkcyjnym, ponieważ nie monitorowaliśmy wdrożonych modeli i dlatego nie mieliśmy środków do śledzenia wydajności modeli. W rezultacie zwykle przekwalifikowaliśmy modele na podstawie harmonogramów, ponieważ brakowało nam odpowiednich metryk do podejmowania świadomych decyzji o przekwalifikowaniu.
rozwiązanie
Wychodząc od wyzwań, z którymi musieliśmy się zmierzyć, zaprojektowaliśmy ogólne rozwiązanie, które miało na celu oddzielenie przygotowania danych, trenowanie modeli, wnioskowanie i monitorowanie modeli oraz zawierało scentralizowany rejestr modeli. W ten sposób uprościliśmy zarządzanie środowiskami na wielu kontach AWS, wprowadzając jednocześnie scentralizowaną identyfikowalność modeli.
Nasi analitycy danych i programiści używają Chmura AWS9 (środowisko IDE w chmurze do pisania, uruchamiania i debugowania kodu) na potrzeby radzenia sobie z danymi i eksperymentowania z ML oraz GitHub jako repozytorium kodu Git.
Automatyczny przepływ pracy szkoleniowej wykorzystuje kod stworzony przez zespół ds. analityki danych, aby trenuj modele w SageMaker oraz rejestrowanie modeli wyjściowych w rejestrze modeli.
Inny przepływ pracy zarządza wdrażaniem modelu: uzyskuje odwołanie z rejestru modelu i tworzy punkt końcowy wnioskowania za pomocą Funkcje hostingu modelu SageMaker.
Wdrożyliśmy zarówno szkolenie modelowe, jak i przepływy pracy wdrożeniowe przy użyciu funkcji Step Functions, ponieważ zapewniły one elastyczną strukturę, która umożliwia tworzenie określonych przepływów pracy dla każdego projektu i w prosty sposób organizuje różne usługi i komponenty AWS.
Model zużycia danych
W firmie Cepsa korzystamy z szeregu jezior danych w celu zaspokojenia różnych potrzeb biznesowych, a wszystkie te jeziora danych mają wspólny model zużycia danych, który ułatwia inżynierom danych i analitykom danych znajdowanie i wykorzystywanie potrzebnych danych.
Aby łatwo obsługiwać koszty i obowiązki, środowiska Data Lake są całkowicie oddzielone od aplikacji producentów i konsumentów danych oraz wdrażane na różnych kontach AWS należących do wspólnej organizacji AWS.
Dane używane do trenowania modeli ML i dane używane jako dane wejściowe dla trenowanych modeli są udostępniane z różnych jezior danych za pośrednictwem zestawu dobrze zdefiniowanych interfejsów API przy użyciu Brama Amazon API, usługa do tworzenia, publikowania, utrzymywania, monitorowania i zabezpieczania interfejsów API na dużą skalę. Backend API wykorzystuje Amazonka Atena (interaktywna usługa zapytań do analizy danych przy użyciu standardowego SQL) w celu uzyskania dostępu do danych, które są już przechowywane w Usługa Amazon Simple Storage (Amazon S3) i skatalogowany w Klej AWS Katalog danych.
Poniższy diagram przedstawia ogólny przegląd architektury MLOps firmy Cepsa.
Szkolenie modelowe
Proces szkolenia jest niezależny dla każdego modelu i obsługiwany przez a Standardowy przepływ pracy Step Functions, co daje nam elastyczność w modelowaniu procesów w oparciu o różne wymagania projektowe. Mamy zdefiniowany szablon bazowy, którego używamy ponownie w większości projektów, dokonując w razie potrzeby drobnych korekt. Na przykład niektórzy właściciele projektów zdecydowali się dodać ręczne bramki w celu zatwierdzania wdrożeń nowych modeli produkcyjnych, podczas gdy inni właściciele projektów wdrożyli własne mechanizmy wykrywania błędów i ponawiania prób.
Wykonujemy również przekształcenia na wejściowych zestawach danych używanych do uczenia modeli. W tym celu wykorzystujemy funkcje Lambda, które są zintegrowane w obiegach szkoleniowych. W niektórych scenariuszach, w których wymagane są bardziej złożone transformacje danych, uruchamiamy nasz kod w Usługa Amazon Elastic Container Service (Amazon ECS) włączony AWS-Fargate, bezserwerowy aparat obliczeniowy do uruchamiania kontenerów.
Nasz zespół ds. analityki danych często korzysta z niestandardowych algorytmów, więc korzystamy z możliwości: używać niestandardowych kontenerów w szkoleniu modelu SageMaker, polegając na Rejestr elastycznego pojemnika Amazon (Amazon ECR), w pełni zarządzany rejestr kontenerów, który ułatwia przechowywanie, zarządzanie, udostępnianie i wdrażanie obrazów kontenerów.
Większość naszych projektów ML opiera się na bibliotece Scikit-learn, więc rozszerzyliśmy standard Pojemnik do nauki SageMaker Scikit aby uwzględnić zmienne środowiskowe wymagane dla projektu, takie jak informacje o repozytorium Git i opcje wdrażania.
Dzięki takiemu podejściu nasi specjaliści ds. danych muszą jedynie skupić się na opracowaniu algorytmu uczącego i określeniu bibliotek wymaganych przez projekt. Kiedy wprowadzają zmiany w kodzie do repozytorium Git, nasz system CI/CD (Jenkins hostowane na AWS) buduje kontener z kodem szkoleniowym i bibliotekami. Ten kontener jest przesyłany do Amazon ECR i ostatecznie przekazywany jako parametr do wywołania treningowego SageMaker.
Po zakończeniu procesu uczenia wynikowy model jest przechowywany w Amazon S3, odniesienie jest dodawane w rejestrze modeli, a wszystkie zebrane informacje i metryki są zapisywane w katalogu eksperymentów. Zapewnia to pełną odtwarzalność, ponieważ kod algorytmu i biblioteki są połączone z trenowanym modelem wraz z danymi skojarzonymi z eksperymentem.
Poniższy diagram ilustruje proces uczenia i ponownego uczenia modelu.
Wdrożenie modelu
Architektura jest elastyczna i umożliwia zarówno automatyczne, jak i ręczne wdrażanie trenowanych modeli. Przepływ pracy wdrażania modelu jest wywoływany automatycznie za pomocą zdarzenia, które szkolenie SageMaker publikuje w EventBridge po zakończeniu szkolenia, ale w razie potrzeby można go również wywołać ręcznie, przekazując odpowiednią wersję modelu z rejestru modeli. Aby uzyskać więcej informacji na temat automatycznego wywoływania, zobacz Automatyzacja Amazon SageMaker za pomocą Amazon EventBridge.
Przepływ pracy dotyczący wdrażania modelu pobiera informacje o modelu z rejestru modeli i używa Tworzenie chmury AWS, zarządzana infrastruktura jako usługa kodu, aby wdrożyć model w punkcie końcowym wnioskowania w czasie rzeczywistym lub wykonać wnioskowanie wsadowe z przechowywanym zestawem danych wejściowych, w zależności od wymagań projektu.
Za każdym razem, gdy model zostanie pomyślnie wdrożony w dowolnym środowisku, rejestr modeli jest aktualizowany o nowy tag wskazujący, w których środowiskach model jest aktualnie uruchomiony. Za każdym razem, gdy punkt końcowy jest usuwany, jego znacznik jest również usuwany z rejestru modelu.
Poniższy diagram przedstawia przepływ pracy dla wdrażania i wnioskowania modelu.
Eksperymenty i rejestr modeli
Przechowywanie każdego eksperymentu i wersji modelu w jednej lokalizacji oraz posiadanie scentralizowanego repozytorium kodu pozwala nam oddzielić szkolenie i wdrażanie modelu oraz korzystać z różnych kont AWS dla każdego projektu i środowiska.
Wszystkie wpisy eksperymentu przechowują identyfikator zatwierdzenia kodu uczącego i wnioskowania, dzięki czemu mamy pełną identyfikowalność całego procesu eksperymentalnego i jesteśmy w stanie łatwo porównywać różne eksperymenty. Uniemożliwia nam to wykonywanie zdublowanych prac w fazie eksploracji naukowej algorytmów i modeli oraz umożliwia nam wdrażanie naszych modeli w dowolnym miejscu, niezależnie od konta i środowiska, w którym model został przeszkolony. Dotyczy to również modeli wytrenowanych w naszym środowisku eksperymentalnym AWS Cloud9.
Podsumowując, mamy w pełni zautomatyzowane potoki uczenia modeli i wdrażania, a także zapewniamy elastyczność wykonywania szybkich, ręcznych wdrożeń modeli, gdy coś nie działa poprawnie lub gdy zespół potrzebuje modelu wdrożonego w innym środowisku do celów eksperymentalnych.
Szczegółowy przypadek użycia: projekt YET Dragon
Projekt YET Dragon ma na celu poprawę wydajności produkcyjnej zakładu petrochemicznego Cepsa w Szanghaju. Aby osiągnąć ten cel, dokładnie przestudiowaliśmy proces produkcji, szukając mniej wydajnych etapów. Naszym celem było zwiększenie wydajności procesów poprzez utrzymywanie stężenia składników dokładnie poniżej progu.
Aby zasymulować ten proces, zbudowaliśmy cztery uogólnione modele addytywne lub GAM, modele liniowe, których odpowiedź zależy od gładkich funkcji zmiennych predykcyjnych, aby przewidzieć wyniki dwóch procesów utleniania, jednego procesu koncentracji i wspomnianej wydajności. Zbudowaliśmy również optymalizator do przetwarzania wyników czterech modeli GAM i znajdowania najlepszych optymalizacji, które można zastosować w zakładzie.
Chociaż nasze modele są uczone na danych historycznych, zakład może czasami działać w okolicznościach, które nie zostały zarejestrowane w uczącym zestawie danych; Spodziewamy się, że nasze modele symulacyjne nie będą działać dobrze w tych scenariuszach, więc zbudowaliśmy również dwa modele wykrywania anomalii przy użyciu algorytmów Isolation Forests, które określają, jak daleko znajdują się punkty danych od pozostałych danych w celu wykrycia anomalii. Modele te pomagają nam wykrywać takie sytuacje i wyłączać zautomatyzowane procesy optymalizacji za każdym razem, gdy tak się dzieje.
Przemysłowe procesy chemiczne są bardzo zmienne, a modele ML muszą być dobrze dopasowane do działania zakładu, dlatego wymagane jest częste przeszkolenie, a także identyfikowalność modeli wdrożonych w każdej sytuacji. YET Dragon był naszym pierwszym projektem optymalizacji uczenia maszynowego, który zawierał rejestr modeli, pełną odtwarzalność eksperymentów oraz w pełni zarządzany zautomatyzowany proces uczenia.
Teraz kompletny potok, który wprowadza model do produkcji (transformacja danych, trenowanie modelu, śledzenie eksperymentu, rejestr modelu i wdrażanie modelu) jest niezależny dla każdego modelu ML. Pozwala nam to na iteracyjne ulepszanie modeli (na przykład dodawanie nowych zmiennych lub testowanie nowych algorytmów) oraz łączenie etapów uczenia i wdrażania z różnymi wyzwalaczami.
Wyniki i przyszłe ulepszenia
Obecnie jesteśmy w stanie automatycznie trenować, wdrażać i śledzić sześć modeli ML używanych w projekcie YET Dragon, a wdrożyliśmy już ponad 30 wersji dla każdego z modeli produkcyjnych. Ta architektura MLOps została rozszerzona na setki modeli ML w innych projektach w firmie.
Planujemy dalsze uruchamianie nowych projektów YET opartych na tej architekturze, która skróciła średni czas trwania projektu o 25%, dzięki skróceniu czasu ładowania początkowego i automatyzacji potoków ML. Oszacowaliśmy również oszczędności na około 300,000 XNUMX euro rocznie dzięki zwiększeniu plonów i koncentracji, które są bezpośrednim wynikiem projektu YET Dragon.
Krótkoterminowa ewolucja tej architektury MLOps zmierza w kierunku monitorowania modeli i zautomatyzowanych testów. Planujemy automatyczne testowanie wydajności modelu względem wcześniej wdrożonych modeli przed wdrożeniem nowego modelu. Pracujemy również nad wdrożeniem monitorowania modeli i wnioskowania monitorowania dryfu danych za pomocą Monitor modelu Amazon SageMaker, w celu zautomatyzowania ponownego uczenia modelu.
Wnioski
Firmy stoją przed wyzwaniem wprowadzenia swoich projektów ML do produkcji w sposób zautomatyzowany i wydajny. Automatyzacja pełnego cyklu życia modelu ML pomaga skrócić czas realizacji projektu i zapewnia lepszą jakość modelu oraz szybsze i częstsze wdrożenia w środowisku produkcyjnym.
Opracowując znormalizowaną architekturę MLOps, która została przyjęta przez różne firmy w całej firmie, w firmie Cepsa byliśmy w stanie przyspieszyć uruchamianie projektów ML i poprawić jakość modelu ML, zapewniając niezawodną i zautomatyzowaną platformę, na której nasze zespoły zajmujące się analizą danych mogą szybciej wprowadzać innowacje .
Aby uzyskać więcej informacji o MLOps w SageMaker, odwiedź Amazon SageMaker dla MLOps i sprawdź inne przypadki użycia klientów w Blog dotyczący uczenia maszynowego AWS.
O autorach
Guillermo Ribeiro Jiménez jest Sr Data Scientist w firmie Cepsa z tytułem doktora. w fizyce jądrowej. Posiada 6-letnie doświadczenie w projektach data science, głównie w branży telekomunikacyjnej i energetycznej. Obecnie kieruje zespołami data science w dziale Digital Transformation firmy Cepsa, koncentrując się na skalowaniu i uproduktowieniu projektów uczenia maszynowego.
Guillermo Menéndez Corral jest architektem rozwiązań w AWS Energy and Utilities. Ma ponad 15-letnie doświadczenie w projektowaniu i budowaniu aplikacji SW, a obecnie dostarcza wskazówek architektonicznych klientom AWS w branży energetycznej, z naciskiem na analitykę i uczenie maszynowe.
- Coinsmart. Najlepsza w Europie giełda bitcoinów i kryptowalut.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. DARMOWY DOSTĘP.
- CryptoJastrząb. Radar Altcoin. Bezpłatna wersja próbna.
- Źródło: https://aws.amazon.com/blogs/machine-learning/how-cepsa-used-amazon-sagemaker-and-aws-step-functions-to-industrialize-their-ml-projects-and-operate- ich-modele-w-skali/
- "
- 000
- 100
- 15 roku
- a
- zdolność
- O nas
- dostęp
- Konto
- Osiągać
- w poprzek
- Ad
- w dodatku
- Korzyść
- przed
- algorytm
- Algorytmy
- Wszystkie kategorie
- pozwala
- już
- Amazonka
- wśród
- analityka
- w czasie rzeczywistym sprawiają,
- nigdzie
- api
- Pszczoła
- aplikacje
- stosowany
- podejście
- Zatwierdzać
- architektoniczny
- architektura
- na około
- powiązany
- zautomatyzować
- zautomatyzowane
- automatycznie
- automatycznie
- automatyzacja
- Automatyzacja
- dostępny
- AWS
- bo
- staje
- zanim
- jest
- poniżej
- BEST
- Blog
- budować
- Budowanie
- Buduje
- biznes
- biznes
- walizka
- Etui
- scentralizowane
- pewien
- wyzwanie
- wyzwania
- chemiczny
- Chmura
- kod
- popełnić
- wspólny
- sukcesy firma
- kompletny
- całkowicie
- kompleks
- składnik
- składniki
- obliczać
- stężenie
- Skontaktuj się
- konsumować
- konsument
- konsumpcja
- Pojemnik
- Pojemniki
- Koszty:
- mógłby
- pokrywa
- Stwórz
- tworzy
- tworzenie
- Obecnie
- zwyczaj
- klient
- Klientów
- dane
- nauka danych
- naukowiec danych
- postanowiła
- Decyzje
- W zależności
- zależy
- rozwijać
- wdrażane
- Wdrożenie
- wdrożenia
- zaprojektowany
- projektowanie
- szczegółowe
- wykryte
- Wykrywanie
- Ustalać
- deweloperzy
- rozwijanie
- różne
- cyfrowy
- cyfrowy Transformacja
- kierować
- dyskutować
- smok
- każdy
- z łatwością
- efektywność
- wydajny
- wschodzących
- Umożliwia
- Punkt końcowy
- energia
- silnik
- Inżynierowie
- Środowisko
- sprzęt
- szacunkowa
- wydarzenie
- ewolucja
- dokładnie
- przykład
- oczekiwać
- doświadczenie
- eksperyment
- eksploracja
- okładzina
- FAST
- szybciej
- Cecha
- polecane
- W końcu
- i terminów, a
- Elastyczność
- elastyczne
- Skupiać
- następujący
- Framework
- od
- pełny
- Funkcje
- przyszłość
- Bramy
- Ogólne
- git
- GitHub
- Globalne
- cel
- uchwyt
- mający
- pomoc
- pomaga
- wysoko
- historyczny
- posiada
- hostowane
- Hosting
- W jaki sposób
- HTTPS
- Setki
- zdjęcia
- realizacja
- realizowane
- podnieść
- poprawa
- poprawy
- W innych
- zawierać
- Zwiększać
- niezależny
- niezależnie
- przemysłowy
- przemysł
- Informacja
- poinformowany
- Infrastruktura
- Innowacja
- wkład
- zintegrowany
- interaktywne
- wprowadzenie
- izolacja
- problemy
- IT
- Trzymać
- konserwacja
- Klawisz
- wodowanie
- prowadzący
- nauka
- Biblioteka
- linie
- lokalizacja
- poszukuje
- maszyna
- uczenie maszynowe
- zrobiony
- utrzymać
- konserwacja
- robić
- WYKONUJE
- zarządzanie
- zarządzane
- zarządzający
- sposób
- podręcznik
- ręcznie
- znaczy
- Metryka
- ML
- model
- modele
- monitor
- monitorowanie
- jeszcze
- większość
- wielokrotność
- wymagania
- działać
- działanie
- optymalizacja
- Opcje
- zamówienie
- organizacja
- Inne
- własny
- właściciele
- Przechodzący
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- wykonywania
- faza
- Fizyka
- zwrotnica
- przewidzieć
- problemy
- wygląda tak
- procesów
- producent
- Produkcja
- projekt
- projektowanie
- pod warunkiem,
- zapewnia
- że
- publikować
- cel
- cele
- popychany
- jakość
- w czasie rzeczywistym
- zmniejszyć
- zarejestrować
- zarejestrowany
- rzetelny
- składnica
- wymagany
- wymagania
- odpowiedź
- obowiązki
- REST
- wynikły
- Efekt
- run
- bieganie
- Skala
- skalowaniem
- nauka
- Naukowiec
- Naukowcy
- bezpieczne
- Serie
- Bezserwerowe
- usługa
- Usługi
- zestaw
- Szanghaj
- Share
- krótkoterminowy
- Prosty
- symulacja
- pojedynczy
- sytuacja
- SIX
- So
- rozwiązanie
- Rozwiązania
- kilka
- coś
- specyficzny
- prędkość
- etapy
- standard
- rozpoczęty
- przechowywanie
- sklep
- opływowy
- Z powodzeniem
- system
- cel
- zespół
- Zespoły
- Telco
- test
- Testowanie
- Połączenia
- Źródło
- w związku z tym
- całkowicie
- próg
- Przez
- czas
- czasy
- w kierunku
- Możliwość śledzenia
- śledzić
- Śledzenie
- Trening
- Transformacja
- przemiany
- przejście
- dla
- us
- posługiwać się
- zazwyczaj
- Użytkowe
- wartość
- wersja
- dobrze zdefiniowane
- Podczas
- bez
- Praca
- przepływów pracy
- pracujący
- świat
- pisanie
- rok
- lat
- Wydajność