Rewolucja w świecie deep learningu. Poznajcie projekt Ludwig prosto od Ubera

Modele deep learning to skuteczne narzędzia do wykonywania wielu różnorodnych zadań dotyczących uczenia maszynowego. Wielkie firmy, takie jak Uber, używają ich do najróżniejszych czynności związanych z obsługą klienta, wykrywaniem obiektów, ulepszaniem map, usprawnianiem komunikacji na czacie, prognozowaniem, zapobieganiem oszustwom i nie tylko. Przyjrzyjmy się Ludwigowi, opracowanemu przez firmę transportową zestawowi narzędzi, który czyni deep learning znacznie prostszym, niż to dej pory.

Deep learning, czyli jak ograniczyć liczbę błędów

Wiele bibliotek open source, takich jak TensorFlow, PyTorch, CNTK, MXNET czy Chainer zaimplementowało bloki potrzebne do zbudowania takich modeli, co pozwoliło na szybszą i mniej podatną na błędy pracę. To z kolei wpłynęło na przyjęcie tych modeli zarówno przez społeczność badaczy uczenia maszynowego, jak i przez praktyków z branży, co poskutkowało szybkim postępem zarówno w projektowaniu architektury, jak i rozwiązaniach dedykowanych przemysłowi.

Dobre wzorce zamiast wymyślania koła na nowo

– Dział Ubera odpowiedzialny za AI zrezygnował z wymyślania wszystkiego od nowa i postanowił oprzeć się na solidnych fundamentach dostarczanych przez biblioteki open source. W tym celu w 2017 r. wydaliśmy Pyro, głęboko probabilistyczny język programowania zbudowany na PyTorch, i kontynuowaliśmy jego ulepszanie przy pomocy społeczności open source czytamy na firmowym blogu Uber Engineering.

Innym ważnym opensource’owym narzędziem AI stworzonym przez firmę jest Horovod, framework obsługiwany przez LF Deep Learning Foundation. – Rozszerzając nasze zaangażowanie w upowszechnianie deep learning, udostępniamy Ludwig, zestaw narzędzi do deep learning oparty na otwartym oprogramowaniu i zbudowany na bazie TensorFlow, który umożliwia użytkownikom trenowanie i testowanie modeli głębokiego uczenia się bez pisania kodu – czytamy w dalszej części wpisu.

Unikalna cecha Ludwiga polega na tym, że pomaga on zrozumieć deep learning osobom, którym daleko do miana ekspertów w tej dziedzinie, a jednocześnie znacznie przyspiesza pracę profesjonalistów. Co ciekawe, Ludwig nie wymaga od użytkownika umiejętności kodowania w celu wyszkolenia modelu i używania go do uzyskiwania prognoz, a jego elastyczność sprawia, że doświadczeni użytkownicy mają szeroką kontrolę nad budowaniem modeli i szkoleniami, z których mogą korzystać mniej doświadczeni użytkownicy. Cechuje go także wyjątkowo łatwy sposób dodawania nowej architektury modelu i nowych typów danych funkcji, a także ogólnie pojęta zrozumiałość i przystępność procesów nim rządzących.

Jak to się dzieje?

Wszystko to możliwe jest dzięki wprowadzeniu nowej koncepcji do ekosystemu deep learning polegającego na tym, że kodery odwzorowują surowe dane na tensory, a dekodery odwzorowują tensory na surowe dane. Umożliwia to użytkownikom dostęp do kombinatorów, które łączą tensory ze wszystkich enkoderów wejściowych, a następnie przetwarzają je i zwracają tensory, które mają być używane dla dekoderów wyjściowych. 

– W tej chwili Ludwig zawiera kodery i dekodery dla wartości binarnych, liczb zmiennoprzecinkowych, kategorii, sekwencji dyskretnych, zbiorów, toreb, obrazów, tekstu i szeregów czasowych, a także możliwość załadowania niektórych wstępnie wyszkolonych modeli (na przykład osadzanie słów), ale planujemy rozszerzyć obsługiwane typy danych w przyszłych wydaniach – czytamy na blogu Ubera. Bardzo możliwe, że dzięki swoim wyjątkowym cechom Ludwig skradnie serca wielu początkującym, jak i doświadczonym adeptom deep learning. Póki co zaufały mu już Facebook i Zalando.


Źródło: eng.uber.com, jaxenter.com

Patronujemy

 
 
Polecamy
Einstein Prediction Builder. Sztuczna Inteligencja od Salesforce