Procesor głębokiego uczenia — Deep learning processor

Procesor głęboka nauka (DLP), albo głęboko akcelerator learning , to układ elektroniczny przeznaczony do głębokiego uczenia algorytmów, zazwyczaj z oddzielną pamięcią danych oraz dedykowanego zestawu instrukcji architektury . Procesory głębokiego uczenia się obejmują urządzenia mobilne, takie jak jednostki przetwarzania neuronowego (NPU) w telefonach komórkowych Huawei , po serwery przetwarzania w chmurze , takie jak jednostki przetwarzania tensorowego (TPU) w Google Cloud Platform .

Celem DLP jest zapewnienie wyższej wydajności i wydajności niż ogólna jednostka centralna (CPU) i procesory graficzne (GPU) dla algorytmów głębokiego uczenia. Większość DLP wykorzystuje dużą liczbę komponentów obliczeniowych do wykorzystania równoległości na wysokim poziomie danych, stosunkowo większy bufor/pamięć na chipie, aby wykorzystać wzorce ponownego wykorzystania danych, oraz operatory o ograniczonej szerokości danych w celu zapewnienia odporności na błędy głębokiego uczenia.

Historia

Wykorzystanie procesorów/GPU

Na początku do wykonywania algorytmów głębokiego uczenia przyjęto ogólne procesory. Później procesory graficzne zostają wprowadzone do dziedziny głębokiego uczenia. Na przykład w 2012 r. Alex Krizhevsky zastosował dwa procesory graficzne do trenowania sieci głębokiego uczenia się, tj. AlexNet, który wygrał konkurs ISLVRC-2012. Ponieważ zainteresowanie algorytmami głębokiego uczenia i DLP stale rośnie, producenci procesorów graficznych zaczynają dodawać funkcje związane z głębokim uczeniem zarówno w sprzęcie (np. Operatorzy INT8), jak i oprogramowaniu (np. Biblioteka cuDNN). Na przykład Nvidia wypuściła nawet rdzeń tensora Turinga — DLP — w celu przyspieszenia przetwarzania głębokiego uczenia.

Pierwsze DLP

Aby zapewnić wyższą wydajność i energię, szczególną uwagę zaczyna przyciągać projektowanie specyficzne dla domeny. W 2014 roku Chen i in. zaproponował pierwszy na świecie DLP, DianNao (chiń. „elektryczny mózg”), w celu przyspieszenia w szczególności głębokich sieci neuronowych. DianNao zapewnia szczytową wydajność 452 Gp/s (kluczowych operacji w głębokich sieciach neuronowych) tylko na małej powierzchni 3,02 mm2 i 485 mW. Później następców (DaDianNao, ShiDianNao, PuDianNao) proponuje ta sama grupa, tworząc Rodzinę DianNao

Kwitnące DLP

Zainspirowane pionierską pracą rodziny DianNao, wiele DLP jest proponowanych zarówno w środowisku akademickim, jak i przemysłowym, z projektem zoptymalizowanym pod kątem wykorzystania funkcji głębokich sieci neuronowych w celu uzyskania wysokiej wydajności. Tylko na ISCA 2016 trzy sesje, 15% (!) zaakceptowanych artykułów, to projekty architektury dotyczące głębokiego uczenia się. Takie wysiłki obejmują Eyeriss (MIT), EIE (Stanford), Minerva (Harvard), Stripes (University of Toronto) w środowisku akademickim oraz TPU (Google), MLU (Cambricon) w przemyśle. W tabeli 1 wymieniliśmy kilka reprezentatywnych prac.

Tabela 1. Typowe DLP
Rok DLP Instytucja Rodzaj Obliczenie Hierarchia pamięci Kontrola Maksymalna wydajność
2014 DianNao ICT, CAS cyfrowy wektorowe MAC brudnopis VLIW 452 g (16-bitów)
DaDianNao ICT, CAS cyfrowy wektorowe MAC brudnopis VLIW 5.58 Blaty (16-bitowe)
2015 ShiDianNao ICT, CAS cyfrowy skalarne MAC brudnopis VLIW 194 gopy (16 bitów)
PuDianNao ICT, CAS cyfrowy wektorowe MAC brudnopis VLIW 1056 g (16-bitów)
2016 DnnWeaver Gruzja Tech cyfrowy Wektory MAC brudnopis - -
EIE Stanford cyfrowy skalarne MAC brudnopis - 102 Gpy (16-bitowe)
Eyeriss MIT cyfrowy skalarne MAC brudnopis - 67,2 g (16-bitów)
główny UCSB hybrydowy Proces w pamięci ReRAM - -
2017 TPU Google cyfrowy skalarne MAC brudnopis CISC 92 nakładki (8-bitowe)
Warstwa rur U Pittsburgha hybrydowy Proces w pamięci ReRAM -
FlexFlow ICT, CAS cyfrowy skalarne MAC brudnopis - 420 gopsów ()
2018 MAERI Gruzja Tech cyfrowy skalarne MAC brudnopis -
PermDNN Uniwersytet Miejski w Nowym Jorku cyfrowy wektorowe MAC brudnopis - 614,4 g (16 bitów)
2019 FPSA Tsinghua hybrydowy Proces w pamięci ReRAM -
Cambricon-F ICT, CAS cyfrowy wektorowe MAC brudnopis FISA 14.9 Wierzchołki (F1, 16-bit)

956 wierzchołków (F100, 16-bitowy)

Architektura DLP

Wraz z szybką ewolucją algorytmów głębokiego uczenia i DLP zbadano wiele architektur. Z grubsza, DLP można podzielić na trzy kategorie na podstawie ich implementacji: obwody cyfrowe, obwody analogowe i obwody hybrydowe. Ponieważ czysto analogowe DLP są rzadko spotykane, wprowadzamy cyfrowe DLP i hybrydowe DLP.

Cyfrowe DLP

Główne komponenty architektury DLP zazwyczaj obejmują komponent obliczeniowy, hierarchię pamięci na chipie oraz logikę sterującą, która zarządza komunikacją danych i przepływami obliczeniowymi.

Jeśli chodzi o komponent obliczeniowy, ponieważ większość operacji głębokiego uczenia można zagregować w operacje wektorowe, najczęstszymi sposobami budowania komponentów obliczeniowych w cyfrowych DLP jest organizacja oparta na MAC (akumulacja mnożnika), z wektorowymi MAC lub skalarnymi MAC. Zamiast SIMD lub SIMT w ogólnych urządzeniach przetwarzających, w tych organizacjach opartych na MAC lepiej jest badać równoległość specyficzną dla domeny głębokiego uczenia. Jeśli chodzi o hierarchię pamięci, ponieważ algorytmy głębokiego uczenia wymagają dużej przepustowości, aby zapewnić komponentowi obliczeniowemu wystarczającą ilość danych, DLP zwykle wykorzystują stosunkowo większy rozmiar (dziesiątki kilobajtów lub kilka megabajtów) bufora na chipie, ale z dedykowaną strategią ponownego wykorzystania danych na chipie i strategia wymiany danych w celu zmniejszenia obciążenia przepustowości pamięci. Na przykład DianNao, 16 16-in vector MAC, wymaga 16 × 16 × 2 = 512 16-bitowych danych, tj. prawie 1024 GB/s przepustowości między komponentami obliczeniowymi a buforami. W przypadku ponownego wykorzystania na chipie takie wymagania dotyczące przepustowości są drastycznie zmniejszone. Zamiast powszechnie używanej pamięci podręcznej w ogólnych urządzeniach przetwarzających, DLP zawsze używają pamięci notatnika, ponieważ może to zapewnić większe możliwości ponownego wykorzystania danych, wykorzystując stosunkowo regularny wzorzec dostępu do danych w algorytmach głębokiego uczenia. Jeśli chodzi o logikę sterowania, w miarę jak algorytmy uczenia głębokiego ewoluują w zawrotnym tempie, DLP zaczynają wykorzystywać dedykowaną architekturę ISA (architekturę zestawu instrukcji), aby elastycznie wspierać dziedzinę uczenia głębokiego. Początkowo DianNao używał zestawu instrukcji w stylu VLIW, w którym każda instrukcja mogła zakończyć warstwę w DNN. Cambricon wprowadza pierwszy ISA specyficzny dla domeny głębokiego uczenia, który może obsługiwać ponad dziesięć różnych algorytmów uczenia głębokiego. TPU ujawnia również pięć kluczowych instrukcji ISA w stylu CISC.

Hybrydowe DLP

Hybrydowe DLP pojawiają się na potrzeby wnioskowania DNN i przyspieszenia szkolenia ze względu na ich wysoką wydajność. Architektury przetwarzania w pamięci (PIM) są jednym z najważniejszych typów hybrydowego DLP. Kluczową koncepcją projektową PIM jest wypełnienie luki między przetwarzaniem a pamięcią za pomocą następujących sposobów: 1) Przeniesienie komponentów obliczeniowych do komórek pamięci, kontrolerów lub układów pamięci w celu złagodzenia problemu ze ścianą pamięci. Takie architektury znacznie skracają ścieżki danych i wykorzystują znacznie wyższą przepustowość wewnętrzną, co skutkuje atrakcyjną poprawą wydajności. 2) Buduj wysokowydajne silniki DNN, stosując urządzenia obliczeniowe. W 2013 r. laboratorium HP zademonstrowało zadziwiającą zdolność zastosowania struktury poprzecznej ReRAM do obliczeń. Inspirując się tą pracą, proponuje się ogromną pracę w celu zbadania nowej architektury i projektu systemu opartego na pamięci ReRAM, pamięci zmiany fazy itp.

GPU i FPGA

Pomimo DLP, GPU i FPGA są również używane jako akceleratory, aby przyspieszyć wykonywanie algorytmów głębokiego uczenia. Na przykład Summit, superkomputer IBM dla Oak Ridge National Laboratory, zawiera 27 648 kart Nvidia Tesla V100, które można wykorzystać do przyspieszenia algorytmów głębokiego uczenia. Firma Microsoft buduje swoją platformę uczenia głębokiego, korzystając z mnóstwa układów FPGA na swojej platformie Azure, aby obsługiwać usługi uczenia głębokiego w czasie rzeczywistym. W tabeli 2 porównujemy DLP z procesorami graficznymi i FPGA pod względem celu, wydajności, efektywności energetycznej i elastyczności.

Tabela 2. DLP vs. GPU vs. FPGA
Cel Wydajność Efektywności energetycznej Elastyczność
DLP głęboka nauka wysoka wysoka specyficzne dla domeny
FPGA wszystko Niska umiarkowany ogólny
GPU obliczenia macierzowe umiarkowany Niska aplikacje matrycowe

Atomowo cienkie półprzewodniki do głębokiego uczenia

Atomowo cienkie półprzewodniki są uważane za obiecujące dla energooszczędnego uczenia głębokim sprzętu gdzie taką samą podstawową strukturę urządzenie jest używane zarówno do operacji logicznych i przechowywania danych. W 2020 roku Marega i in. opublikowali eksperymenty z materiałem kanału aktywnego o dużej powierzchni do opracowywania urządzeń i obwodów logiki w pamięci opartych na tranzystorach polowych z pływającą bramką (FGFET). Wykorzystują dwuwymiarowe materiały, takie jak półprzewodnikowy dwusiarczek molibdenu, aby precyzyjnie dostroić FGFET jako bloki budulcowe, w których można wykonywać operacje logiczne na elementach pamięci.

Zintegrowany fotoniczny rdzeń tensora

W 2021 r. J. Feldmann i in. zaproponował zintegrowany fotoniczny akcelerator sprzętowy do równoległego przetwarzania splotowego. Autorzy identyfikują dwie kluczowe zalety zintegrowanej fotoniki w porównaniu z jej elektronicznymi odpowiednikami: (1) masowo równoległy transfer danych poprzez multipleksowanie z podziałem długości fali w połączeniu z grzebieniem częstotliwości oraz (2) niezwykle wysokie prędkości modulacji danych. Ich system może wykonywać biliony operacji multiply-accumulate na sekundę, co wskazuje na potencjał zintegrowanej fotoniki w aplikacjach AI z dużą ilością danych.

Benchmarki

Benchmarking od dawna służy jako podstawa do projektowania nowych architektur sprzętowych, gdzie zarówno architekci, jak i praktycy mogą porównywać różne architektury, identyfikować ich wąskie gardła i przeprowadzać odpowiednią optymalizację systemu/architektury. W tabeli 3 wymieniono kilka typowych wzorców dla DLP, datowanych na rok 2012 w kolejności czasowej.

Tabela 3. Benchmarki.
Rok Benchmark NN Afiliacje # mikrobenchmarków # testów komponentów # testów aplikacji
2012 ŁawkaNN ICT, CAS Nie dotyczy 12 Nie dotyczy
2016 Pojąć Harvard Nie dotyczy 8 Nie dotyczy
2017 ŁawkaIP ICT, CAS 12 11 Nie dotyczy
2017 ŚWITŁawka Stanford 8 Nie dotyczy Nie dotyczy
2017 Głęboka ławka Baidu 4 Nie dotyczy Nie dotyczy
2018 MLPerf Harvard, Intel, Google itp. Nie dotyczy 7 Nie dotyczy
2019 AIBench ICT, CAS i Alibaba itp. 12 16 2
2019 NNBench-X UCSB Nie dotyczy 10 Nie dotyczy

Zobacz też

Bibliografia