Процессор глубокого обучения

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Процессор глубокого обучения (Deep learning processor, DLP) или ускоритель глубокого обучения — это электронная схема, разработанная для алгоритмов глубокого обучения, обычно с отдельной памятью данных и специализированной архитектурой набора команд. Процессоры глубокого обучения варьируются от мобильных устройств, таких как блоки нейронной обработки (NPU) в мобильных телефонах Huawei[1], до серверов облачных вычислений, таких как Тензорный процессор Google (TPU) в Google Cloud Platform[2].

Цель создания специализированных устройств DLP — обеспечить более высокую эффективность и производительность для алгоритмов глубокого обучения, чем обычные центральные процессоры (CPU) и графические процессоры (GPU). Большинство DLP используют большое количество вычислительных компонентов для использования параллелизма на высоком уровне данных, относительно большие буфер / память на кристалле для использования шаблонов повторного использования данных и операторы ограниченной ширины данных для обеспечения устойчивости к ошибкам при глубоком обучении.

История[править | править код]

Использование центральных и графических процессоров[править | править код]

Первоначально для выполнения алгоритмов глубокого обучения были адаптированы процессоры общего назначения. Позже для целей глубокого обучения стали использоваться и графические процессоры. Например, в 2012 году Алекс Крижевский использовал два графических процессора для обучения сети глубокого обучения, названной AlexNet[3], которая стала победителем конкурса ISLVRC-2012. Поскольку интерес к алгоритмам глубокого обучения и DLP продолжил расти, производители графических процессоров начинают добавлять функции, связанные с глубоким обучением, как в аппаратное обеспечение (например, операторы INT8), так и в программное обеспечение (например, библиотеку cuDNN). Так, Nvidia выпустила ядро Turing Tensor Core — DLP — для ускорения обработки глубокого обучения.

Первые DLP[править | править код]

Чтобы обеспечить более высокую эффективность в производительности и энергопотреблении, разработчики оборудования обращают внимание предметно-ориентированный дизайн устройств. В 2014 году команда исследователей под руководством Tianshi Chen предложила первый в мире DLP, DianNao (по-китайски «электрический мозг»)[4], специализированный для ускорения глубоких нейронных сетей. DianNao обеспечивает пиковую производительность 452 Gop / s (ключевых операций в глубоких нейронных сетях) при небольшой занимаемой площади 3,02 мм2 и потребляемой мощности 485 мВт. Следующие версии процессора (DaDianNao[5], ShiDianNao[6], PuDianNao[7]), образующие семейство микросхем DianNao были предложены той же группой разработчиков[8].

Дальнейшее развитие[править | править код]

После появления семейства процессоров DianNao, аналогичные по идеологии разработки велись как в академических кругах, так и в промышленности. Только на ежегодной Международной конференция по компьютерной архитектуре[англ.] ISCA 2016 три сессии, 15% (!) принятых докладов описывали проекты архитектуры процессоров глубокого обучения. В числе заслуживающих упоминания проектов можно назвать Eyeriss[9] (Массачусетский технологический институт), EIE[10] (Стэнфорд), Minerva[11] (Гарвард), Stripes[12] (Университет Торонто) - из числа академических работ и TPU[13] (Google), MLU[14] (Cambricon) - из числа промышленных разработок.

Примечания[править | править код]

  1. HUAWEI Reveals the Future of Mobile AI at IFA 2017 | HUAWEI Latest News | HUAWEI Global. consumer.huawei.com. Дата обращения: 10 ноября 2021. Архивировано 10 ноября 2021 года.
  2. Norman P. Jouppi, Cliff Young, Nishant Patil, David Patterson, Gaurav Agrawal. In-Datacenter Performance Analysis of a Tensor Processing Unit (англ.) // ACM SIGARCH Computer Architecture News. — 2017-09-14. — Vol. 45, iss. 2. — P. 1–12. — ISSN 0163-5964. — doi:10.1145/3140659.3080246. Архивировано 20 ноября 2021 года.
  3. Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton. ImageNet classification with deep convolutional neural networks (англ.) // Communications of the ACM. — 2017-05-24. — Vol. 60, iss. 6. — P. 84–90. — ISSN 1557-7317 0001-0782, 1557-7317. — doi:10.1145/3065386. Архивировано 15 ноября 2021 года.
  4. Tianshi Chen, Zidong Du, Ninghui Sun, Jia Wang, Chengyong Wu. DianNao: a small-footprint high-throughput accelerator for ubiquitous machine-learning (англ.) // ACM SIGARCH Computer Architecture News. — 2014-04-05. — Vol. 42, iss. 1. — P. 269–284. — ISSN 0163-5964. — doi:10.1145/2654822.2541967. Архивировано 10 ноября 2021 года.
  5. Yunji Chen, Tao Luo, Shaoli Liu, Shijin Zhang, Liqiang He. DaDianNao: A Machine-Learning Supercomputer // 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture. — 2014-12. — С. 609–622. — doi:10.1109/MICRO.2014.58. Архивировано 1 декабря 2021 года.
  6. Zidong Du, Robert Fasthuber, Tianshi Chen, Paolo Ienne, Ling Li. ShiDianNao: shifting vision processing closer to the sensor (англ.) // ACM SIGARCH Computer Architecture News. — 2016-01-04. — Vol. 43, iss. 3S. — P. 92–104. — ISSN 0163-5964. — doi:10.1145/2872887.2750389. Архивировано 10 ноября 2021 года.
  7. Daofu Liu, Tianshi Chen, Shaoli Liu, Jinhong Zhou, Shengyuan Zhou. PuDianNao: A Polyvalent Machine Learning Accelerator (англ.) // ACM SIGARCH Computer Architecture News. — 2015-05-29. — Vol. 43, iss. 1. — P. 369–381. — ISSN 0163-5964. — doi:10.1145/2786763.2694358. Архивировано 10 ноября 2021 года.
  8. Yunji Chen, Tianshi Chen, Zhiwei Xu, Ninghui Sun, Olivier Temam. DianNao family: energy-efficient hardware accelerators for machine learning (англ.) // Communications of the ACM. — 2016-10-28. — Vol. 59, iss. 11. — P. 105–112. — ISSN 1557-7317 0001-0782, 1557-7317. — doi:10.1145/2996864. Архивировано 10 ноября 2021 года.
  9. Yu-Hsin Chen, Joel Emer, Vivienne Sze. Using Dataflow to Optimize Energy Efficiency of Deep Neural Network Accelerators // IEEE Micro. — 2017. — Т. 37, вып. 3. — С. 12–21. — ISSN 0272-1732. — doi:10.1109/MM.2017.54. Архивировано 22 ноября 2018 года.
  10. Han, Song. EIE: Efficient Inference Engine on Compressed Deep Neural Network / Song Han, Xingyu Liu, Huizi Mao … [и др.]. — 2016-02-03.
  11. Brandon Reagen, Paul Whatmough, Robert Adolf, Saketh Rama, Hyunkwang Lee. Minerva: Enabling Low-Power, Highly-Accurate Deep Neural Network Accelerators // 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA). — Seoul: IEEE, 2016-06. — С. 267–278. — ISBN 978-1-4673-8947-1. — doi:10.1109/ISCA.2016.32. Архивировано 1 декабря 2021 года.
  12. Patrick Judd, Jorge Albericio, Andreas Moshovos. Stripes: Bit-Serial Deep Neural Network Computing // IEEE Computer Architecture Letters. — 2017-01-01. — Т. 16, вып. 1. — С. 80–83. — ISSN 1556-6056. — doi:10.1109/LCA.2016.2597140. Архивировано 8 марта 2021 года.
  13. Norman P. Jouppi, Cliff Young, Nishant Patil, David Patterson, Gaurav Agrawal. In-Datacenter Performance Analysis of a Tensor Processing Unit (англ.) // Proceedings of the 44th Annual International Symposium on Computer Architecture. — Toronto ON Canada: ACM, 2017-06-24. — P. 1–12. — ISBN 978-1-4503-4892-8. — doi:10.1145/3079856.3080246. Архивировано 10 ноября 2021 года.
  14. 思元100智能加速卡 - 寒武纪. www.cambricon.com. Дата обращения: 10 ноября 2021. Архивировано 10 ноября 2021 года.