Udostępnij przez


Samouczek KDD 2016

CNTK: zestaw narzędzi Open-Source Deep-Learning firmy Microsoft

KDD 2016 Hands-On Tutorial by Frank Seide and Amit Agarwal, Microsoft

Slajdy używane w samouczku

Uwaga: musisz pobrać dwa duże pliki, pliki binarne CNTK (~300 MB) i zestaw danych CIFAR-10 (170 MB) i zainstalować pliki binarne CNTK i wszystkie wymagane zależności na maszynie. Zalecamy wykonanie tej czynności wcześniej, np. z pokoju hotelowego. Zobacz poniżej , aby uzyskać instrukcje.

Trenowanie sieci neuronowych, takich jak grupy produktów firmy Microsoft! W tym samouczku przedstawiono Microsoft Cognitive Toolkit lub CNTK skalowalny zestaw narzędzi do uczenia głębokiego typu open source firmy Microsoft dla systemów Windows i Linux. CNTK to zaawansowany zestaw narzędzi do uczenia głębokiego oparty na grafach obliczeniowych do trenowania i oceniania głębokich sieci neuronowych. Grupy produktów firmy Microsoft używają platformy CNTK, na przykład do tworzenia modeli mowy Cortany i klasyfikacji internetowej.

Docelowi odbiorcy i oczekiwania

Ten samouczek jest przeznaczony dla obecnych lub przyszłych praktyków uczenia głębokiego, które szuka narzędzia, które jest łatwe w użyciu , ale wydajne i skalowalne w wielu klastrach procesorów GPU dla rzeczywistych obciążeń.

W tym samouczku założono podstawową wiedzę na temat uczenia głębokiego. Uczestnicy uzyskają informacje na temat podstawowych pojęć i użycia cnTK, a także przećwiczyć trenowanie sieci neuronowej za pomocą narzędzia CNTK na potrzeby rozpoznawania obrazów i przetwarzania tekstu. Samouczek będzie punktem wyjścia do rozwiązywania własnego rzeczywistego zadania uczenia głębokiego z CNTK.

Instrukcje dotyczące wymagań wstępnych, pobierania i instalacji

Aby wykonać praktyczne sesje laboratoryjne w samouczku, komputer przenośny lub zdalny z 64-bitowym Windows 8.1+ lub Linux jest wymagany, a procesor GPU z obsługą cudA jest zalecany (tym szybciej, tym lepiej). Jeśli na maszynie jest uruchomiony system Mac-OS, możesz uruchomić system Linux wewnątrz kontenera platformy Docker i wykonać instalację/konfigurację opisaną poniżej w tym kontenerze platformy Docker.

Musisz pobrać i zainstalować pakiet binarny CNTK, zestaw CIFAR-10 i pliki samouczka, łącznie około 500 MB. Najlepiej to zrobić wcześniej.

  • Pobierz i zainstaluj pliki binarne CNTK:

Na tej stronie wyjaśniono różne alternatywy instalacji Microsoft Cognitive Toolkit na maszynie. W zakresie tego samouczka wystarczy instalacja oparta na binarnej instalacji cnTK. Nie trzeba kompilować pliku CNTK z kodu źródłowego. instrukcje dotyczące instalacji. Po prostu postępuj zgodnie z instrukcjami dotyczącymi pobierania binarnego pakietu instalacyjnego z tej strony.

W każdym przypadku upewnij się, że pliki wykonywalne CNTK są uwzględnione w danym środowisku.

Wykonywanie samouczków praktycznych w trybie online

Dwa samouczki praktyczne zostały opublikowane tutaj jako strony, które można śledzić poniżej:

ABSTRAKCJA

W tym samouczku przedstawiono Microsoft Cognitive Toolkit lub CNTK, najnowocześniejsze zestaw narzędzi do uczenia głębokiego typu open source firmy Microsoft dla systemów Windows i Linux. CNTK to zaawansowany zestaw narzędzi do uczenia głębokiego oparty na grafach obliczeniowych do trenowania i oceniania głębokich sieci neuronowych. Grupy produktów firmy Microsoft używają platformy CNTK, na przykład do tworzenia modeli mowy Cortany i klasyfikacji internetowej. Funkcja CNTK obsługuje połączenia między kanałami informacyjnymi, splotowymi i rekursyjnymi sieciami dla obciążeń mowy, obrazów i tekstu, również w połączeniu. Popularne typy sieci są obsługiwane natywnie (zbieżność) lub mogą być opisane jako konfiguracja CNTK (LSTM, sekwencja-sekwencja). CnTK skaluje się do wielu serwerów GPU i jest zaprojektowany z myślą o wydajności. Ten samouczek zawiera omówienie ogólnej architektury CNTK oraz opis określonych metod i algorytmów używanych do automatycznego różnicowania, ponownego wnioskowania i wykonywania pętli, udostępniania pamięci, losowania dużych corpora i wielu serwerów równoległych. Następnie pokażemy, jak typowe zastosowania wyglądają dla odpowiednich zadań, takich jak rozpoznawanie obrazów, modelowanie sekwencyjne i rozpoznawanie mowy.

KONSPEKT

Samouczek obejmuje następujące tematy:

  • Co to jest CNTK?
    • Wprowadzenie do sieci obliczeniowej
  • Jak wygląda typowe użycie cnTK?
    • Definiowanie sieci obliczeniowej
    • Konfigurowanie operacji we/wy danych
    • Parametry funkcji hyper-parameters SGD
    • Typowe przepływy pracy
  • Szczegółowe omówienie określonych technologii
    • Niejawna obsługa czasu
    • Minibatching sekwencji o zmiennej długości
    • Trenowanie równoległe danych
  • Przykłady praktyczne, w tym
    • Rozpoznawanie obrazów (AlexNet, ResNet)
    • Przetwarzanie tekstu (ATIS)
  • Wersja zapoznawcza: interfejsy API biblioteki CNTK dla języków Python i C++

BIOGRAFIE OSOBY MÓWIĄCEJ

Frank Seide, pochodzący z Hamburga, Niemcy, jest starszym badaczem w Microsoft Research. Jego obecne badania koncentrują się na głębokich sieciach neuronowych do rozpoznawania mowy konwersacyjnej; wraz z współautorem Dong Yu po raz pierwszy pokazał skuteczność głębokich sieci neuronowych do rozpoznawania mowy konwersacyjnej. W całej swojej karierze był zainteresowany i pracował nad szeroką gamą tematów i składników automatycznego rozpoznawania mowy, w tym systemów dialogu mówionego, rozpoznawania mandaryńskiego chińczyka, a zwłaszcza rozpoznawania mowy konwersacyjnej z zastosowaniem do indeksowania audio, transkrypcji i tłumaczenia mowy na mowę. Jego obecnym celem jest zestaw narzędzi do uczenia głębokiego CNTK firmy Microsoft.
Amit Agarwal jest głównym inżynierem oprogramowania w dziale technologii i badań firmy Microsoft. Jego obecny nacisk koncentruje się na tworzeniu platformy CNTK, rozproszonej platformy uczenia głębokiego na dużą skalę, aby umożliwić bezprecedensową skalę, szybkość i pojemność do trenowania ogromnych modeli uczenia głębokiego na ogromnych zestawach danych, używanych w szerokiej gamie mowy, obrazów i tekstu związanych z zadaniami uczenia głębokiego w firmie Microsoft i społeczności. Amit Agarwal pracował nad szeroką gamą produktów firmy Microsoft i grafiką mentora. Posiada 7 patentów związanych z heterogenicznym i programowaniem procesora GPU.

DOKUMENTACJA

[1] Amit Agarwal, Eldar Akchurin, Chris Basoglu, Guoguo Chen, Scott Cyphers, Jasha Droppo, Adam Eversole, Brian Guenter, Mark Hillebrand, T. Ryan Hoens, Xuedong Huang, Zhiheng Huang, Władimir Ivanov, Alexey Kamenev, Philipp Kranen, Oleksii Kuchaiev, Wolfgang Manousek, Avner May, Bhaskar Mitra, Olivier Nano, Gaizka Navarro, Alexey Orlov, Hari Parthasarathi, Baolin Peng, Marko Radmilac, Alexey Reznichenko, Frank Seide, Michael L. Seltzer, Malcolm Slaney, Andreas Stolcke, Huaming Wang, Yongqiang Wang, Kaiqiang Yao, Dong Yu, Yu Zhang, Geoffrey Zweig (w kolejności alfabetycznej), "Wprowadzenie do sieci obliczeniowych i zestawu narzędzi obliczeniowych sieci", Raport techniczny MICROSOFT MSR-TR-2014-112, 2014.
[2] "CNTK",