# Processador d'aprenentatge profund

Un processador d'aprenentatge profund (amb acrònim DLP), o un accelerador d'aprenentatge profund, és un circuit electrònic dissenyat per a algorismes d'aprenentatge profund, normalment amb memòria de dades separada i una arquitectura de conjunt d'instruccions dedicada. Els processadors d'aprenentatge profund van des de dispositius mòbils, com les unitats de processament neuronal (NPU) als telèfons mòbils Huawei, fins a servidors de computació al núvol com les unitats de processament de tensors (TPU) a Google Cloud Platform.
L'objectiu dels DLP és proporcionar una eficiència i un rendiment més alts per als algorismes d'aprenentatge profund que les unitats de processament central general (CPU) i les unitats de processament gràfic (GPU). La majoria dels DLP utilitzen un gran nombre de components informàtics per aprofitar un paral·lelisme a nivell de dades elevat, una memòria intermèdia/memòria relativament més gran al xip per aprofitar els patrons de reutilització de dades i operadors d'amplada de dades limitada per a la resistència a errors de l'aprenentatge profund. Els processadors d'aprenentatge profund es diferencien dels acceleradors d'IA perquè estan especialitzats per executar algorismes d'aprenentatge, mentre que els acceleradors d'IA solen estar més especialitzats per a la inferència. Tanmateix, els dos termes (DLP vs accelerador AI) no s'utilitzen amb rigor i sovint hi ha una superposició entre els dos.

## Arquitectura

Pel que fa al component de càlcul, com que la majoria de les operacions de l'aprenentatge profund es poden agregar en operacions vectorials, les maneres més habituals de construir components de càlcul en DLP digitals són l'organització basada en MAC (mulltiplicador-sumador), ja sigui amb MAC vectorials o MAC escalars. En lloc de SIMD o SIMT en dispositius de processament generals, s'explora millor el paral·lelisme específic del domini d'aprenentatge profund en aquestes organitzacions basades en MAC. Pel que fa a la jerarquia de memòria, com que els algorismes d'aprenentatge profund requereixen un ample de banda elevat per proporcionar al component de càlcul amb dades suficients, els DLP solen emprar una mida relativament més gran (desenes de kilobytes o diversos megabytes) al xip, però amb una estratègia de reutilització de dades al xip dedicada i estratègia d'intercanvi de dades per alleujar la càrrega de l'ample de banda de la memòria. Per exemple, DianNao, 16 MAC vectorial de 16 polzades, requereix 16 × 16 × 2 = 512 dades de 16 bits, és a dir, uns requisits d'amplada de banda de gairebé 1024 GB/s entre els components de càlcul i els buffers. Amb la reutilització al xip, aquests requisits d'amplada de banda es redueixen dràsticament. En lloc de la memòria cau àmpliament utilitzada en dispositius de processament generals, els DLP sempre utilitzen la memòria Scratchpad, ja que podria oferir més oportunitats de reutilització de dades aprofitant el patró d'accés a dades relativament regular en algorismes d'aprenentatge profund. Pel que fa a la lògica de control, a mesura que els algorismes d'aprenentatge profund segueixen evolucionant a una velocitat espectacular, els DLP comencen a aprofitar l'ISA (arquitectura de conjunt d'instruccions) dedicat per donar suport al domini d'aprenentatge profund de manera flexible. Al principi, DianNao va utilitzar un conjunt d'instruccions d'estil VLIW on cada instrucció podia acabar una capa en un DNN. Cambricon presenta el primer ISA específic del domini d'aprenentatge profund, que podria suportar més de deu algorismes diferents d'aprenentatge profund. TPU també revela cinc instruccions clau de l'ISA d'estil CISC.

## Implementacions

Taula 1. DLP típics :
| Curs | DLP | Institució | Tipus | Càlcul | Jerarquia de la memòria | Control | Rendiment màxim |
| 2014 | Diana | TIC, CAS | digital | MAC vectorials | bloc de notes | VLIW | 452 Gops (16 bits) |
| 2014 | DaDianNao | TIC, CAS | digital | MAC vectorials | bloc de notes | VLIW | 5.58 Tops (16 bits) |
| 2015 | ShiDianNao | TIC, CAS | digital | MAC escalars | bloc de notes | VLIW | 194 Gops (16 bits) |
| 2015 | PuDianNao | TIC, CAS | digital | MAC vectorials | bloc de notes | VLIW | 1.056 Gops (16 bits) |
| 2016 | DnnWeaver | Georgia Tech | digital | MAC vectorials | bloc de notes | - | - |
| 2016 | EIE | Stanford | digital | MAC escalars | bloc de notes | - | 102 Gops (16 bits) |
| 2016 | Eyeriss | MIT | digital | MAC escalars | bloc de notes | - | 67,2 Gops (16 bits) |
| 2016 | Prime | UCSB | híbrid | Procés en memòria | ReRAM | - | - |
| 2017 | TPU | Google | digital | MAC escalars | bloc de notes | CISC | 92 Tops (8 bits) |
| 2017 | PipeLayer | Universitat de Pittsburgh | híbrid | Procés en memòria | ReRAM | - | |
| 2017 | FlexFlow | TIC, CAS | digital | MAC escalars | bloc de notes | - | 420 gops |
| 2018 | MAERI | Georgia Tech | digital | MAC escalars | bloc de notes | - | |
| 2018 | PermDNN | Universitat de la ciutat de Nova York | digital | MAC vectorials | bloc de notes | - | 614,4 Gops (16 bits) |
| 2019 | FPSA | Tsinghua | híbrid | Procés en memòria | ReRAM | - | |
| 2019 | Cambricon-F | TIC, CAS | digital | MAC vectorials | bloc de notes | FISA | 14.9 Tops (F1, 16 bits) 956 Tops (F100, 16 bits) |

## Referències

* ↑ «HUAWEI Reveals the Future of Mobile AI at IFA» (en anglès). Arxivat de l'original el 2021-11-10. [Consulta: 7 març 2023].
* ↑ P, JouppiNorman; YoungCliff; PatilNishant; PattersonDavid; AgrawalGaurav (en anglès) ACM SIGARCH Computer Architecture News, 45, 2, 24-06-2017, pàg. 1–12. DOI: 10.1145/3140659.3080246 [Consulta: free].
* 1 2 Chen, Tianshi; Du, Zidong; Sun, Ninghui; Wang, Jia; Wu, Chengyong ACM SIGARCH Computer Architecture News, 42, 1, 05-04-2014, pàg. 269–284. DOI: 10.1145/2654822.2541967. ISSN: 0163-5964 [Consulta: free].
* ↑ Chen, Yunji; Luo, Tao; Liu, Shaoli; Zhang, Shijin; He, Liqiang 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture, 01-12-2014, pàg. 609–622. DOI: 10.1109/micro.2014.58.
* ↑ Liu, Daofu; Chen, Tianshi; Liu, Shaoli; Zhou, Jinhong; Zhou, Shengyuan ACM SIGARCH Computer Architecture News, 43, 1, 29-05-2015, pàg. 369–381. DOI: 10.1145/2786763.2694358. ISSN: 0163-5964.
* ↑ (en anglès) ShiDianNao: shifting vision processing closer to the sensor. DOI: 10.1145/3079856.3080246 [Consulta: free].
* ↑ Du, Zidong; Fasthuber, Robert; Chen, Tianshi; Ienne, Paolo; Li, Ling ACM SIGARCH Computer Architecture News, 43, 3S, 04-01-2016, pàg. 92–104. DOI: 10.1145/2872887.2750389. ISSN: 0163-5964.
* ↑ Chen, Yu-Hsin; Emer, Joel; Sze, Vivienne IEEE Micro, 2017, pàg. 1. DOI: 10.1109/mm.2017.265085944. ISSN: 0272-1732.
* ↑ Liu, Shaoli; Du, Zidong; Tao, Jinhua; Han, Dong; Luo, Tao 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA), 01-06-2016, pàg. 393–405. DOI: 10.1109/isca.2016.42.
* ↑ Chen, Tianshi; Du, Zidong; Sun, Ninghui; Wang, Jia; Wu, Chengyong ACM SIGARCH Computer Architecture News, 42, 1, 05-04-2014, pàg. 269–284. DOI: 10.1145/2654822.2541967. ISSN: 0163-5964 [Consulta: free].
* ↑ Chen, Yunji; Luo, Tao; Liu, Shaoli; Zhang, Shijin; He, Liqiang 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture, 01-12-2014, pàg. 609–622. DOI: 10.1109/micro.2014.58.
* ↑ Du, Zidong; Fasthuber, Robert; Chen, Tianshi; Ienne, Paolo; Li, Ling ACM SIGARCH Computer Architecture News, 43, 3S, 04-01-2016, pàg. 92–104. DOI: 10.1145/2872887.2750389. ISSN: 0163-5964.
* ↑ Liu, Daofu; Chen, Tianshi; Liu, Shaoli; Zhou, Jinhong; Zhou, Shengyuan ACM SIGARCH Computer Architecture News, 43, 1, 29-05-2015, pàg. 369–381. DOI: 10.1145/2786763.2694358. ISSN: 0163-5964.
* ↑ Han, Song. EIE: Efficient Inference Engine on Compressed Deep Neural Network, 2016-02-03. OCLC 1106232247.
* ↑ Chen, Yu-Hsin; Emer, Joel; Sze, Vivienne IEEE Micro, 2017, pàg. 1. DOI: 10.1109/mm.2017.265085944. ISSN: 0272-1732.
* ↑ Chi, Ping; Li, Shuangchen; Xu, Cong; Zhang, Tao; Zhao, Jishen 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA), 01-06-2016, pàg. 27-39. DOI: 10.1109/isca.2016.13.
* ↑ (en anglès) In-Datacenter Performance Analysis of a Tensor Processing Unit. DOI: 10.1145/3079856.3080246 [Consulta: free].
* ↑ Song, Linghao; Qian, Xuehai; Li, Hai; Chen, Yiran 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA), 01-02-2017, pàg. 541–552. DOI: 10.1109/hpca.2017.55.