W miarę jak przedsiębiorstwa przechodzą od uruchamiania modeli uczenia maszynowego ad hoc (ML) do używania AI/ML do przekształcania swojej działalności na dużą skalę, przyjęcie operacji ML (MLOps) staje się nieuniknione. Jak pokazano na poniższym rysunku, cykl życia ML rozpoczyna się od sformułowania problemu biznesowego jako przypadku użycia ML, po którym następuje szereg etapów, w tym przygotowanie danych, inżynieria funkcji, budowanie modelu, wdrażanie, ciągłe monitorowanie i ponowne szkolenie. Dla wielu przedsiębiorstw wiele z tych kroków jest nadal ręcznych i luźno ze sobą zintegrowanych. Dlatego ważne jest, aby zautomatyzować cykl życia kompleksowej ML, co umożliwia częste eksperymenty w celu uzyskania lepszych wyników biznesowych. Przygotowanie danych jest jednym z kluczowych kroków w tym cyklu życia, ponieważ dokładność modelu ML zależy od jakości zestawu danych szkoleniowych.
Naukowcy zajmujący się danymi i inżynierowie ML spędzają około 70–80% czasu na gromadzeniu, analizowaniu, czyszczeniu i przekształcaniu danych wymaganych do uczenia modeli. Pogromca danych Amazon SageMaker jest w pełni zarządzaną zdolnością Amazon Sage Maker dzięki temu naukowcy zajmujący się danymi i inżynierowie ML mogą szybciej analizować i przygotowywać dane do swoich projektów ML przy niewielkiej ilości kodu lub bez niego. Jeśli chodzi o operacjonalizację kompleksowego cyklu życia ML, przygotowanie danych jest prawie zawsze pierwszym krokiem w procesie. Biorąc pod uwagę, że istnieje wiele sposobów na zbudowanie kompleksowego potoku ML, w tym poście omówimy, w jaki sposób można łatwo zintegrować Data Wrangler z niektórymi znanymi technologiami automatyzacji i orkiestracji przepływu pracy.
Omówienie rozwiązania
W tym poście pokazujemy, jak użytkownicy mogą zintegrować przygotowanie danych za pomocą Data Wrangler z Rurociągi Amazon SageMaker, Funkcje kroków AWS, Przepływ powietrza Apache w Przepływ pracy zarządzany przez Amazon dla Apache Airflow (Amazonka MWAA). Pipelines to funkcja SageMaker, która jest specjalnie stworzoną i łatwą w użyciu usługą ciągłej integracji i ciągłego dostarczania (CI/CD) dla ML. Step Functions to bezserwerowa, wizualna usługa przepływu pracy o niskim kodzie, używana do organizowania usług AWS i automatyzacji procesów biznesowych. Amazon MWAA to zarządzana usługa aranżacji dla Apache Airflow, która ułatwia obsługę kompleksowych danych i potoków ML.
W celach demonstracyjnych rozważamy przypadek użycia w celu przygotowania danych do trenowania modelu ML za pomocą wbudowanego programu SageMaker Algorytm XGBoost które pomogą nam zidentyfikować fałszywe roszczenia z tytułu ubezpieczenia pojazdu. Wykorzystaliśmy syntetycznie wygenerowany zestaw przykładowych danych, aby wytrenować model i stworzyć model SageMaker przy użyciu artefaktów modelu z procesu uczenia. Naszym celem jest zoperacjonalizowanie tego procesu od początku do końca poprzez skonfigurowanie przepływu pracy ML. Chociaż przepływy pracy ML mogą być bardziej skomplikowane, używamy minimalnego przepływu pracy do celów demonstracyjnych. Pierwszym etapem przepływu pracy jest przygotowanie danych za pomocą Data Wrangler, po którym następuje etap uczenia modelu, a na końcu etap tworzenia modelu. Poniższy diagram ilustruje przepływ pracy naszego rozwiązania.
W kolejnych sekcjach przeprowadzimy Cię przez proces konfigurowania przepływu Data Wrangler i integrowania Data Wranglera z potokami, funkcjami krokowymi i przepływem powietrza Apache.
Skonfiguruj przepływ Data Wranglera
Zaczynamy od utworzenia przepływu Data Wrangler, zwanego również a przepływ danychStosując interfejs przepływu danych za pośrednictwem Studio Amazon SageMaker IDE. Nasz przykładowy zbiór danych składa się z dwóch plików danych: roszczenia.csv i klienci.csv, które są przechowywane w Usługa Amazon Simple Storage (Amazonka S3) wiadro. Używamy interfejsu przepływu danych, aby zastosować Data Wrangler wbudowane przekształcenia takie kodowanie kategoryczne, formatowanie ciągów i przypisywanie kolumnom funkcji w każdym z tych plików. Aplikujemy również transformacja niestandardowa do kilku kolumn funkcji przy użyciu kilku linijek niestandardowego kodu Pythona z Pandy DataFrame. Poniższy zrzut ekranu przedstawia przekształcenia zastosowane do pliku claim.csv w interfejsie użytkownika przepływu danych.
Na koniec łączymy wyniki zastosowanych przekształceń dwóch plików danych, aby wygenerować jeden zestaw danych szkoleniowych dla naszego szkolenia modelu. Używamy wbudowanego modułu Data Wrangler dołącz do zbiorów danych możliwość, która pozwala nam wykonywać operacje łączenia podobne do SQL na danych tabelarycznych. Poniższy zrzut ekranu przedstawia przepływ danych w interfejsie użytkownika przepływu danych w Studio. Aby uzyskać instrukcje krok po kroku dotyczące tworzenia przepływu danych za pomocą narzędzia Data Wrangler, zobacz Repozytorium GitHub.
Możesz teraz używać pliku przepływu danych (.flow) do przeprowadzania transformacji danych w naszych plikach danych pierwotnych. Interfejs użytkownika przepływu danych może automatycznie generować notatniki Pythona, które możemy wykorzystać i zintegrować bezpośrednio z Pipelines za pomocą pakietu SageMaker SDK. W przypadku funkcji krokowych używamy Funkcje krokowe AWS Data Science Python SDK aby zintegrować nasze przetwarzanie Data Wrangler z potokiem Step Functions. W przypadku Amazon MWAA używamy niestandardowy operator przepływu powietrza oraz Operator Airflow SageMaker. Omówimy szczegółowo każde z tych podejść w kolejnych sekcjach.
Zintegruj Data Wrangler z Pipelines
SageMaker Pipelines to natywne narzędzie do aranżacji przepływu pracy do tworzenia potoków ML, które wykorzystują bezpośrednią integrację z SageMaker. Razem z Rejestr modeli SageMaker, Pipelines poprawia odporność operacyjną i odtwarzalność przepływów pracy ML. Te komponenty automatyzacji przepływu pracy umożliwiają łatwe skalowanie zdolności do budowania, trenowania, testowania i wdrażania setek modeli w środowisku produkcyjnym; iterować szybciej; zmniejszyć błędy wynikające z ręcznej orkiestracji; i buduj powtarzalne mechanizmy. Każdy krok w potoku może śledzić rodowód, a kroki pośrednie mogą być buforowane w celu szybkiego ponownego uruchomienia potoku. Możesz tworzyć potoki za pomocą SageMaker Python SDK.
Przepływ pracy zbudowany za pomocą potoków SageMaker składa się z sekwencji kroków tworzących ukierunkowany wykres acykliczny (DAG). W tym przykładzie zaczynamy od a etap przetwarzania, który prowadzi a Zadanie przetwarzania SageMaker na podstawie pliku przepływu Data Wranglera, aby utworzyć treningowy zestaw danych. Następnie kontynuujemy z krok treningowy, w którym trenujemy model XGBoost przy użyciu wbudowanego algorytmu XGBoost programu SageMaker i zestawu danych uczących utworzonego w poprzednim kroku. Po przeszkoleniu modelu kończymy ten przepływ pracy z Zarejestruj krok modelu aby zarejestrować wyszkolony model w rejestrze modeli SageMaker.
Instalacja i przewodnik
Aby uruchomić ten przykład, używamy notatnika Jupyter z uruchomionym Python3 na obrazie jądra Data Science w środowisku Studio. Możesz również uruchomić go na instancji notatnika Jupyter lokalnie na swoim komputerze, konfigurując poświadczenia, aby przejąć rolę wykonawczą SageMaker. Notebook jest lekki i można go uruchomić na instancji ml.t3.medium. Szczegółowe instrukcje krok po kroku można znaleźć w Repozytorium GitHub.
Możesz użyć funkcji eksportu w Data Wrangler do wygenerowania kodu Pipelines lub zbudować własny skrypt od podstaw. W naszym przykładowym repozytorium używamy kombinacji obu podejść dla uproszczenia. Poniżej przedstawiono ogólne kroki tworzenia i uruchamiania przepływu pracy Pipelines:
- Wygeneruj plik przepływu z narzędzia Data Wrangler lub użyj skryptu konfiguracji, aby wygenerować plik przepływu ze wstępnie skonfigurowanego szablonu.
- Tworzenie Usługa Amazon Simple Storage (Amazon S3) i prześlij plik przepływu oraz pliki wejściowe do zasobnika. W naszym przykładowym notatniku używamy domyślnego zasobnika SageMaker S3.
- Postępuj zgodnie z instrukcjami w notatniku, aby utworzyć obiekt Processor na podstawie pliku przepływu Data Wrangler oraz obiekt Estimator z parametrami zadania szkoleniowego.
- W naszym przykładzie, ponieważ używamy tylko funkcji SageMaker i domyślnego zasobnika S3, możemy użyć domyślnej roli wykonawczej Studio. Ten sam AWS Zarządzanie tożsamością i dostępem Rola (IAM) jest przyjmowana przez uruchomienie potoku, zadanie przetwarzania i zadanie szkoleniowe. Możesz dalej dostosować rolę wykonawczą zgodnie z minimalnymi uprawnieniami.
- Kontynuuj wykonywanie instrukcji, aby utworzyć potok z krokami odwołującymi się do obiektów Processor i Estimator, a następnie uruchom potok. Zadania przetwarzania i szkolenia działają w środowiskach zarządzanych przez SageMaker i trwają kilka minut.
- W Studio możesz zobaczyć szczegóły potoku monitorujące uruchomienie potoku. Możesz także monitorować podstawowe zadania przetwarzania i szkolenia z konsoli SageMaker lub z Amazon Cloud Watch.
Zintegruj Data Wrangler z funkcjami krokowymi
Dzięki Step Functions możesz wyrazić złożoną logikę biznesową jako niskokodowe, sterowane zdarzeniami przepływy pracy, które łączą różne usługi AWS. The Funkcje krokowe SDK do analizy danych to biblioteka typu open source, która umożliwia analitykom danych tworzenie przepływów pracy, które mogą wstępnie przetwarzać zestawy danych oraz budować, wdrażać i monitorować modele ML za pomocą programów SageMaker i Step Functions. Funkcje krokowe są oparte na maszynach stanowych i zadaniach. Step Functions tworzy przepływy pracy z kroków zwanych państwai wyraża, że przepływ pracy w Język stanów Amazonii. Podczas tworzenia przepływu pracy przy użyciu zestawu SDK funkcji Step Functions Data Science tworzy automat stanów reprezentujący przepływ pracy i kroki w funkcjach kroku.
W tym przypadku użycia zbudowaliśmy przepływ pracy Step Functions w oparciu o typowy wzorzec użyty w tym poście, który obejmuje krok przetwarzania, krok szkolenia i RegisterModel
krok. W takim przypadku importujemy te kroki z zestawu SDK Step Functions Data Science Python. Łączymy te kroki w tej samej kolejności, aby utworzyć przepływ pracy funkcji kroków. Przepływ pracy korzysta z pliku przepływu, który został wygenerowany z narzędzia Data Wrangler, ale można również użyć własnego pliku przepływu Data Wrangler. Ponownie wykorzystujemy kod z Data Wranglera funkcja eksportu dla prostoty. Uruchamiamy logikę wstępnego przetwarzania danych wygenerowaną przez plik przepływu Data Wrangler, aby utworzyć treningowy zestaw danych, trenować model przy użyciu algorytmu XGBoost i zapisać przeszkolony artefakt modelu jako model SageMaker. Dodatkowo w repozytorium GitHub pokazujemy również, w jaki sposób Step Functions pozwala nam próbować wyłapywać błędy oraz obsługiwać awarie i ponawianie prób za pomocą FailStateStep
i CatchStateStep
.
Wynikowy diagram przepływu, jak pokazano na poniższym zrzucie ekranu, jest dostępny w konsoli Funkcje kroku po uruchomieniu przepływu pracy. Pomaga to analitykom danych i inżynierom wizualizować cały przepływ pracy i każdy jego krok oraz uzyskiwać dostęp do połączonych dzienników CloudWatch dla każdego kroku.
Instalacja i przewodnik
Aby uruchomić ten przykład, używamy notatnika Pythona działającego z jądrem Data Science w środowisku Studio. Możesz również uruchomić go na instancji notatnika Python lokalnie na swoim komputerze, konfigurując poświadczenia, aby przejąć rolę wykonawczą SageMaker. Notebook jest lekki i można go uruchomić na przykład na średniej instancji t3. Szczegółowe instrukcje krok po kroku można znaleźć w Repozytorium GitHub.
Możesz użyć funkcji eksportu w Data Wranglerze, aby wygenerować kod potoków i zmodyfikować go dla funkcji kroków lub zbudować własny skrypt od podstaw. W naszym przykładowym repozytorium używamy kombinacji obu podejść dla uproszczenia. Poniżej przedstawiono ogólne kroki tworzenia i uruchamiania przepływu pracy Funkcje kroku:
- Wygeneruj plik przepływu z narzędzia Data Wrangler lub użyj skryptu konfiguracji, aby wygenerować plik przepływu ze wstępnie skonfigurowanego szablonu.
- Utwórz zasobnik S3 i prześlij plik przepływu oraz pliki wejściowe do zasobnika.
- Skonfiguruj swoją rolę wykonawczą SageMaker z wymaganymi uprawnieniami, jak wspomniano wcześniej. Zapoznaj się z repozytorium GitHub, aby uzyskać szczegółowe instrukcje.
- Postępuj zgodnie z instrukcjami, aby uruchomić notatnik w repozytorium, aby rozpocząć przepływ pracy. Zadanie przetwarzania działa w środowisku Spark zarządzanym przez SageMaker i może potrwać kilka minut.
- Przejdź do konsoli Step Functions i śledź przepływ pracy wizualnie. Możesz również przejść do połączonych dzienników CloudWatch, aby debugować błędy.
Przyjrzyjmy się tutaj kilku ważnym fragmentom kodu. Aby zdefiniować przepływ pracy, najpierw definiujemy kroki w przepływie pracy dla automatu stanu Funkcja kroku. Pierwszym krokiem jest data_wrangler_step
do przetwarzania danych, który używa pliku przepływu Data Wrangler jako danych wejściowych do przekształcenia plików nieprzetworzonych danych. Definiujemy również krok uczenia modelu oraz krok tworzenia modelu o nazwie training_step
i model_step
, odpowiednio. Na koniec tworzymy przepływ pracy, łącząc wszystkie utworzone przez nas kroki, jak pokazano w poniższym kodzie:
W naszym przykładzie zbudowaliśmy przepływ pracy tak, aby przyjmował nazwy zadań jako parametry, ponieważ są one unikatowe i muszą być generowane losowo podczas każdego uruchomienia potoku. Te nazwy przekazujemy po uruchomieniu przepływu pracy. Możesz także zaplanować przepływ pracy Step Functions, który będzie uruchamiany za pomocą CloudWatch (zobacz Zaplanuj bezserwerowy przepływ pracy z AWS Step Functions i Amazon CloudWatch), wywołany za pomocą Wydarzenia Amazon S3, lub wywoływany z Most zdarzeń Amazona (Patrz Utwórz regułę EventBridge, która wyzwala przepływ pracy Step Functions). W celach demonstracyjnych możemy wywołać przepływ pracy funkcji Step Functions z interfejsu użytkownika konsoli funkcji Step Functions lub przy użyciu poniższego kodu z notesu.
Zintegruj Data Wrangler z Apache Airflow
Innym popularnym sposobem tworzenia przepływów pracy ML jest użycie Apache Airflow. Apache Airflow to platforma typu open source, która umożliwia programowe tworzenie, planowanie i monitorowanie przepływów pracy. Amazon MWAA ułatwia konfigurowanie i obsługę kompleksowych potoków ML z Apache Airflow w chmurze na dużą skalę. Potok przepływu powietrza składa się z sekwencji zadań, określanych również jako workflow. Przepływ pracy jest zdefiniowany jako DAG, który hermetyzuje zadania i zależności między nimi, definiując sposób ich działania w ramach przepływu pracy.
Stworzyliśmy Airflow DAG w środowisku Amazon MWAA, aby wdrożyć nasz przepływ pracy MLOps. Każde zadanie w przepływie pracy jest wykonywalną jednostką napisaną w języku programowania Python, która wykonuje jakąś akcję. Zadanie może być operator lub czujnik. W naszym przypadku używamy an Operator Airflow Python oraz SageMaker SDK dla Pythona uruchomić skrypt Data Wrangler Python i korzystać z natywnie obsługiwanej przez Airflow Operatorzy SageMakera do trenowania wbudowanego algorytmu SageMaker XGBoost i tworzenia modelu z powstałych artefaktów. Stworzyliśmy również pomocny niestandardowy operator Data Wrangler (SageMakerDataWranglerOperator
) dla Apache Airflow, którego można używać do przetwarzania plików przepływu Data Wrangler w celu przetwarzania danych bez konieczności stosowania dodatkowego kodu.
Poniższy zrzut ekranu przedstawia Airflow DAG z pięcioma etapami implementacji naszego przepływu pracy MLOps.
Krok Start używa operatora Pythona do inicjowania konfiguracji dla pozostałych kroków w przepływie pracy. SageMaker_DataWrangler_Step
zastosowania SageMakerDataWranglerOperator
oraz plik przepływu danych, który utworzyliśmy wcześniej. SageMaker_training_step
i SageMaker_create_model_step
użyj wbudowanych operatorów SageMaker do trenowania modeli i tworzenia modeli. Nasze środowisko Amazon MWAA używa najmniejszego typu instancji (mw1.small), ponieważ większość przetwarzania odbywa się za pośrednictwem zadań przetwarzania, które używają własnego typu instancji, który można zdefiniować jako parametry konfiguracyjne w ramach przepływu pracy.
Instalacja i przewodnik
Szczegółowe instrukcje instalacji krok po kroku dotyczące wdrożenia tego rozwiązania można znaleźć w naszym Repozytorium GitHub. Do skonfigurowania Airflow DAG użyliśmy notatnika Jupyter z komórkami kodu Pythona. Zakładając, że już wygenerowałeś plik przepływu danych, poniżej znajduje się ogólny przegląd kroków instalacji:
- Utwórz wiadro S3 i kolejne foldery wymagane przez Amazon MWAA.
- Stwórz środowisko Amazon MWAA. Zauważ, że w tym rozwiązaniu użyliśmy wersji Airflow 2.0.2.
- Utwórz i prześlij
requirements.txt
plik ze wszystkimi zależnościami Pythona wymaganymi przez zadania Airflow i prześlij go do/requirements
katalog w głównym zasobniku S3 Amazon MWAA. Jest to używane przez zarządzane środowisko Airflow do instalowania zależności Pythona. - Prześlij plik
SMDataWranglerOperator.py
plik do/dags
informator. Ten skrypt w języku Python zawiera kod niestandardowego operatora przepływu powietrza dla Data Wrangler. Ten operator może służyć do zadań przetwarzających dowolny plik .flow. - Utwórz i prześlij
config.py
skrypt do/dags
informator. Ten skrypt Pythona jest używany w pierwszym kroku naszego DAG do tworzenia obiektów konfiguracyjnych wymaganych przez pozostałe kroki przepływu pracy. - Na koniec utwórz i prześlij
ml_pipelines.py
plik do/dags
informator. Ten skrypt zawiera definicję DAG dla przepływu pracy Airflow. Tutaj definiujemy każde z zadań i ustalamy zależności między nimi. Amazon MWAA okresowo przeprowadza sondaże/dags
katalogu, aby uruchomić ten skrypt, aby utworzyć DAG lub zaktualizować istniejący z najnowszymi zmianami.
Poniżej znajduje się kod dla SageMaker_DataWrangler_step
, który wykorzystuje zwyczaj SageMakerDataWranglerOperator
. Wystarczy kilka wierszy kodu w skrypcie Python definicji DAG, aby wskazać SageMakerDataWranglerOperator
do lokalizacji pliku przepływu Data Wrangler (która jest lokalizacją S3). Za kulisami ten operator używa Praca w SageMaker Przetwarzanie do przetworzenia pliku .flow w celu zastosowania zdefiniowanych transformacji do plików surowych danych. Możesz również określić rodzaj instancji i liczba instancji potrzebnych do zadania przetwarzania Data Wrangler.
Połączenia config
parametr akceptuje słownik (pary klucz-wartość) dodatkowych konfiguracji wymaganych przez zadanie przetwarzania, takich jak prefiks wyjściowy końcowego pliku wyjściowego, typ pliku wyjściowego (CSV lub Parquet) oraz identyfikator URI wbudowanego kontenera Data Wrangler obraz. Poniższy kod jest tym, co config
słownik dla SageMakerDataWranglerOperator
wygląda jak. Te konfiguracje są wymagane do przetwarzania SageMaker edytor. Aby uzyskać szczegółowe informacje na temat każdego z tych parametrów konfiguracyjnych, zobacz mędrzec.przetwarzanie.Procesor().
Sprzątać
Aby uniknąć ponoszenia przyszłych opłat, usuń zasoby utworzone dla wdrożonych rozwiązań.
- Wykonaj następujące czynności instrukcje udostępniony w repozytorium GitHub w celu oczyszczenia zasobów utworzonych przez rozwiązanie SageMaker Pipelines.
- Wykonaj następujące czynności instrukcje udostępniony w repozytorium GitHub w celu oczyszczenia zasobów utworzonych przez rozwiązanie Step Functions.
- Wykonaj następujące czynności instrukcje udostępniony w repozytorium GitHub w celu oczyszczenia zasobów utworzonych przez rozwiązanie Amazon MWAA.
Wnioski
Ten post pokazał, jak łatwo zintegrować Data Wrangler z niektórymi znanymi technologiami automatyzacji i orkiestracji przepływu pracy w AWS. Najpierw przeanalizowaliśmy przykładowy przypadek użycia i architekturę rozwiązania, które wykorzystuje narzędzie Data Wrangler do wstępnego przetwarzania danych. Następnie pokazaliśmy, jak zintegrować Data Wrangler z Pipelines, Step Functions i Amazon MWAA.
W następnym kroku możesz znaleźć i wypróbować próbki kodu i notatniki w naszym Repozytorium GitHub korzystając ze szczegółowej instrukcji dla każdego z rozwiązań omówionych w tym poście. Aby dowiedzieć się więcej o tym, jak Data Wrangler może pomóc w obciążeniu ML, odwiedź Data Wrangler Strona produktu i Przygotuj dane ML za pomocą Amazon SageMaker Data Wrangler.
O autorach
Rodrigo Alarcona jest starszym architektem rozwiązań strategii ML z AWS z siedzibą w Santiago w Chile. W swojej roli Rodrigo pomaga firmom różnej wielkości w generowaniu wyników biznesowych poprzez oparte na chmurze rozwiązania AI i ML. Jego zainteresowania obejmują uczenie maszynowe i cyberbezpieczeństwo.
Ganapathi Krishnamoorthi jest starszym architektem rozwiązań ML w AWS. Ganapathi zapewnia nakazowe wskazówki klientom rozpoczynającym działalność i klientom korporacyjnym, pomagając im projektować i wdrażać aplikacje w chmurze na dużą skalę. Specjalizuje się w uczeniu maszynowym i koncentruje się na pomaganiu klientom w wykorzystywaniu AI/ML do osiągania wyników biznesowych. Kiedy nie jest w pracy, lubi zwiedzać plener i słuchać muzyki.
Anjana Biswasa jest starszym architektem rozwiązań usług AI, koncentrując się na AI/ML i analizie danych. Anjan jest częścią ogólnoświatowego zespołu usług AI i współpracuje z klientami, aby pomóc im zrozumieć i opracować rozwiązania problemów biznesowych związanych ze sztuczną inteligencją i ML. Anjan ma ponad 14-letnie doświadczenie w pracy z globalnymi organizacjami łańcucha dostaw, produkcji i handlu detalicznego i aktywnie pomaga klientom rozpocząć i skalować usługi AWS AI.
- AI
- ai sztuka
- generator sztuki ai
- masz robota
- Przepływy pracy zarządzane przez Amazon dla Apache Airflow (Amazon MWAA)
- Amazon Sage Maker
- Pogromca danych Amazon SageMaker
- sztuczna inteligencja
- certyfikacja sztucznej inteligencji
- sztuczna inteligencja w bankowości
- robot sztucznej inteligencji
- roboty sztucznej inteligencji
- oprogramowanie sztucznej inteligencji
- Uczenie maszynowe AWS
- Funkcje kroków AWS
- blockchain
- konferencja blockchain ai
- pomysłowość
- sztuczna inteligencja konwersacyjna
- konferencja kryptograficzna
- Dall's
- głęboka nauka
- google to
- uczenie maszynowe
- plato
- Platon Ai
- Analiza danych Platona
- Gra Platona
- PlatoDane
- platogaming
- skala ai
- składnia
- zefirnet