P:
Jak konteneryzacja może być dobrym wyborem dla środowiska projektu uczenia maszynowego?
ZA:Niektóre firmy przechodzą na konteneryzację dla projektów uczenia maszynowego w oparciu o niektóre korzyści, jakie oferują konfiguracje kontenerów w zakresie platform i środowisk oprogramowania.
Uczenie maszynowe jest złożone - same algorytmy wykonują wiele bardzo szczegółowych i skomplikowanych działań na danych. Jednak propozycja wartości jest pod pewnymi względami dość prosta - algorytmy uczenia maszynowego działają na danych pochodzących ze środowisk pamięci masowej.
Bezpłatne pobieranie: Uczenie maszynowe i dlaczego to ma znaczenie |
Korzystanie z kontenerów obejmuje sposób, w jaki inżynierowie umieszczają dane w środowisku uczenia maszynowego oraz działanie algorytmów.
Inżynierowie mogą wykorzystywać wirtualizację kontenerów do przechowywania danych lub wdrażania kodu uruchamiającego algorytmy. Chociaż kontenery mogą być pomocne dla danych, ich główną zaletą jest prawdopodobnie wykorzystanie kodu algorytmu.
Architektury kontenerów zawierają niezależne aplikacje i bazy kodu. Każdy kontener otrzymuje własny klon systemu operacyjnego i otrzymuje pełne środowisko operacyjne dla aplikacji lub zestawu funkcji kodu, który w nim znajduje się.
W rezultacie poszczególne aplikacje, mikrousługi lub bazy kodów znajdujące się w każdym kontenerze można wdrażać w bardzo wszechstronny sposób. Mogą być wdrażane na różnych platformach i różnych środowiskach.
Załóżmy teraz, że próbujesz uruchomić projekt uczenia maszynowego, w którym różne algorytmy muszą działać na różnych fragmentach danych w sposób iteracyjny. Jeśli masz dość radzenia sobie z wyzwaniami wieloplatformowymi lub problemami zależności lub sytuacjami, w których wdrożenie bez systemu jest trudne, kontenery mogą być rozwiązaniem.
Zasadniczo kontenery zapewniają sposób hostowania kodu. Eksperci mówią o wdrażaniu kontenerów w stosunku do przechowywanych danych, aby uzyskać dobre wyniki.
„(Aplikacje) można mieszać i dopasowywać na dowolnej liczbie platform, praktycznie bez konieczności przenoszenia lub testowania”, pisze David Linthicum w artykule TechBeacon, który opisuje wartość kontenerów dla projektów uczenia maszynowego, „ponieważ istnieją one w kontenerach, mogą działać w wysoce rozproszonym środowisku i możesz umieścić te kontenery blisko danych analizowanych przez aplikacje. ”
Linthicum mówi dalej o wystawianiu usług uczenia maszynowego jako mikrousług. Pozwala to aplikacjom zewnętrznym - opartym na kontenerze lub nie - na korzystanie z tych usług w dowolnym momencie bez konieczności przenoszenia kodu do aplikacji.
W bardzo podstawowym sensie wdrożenie kontenera polega na zwiększeniu możliwości dostosowania programu uczenia maszynowego - wyeliminowaniu silosów i niepotrzebnych połączeń - i ponownie zależności - które mogą uszkodzić projekt. W przypadku szczupłego, wrednego projektu uczenia maszynowego, jeśli poszczególne części algorytmów lub aplikacji lub funkcji są umieszczone w pojemnikach, łatwo jest zarządzać tymi samodzielnymi elementami i odpowiednio tworzyć złożone projekty produktów uczenia maszynowego.