Процессор глубокого обучения - Deep learning processor

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

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

История

Использование CPU / GPU

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

Первый DLP

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

Цветущие DLP

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

Таблица 1. Типичные DLP
ГодDLPУчреждениеТипВычислениеИерархия памятиКонтрольПиковая производительность
2014DianNao[4]ИКТ, CASцифровойвекторные MACблокнотVLIW452 Gops (16 бит)
ДаДианНао[5]ИКТ, CASцифровойвекторные MACблокнотVLIW5.58 Tops (16 бит)
2015ShiDianNao[6]ИКТ, CASцифровойскалярные MACблокнотVLIW194 Gops (16 бит)
PuDianNao[7]ИКТ, CASцифровойвекторные MACблокнотVLIW1056 Gops (16 бит)
2016EIE[10]Стэнфордцифровойскалярные MACблокнот-102 Gops (16 бит)
Eyeriss[9]Массачусетский технологический институтцифровойскалярные MACблокнот-67,2 Gops (16 бит)
основной[15]UCSBгибридныйПроцесс в памятиReRAM--
2017ТПУ[13]Googleцифровойскалярные MACблокнотCISC92 вершины (8-бит)
FlexFlowИКТ, CASцифровойскалярные MACблокнот-420 гопс ()
2018МАЭРИТехнологический институт Джорджиицифровойскалярные MACблокнот-
ПермьДННГородской университет Нью-Йоркацифровойвекторные MACблокнот-614,4 Gops (16 бит)
2019FPSAЦинхуагибридныйПроцесс в памятиReRAM-
Камбрикон-ФИКТ, CASцифровойвекторные MACблокнотFISA14,9 Tops (F1, 16 бит)

956 Tops (F100, 16 бит)

DLP архитектура

В связи с быстрым развитием алгоритмов глубокого обучения и DLP было исследовано множество архитектур. Грубо говоря, DLP можно разделить на три категории в зависимости от их реализации: цифровые схемы, аналоговые схемы и гибридные схемы. Поскольку чисто аналоговые DLP встречаются редко, мы представляем цифровые и гибридные DLP.

Цифровые DLP

Основные компоненты архитектуры DLP обычно включают в себя вычислительный компонент, иерархию памяти на кристалле и управляющую логику, которая управляет потоками передачи данных и вычислений.

Что касается вычислительного компонента, поскольку большинство операций в глубоком обучении можно агрегировать в векторные операции, наиболее распространенными способами построения вычислительных компонентов в цифровых DLP является организация на основе MAC (умножение-накопление) либо с векторными MAC.[4][5][7] или скалярные MAC.[13][6][9] Вместо SIMD или SIMT в устройствах общей обработки, параллелизм для конкретных областей глубокого обучения лучше изучать в этих организациях на основе MAC. Что касается иерархии памяти, так как алгоритмы глубокого обучения требуют высокой пропускной способности для обеспечения вычислительного компонента достаточным объемом данных, DLP обычно используют внутрикристальный буфер относительно большего размера (десятки килобайт или несколько мегабайт), но со специальной стратегией повторного использования данных на кристалле и Стратегия обмена данными для уменьшения нагрузки на полосу пропускания памяти. Например, DianNao, 16 векторных MAC размером 16 дюймов, требует 16 × 16 × 2 = 512 16-разрядных данных, то есть почти 1024 ГБ / с пропускной способности между вычислительными компонентами и буферами. При повторном использовании на кристалле такие требования к пропускной способности резко снижаются.[4] Вместо широко используемого кэша в устройствах общей обработки DLP всегда используют оперативную память, поскольку она может обеспечить более широкие возможности повторного использования данных за счет использования относительно регулярного шаблона доступа к данным в алгоритмах глубокого обучения. Что касается логики управления, поскольку алгоритмы глубокого обучения продолжают развиваться с огромной скоростью, DLP начинают использовать выделенный ISA (архитектура набора команд) для гибкой поддержки области глубокого обучения. Сначала DianNao использовала набор инструкций в стиле VLIW, где каждая инструкция могла завершать уровень в DNN. Cambricon[16] представляет первую ISA для предметной области глубокого обучения, которая может поддерживать более десяти различных алгоритмов глубокого обучения. TPU также раскрывает пять ключевых инструкций ISA в стиле CISC.

Гибридные DLP

Гибридные DLP появляются для вывода DNN и ускорения обучения из-за их высокой эффективности. Архитектуры с обработкой в ​​памяти (PIM) - один из наиболее важных типов гибридной DLP. Ключевой концепцией дизайна PIM является устранение разрыва между вычислениями и памятью следующими способами: 1) Перемещение вычислительных компонентов в ячейки памяти, контроллеры или микросхемы памяти, чтобы облегчить проблему стены памяти.[17][18][19] Такие архитектуры значительно сокращают пути передачи данных и используют гораздо более высокую внутреннюю полосу пропускания, что приводит к значительному повышению производительности. 2) Создавайте высокоэффективные двигатели DNN, используя вычислительные устройства. В 2013 году лаборатория HP продемонстрировала удивительные возможности использования перекрестной структуры ReRAM для вычислений.[20] Вдохновленный этой работой, предлагается огромная работа по изучению новой архитектуры и системного дизайна на основе ReRAM,[15][21][22][17] память фазового перехода,[18][23][24] и т.п.

GPU и FPGA

Несмотря на DLP, графические процессоры и FPGA также используются в качестве ускорителей для ускорения выполнения алгоритмов глубокого обучения. Например, Summit, суперкомпьютер IBM для Национальной лаборатории Ок-Ридж,[25] содержит 27 648 карт Nvidia Tesla V100, которые можно использовать для ускорения алгоритмов глубокого обучения. Microsoft создает платформу глубокого обучения с использованием множества ПЛИС в своей Azure для поддержки сервисов глубокого обучения в реальном времени.[26] В таблице 2 мы сравниваем DLP с графическими процессорами и FPGA с точки зрения цели, производительности, энергоэффективности и гибкости.

Таблица 2. DLP, графические процессоры и FPGA
ЦельСпектакльЭнергоэффективностьГибкость
DLPглубокое обучениевысоковысокоспецифичный для домена
ПЛИСвсенизкийумеренныйОбщее
GPUматричное вычислениеумеренныйнизкийматричные приложения

Атомно тонкие полупроводники для глубокого обучения

Атомарно тонкий полупроводники считаются перспективными для энергоэффективных глубокое обучение аппаратное обеспечение, в котором как для логических операций, так и для хранения данных используется одна и та же базовая структура устройства. В 2020 году Marega et al. опубликованы эксперименты с материалом активного канала большой площади для разработки логических устройств и схем на основе плавающий затвор полевые транзисторы (FGFET).[27] Они используют двумерные материалы, такие как полупроводники. дисульфид молибдена для точной настройки FGFET как строительных блоков, в которых логические операции могут выполняться с элементами памяти. [27]

Контрольные точки

Бенчмаркинг долгое время служил основой для разработки новых аппаратных архитектур, где и архитекторы, и практики могут сравнивать различные архитектуры, определять их узкие места и проводить соответствующую оптимизацию системы / архитектуры. В таблице 3 перечислены несколько типичных тестов для DLP, начиная с 2012 года в хронологическом порядке.

Таблица 3. Ориентиры.
ГодNN BenchmarkПринадлежности# микро тестовКоличество тестов компонентов# тестов приложения
2012СкамьяNNИКТ, CASНет данных12Нет данных
2016ВникатьГарвардНет данных8Нет данных
2017СкамейкаИКТ, CAS1211Нет данных
2017РАССВЕТСкамьяСтэнфорд8Нет данныхНет данных
2017DeepBenchBaidu4Нет данныхНет данных
2018MLPerfГарвард, Intel, Google и т. Д.Нет данных7Нет данных
2019AIBenchИКТ, CAS и Alibaba и т. Д.12162
2019NNBench-XUCSBНет данных10Нет данных

Смотрите также

Рекомендации

  1. ^ «HUAWEI раскрывает будущее мобильного ИИ на IFA».
  2. ^ П, Джуппи Норман; YoungCliff; ПатилНишант; Паттерсон Дэвид; AgrawalGaurav; BajwaRaminder; БейтсСара; Бхатиа Суреш; BodenNan; BorchersAl; БойлРик (24.06.2017). «Анализ производительности тензорного процессора в центре обработки данных». Новости компьютерной архитектуры ACM SIGARCH. 45 (2): 1–12. Дои:10.1145/3140659.3080246.
  3. ^ Крижевский, Алексей; Суцкевер, Илья; Хинтон, Джеффри Э. (24 мая 2017 г.). «Классификация ImageNet с глубокими сверточными нейронными сетями». Коммуникации ACM. 60 (6): 84–90. Дои:10.1145/3065386.
  4. ^ а б c d Чен, Тяньши; Ду, Цзыдун; Сунь, Нинхуэй; Ван, Цзя; Ву, Чэнъён; Чен, Юньцзи; Темам, Оливье (2014-04-05). «ДианНао». Новости компьютерной архитектуры ACM SIGARCH. 42 (1): 269–284. Дои:10.1145/2654822.2541967. ISSN  0163-5964.
  5. ^ а б c Чен, Юньцзи; Ло, Дао; Лю, Шаоли; Чжан, Шицзинь; Он, Лицян; Ван, Цзя; Ли, Линг; Чен, Тяньши; Сюй, Чживэй; Сунь, Нинхуэй; Темам, Оливье (декабрь 2014 г.). "DaDianNao: суперкомпьютер с машинным обучением". 2014 47-й ежегодный международный симпозиум IEEE / ACM по микроархитектуре. IEEE: 609–622. Дои:10.1109 / микро.2014.58. ISBN  978-1-4799-6998-2. S2CID  6838992.
  6. ^ а б c Ду, Цзыдун; Фастхубер, Роберт; Чен, Тяньши; Йенне, Паоло; Ли, Линг; Ло, Дао; Фэн, Сяобин; Чен, Юньцзи; Темам, Оливье (04.01.2016). «ШиДианНао». Новости компьютерной архитектуры ACM SIGARCH. 43 (3С): 92–104. Дои:10.1145/2872887.2750389. ISSN  0163-5964.
  7. ^ а б c Лю, Даофу; Чен, Тяньши; Лю, Шаоли; Чжоу, Цзиньхун; Чжоу, Шэнъюань; Теман, Оливье; Фэн, Сяобин; Чжоу, Сюэхай; Чен, Юньцзи (2015-05-29). «ПуДианНао». Новости компьютерной архитектуры ACM SIGARCH. 43 (1): 369–381. Дои:10.1145/2786763.2694358. ISSN  0163-5964.
  8. ^ Чен, Юньцзи; Чен, Тяньши; Сюй, Чживэй; Сунь, Нинхуэй; Темам, Оливье (2016-10-28). «Семья ДяньНао». Коммуникации ACM. 59 (11): 105–112. Дои:10.1145/2996864. ISSN  0001-0782. S2CID  207243998.
  9. ^ а б c Чен Ю-Синь; Эмер, Джоэл; Зе, Вивьен (2017). «Eyeriss: Пространственная архитектура для энергоэффективного потока данных для сверточных нейронных сетей». IEEE Micro: 1. Дои:10.1109 / мм. 2017.265085944. HDL:1721.1/102369. ISSN  0272-1732.
  10. ^ а б Хан, Песня; Лю, Синюй; Мао, Хуэйцзы; Пу, Цзин; Педрам, Ардаван; Горовиц, Марк А .; Далли, Уильям Дж. (03.02.2016). EIE: эффективный механизм вывода в сжатой глубокой нейронной сети. OCLC  1106232247.
  11. ^ Рейген, Брэндон; Whatmough, Пол; Адольф, Роберт; Рама, Сакет; Ли, Хёнкван; Ли, Сэ Гю; Эрнандес-Лобато, Хосе Мигель; Вэй, Гу-Ён; Брукс, Дэвид (июнь 2016 г.). «Минерва: Включение маломощных, высокоточных ускорителей глубоких нейронных сетей». 2016 43-й ежегодный международный симпозиум ACM / IEEE по компьютерной архитектуре (ISCA). Сеул: IEEE: 267–278. Дои:10.1109 / ISCA.2016.32. ISBN  978-1-4673-8947-1.
  12. ^ Джадд, Патрик; Альберисио, Хорхе; Мошовос, Андреас (01.01.2017). "Stripes: Bit-Serial Deep Neural Network Computing". Письма IEEE по компьютерной архитектуре. 16 (1): 80–83. Дои:10.1109 / lca.2016.2597140. ISSN  1556-6056. S2CID  3784424.
  13. ^ а б c "Анализ производительности тензорного процессора в центре обработки данных | Труды 44-го ежегодного международного симпозиума по компьютерной архитектуре". Дои:10.1145/3079856.3080246. S2CID  4202768. Цитировать журнал требует | журнал = (помощь)
  14. ^ «Карта интеллектуального ускорителя MLU 100».
  15. ^ а б Чи, Пинг; Ли, Шуангчен; Сюй, Цун; Чжан, Дао; Чжао, Цзишэнь; Лю Юнпан; Ван, Ю; Се, Юань (июнь 2016 г.). «PRIME: новая архитектура обработки в памяти для вычислений нейронной сети в основной памяти на основе ReRAM». 2016 43-й ежегодный международный симпозиум ACM / IEEE по компьютерной архитектуре (ISCA). IEEE: 27–39. Дои:10.1109 / isca.2016.13. ISBN  978-1-4673-8947-1.
  16. ^ Лю, Шаоли; Ду, Цзыдун; Тао, Цзиньхуа; Хан, Донг; Ло, Дао; Се, Юань; Чен, Юньцзи; Чен, Тяньши (июнь 2016 г.). «Cambricon: Архитектура набора команд для нейронных сетей». 2016 43-й ежегодный международный симпозиум ACM / IEEE по компьютерной архитектуре (ISCA). IEEE: 393–405. Дои:10.1109 / isca.2016.42. ISBN  978-1-4673-8947-1.
  17. ^ а б Песня, Линхао; Цянь, Сюэхай; Ли, Хай; Чен, Иран (февраль 2017 г.). «PipeLayer: конвейерный ускоритель на основе ReRAM для глубокого обучения». Международный симпозиум IEEE 2017 по архитектуре высокопроизводительных компьютеров (HPCA). IEEE: 541–552. Дои:10.1109 / hpca.2017.55. ISBN  978-1-5090-4985-1. S2CID  15281419.
  18. ^ а б Амброджо, Стефано; Нараянан, Притиш; Цай, Синью; Шелби, Роберт М .; Бойбат, Ирем; ди Нольфо, Кармело; Сидлер, Северин; Джордано, Массимо; Бодини, Мартина; Farinha, Nathan C.P .; Киллин, Бенджамин (июнь 2018). «Ускоренное обучение нейронной сети с эквивалентной точностью с использованием аналоговой памяти». Природа. 558 (7708): 60–67. Дои:10.1038 / s41586-018-0180-5. ISSN  0028-0836. PMID  29875487. S2CID  46956938.
  19. ^ Чен, Вэй-Хао; Линь, Вэнь-Джанг; Лай, Ли-Я; Ли, Шуангчен; Сюй, Цзянь-Хуа; Линь Хуань-Тин; Ли, Хэн-Юань; Су, Цзянь-Вэй; Се, Юань; Шеу, Шых-Шюань; Чанг, Мэн-Фань (декабрь 2017 г.). «Двухрежимный макрос ReRAM объемом 16 Мб с вычислением в памяти менее 14 нс и функциями памяти, обеспечиваемыми схемой завершения самозаписи». IEEE International Electron Devices Meeting (IEDM), 2017 г.. IEEE: 28.2.1–28.2.4. Дои:10.1109 / iedm.2017.8268468. ISBN  978-1-5386-3559-9. S2CID  19556846.
  20. ^ Ян, Дж. Джошуа; Струков, Дмитрий Б .; Стюарт, Дункан Р. (январь 2013 г.). «Мемристивные устройства для вычислений». Природа Нанотехнологии. 8 (1): 13–24. Дои:10.1038 / nnano.2012.240. ISSN  1748-3395. PMID  23269430.
  21. ^ Шафи, Али; Наг, Анирбан; Муралиманохар, Навин; Баласубрамониан, Раджив; Страчан, Джон Пол; Ху, Мяо; Уильямс, Р. Стэнли; Шрикумар, Вивек (2016-10-12). "ИСААК". Новости компьютерной архитектуры ACM SIGARCH. 44 (3): 14–26. Дои:10.1145/3007787.3001139. ISSN  0163-5964. S2CID  6329628.
  22. ^ Цзи, Юй Чжан, Юян Се, Синьфэн Ли, Шуанчен Ван, Пэйци Ху, Син Чжан, Юхуэй Се, Юань (2019-01-27). FPSA: решение полного системного стека для реконфигурируемой архитектуры ускорителя NN на основе ReRAM. OCLC  1106329050.CS1 maint: несколько имен: список авторов (ссылка на сайт)
  23. ^ Nandakumar, S. R .; Бойбат, Ирем; Джоши, Винай; Пивето, Кристоф; Ле Галло, Мануэль; Раджендран, Бипин; Себастьян, Абу; Элефтериу, Евангелос (ноябрь 2019 г.). «Модели памяти с фазовым переходом для обучения глубокому обучению и умозаключений». 2019 26-я Международная конференция IEEE по электронике, схемам и системам (ICECS). IEEE: 727–730. Дои:10.1109 / icecs46596.2019.8964852. ISBN  978-1-7281-0996-1. S2CID  210930121.
  24. ^ Джоши, Винай; Ле Галло, Мануэль; Haefeli, Simon; Бойбат, Ирем; Nandakumar, S. R .; Пивето, Кристоф; Дацци, Мартино; Раджендран, Бипин; Себастьян, Абу; Элефтериу, Евангелос (18 мая 2020 г.). «Точный вывод глубинной нейронной сети с использованием вычислительной памяти с фазовым переходом». Nature Communications. 11 (1): 2473. Дои:10.1038 / s41467-020-16108-9. ISSN  2041-1723. ЧВК  7235046. PMID  32424184.
  25. ^ "Встреча на высшем уровне: суперкомпьютер Окриджской национальной лаборатории на 200 петафлопс".
  26. ^ «Microsoft представляет Project Brainwave для ИИ в реальном времени».
  27. ^ а б Марега, Гильерме Мильято; Чжао, Яньфэй; Авсар, Ахмет; Ван, Чжэньюй; Трипати, Мукеш; Раденович, Александра; Кис, Анрас (2020). «Логика в памяти на атомарно тонком полупроводнике». Природа. 587 (2): 72–77. Дои:10.1038 / s41586-020-2861-0.