Prowadzę głęboko uczącą się sieć neuronową, która została przeszkolona przez procesor graficzny. Chcę teraz wdrożyć to na wielu hostach w celu wnioskowania. Pytanie brzmi, jakie są warunki, aby zdecydować, czy należy używać procesorów graficznych, czy procesorów do wnioskowania?
Dodając więcej szczegółów z komentarzy poniżej.
Jestem nowy w tym, więc wskazówki są mile widziane.
Pamięć : GPU to K80
Framework : Cuda i cuDNN
Rozmiar danych na obciążenie : 20G
Węzły obliczeniowe do zużycia : jeden na zadanie, choć chciałby rozważyć opcję skalowania
Koszt : mogę sobie pozwolić na opcję GPU, jeśli przyczyny są uzasadnione
Wdrożenie : działa na własnych hostowanych serwerach bez systemu operacyjnego, a nie w chmurze.
Obecnie korzystam z procesora, ponieważ aplikacja działa poprawnie. Ale poza tym powodem nie jestem pewien, dlaczego w ogóle rozważa się GPU.
źródło
Odpowiedzi:
@Dan @SmallChess, nie do końca się zgadzam. Prawdą jest, że do treningu duża część paraliżu może zostać wykorzystana przez procesory graficzne, co powoduje znacznie szybsze szkolenie. W przypadku wnioskowania ta paraliżacja może być znacznie mniejsza, jednak CNN nadal będą czerpać z tego korzyść, co spowoduje szybsze wnioskowanie. Teraz musisz tylko zadać sobie pytanie: czy szybsze wnioskowanie jest ważne? Czy chcę mieć te dodatkowe zależności (dobry procesor graficzny, zainstalowane odpowiednie pliki itp.)?
Jeśli prędkość nie stanowi problemu, wybierz procesor. Zauważ jednak, że GPU może sprawić, że z mojego doświadczenia będzie o rząd wielkości szybszy.
źródło
Uruchamianie wnioskowania na procesorze graficznym zamiast na procesorze pozwoli na uzyskanie takiego samego przyspieszenia, jak w przypadku treningu, przy mniejszym obciążeniu pamięci.
Jednak, jak powiedziałeś, aplikacja działa poprawnie na procesorze. Jeśli dojdziesz do punktu, w którym prędkość wnioskowania jest wąskim gardłem w aplikacji, uaktualnienie do GPU złagodzi to wąskie gardło.
źródło
Używałbyś GPU tylko do szkolenia, ponieważ głębokie uczenie się wymaga ogromnych obliczeń, aby znaleźć optymalne rozwiązanie. Jednak do wdrożenia nie potrzebujesz maszyn GPU .
Weźmy za przykład nowego iPhone'a X firmy Apple. Nowy iPhone X ma zaawansowany algorytm uczenia maszynowego do wykrywania twarzy. Pracownicy Apple muszą mieć zestaw maszyn do szkolenia i sprawdzania poprawności. Ale twój iPhone X nie potrzebuje procesora graficznego do samego uruchomienia modelu.
źródło