ШІ-прискорювач

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

ШІ-прискорювач (англ. AI accelerator) — це (станом на 2016 рік) перспективний клас мікропроцесорів, розроблених для прискорення штучних нейронних мереж, машинного зору та інших алгоритмів машинного навчання для робототехніки, інтернету речей, та для інших інформаційно ємних або керованих сенсорами задач.[1] Вони часто є надбагатоядерними[en] розробками (віддзеркалюючи масивно-паралельну природу біологічних нейронних мереж). Вони орієнтовані на практичне застосування вузького ШІ, радше ніж на дослідження штучного розуму. Для пристроїв у цьому просторі існує багато термінів, залежних від постачальника.

Вони відрізняються від ГП (які часто використовують в тій же ролі) тим, що не мають жодних вузлів фіксованого призначення[en] для графіки, й загалом фокусуються на арифметиці низької розрядності.

Історія[ред. | ред. код]

ЦП комп'ютерних систем часто доповнюють прискорювачами особливого призначення для напружених задач, у першу чергу графіки, але також і звуку, відео тощо. З часом з'явилися різні прискорювачі, які були застосовними для робочих навантажень ШІ.

Ранні спроби[ред. | ред. код]

Ранніми роками як прискорювачі нейронних мереж, наприклад, для прискорення програмного забезпечення оптичного розпізнавання символів, використовувалися процесори цифрової обробки сигналів (такі як AT&T DSP32C),[2] і були спроби створення паралельних систем із високою пропускною здатністю для робочих станцій (наприклад, TetraSpert у 1990-х роках, яка була паралельним векторним процесором з нерухомою комою[3]), спрямованих на різні застосування, включно з моделюванням нейронних мереж.[4] ANNA була КМОН-прискорювачем нейронних мереж, розробленим Яном ЛеКуном.[5] Була й інша спроба побудувати нейромережеву робочу станцію, яка називалася Synapse-1[6] (не слід плутати з поточним проектом IBM SyNAPSE[en]).

Різнорідні обчислення[ред. | ред. код]

Архітектури, такі як мікропроцесор Cell (у свою чергу натхнений векторними вузлами PS2, один з яких було тісніше прив'язано до ЦП для роботи загального призначення), продемонстрували ознаки, які істотно перекриваються з ШІ-прискорювачами — в їхній підтримці упакованої арифметики низької точності, архітектурі потоку інформації[en], та наданні «пропускній здатності» вищого пріоритету, ніж затримці й «розгалужувально-цілочисленому» кодові. Це був крок у бік різнорідних обчислень, з рядом орієнтованих на пропускну спроможність прискорювачів, призначених допомагати ЦП з областю напружених задач: моделювання фізики, ШІ, кодування/декодування відео, та деяких графічних задач за межами його споріднених ГП.

Фізичний процесор був ще одним прикладом спроби заповнити прогалину між ЦП та ГП в апаратному забезпеченні ПК, проте фізика схильна вимагати точності 32 біт і вище, в той час як набагато нижча точність може бути кращим компромісом для ШІ.[7]

ЦП й самі набули все ширших вузлів SIMD (рухомі робочим навантаженням відео та ігор) та збільшили кількість ядер у спробі усунути потребу в іншому прискорювачеві, а також для прискорення прикладного коду. А вони мають тенденцію підтримувати упаковані типи даних низької точності.[8]

Схід ГПЗП[ред. | ред. код]

Після появи новаторського програмного забезпечення, яке використовувало вершинні та фрагментні шейдери для обчислень загального призначення через ППІ рендерингу[en] шляхом зберігання неграфічних даних у вершинних буферах та картах текстур (включно з реалізаціями згорткових нейронних мереж для оптичного розпізнавання символів[9]),[10] постачальники графічних процесорів побачили цю можливість, і узагальнили свої шейдерні конвеєри з особливою підтримкою для ГПЗП, здебільшого будучи вмотивованими вимогами фізики відеоігор, але також і з прицілом на наукові обчислення[en].[11]

Це винищило ринок виділених фізичних прискорювачів, і замінило Cell в гральних консолях,[12] у кінцевому підсумку призвівши до їхнього застосування для виконання згорткових нейронних мереж, таких як AlexNet (яка продемонструвала передову продуктивність у Широкомасштабному випробуванні з візуального розпізнавання ImageNet[en]).[13]

Таким чином, станом на 2016 рік ГП є популярними для роботи ШІ, і вони продовжують розвиватися в напрямку полегшення глибокого навчання, як для тренування,[14] так і для отримання висновків у пристроях на кшталт самокерованих автівок.[15] — і отримання додаткової з'єднувальної спроможності для того типу робочих навантажень потоку інформації[en], від якого отримує переваги ШІ (наприклад, NVidia NVLink[en]).[16]

Застосування ПКВМ[ред. | ред. код]

Microsoft використовувала мікросхеми ПКВМ для прискорення отримання висновків.[17][18] Це спонукало Intel купити компанію Altera з метою включення ПКВМ до складу серверних ЦП, які стали би здатними до прискорення ШІ, а також і до інших задач.[джерело?]

Мотивація за новий процесор[ред. | ред. код]

Хоча ГП й працюють набагато краще за ЦП для цих задач, за допомогою специфічнішої конструкції все ще можна отримати порядку десятикратного приросту ефективності.[19]

Схема доступу до пам'яті[ред. | ред. код]

Схема доступу до пам'яті[en] обчислень ШІ відрізняється від графіки: все передбачуванішому й передбачуванішому, але глибшому потоку інформації[en] більше користі приносить здатність зберігати більше тимчасових змінних на кристалі (тобто в блокнотній пам'яті[en], а не в кешах); на відміну від цього, ГП виділяють кремній для ефективного обходження з високо нелінійною адресацією збирання-розкидання[en] між картами текстур і кадровими буферами, та фільтрування текстур[en], як і треба для їхньої головної ролі в тривимірному рендерингу.

Точність[ред. | ред. код]

Дослідники ШІ часто знаходять мінімальними втрати точності при зниженні до 16 або навіть 8 біт,[7] що наводить на думку, що більший об'єм арифметики нижчої точності є кращим використанням тієї ж пропускної спроможності. Деякі дослідники навіть пробували застосовувати 1-бітову точність (тобто, ставити акцент в задачах бачення виключно на просторовій інформації).[20] Розробка IBM є радикальнішою, обходячись взагалі без скалярних значень, і накопичуючи хроновані імпульси для представлення активацій стохастично, вимагаючи перетворення традиційних представлень.[21]

Термінологія[ред. | ред. код]

Станом на 2016 рік ця галузь усе ще перебуває в русі, й постачальники просувають свій власний ринковий термін для того, що вкладається в поняття «ШІ-прискорювач», в надії, що їхня розробка та ППІ домінуватимуть. Консенсусу немає ані в межах між цими пристроями, ані в точній формі, якої вони набудуть, проте кілька прикладів явно прагнуть заповнити цей новий простір, із неабияким перекриттям у потенційних можливостях.

В минулому, коли виникли споживацькі графічні прискорювачі, промисловість у кінцевому підсумку прийняла самостійно призначений термін компанії NVidia, англ. GPU (ГП),[22] як узагальнювальний іменник для «графічних прискорювачів», які набували різних форм, перш ніж зупинитися на загальному конвеєрі, який реалізує модель, представлену Direct3D.

Уповільнення закону Мура[ред. | ред. код]

Станом на 2016 рік, уповільнення (і, можливо, неминучий кінець) закону Мура[23] змушує декого пропонувати перефокусуваня зусиль галузі на розробку кремнію під застосування,[24] тоді як у минулому мікросхеми загального призначення все більшої потужності використовувалися для різноманітних застосувань за допомогою програмного забезпечення. За такого сценарію диверсифікація спеціалізованих ШІ-прискорювачів має більше сенсу, ніж продовження розтягування ГП та ЦП.

Майбутнє[ред. | ред. код]

Проте ще належить з'ясувати, чи буде в кінцевому підсумку форма ШІ-прискорювача докорінно новим пристроєм, як TrueNorth, чи процесором ще загальнішого призначення, який просто робиться оптимізованим для правильного поєднання точності й потоку інформації.[4] На обрії є деякі навіть ще екзотичніші підходи, наприклад, застосування мемристорів, спроби застосування мемристорів як синапсів.

Потенційні застосування[ред. | ред. код]

Приклади[ред. | ред. код]

  • Зорові процесори
  • Тензорний процесор — представлений як прискорювач для системи Google TensorFlow, яка широко застосовується для згорткових нейронних мереж. Сфокусований на великому об'ємі арифметики 8-бітової точності.
  • SpiNNaker[en], надбагатоядерна розробка, яка поєднує ядра традиційної архітектури ARM з вдосконаленою мережною структурою, спеціалізованою для моделювання великої нейронної мережі.
  • TrueNorth, найнезвичніший приклад, надбагатоядерна розробка на основі імпульсних нейронів, а не традиційної арифметики. Частота імпульсів представляє інтенсивність сигналу. Станом на 2016 рік серед дослідників ШІ немає консенсусу, чи є це правильним шляхом для просування,[29] але деякі результати є багатообіцяючими, з продемонстрованою великою економією енергії для задач бачення.[30]
  • Zeroth NPU[en], розробка Qualcom, спрямована безпосередньо на привнесення можливостей розпізнавання мовлення та зображень до мобільних пристроїв.
  • Eyeriss, розробка, явно спрямована на згорткові нейронні мережі, із застосуванням блокнотної пам'яті та мережевої архітектури в межах кристалу.
  • Adapteva epiphany[en] призначена як співпроцесор, включає модель блокнотної пам'яті[en] мережі на кристалі, підходить до моделі програмування потоком інформації, яка повинна підходити для багатьох задач машинного навчання.
  • Kalray[en] показала MPPA[en][31] і повідомила про підвищення ефективності для згорткових нейронних мереж у порівнянні з ГП.
  • Індійський технологічний інститут у Мадрасі[en] розробляє прискорювач на імпульсних нейронах для нових систем RISC-V, спрямованих на аналітику великих даних у серверах.[32]
  • Nvidia DGX-1[en] ґрунтується на технології ГП, хоча використання декількох процесорів, які формують тканину через NVLink, спеціалізує його архітектуру пам'яті[en] особливо слушним для глибокого навчання чином.
  • Компанія Cerebras розробила та виготовляє ШІ-прискорювач CS-1, який побудований на мікросхемі площею 46 255 мм², має 1,2 трильйони транзисторів, 400 тисяч ядер та 18 ГБ оперативної пам'яті. Наступна версія, побудована із використанням 7-нм технологічного процесу, матиме 40 ГБ пам'яті та 850 тисяч мікропроцесорних ядер[33].
  • Apple A11 Bionic — перший процесор Apple, де з'явився ШІ-прискорювач Neural Engine (випустили у 2017)

Примітки[ред. | ред. код]

  1. Google розробляє процесори ШІ. Архів оригіналу за 27 червня 2016. Процитовано 11 липня 2016. (англ.) Google використовує свої власні прискорювачі ШІ.
  2. Показ згорткової нейронної мережі 1993 року із застосуванням прискорювача DSP32. Архів оригіналу за 8 травня 2016. Процитовано 11 липня 2016. (англ.)
  3. Розробка зв'язницького мережевого суперкомп'ютера. Архів оригіналу за 9 серпня 2016. Процитовано 11 липня 2016. (англ.)
  4. а б The End of General Purpose Computers (Not). Архів оригіналу за 10 січня 2018. Процитовано 11 липня 2016. (англ.) Ця презентація охоплює минулі спроби прискорювачів нейронних мереж, відзначає схожість із сучасною процесорною системою SLI[en] GPGPU, і стверджує, що векторні прискорювачі загального призначення є шляхом вперед (по відношенню до проекту RISC-V hwacha. Стверджує, що НМ є просто щільними та розрідженими матрицями, одним із рекурентних алгоритмів)
  5. Application of the ANNA Neural Network Chip to High-Speed Character Recognition [Архівовано 6 квітня 2016 у Wayback Machine.] (англ.)
  6. SYNAPSE-1: a high-speed general purpose parallel neurocomputer system. (англ.)
  7. а б Deep Learning with Limited Numerical Precision (PDF). Архів оригіналу (PDF) за 9 вересня 2016. Процитовано 11 липня 2016. (англ.)
  8. Improving the performance of video with AVX. Архів оригіналу за 6 серпня 2016. Процитовано 11 липня 2016. (англ.)
  9. Microsoft Research/pixel shaders/MNIST. Архів оригіналу за 18 травня 2020. Процитовано 11 липня 2016. (англ.)
  10. How GPU came to be used for general computation. Архів оригіналу за 5 червня 2016. Процитовано 11 липня 2016. (англ.)
  11. NVIDIA Tesla microarchitecture (PDF). Архів оригіналу (PDF) за 28 березня 2016. Процитовано 11 липня 2016. (англ.)
  12. End of the line for IBM’s Cell. Архів оригіналу за 22 липня 2016. Процитовано 11 липня 2016. (англ.)
  13. ImageNet Classification with Deep Convolutional Neural Networks (PDF). Архів оригіналу (PDF) за 16 травня 2017. Процитовано 11 липня 2016. (англ.)
  14. Nvidia driving the development of deep learning. Архів оригіналу за 6 серпня 2016. Процитовано 11 липня 2016. (англ.)
  15. NVIDIA Introduces “Supercomputer” For Self Driving Cars. Архів оригіналу за 21 січня 2016. Процитовано 11 липня 2016. (англ.)
  16. How NVLink Will Enable Faster, Easier Multi-GPU Computing. Архів оригіналу за 17 червня 2016. Процитовано 11 липня 2016. (англ.)
  17. Microsoft Extends FPGA Reach From Bing To Deep Learning. Архів оригіналу за 14 березня 2016. Процитовано 11 липня 2016. (англ.)
  18. Accelerating Deep Convolutional Neural Networks Using Specialized Hardware (PDF). Архів оригіналу (PDF) за 19 квітня 2016. Процитовано 11 липня 2016. (англ.)
  19. Google boosts machine learning with TPU. Архів оригіналу за 25 червня 2016. Процитовано 11 липня 2016.mentions 10x efficiency (англ.)
  20. XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks. Архів оригіналу за 3 липня 2016. Процитовано 11 липня 2016. (англ.)
  21. Conversion of Artificial Recurrent Neural Networks to Spiking Neural Networks for Low-power Neuromorphic Hardware (PDF). Архів оригіналу (PDF) за 9 серпня 2016. Процитовано 11 липня 2016. (англ.)
  22. NVIDIA launches he Worlds First Graphics Processing Unit, the GeForce 256,. Архів оригіналу за 12 квітня 2016. Процитовано 11 липня 2016. (англ.)
  23. Intel’s former chief architect: Moore’s law will be dead within a decade. Архів оригіналу за 3 липня 2016. Процитовано 11 липня 2016. (англ.)
  24. More-than-Moore (PDF). Архів оригіналу (PDF) за 7 серпня 2016. Процитовано 11 липня 2016. (англ.)
  25. Drive PX. Архів оригіналу за 16 липня 2016. Процитовано 11 липня 2016. (англ.)
  26. Design of a machine vision system for weed control (PDF). Архів оригіналу (PDF) за 23 червня 2010. Процитовано 11 липня 2016. (англ.)
  27. Qualcomm Research brings server-class machine learning to everyday devices. Архів оригіналу за 8 серпня 2016. Процитовано 11 липня 2016. (англ.)
  28. Movidius powers worlds most intelligent drone. Архів оригіналу за 9 серпня 2016. Процитовано 11 липня 2016. (англ.)
  29. Ян ЛеКун про IBM TrueNorth. Архів оригіналу за 5 липня 2015. Процитовано 11 липня 2016. (англ.) стверджує, що нейрони з потенціалами дії ніколи не дають результатів передової якості, і що точність 8-16 біт є оптимальною, просуває конкурентну розробку «neuflow»
  30. IBM cracks open new era of neuromorphic computing. Архів оригіналу за 9 липня 2016. Процитовано 11 липня 2016. TrueNorth is incredibly efficient: The chip consumes just 72 milliwatts at max load, which equates to around 400 billion synaptic operations per second per watt — or about 176,000 times more efficient than a modern CPU running the same brain-like workload, or 769 times more efficient than other state-of-the-art neuromorphic approaches (англ.)
  31. Kalray MPPA (PDF). Архів оригіналу (PDF) за 23 квітня 2016. Процитовано 11 липня 2016. (англ.)
  32. India preps RISC-V Processors - Shakti targets servers, IoT, analytics. Архів оригіналу за 3 липня 2017. Процитовано 11 липня 2016. The Shakti project now includes plans for at least six microprocessor designs as well as associated fabrics and an accelerator chip (англ.)
  33. Samuel K. Moore (18 листопада 2020). AI System Beats Supercomputer in Combustion Simulation. IEEE Spectrum. Архів оригіналу за 19 листопада 2020. Процитовано 19 листопада 2020.

Посилання[ред. | ред. код]