Vés al contingut

Processador d'aprenentatge profund

De la Viquipèdia, l'enciclopèdia lliure

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,[1] fins a servidors de computació al núvol com les unitats de processament de tensors (TPU) a Google Cloud Platform.[2]

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[modifica]

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 [3][4][5] o MAC escalars.[6][7][8] 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.[3] 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 [9] 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[modifica]

Taula 1. DLP típics
Curs DLP Institució Tipus Càlcul Jerarquia de la memòria Control Rendiment màxim
2014 Diana[10] TIC, CAS digital MAC vectorials bloc de notes VLIW 452 Gops (16 bits)
DaDianNao [11] TIC, CAS digital MAC vectorials bloc de notes VLIW 5.58 Tops (16 bits)
2015 ShiDianNao [12] TIC, CAS digital MAC escalars bloc de notes VLIW 194 Gops (16 bits)
PuDianNao [13] TIC, CAS digital MAC vectorials bloc de notes VLIW 1.056 Gops (16 bits)
2016 DnnWeaver Georgia Tech digital MAC vectorials bloc de notes - -
EIE [14] Stanford digital MAC escalars bloc de notes - 102 Gops (16 bits)
Eyeriss [15] MIT digital MAC escalars bloc de notes - 67,2 Gops (16 bits)
Prime[16] UCSB híbrid Procés en memòria ReRAM - -
2017 TPU [17] Google digital MAC escalars bloc de notes CISC 92 Tops (8 bits)
PipeLayer [18] Universitat de Pittsburgh híbrid Procés en memòria ReRAM -
FlexFlow TIC, CAS digital MAC escalars bloc de notes - 420 gops ()
2018 MAERI Georgia Tech digital MAC escalars bloc de notes -
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 -
Cambricon-F TIC, CAS digital MAC vectorials bloc de notes FISA 14.9 Tops (F1, 16 bits)

956 Tops (F100, 16 bits)

Referències[modifica]

  1. «HUAWEI Reveals the Future of Mobile AI at IFA» (en anglès).
  2. 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].
  3. 3,0 3,1 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].
  4. Chen, Yunji; Luo, Tao; Liu, Shaoli; Zhang, Shijin; He, Liqiang 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture, desembre 2014, pàg. 609–622. DOI: 10.1109/micro.2014.58.
  5. 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.
  6. (en anglès) ShiDianNao: shifting vision processing closer to the sensor. DOI: 10.1145/3079856.3080246 [Consulta: free].
  7. 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.
  8. Chen, Yu-Hsin; Emer, Joel; Sze, Vivienne IEEE Micro, 2017, pàg. 1. DOI: 10.1109/mm.2017.265085944. ISSN: 0272-1732.
  9. Liu, Shaoli; Du, Zidong; Tao, Jinhua; Han, Dong; Luo, Tao 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA), juny 2016, pàg. 393–405. DOI: 10.1109/isca.2016.42.
  10. 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].
  11. Chen, Yunji; Luo, Tao; Liu, Shaoli; Zhang, Shijin; He, Liqiang 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture, desembre 2014, pàg. 609–622. DOI: 10.1109/micro.2014.58.
  12. 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.
  13. 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.
  14. Han, Song. EIE: Efficient Inference Engine on Compressed Deep Neural Network, 2016-02-03. OCLC 1106232247. 
  15. Chen, Yu-Hsin; Emer, Joel; Sze, Vivienne IEEE Micro, 2017, pàg. 1. DOI: 10.1109/mm.2017.265085944. ISSN: 0272-1732.
  16. Chi, Ping; Li, Shuangchen; Xu, Cong; Zhang, Tao; Zhao, Jishen 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA), juny 2016, pàg. 27-39. DOI: 10.1109/isca.2016.13.
  17. (en anglès) In-Datacenter Performance Analysis of a Tensor Processing Unit. DOI: 10.1145/3079856.3080246 [Consulta: free].
  18. Song, Linghao; Qian, Xuehai; Li, Hai; Chen, Yiran 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA), febrer 2017, pàg. 541–552. DOI: 10.1109/hpca.2017.55.