0 / 0
Go back to the English version of the documentation
Szczegóły implementacji AutoAI
Last updated: 18 sie 2023
Szczegóły implementacji AutoAI

AutoAI automatycznie przygotowuje dane, stosuje algorytmy lub estymatory, a także buduje modele rurociągów, które najlepiej nadają się do Twoich danych i przypadków użycia.

W poniższych sekcjach opisano niektóre z tych szczegółów technicznych, które służą do generowania rurociągów, a także zawierają listę opracowań naukowych opisujących sposób zaprojektowania i zaimplementowania AutoAI .

Przygotowanie danych do szkolenia (wstępne przetwarzanie danych)

Podczas automatycznego przygotowywania danych lub przetwarzania wstępnego, funkcja AutoAI analizuje dane treningowe i przygotowuje ją do wyboru modelu i generowania potoku. Większość zestawów danych zawiera brakujące wartości, ale algorytmy uczenia maszynowego zwykle nie oczekują braków danych. Wyjątek od tej reguły jest opisany w sekcji xgboost section 3.4. Algorytmy AutoAI realizują różne brakujące podstawienia wartości w zestawie danych za pomocą różnych technik, dzięki czemu dane są gotowe do uczenia maszynowego. Ponadto funkcja AutoAI wykrywa i kategoryzuje funkcje na podstawie ich typów danych, takich jak kategoryczna czy numeryczna. Wykorzystuje ona strategie kodowania i skalowania, które są oparte na klasyfikowaniu składników.

Przygotowanie danych wiąże się z następującymi krokami:

Klasyfikacja kolumny opcji

  • Wykrywa typy kolumn składników i klasyfikuje je jako klasę jakościową lub liczbową
  • Wykrywa różne typy braków danych (domyślne, udostępnione przez użytkownika, wartości odstających)

Inżynieria składników

  • Obsługuje wiersze, dla których brakuje wartości docelowych (spadek (wartość domyślna) lub podstawiany cel).
  • Usuwa kolumny wartości unikalnych (z wyjątkiem datowników i datowników)
  • Usuwa kolumny o stałej wartości

Wstępne przetwarzanie (imputacja danych i kodowanie)

  • Stosuje strategie imputacji/kodowania/skalowania Skuczenia (oddzielnie dla każdej klasy funkcji). Na przykład bieżąca domyślna metoda dla strategii imputacji brakujących wartości, które są używane w produkcie, to most frequent dla zmiennych kategorialnych i mean dla zmiennych numerycznych.
  • Obsługuje etykiety zestawu testów, które nie były widoczne w zestawie szkoleniowym
  • Funkcja HPO: Optymalizacja strategii imputacji/kodowania/skalowania danych na podstawie zestawu danych i algorytmu

Automatyczny wybór modelu

Drugi etap w szkoleniu eksperymentu AutoAI jest zautomatyzowanym wyborem modelu. Zautomatyzowany algorytm wyboru modelu korzysta z przydziału danych przy użyciu strategii Górnych granic. To podejście sekwencyjnie przydziela małe podzbiory danych treningowych wśród dużego zestawu algorytmów. Celem jest wybranie algorytmu, który zapewnia niemal optymalną dokładność podczas szkolenia wszystkich danych, przy jednoczesnej minimalizacji kosztów nieprawidłowo przydzielonych próbek. Obecnie system obsługuje wszystkie algorytmy Scikit-learn, a także popularne algorytmy XGBoost i LightGBM . Szkolenia i ocena modeli na dużych zbiorach danych są kosztowne. Podejście do uruchamiania małych podzbiorów i przydzielania przyrostowo większych modeli do modeli, które dobrze działają w zestawie danych, oszczędza czas, bez poświęcania wydajności. Do systemu dodano algorytmy uczenia maszynowego, aby jeszcze bardziej zwiększyć wydajność.

Wybieranie algorytmów dla modelu

Algorytmy są wybierane w taki sposób, aby były zgodne z danymi i charakterem modelu, ale mogą także zrównoważyć dokładność i czas trwania środowiska wykonawczego, jeśli model jest skonfigurowany dla tej opcji. Na przykład algorytmy Snap ML są zwykle szybsze w szkoleniu niż algorytmy Scikit-uczą się. Często preferowane algorytmy AutoAI wybierają się automatycznie w przypadkach, w których szkolenie jest zoptymalizowane pod kątem krótszego czasu wykonywania i dokładności. Można je wybrać ręcznie, jeśli szybkość szkolenia jest priorytetem. Szczegółowe informacje na ten temat zawiera sekcja Dokumentacja Snap ML. Aby zapoznać się z przydatnymi algorytmami SnapML , należy zapoznać się z tym wypowiedzią w blogu przy użyciu algorytmów SnapML.

Algorytmy używane dla modeli klasyfikacji

Algorytmy te są algorytmami domyślnymi, które są używane do wyboru modelu w celu uzyskania problemów z klasyfikacją.

Tabela 1: Domyślne algorytmy klasyfikacji
Algorytm Opis
Klasyfikator drzewa decyzyjnego Odwzorowuje obserwacje dotyczące pozycji (reprezentowanej w gałęziach) do wniosków na temat wartości docelowej pozycji (reprezentowanej w liściach). Obsługuje zarówno etykiety binarne, jak i wieloklasowe, a także funkcje ciągłe i jakościowe.
Klasyfikator dodatkowych drzew Algorytm uśredniania oparty na randomizowanych drzewach decyzyjnych.
Klasyfikator drzewa wzmacnianego gradientowo Tworzy model predykcji klasyfikacji w postaci zespołu drzew decyzyjnych. Obsługuje on etykiety binarne oraz funkcje ciągłe i jakościowe.
Klasyfikator LGBM Gradientowe środowisko boostingu, które wykorzystuje algorytm uczenia oparty na drzewie (poziomy) oparty na drzewie.
Regresja logistyczna Analizuje zestaw danych, w którym jedna lub kilka zmiennych niezależnych, które określają jeden z dwóch wyników. Obsługiwana jest tylko binarna regresja logistyczna
Klasyfikator Las losowy Konstruuje wiele drzew decyzyjnych w celu utworzenia etykiety, która jest trybem każdego drzewa decyzyjnego. Obsługuje zarówno etykiety binarne, jak i wieloklasowe, a także funkcje ciągłe i jakościowe.
SnapDecisionTreeClassifier Ten algorytm udostępnia klasyfikator drzewa decyzyjnego przy użyciu biblioteki Snap ML firmy IBM .
Regresja SnapLogistic Ten algorytm udostępnia regulowaną regresję logistyczną za pomocą programu IBM Snap ML solver.
SnapRandomForestClassifier Ten algorytm udostępnia losowy klasyfikator lasu przy użyciu biblioteki Snap ML IBM .
SnapSVMClassifier Ten algorytm udostępnia regulowaną obsługę wektorów obsługi za pomocą narzędzia IBM Snap ML solver.
Klasyfikator XGBoost Dokładna procedura, która może być używana w przypadku problemów z klasyfikacją. Modele XGBoost są stosowane w różnych obszarach, w tym w rankingu wyszukiwawców internetowych i ekologii.
SnapBoostingMachineClassifier Boosting dla binarnych i wieloklasowych zadań klasyfikacyjnych, które mieszają binarne drzewa decyzyjne z modelami liniowymi z losowymi czteroosobowymi cechami.

Algorytmy używane dla modeli regresji

Algorytmy te są algorytmami domyślnymi, które są używane do automatycznego wyboru modelu w przypadku problemów regresyjnych.

Tabela 2: Domyślne algorytmy dla regresji
Algorytm Opis
Regresja drzewa decyzyjnego Odwzorowuje obserwacje dotyczące pozycji (reprezentowanej w gałęziach) do wniosków na temat wartości docelowej pozycji (reprezentowanej w liściach). Obsługuje zarówno funkcje ciągłe, jak i jakościowe.
Regresja dodatkowych drzew Algorytm uśredniania oparty na randomizowanych drzewach decyzyjnych.
Gradient Boosting Regression Generuje model predykcji regresji w postaci zespołu drzew decyzyjnych. Obsługuje zarówno funkcje ciągłe, jak i jakościowe.
Regresja LGBM Gradient boosting framework, który wykorzystuje algorytmy uczenia oparte na drzewach.
regresja liniowa Umożliwia modelowanie liniowej relacji między zmienną zależną skalarną y a jedną lub większą liczbą zmiennych wyjaśniających (lub zmiennych niezależnych) x.
Regresja lasu losowego Tworzy wiele drzew decyzyjnych w celu wygenerowania średniej predykcji dla każdego drzewa decyzyjnego. Obsługuje zarówno funkcje ciągłe, jak i jakościowe.
Grzbiet Regresja grzbietowa jest podobna do Zwykłych Najmniejszych Kwadratów, ale nakłada karę na wielkość współczynników.
SnapBoostingMachineRegressor Ten algorytm udostępnia maszynę zwiększającą wykorzystanie biblioteki IBM Snap ML, która może być używana do konstruowania zestawu drzew decyzyjnych.
SnapDecisionTreeRegressor Ten algorytm udostępnia drzewo decyzyjne przy użyciu biblioteki Snap ML firmy IBM .
SnapRandomForestRegressor Ten algorytm udostępnia losowy las przy użyciu biblioteki Snap ML IBM .
Regresja XGBoost GBRT jest dokładną i efektywną procedurą pozalistową, która może być stosowana w przypadku problemów regresyjnych. Modele Gradient Tree Boosting są używane w różnych obszarach, w tym w rankingu wyszukiwania stron internetowych i ekologii.

Pomiary według typu modelu

Dostępne są następujące wielkości mierzone dotyczące mierzenia dokładności rurociągów podczas treningu i dla danych oceniających.

Metryki klasyfikacji binarnej

  • Dokładność (wartość domyślna dla rankingu rurociągów)
  • Roc auc
  • Średnia precyzja
  • F
  • Ujemna utrata dziennika
  • Precyzja
  • Czułość

Wielobarwowe pomiary klasyfikacji

Metryki dla modeli wieloklasowych generują wyniki dla tego, jak dobrze potok wykonuje się względem określonego pomiaru. Na przykład: F1 wynik średni precyzja (predykcje wykonane, ile dodatnich predykcji były poprawne) i przywołanie (wszystkich możliwych pozytywnych predykcji, ile było przewidywanych poprawnie).

Wynik można doprecyzować, kwalifikując go do obliczenia danej wielkości mierzonej globalnie (makro), na etykiecie (mikro) lub do wagi niezbalansowanego zestawu danych na potrzeby klas z większą reprezentacją.

  • Pomiary z kwalifikatorem micro obliczają wielkości mierzone globalnie, licząc łączną liczbę prawdziwych pozytyw, fałszywych negatywów i fałszywych alarmów.
  • Pomiary z kwalifikatorem macro obliczają wielkości mierzone dla każdej etykiety i znajdują ich nieważone średnie. Wszystkie etykiety są ważone jednakowo.
  • Pomiary z kwalifikatorem ważony obliczają wielkości mierzone dla każdej etykiety i znajdują ich średnią ważoną przez wkład każdej klasy. Na przykład w zestawie danych, który zawiera kategorie dla jabłek, brzoskwiń i śliwek, jeśli istnieje wiele więcej instancji jabłek, ważona metryka ma większe znaczenie dla prawidłowego przewidywania jabłek. To zmienia makro w celu uwzględnienia braku równowagi etykiet. Użyj ważonej wielkości mierzonej, takiej jak F1-weighted , aby uzyskać niezrównoważony zestaw danych.

Są to wielklasowe wielkości mierzone klasyfikacji:

  • Dokładność (wartość domyślna dla rankingu rurociągów)
  • F1
  • F1 Mikro
  • F1 Makro
  • F1 Ważone
  • Precyzja
  • Precyzja Micro
  • Makro precyzyjne
  • Precyzja ważona
  • Czułość
  • Przywracanie Micro
  • Przypomnij makro
  • Przywracanie ważone

Wielkości mierzone regresji

  • Ujemny pierwiastek kwadratowy błędu kwadratowego (wartość domyślna dla rankingu potoku)
  • Ujemny średni błąd bezwzględny
  • Ujemny główny błąd dziennika kwadratowego
  • Wariancja wyjaśniona
  • Ujemny średni błąd kwadratowy
  • Ujemny średni błąd dziennika kwadratowego
  • Ujemna mediana bezwzględnego błędu
  • R2

Zautomatyzowane inżynieria składników

Trzecim etapem w procesie AutoAI jest zautomatyzowana inżynieria funkcji. Zautomatyzowany algorytm inżynierii funkcji jest oparty na Cognito, opisanym w opracowaniu, Cognito: Automated Feature Engineering for Supervised Learning i Feature Engineering for Predictive Modeling by using Reinforcement Learning. System bada różne opcje budowy funkcji w sposób hierarchiczny i niewyczerpujący, stopniowo maksymalizując dokładność modelu za pomocą strategii eksploatacji złomowej. Metoda ta jest inspirowana strategią "prób i błędów" dla inżynierii fabularnej, ale prowadzonym przez niezależnego agenta w miejsce człowieka.

Wielkości mierzone używane dla ważności funkcji

W przypadku algorytmów klasyfikacji opartych na strukturze drzewa i algorytmów regresji, takich jak drzewo decyzyjne, dodatkowe drzewa, las losowy, XGBoost, gradient boosted i LGBM, funkcja importanes jest ich nieodłącznym elementem ważności funkcji w oparciu o zmniejszenie kryterium używanego do wybierania punktów podziału, a także wyliczane, gdy algorytmy te są przeszkolone w zakresie danych uczących.

W przypadku algorytmów niezwiązanych z drzewem, takich jak Regresja logistyczna, Regresja LIbliczna, SnapSVMi Ridge, importanki funkcji są ważnymi importankami algorytmu Lasu losowego, który jest przeszkolony na tych samych danych uczących co algorytm nontree.

Dla każdego algorytmu wszystkie elementy importanki składników są w zakresie od zera do jednego i zostały znormalizowane jako stosunek w odniesieniu do maksymalnego znaczenia funkcji.

Przekształcenia danych

W przypadku inżynierii funkcji AutoAI korzysta z nowatorskiego podejścia, które eksploruje różne opcje budowy funkcji w sposób ustrukturyzowany, niewyczerpujący, a jednocześnie stopniowo maksymalizuje dokładność modelu przy użyciu uczenia zbrojeń. Powoduje to zoptymalizowaną sekwencję transformacji danych, które najlepiej odpowiadają algorytmom lub algorytmom, w kroku wyboru modelu. Ta tabela zawiera niektóre z używanych transformacji oraz niektóre znane warunki, w których są one przydatne. Nie jest to wyczerpująca lista scenariuszy, w których transformacja jest użyteczna, jak to może być złożone i trudne do interpretacji. Na koniec wymienione scenariusze nie są wyjaśnieniem, w jaki sposób wybrane są transformacje. Wybór transformacji do zastosowania odbywa się w sposób próbny i błąd, w sposób zorientowany na wydajność.

Tabela 3: Transformacje dla inżynierii fabularnej
Nazwa Kod Function
Analiza komponentów zasady PCA Należy zmniejszyć wymiary danych i realign w bardziej odpowiednim układzie współrzędnych. Pomaga uporać się z "przekleństwem wymiarowości" w nieliniowo skorelowanych danych. Eliminuje nadmiarowość i separuje istotne sygnały w danych.
Skaler standardowy stdscaler Umożliwia skalowanie funkcji danych do standardowego zakresu. Pomaga to w skuteczności i wydajności niektórych algorytmów uczenia się i innych przekształceń, takich jak PCA.
Logarytm dziennik Zmniejsza prawo skośności w cechach i sprawia, że są bardziej symetryczne. Otrzymana symetria w funkcjach pomaga algorytmom lepiej zrozumieć dane. Nawet skalowanie w oparciu o średnią i wariancję jest bardziej znaczące dla danych symetrycznych. Dodatkowo może on przechwytywać konkretne relacje fizyczne między elementem i elementem docelowym najlepiej opisanym za pomocą logarytmu.
Pierwiastek trzeciego stopnia cbrt Zmniejsza prawo skośności w danych, takich jak logarytm, ale jest słabszy niż logarytm w jego wpływie, co może być bardziej odpowiednie w niektórych przypadkach. Ma ona również zastosowanie do wartości ujemnych lub zerowych, do których nie ma zastosowania dziennik. Element główny kostki może również zmieniać jednostki, takie jak zmniejszanie objętości do długości.
Pierwiastek kwadratowy pierwiastek kw. Zmniejsza łagodne prawo skośności w danych. Jest on słabszy niż dziennik lub użytkownik root kostki. Współpracuje z zerami i redukuje przestrzenne wymiary, takie jak obszar do długości.
Kwadratowa kwadrat Redukuje lewą skośność do umiarkowanego stopnia, aby takie rozkłady były bardziej symetryczne. Może być również pomocny w wychwytywaniu pewnych zjawisk, takich jak super-liniowy wzrost.
Produkt produkt Produkt z dwóch opcji może ujawnić relację nieliniową, aby lepiej przewidzieć wartość docelową, niż tylko poszczególne wartości. Na przykład koszt pozycji w odniesieniu do liczby sprzedanych pozycji jest lepszym wskaźnikiem wielkości przedsiębiorstwa niż tylko jeden z tych samych.
Numeryczne XOR nxor Ta transformacja pomaga przechwycić relacje typu "wyłączność" między zmiennymi, podobne do bitowych XOR, ale w ogólnym kontekście liczbowym.
Suma suma Czasami suma dwóch funkcji jest lepiej skorelowana z elementem docelowym predykcji, niż tylko te składniki. Na przykład, pożyczki z różnych źródeł, po podsumowaniu, dają lepszy pomysł na całkowite zadłużenie wnioskodawcy.
Podziel podziel Podział jest zasadniczym operandem, który służy do wyrażania takich ilości, jak PKB na mieszkańca (PKB na mieszkańca), co oznacza średnią długość życia kraju, lepszą niż sam PKB lub sam populacja.
Maksimum maks Należy przyjąć większą z dwóch wartości.
Zaokrąglanie zaokrąglenie Transformacja ta może być postrzegana jako perturbacja lub dodanie niektórych szumów w celu zmniejszenia nadmiernego dopasowania, które mogą być wynikiem niedokładnych obserwacji.
Wartość bezwzględna abs Zastanów się tylko nad wielkością, a nie znakiem obserwacji. Czasami, kierunek lub znak obserwacji nie ma znaczenia tak bardzo, jak wielkość jego, takie jak przemieszczenie fizyczne, podczas rozważania paliwa lub czas spędzony w rzeczywistym ruchu.
Tangens hiperboliczny TANH Funkcja aktywacji nieliniowej może zwiększyć dokładność predykcji, podobnie jak w przypadku funkcji aktywacji sieci neuronowych.
Sinus sin Może reorientować dane, aby wykryć okresowe trendy, takie jak proste ruchy harmoniczne.
Cosinus cos Może reorientować dane, aby wykryć okresowe trendy, takie jak proste ruchy harmoniczne.
Tangens tan Trygonometryczna transformacja tangensowa jest zwykle pomocna w połączeniu z innymi transformacjami.
Funkcja aglomeracji aglomeracja Grupowanie różnych funkcji w grupy, oparte na odległości lub powinowactwie, zapewnia łatwość klasyfikacji dla algorytmu uczenia.
Sigmoidalny Sigmoid Funkcja aktywacji nieliniowej może zwiększyć dokładność predykcji, podobnie jak w przypadku funkcji aktywacji sieci neuronowych.
Wyodrębnienie lasu izoforestanomaly Wykonuje łączenie w klastry przy użyciu obiektu Forest Isolation Forest, aby utworzyć nową funkcję zawierającą ocenę anomalii dla każdej próbki.
Słowo do wektora word2vec Ten algorytm, który jest używany do analizy tekstu, jest stosowany przed wszystkimi innymi transformacjami. Przyjmuje on korpus tekstu jako wejście i wyprowadza zestaw wektorów. Zamieniając tekst w liczbową reprezentację, może wykrywać i porównywać podobne słowa. Podczas szkolenia z wystarczającą ilością danych program word2vec może wprowadzać dokładne predykcje dotyczące znaczenia słowa lub związku z innymi słowami. Predykcje mogą być używane do analizy tekstu i przewidywania znaczenia w aplikacjach do analizy sentymentu.

Optymalizacja hiperparametrów

Ostatnim etapem w obszarze AutoAI jest optymalizacja hiperparametrów. Podejście AutoAI optymalizuje parametry najlepiej wykonujących się rurociągów z poprzednich faz. Odbywa się to poprzez eksplorację zakresów parametrów tych rurociągów za pomocą czarnej skrzynki optymalizatora hiperparametrów o nazwie RBFOpt. Metoda RBFOpt jest opisana w dokumencie badawczym RBFOpt: an open-source library for black-box optimization with costly function wartościowania. RBFOpt jest przeznaczony do eksperymentów AutoAI , ponieważ jest on zbudowany dla optymalizacji z kosztownymi ocenami, tak jak w przypadku uczenia i oceniania algorytmu. Podejście RBFOpt buduje i iteracyjnie udoskonali model zastępczego nieznanej funkcji obiektywnej, aby szybko zbiegać się pomimo długiego czasu wartościowania każdej iteracji.


Często zadawane pytania AutoAI

Poniżej znajdują się najczęściej zadawane pytania dotyczące tworzenia eksperymentu AutoAI .

Ile rurociągów jest tworzonych?

Dwa parametry AutoAI określają liczbę rurociągów:

  • max_num_daub_ensembles: Maksymalna liczba (top-K uporządkowane według wyboru modelu DAUB) wybranego algorytmu lub typów estymatorów, na przykład LGBMClassifierEstimator, XGBoostClassifierEstimator lub LogisticRegressionEstimator, które mają być używane w składzie potoku.  Wartością domyślną jest 1, w którym używany jest tylko najwyższy ranking według typu algorytmu wyboru modelu.

  • num_folds: W uzupełnieniu do pełnego zestawu danych liczba podzbiorów pełnego zestawu danych, które mają być pociągane do rurociągów. Wartością domyślną jest 1 dla szkolenia pełnego zestawu danych.

Dla każdego typu i typu algorytmu, AutoAI tworzy cztery rurociągi o zwiększonej ilości wyrafinowania, odpowiadające:

  1. Potok z domyślnymi parametrami skuczenia dla tego typu algorytmu,
  2. Potok ze zoptymalizowanym algorytmem przy użyciu HPO
  3. Potok z optymalizacją inżynierii elementów
  4. Potok z zoptymalizowanym inżynierem funkcji i zoptymalizowanym algorytmem za pomocą HPO

Całkowita liczba generowanych rurociągów wynosi:

TotalPipelines= max_num_daub_ensembles * 4, if num_folds = 1:  
                       
TotalPipelines= (num_folds+1) * max_num_daub_ensembles * 4,  if num_folds > 1 :

Jaka optymalizacja hiperparametrów jest stosowana do mojego modelu?

Funkcja AutoAI wykorzystuje oparty na modelu, oparty na pochodnych, globalny algorytm wyszukiwania o nazwie RBfOpt, który jest dostosowywany do kosztownego uczenia modelu uczenia maszynowego i oceny oceniania, które są wymagane przez optymalizację hiperparametrów (HPO). W przeciwieństwie do optymalizacji bayesowskiej, która pasuje do modelu Gaussa do nieznanej funkcji obiektywnej, RBfOpt pasuje do trybu radialnego funkcji podstawy, aby przyspieszyć wykrywanie konfiguracji hiperparametrów, które maksymalizują obiektywną funkcję problemu uczenia maszynowego w zasięgu ręki. To przyspieszenie jest osiągane poprzez minimalizację liczby kosztownych modeli uczenia maszynowego i oceny modeli uczenia maszynowego oraz poprzez wyeliminowanie konieczności obliczania częściowych pochodnych.

Dla każdego typu i typu algorytmu, AutoAI tworzy dwa potokowe, które wykorzystują HPO do optymalizacji dla typu algorytmu.

  • Pierwszy z nich opiera się na optymalizacji tego typu algorytmu w oparciu o wstępnie przetworzony (imputed/encoded/scaled) zestaw danych (potok 2) powyżej).
  • Drugi jest oparty na optymalizacji typu algorytmu w oparciu o zoptymalizowaną inżynierię funkcji wstępnie przetworzonego zestawu danych (imputed/encoded/scaled).

Wartości parametrów dla algorytmów wszystkich rurociągów generowanych przez funkcję AutoAI są publikowane w komunikatach o statusie.

Więcej informacji na temat algorytmu RbfOpt można znaleźć w:

Odwołania do badań

Ta lista zawiera niektóre z podstawowych artykułów badawczych, które dodatkowo szczegółowo opisują sposób zaprojektowania i zaimplementowania AutoAI w celu promowania zaufania i przejrzystości w zautomatyzowanym procesie budowania modelu.

Następne kroki

Imputacja danych w eksperymentach AutoAI

Temat nadrzędny: PrzeglądAutoAI

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more