Wysłane przez PNY Pro03 maja 2019 r.
Jako entuzjasta komputerów PC, uwielbiam porównywać ze sobą rozwiązania sprzętowe, aby określić ich względną wydajność podczas wykonywania określonego zadania. Proces ten znany jest również jako "benchmarking". Wyniki benchmarków są zwykle uważane za najlepsze narzędzie do oceny zalet konkurencyjnych systemów przy podejmowaniu decyzji o zakupie.
W tej 3-częściowej serii blogów omówimy, jak zbudować system, z naciskiem na testowanie wydajności GPU dla Deep Learning przy użyciu Ubuntu 18.04, NVIDIA GPU Cloud (NGC) i TensorFlow.
Seria blogów będzie przebiegać w następujący sposób:
Część pierwsza: Wprowadzenie
Część druga: Rozważania na temat sprzętu
Część trzecia: Konfiguracja oprogramowania
Większość graczy zna narzędzia benchmarkowe, takie jak 3DMark i Unigene Superposition, podczas gdy profesjonaliści polegają na zaufanych zestawach, takich jak SPECviewperf i PassMark. Jeśli chodzi o benchmarki Deep Learning, najbardziej znanym "miernikiem" jest szkolenie sieci neuronowej ResNet-50 przy użyciu zestawu danych ImageNet, a dokładniej zestawu danych ImageNet 2012 do klasyfikacji obrazów.
Firmy koncentrujące się na Deep Learning często używają tej metryki do pomiaru i porównywania wydajności obliczeniowej. Metryka ta pojawiła się w niedawnym blogu NVIDIA, w którym porównano wydajność różnych frameworków Deep Learning. Więcej informacji na ten temat można znaleźć na stronie: https://developer.nvidia.com/deep-learning-performance-training-inference
Deep Learning szybko ewoluuje, więc ta metryka nie jest pełną reprezentacją wydajności Deep Learning. Jest jednak przydatna i istotna, ponieważ daje nam uczciwy standard porównywania wyników "obrazów na sekundę".
Powinienem zauważyć, że Dr Kinghorn z PNY's partner Puget Systems pisał na ten temat rok temu; jego blogi są przydatnym przewodnikiem dla początkujących i oferują przydatne wskazówki również dla zaawansowanych użytkowników. Jego wysiłki są godne polecenia. Poświęć trochę czasu na przeczytanie jego oryginalnego 5-częściowego bloga
Wprowadzenie do NGC.
Tajną bronią do stworzenia tego benchmarku przepływu pracy jest NVIDIA GPU Cloud lub NGC.
NGC to darmowy rejestr kontenerów Docker, będący zbiorem najlepszego oprogramowania do akceleracji nauki o danych, uczenia maszynowego i analityki. Popularne frameworki dostępne w NGC obejmują TensorFlow, PyTorch, Caffe2 i wiele innych. Rejestr NGC można przeglądać, odwiedzając ten link: https: //ngc.nvidia.com/catalog, rejestracja nie jest wymagana.
Czym więc jest kontener? Według Docker.com:
"Kontener to standardowa jednostka oprogramowania, która pakuje kod i wszystkie jego zależności, dzięki czemu aplikacja działa szybko i niezawodnie z jednego środowiska komputerowego do drugiego. Obraz kontenera Docker to lekki, samodzielny, wykonywalny pakiet oprogramowania, który zawiera wszystko, co jest potrzebne do uruchomienia aplikacji: kod, środowisko uruchomieniowe, narzędzia systemowe, biblioteki systemowe i ustawienia". https://www.docker.com/resources/what-container
Biorąc pod uwagę tę definicję, kontener jest kontrolowanym środowiskiem oprogramowania, w którym całe oprogramowanie jest zaprojektowane tak, aby dobrze ze sobą współpracować. Korzystając z kontenera Docker, zapewniasz, że środowisko oprogramowania jest spójne między testami i wolne od błędów zależności w różnych bibliotekach. Kontenery NGC mają tę dodatkową zaletę, że są zoptymalizowane przez NVIDIA, zweryfikowane i akcelerowane przez GPU, więc będą dobrze współpracować z procesorami graficznymi NVIDIA.
Dlaczego musisz używać systemu Linux? Obecnie NGC działa tylko w systemie Linux.
Zanim przejdziemy do rozważań na temat sprzętu w następnym blogu, odwiedź rejestr NGC i zapoznaj się z różnorodnym zestawem dostępnych kontenerów. Następnie odwiedź stronę internetową PNY poświęconą sztucznej inteligencji, aby uzyskać więcej informacji na temat tego, jak układy GPU NVIDIA zmieniają świat.