Procesor głębokiego uczenia
Procesor głębokiego uczenia ( DLP ) lub akcelerator głębokiego uczenia się to układ elektroniczny przeznaczony do algorytmów głębokiego uczenia , zwykle z oddzielną pamięcią danych i dedykowaną architekturą zestawu instrukcji . Procesory do głębokiego uczenia obejmują zarówno urządzenia mobilne, takie jak jednostki przetwarzania neuronowego (NPU) w Huawei , jak i 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 dla algorytmów głębokiego uczenia się niż ogólna jednostka centralna (CPU) i jednostki przetwarzania grafiki (GPU). Większość DLP wykorzystuje dużą liczbę komponentów obliczeniowych, aby wykorzystać równoległość na wysokim poziomie danych, stosunkowo większy bufor/pamięć na chipie, aby wykorzystać wzorce ponownego wykorzystania danych, oraz operatory o ograniczonej szerokości danych, aby zapewnić odporność na błędy głębokiego uczenia. Procesory głębokiego uczenia różnią się od akceleratorów AI tym, że są wyspecjalizowane w uruchamianiu algorytmów uczenia się, podczas gdy akceleratory AI są zazwyczaj bardziej wyspecjalizowane w wnioskowaniu. Jednak te dwa terminy (DLP vs akcelerator AI) nie są stosowane rygorystycznie i często nakładają się na siebie.
Historia
Wykorzystanie procesorów/procesorów graficznych
Na początku do wykonywania algorytmów głębokiego uczenia przyjęto ogólne procesory. Później GPU są wprowadzane do dziedziny głębokiego uczenia się. Na przykład w 2012 roku Alex Krizhevsky zastosował dwa GPU do trenowania sieci głębokiego uczenia, czyli AlexNet, który zdobył tytuł mistrza konkursu ISLVRC-2012. Ponieważ zainteresowanie algorytmami głębokiego uczenia i DLP stale rośnie, producenci GPU zaczynają dodawać funkcje związane z głębokim uczeniem zarówno w sprzęcie (np. operatorzy INT8), jak iw oprogramowaniu (np. biblioteka cuDNN). Na przykład Nvidia wypuściła nawet Turing Tensor Core — DLP — w celu przyspieszenia przetwarzania głębokiego uczenia.
Pierwszy DPL
Aby zapewnić wyższą wydajność w zakresie wydajności i zużycia energii, projekt specyficzny dla domeny zaczyna przyciągać dużą uwagę. W 2014 roku Chen i in. zaproponował pierwszy na świecie DLP, DianNao (po chińsku „elektryczny mózg”), aby przyspieszyć zwłaszcza głębokie sieci neuronowe. DianNao zapewnia szczytową wydajność 452 Gop/s (kluczowych operacji w głębokich sieciach neuronowych) tylko przy niewielkiej powierzchni 3,02 mm2 i 485 mW. Później następcy (DaDianNao, ShiDianNao, PuDianNao) są proponowani przez tę samą grupę, tworząc rodzinę DianNao
Kwitnące DLP
Zainspirowany pionierskimi pracami rodziny DianNao, wiele DLP jest proponowanych zarówno w środowisku akademickim, jak i przemysłowym, z projektem zoptymalizowanym pod kątem wykorzystania cech głębokich sieci neuronowych w celu uzyskania wysokiej wydajności. Tylko na ISCA 2016 trzy sesje, 15% (!) przyjętych referatów, to projekty architektury dotyczące głębokiego uczenia. 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 | Typ | Obliczenie | Hierarchia pamięci | Kontrola | Maksymalna wydajność |
2014 | DianNao | ICT, CAS | cyfrowy | wektorowe MAC | brudnopis | VLIW | 452 Gops (16-bitowy) |
DaDianNao | ICT, CAS | cyfrowy | wektorowe MAC | brudnopis | VLIW | 5,58 topy (16-bitowe) | |
2015 | ShiDianNao | ICT, CAS | cyfrowy | skalarne MAC | brudnopis | VLIW | 194 Gops (16-bitowy) |
PuDianNao | ICT, CAS | cyfrowy | wektorowe MAC | brudnopis | VLIW | 1056 gopsów (16-bitowych) | |
2016 | DnnWeaver | Georgia Tech | cyfrowy | Wektorowe MAC | brudnopis | - | - |
EIE | Stanforda | cyfrowy | skalarne MAC | brudnopis | - | 102 Gops (16-bitowy) | |
Eyeriss | MIT | cyfrowy | skalarne MAC | brudnopis | - | 67,2 Gops (16-bitowy) | |
główny | UCSB | hybrydowy | Proces w pamięci | ReRAM | - | - | |
2017 | TPU | cyfrowy | skalarne MAC | brudnopis | CISC | 92 szczyty (8-bitowe) | |
Warstwa rur | U Pittsburgha | hybrydowy | Proces w pamięci | ReRAM | - | ||
FlexFlow | ICT, CAS | cyfrowy | skalarne MAC | brudnopis | - | 420 gopsów () | |
2018 | MAERI | Georgia Tech | cyfrowy | skalarne MAC | brudnopis | - | |
PermDNN | Miejski Uniwersytet Nowego Jorku | cyfrowy | wektorowe MAC | brudnopis | - | 614,4 Gops (16-bitowy) | |
2019 | FPSA | Tsinghua | hybrydowy | Proces w pamięci | ReRAM | - | |
Cambricon-F | ICT, CAS | cyfrowy | wektorowe MAC | brudnopis | FISA | 14,9 wierzchołków (F1, 16-bitowy) 956 blatów (F100, 16-bitowy) |
Architektura DLP
Wraz z szybką ewolucją algorytmów głębokiego uczenia się i DLP zbadano wiele architektur. Z grubsza, DLP można podzielić na trzy kategorie w zależności od 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 zwykle obejmują komponent obliczeniowy, hierarchię pamięci na chipie oraz logikę kontrolną, która zarządza przepływami komunikacji danych i obliczeń.
Jeśli chodzi o komponent obliczeniowy, ponieważ większość operacji w uczeniu głębokim można agregować w operacje wektorowe, najpowszechniejszymi sposobami budowania komponentów obliczeniowych w cyfrowych DLP jest organizacja oparta na MAC (akumulacja mnożników), albo z wektorowymi MAC, albo skalarnymi MAC. Zamiast SIMD lub SIMT w ogólnych urządzeniach przetwarzających, w tych organizacjach opartych na MAC lepiej bada się 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ą bufor o stosunkowo większym rozmiarze (dziesiątki kilobajtów lub kilka megabajtów) w chipie, ale z dedykowaną strategią ponownego wykorzystania danych w chipie i strategii wymiany danych w celu zmniejszenia obciążenia przepustowości pamięci. Na przykład DianNao, 16 16-calowy wektorowy MAC, wymaga 16 × 16 × 2 = 512 16-bitowych danych, tj. wymaga prawie 1024 GB/s przepustowości między komponentami obliczeniowymi i buforami. Dzięki ponownemu wykorzystaniu na chipie takie wymagania dotyczące przepustowości są drastycznie zmniejszone. Zamiast szeroko stosowanej pamięci podręcznej w ogólnych urządzeniach przetwarzających, DLP zawsze używają pamięci typu scratchpad, ponieważ może to zapewnić większe możliwości ponownego wykorzystania danych poprzez wykorzystanie stosunkowo regularnego wzorca dostępu do danych w algorytmach głębokiego uczenia. Jeśli chodzi o logikę sterowania, ponieważ algorytmy głębokiego uczenia się ewoluują w dramatycznym tempie, DLP zaczynają wykorzystywać dedykowany ISA (architekturę zestawu instrukcji), aby elastycznie wspierać domenę głębokiego uczenia. 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ć więcej niż dziesięć różnych algorytmów głębokiego uczenia. TPU ujawnia również pięć kluczowych instrukcji z ISA w stylu CISC.
Hybrydowe DLP
Hybrydowe DLP pojawiają się do wnioskowania DNN i przyspieszania 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) Przenoszenie 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 większą przepustowość wewnętrzną, co skutkuje atrakcyjną poprawą wydajności. 2) Zbuduj wysokowydajne silniki DNN, przyjmując urządzenia obliczeniowe. W 2013 r. laboratorium HP zademonstrowało zdumiewające możliwości zastosowania struktury poprzecznej ReRAM w obliczeniach. Inspirując się tą pracą, proponuje się ogromną pracę w celu zbadania nowej architektury i projektu systemu opartego na ReRAM, pamięci zmiennofazowej itp.
GPU i FPGA
Pomimo DLP, GPU i FPGA są również wykorzystywane jako akceleratory w celu przyspieszenia wykonywania algorytmów głębokiego uczenia się. Na przykład Summit, superkomputer firmy 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ę głębokiego uczenia się przy użyciu układów FPGA na platformie Azure, aby obsługiwać usługi głębokiego uczenia się w czasie rzeczywistym. W Tabeli 2 porównujemy DLP z GPU i FPGA pod względem celu, wydajności, efektywności energetycznej i elastyczności.
Cel | Wydajność | Efektywności energetycznej | Elastyczność | |
---|---|---|---|---|
DLP | głęboka nauka | wysoki | wysoki | specyficzne dla domeny |
układy FPGA | Wszystko | Niski | umiarkowany | ogólny |
GPU | obliczenia macierzowe | umiarkowany | Niski | aplikacje macierzowe |
Atomowo cienkie półprzewodniki do głębokiego uczenia
Atomowo cienkie półprzewodniki są uważane za obiecujące dla energooszczędnego sprzętu do głębokiego uczenia , w którym ta sama podstawowa struktura urządzenia jest używana zarówno do operacji logicznych, jak i do przechowywania danych. W 2020 roku Marega i in. opublikował eksperymenty z materiałem aktywnego kanału 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 konstrukcyjne, w których można wykonywać operacje logiczne z elementami pamięci.
Zintegrowany rdzeń tensora fotonicznego
W 2021 roku J. Feldmann i in. zaproponował zintegrowany sprzętowy akcelerator fotoniczny 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 grzebieniami częstotliwości oraz (2) niezwykle wysokie prędkości modulacji danych. Ich system może wykonywać biliony operacji wielokrotnej akumulacji na sekundę, co wskazuje na potencjał zintegrowanej fotoniki w aplikacjach AI przetwarzających duże ilości danych.
Wzorce
Benchmarking od dawna stanowi podstawę projektowania nowych architektur sprzętowych, w ramach której zarówno architekci, jak i praktycy mogą porównywać różne architektury, identyfikować ich wąskie gardła i przeprowadzać odpowiednią optymalizację systemu/architektury. Tabela 3 zawiera kilka typowych wzorców dla DLP, począwszy od roku 2012 w kolejności czasowej.
Rok | Benchmark NN | Afiliacje | # mikrotestów porównawczych | Liczba testów porównawczych komponentów | # testów porównawczych aplikacji |
---|---|---|---|---|---|
2012 | ŁawkaNN | ICT, CAS | Nie dotyczy | 12 | Nie dotyczy |
2016 | Pojąć | Harvard | Nie dotyczy | 8 | Nie dotyczy |
2017 | BenchIP | ICT, CAS | 12 | 11 | Nie dotyczy |
2017 | ŚWITŁawka | Stanforda | 8 | Nie dotyczy | Nie dotyczy |
2017 | DeepBench | Baidu | 4 | Nie dotyczy | Nie dotyczy |
2018 | MLPerf | Harvard, Intel i Google itp. | Nie dotyczy | 7 | Nie dotyczy |
2019 | Ławka AI | ICT, CAS i Alibaba itp. | 12 | 16 | 2 |
2019 | NNBench-X | UCSB | Nie dotyczy | 10 | Nie dotyczy |