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 | 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.
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.
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 |