Як Qualcomm значно покращила ШІ на Snapdragon 865

Qualcomm зробив величезний стрибок у продуктивності штучного інтелекту завдяки новому процесору Snapdragon 865. Ми аналізуємо зміни, внесені Qualcomm для прискорення машинного навчання.

Здається, що ми не можемо пройти й дня, щоб не побачити «штучний інтелект» у новинах, і минулий тиждень не став винятком у немалій мірі завдяки саміту Snapdragon Tech Summit. Щороку Qualcomm представляє безліч удосконалень, які вона вносить у свій Hexagon DSP і Qualcomm AI Engine, термін, який вони використовують для всієї своєї гетерогенної обчислювальної платформи – CPU, GPU та DSP – коли говорять про ШІ робочі навантаження. Кілька років тому наполегливість Qualcomm відвести розмову від традиційних тем для розмов, таких як щорічне підвищення продуктивності ЦП, здавалася дещо дивною. Однак у 2019 році та з Snapdragon 865 ми бачимо, що гетерогенні обчислення справді перебувають у кермі їх мобільних обчислень, оскільки ШІ і робочі навантаження з апаратним прискоренням, схоже, проникають у широкий спектр випадків використання та додатків, від соціальних мереж до повсякденних послуги.

Snapdragon 865 приносить технологію штучного інтелекту 5-го покоління від Qualcomm, а разом з нею — суттєві покращення продуктивності та енергоефективності — але цього слід було очікувати. У морі специфікацій, показників продуктивності, химерних інженерних термінів і виснажливих маркетингових слів легко втратити з поля зору, що насправді означають ці вдосконалення. Що вони описують? Чому ці оновлення настільки важливі для тих, хто впроваджує штучний інтелект у свої додатки сьогодні, і, що, можливо, важливіше, для тих, хто хоче зробити це в майбутньому?

У цій статті ми проведемо доступну, але всебічну екскурсію по Qualcomm AI Engine, проаналізувавши її історію, компоненти та оновлення Snapdragon 865, а головне, чому або як кожен із них зробив внесок у сучасні смартфони, від забавних фільтрів до цифрових помічників.

Hexagon DSP і Qualcomm AI Engine: коли брендинг має значення

Хоча я не зміг відвідати цьоготижневий саміт Snapdragon Tech Summit, я, тим не менш, був присутній на кожному іншому з 2015 року. Якщо ви пам'ятаєте, що був роком гарячого безладу, яким був Snapdragon 810, і тому журналісти на мансарді Челсі в Нью-Йорку дуже хотіли дізнатися, як Snapdragon 820 викупить компанію. І це був чудовий чіпсет, гаразд: він обіцяв здорові покращення продуктивності (без дроселювання) завдяки поверненню до випробуваних на той час спеціальних ядер, якими була відома Qualcomm. Але я також пам’ятаю дуже тонке оголошення, яке, оглядаючись назад, мало б привернути більше уваги: друге покоління Hexagon 680 DSP і його єдина інструкція, кілька даних (SIMD) Hexagon Vector eXtensions, або HVX. Можливо, якби інженери не назвали функцію, вона отримала б належну увагу.

Цей співпроцесор дозволяє апаратним потокам блоку скалярного DSP отримувати доступ до «контекстів» HVX (файлів реєстрів) для широких можливостей векторної обробки. Це дозволило розвантажити значні обчислювальні навантаження з енергоємного ЦП або ГП на енергозберігаючий DSP, щоб завдання обробки зображень і комп’ютерного зору виконувалися зі значно покращеною продуктивністю на міліват. Вони ідеально підходять для застосування ідентичних операцій над безперервними векторними елементами (спочатку лише цілими числами), що робить їх хорошими для робочих навантажень комп’ютерного зору. Ми вже писали детальну статтю про DSP і HVX, зазначивши, що архітектура HVX добре підходить для розпаралелювання та, очевидно, обробки великих вхідних векторів. У той час Qualcomm рекламувала як DSP, так і HVX майже виключно шляхом опису вдосконалень, які вони принесе робочі навантаження комп’ютерного зору, такі як кутовий детектор Гарріса та інші розсувні вікна методи.

Лише з появою глибокого навчання в споживчих мобільних додатках DSP, його вектор блоки обробки (а тепер і тензорний прискорювач) об’єднаються з штучним інтелектом і нейронними мережами зокрема. Але, озираючись назад, це має сенс: архітектура цифрового сигнального процесора (DSP), спочатку розроблена для обробки цифрових реальних або аналогових вхідних сигналів, піддається багатьом тим самим навантаженням, що й багато алгоритмів машинного навчання та нейронних мережі. Наприклад, DSP адаптовані для ядер фільтрів, операцій згортки та кореляції, 8-бітних обчислень, маси лінійна алгебра (векторні та матричні добутки) та операції множення-накопичення (MAC), усі вони найбільш ефективні, коли розпаралелізований. Час роботи нейронної мережі також сильно залежить від множення великих векторів, матриць і/або тензорів, тому Цілком природно, що переваги продуктивності DSP акуратно передаються на архітектури нейронних мереж як Ну. Ми коротко повернемося до цієї теми!

У наступні роки Qualcomm продовжувала наголошувати, що не пропонує просто чіпсети, але мобільні платформи, і що вони не фокусуються просто на вдосконалення окремих компонентів, але надання «неоднорідних» обчислень. У 2017 році вони випустили Snapdragon Neural Processing Engine SDK (для прискорення виконання) у мережі розробників Qualcomm, а на початку 2018 року вони анонсувала Qualcomm Artificial Intelligence Engine, щоб об’єднати кілька апаратних (CPU, GPU, DSP) і програмних компонентів, сумісних зі штучним інтелектом. назва. Завдяки цій корисній номенклатурі вони змогли чітко рекламувати свої покращення продуктивності ШІ як на Snapdragon 855, так і Snapdragon 865, здатний зручно вказувати кількість трильйонів операцій за секунду (TOPS) і річний відсоток покращення. Використання вдосконалень процесора, графічного процесора та цифрової обробки сигналів покоління, які зосереджені на штучному інтелекті оновлення - компанія може виставляти вражаючі тести порівняно з конкурентами, які ми розглянемо незабаром. Завдяки останнім маркетинговим зусиллям компанії та уніфікованому, узгодженому обміну повідомленнями щодо гетерогенних обчислень, їхній бренд штучного інтелекту нарешті набуває популярності серед журналістів та ентузіастів технологій.

Демістифікація нейронних мереж: буденна купа лінійної алгебри

Щоб розібратися в багатьох жаргонах, які ми зустрінемо далі в статті, нам знадобиться короткий посібник що таке нейронна мережа і що вам потрібно, щоб це було швидше. Я хочу дуже коротко розглянути деякі математичні основи нейронних мереж, уникаючи якомога більше жаргону та нотацій. Метою цього розділу є просто визначити, що робить нейронна мережа, принципово: арифметичні дії він виконує, а не теоретична основа, яка виправдовує зазначені операції (це набагато складніше!). Не соромтеся переходити до наступного розділу, якщо хочете відразу перейти до оновлень Qualcomm AI Engine.

«Векторна математика є основою глибокого навчання». – Тревіс Ланьє, старший директор із управління продуктами Qualcomm на технічному саміті Snapdragon 2017

Нижче ви знайдете дуже типову діаграму повністю зв’язаної нейронної мережі прямого зв’язку. Насправді діаграма робить весь процес дещо складнішим, ніж він є (принаймні, поки ви не звикнете). Ми обчислимо передачу вперед, що, зрештою, робить мережа щоразу, коли створює висновок, термін, який ми також зустрінемо пізніше в статті. На даний момент ми розглянемо лише машину та її частини, з короткими поясненнями кожного компонента.

Нейронна мережа складається з послідовних шари, кожен з яких складається з кількох «нейронів» (на діаграмі зображених у вигляді кіл), з’єднаних ваги (на схемі зображено лініями). Загалом існує три типи шарів: вхідний шар, який приймає необроблені вхідні дані; приховані шари, які обчислюють математичні операції з попереднього рівня, і вихідний шар, який надає остаточні прогнози. У цьому випадку ми маємо лише один прихований шар із трьома приховані підрозділи. The введення складається з вектора, масиву або списку чисел певного розміру або довжини. У прикладі ми матимемо, скажімо, двовимірний вхід [1.0, -1.0]. Ось, вихід мережі складається з скаляра або одного числа (не списку). Кожна прихована одиниця пов’язана з набором ваги і а термін упередження, показано поряд і під кожним вузлом. Для розрахунку зважена сума вихід одиниці, кожна вага множиться на кожен відповідний вхід, а потім продукти додаються разом. Потім ми просто додамо член зміщення до цієї суми добутків, що дасть результат нейрона. Наприклад, з нашим введенням [1.0,-1.0], перший прихований блок матиме вихід 1.0*0.3 + (-1.0) * 0.2 + 1.0 = 1.1. Просто, правда?

Наступний крок на діаграмі являє собою функція активації, і це те, що дозволить нам створити вихідний вектор кожного прихованого шару. У нашому випадку ми будемо використовувати дуже популярний і надзвичайно простий випрямлена лінійна одиниця або ReLU, який візьме вхідне число та виведе (i) нуль, якщо це число від’ємне, або нуль (ii) саме вхідне число, якщо число додатне. Наприклад, ReLU(-0,1) = 0, але ReLU(0,1) = 0,1. За прикладом нашого введення як це розмножується через цей перший прихований блок вихід 1.1, який ми обчислили, буде переданий у функцію активації, що дасть ReLU(1,1)=1,1. Рівень виводу в цьому прикладі функціонуватиме так само, як прихований блок: він помножить результати прихованих блоків на свої ваги, а потім додасть свій член зміщення 0.2. Остання функція активації, крокова функція, перетворить позитивні вхідні дані на 1, а негативні значення на 0. Знаючи, як працює кожна з операцій у мережі, ми можемо записати повне обчислення нашого висновку наступним чином:

Це все, що стосується наших обчислень прямої нейронної мережі. Як бачите, операції майже повністю складаються з добутків і сум чисел. Наша функція активації ReLU(x) також можна реалізувати дуже легко, наприклад, простим викликом макс (x, 0), так що він повертає x щоразу, коли вхідні дані більші за 0, але в інших випадках він повертає 0. Зауважте, що крок (x) можна обчислити аналогічно. Існує багато більш складних функцій активації, наприклад сигмоподібна функція або гіперболічний тангенс, які включають різні внутрішні обчислення та краще підходять для різних цілей. Інша річ, яку ви вже можете помітити, це те, що ми також може паралельно запускати обчислення трьох прихованих блоків і їхні програми ReLU, оскільки їх значення не потрібні одночасно, поки ми не обчислимо їхню зважену суму на вихідному вузлі.

Але ми не повинні зупинятися на досягнутому. Вище ви можете побачити ті самі обчислення, але цього разу представлені операціями множення матриць і векторів. Щоб отримати це представлення, ми «доповнюємо» наш вхідний вектор, додаючи до нього 1.0 (світліший відтінок), таким чином, коли ми розміщуємо наш ваги та наше зміщення (світліший відтінок) у матриці, як показано вище, отримане множення дає ту саму приховану одиницю виходи. Потім ми можемо застосувати ReLU до вихідного вектора поелементно, а потім «збільшити» вихід ReLU, щоб помножити його на ваги та зміщення нашого вихідного шару. Це представлення значно спрощує запис, оскільки параметри (ваги та зміщення) цілого прихованого шару можна заховати під одну змінну. Але найголовніше для нас, це чітко дає зрозуміти, що внутрішні обчислення мережі, по суті, є множенням матриць і векторів або скалярними продуктами. З огляду на те, як розмір цих векторів і матриць залежить від розмірності наших вхідних даних і кількості параметрів у нашій мережі, більша частина часу виконання буде витрачена на виконання таких обчислень. Купа лінійної алгебри!

Наш приклад іграшки, звичайно, дуже обмежений обсягом. На практиці сучасні моделі глибокого навчання можуть мати десятки, якщо не сотні прихованих шарів і мільйони пов’язаних параметрів. Замість нашого прикладу двовимірного векторного введення вони можуть використовувати вектори з тисячами записів, у різноманітних формах, таких як матриці (наприклад, одноканальні зображення) або тензори (триканальний RGB зображення). Також ніщо не заважає нашому матричному представленню одночасно приймати кілька векторів вхідних даних, додаючи рядки до наших початкових вхідних даних. Нейронні мережі також можуть бути «підключені» інакше, ніж наша нейронна мережа прямого зв’язку, або виконувати інші функції активації. Існує величезний зоопарк мережевих архітектур і технік, але, зрештою, вони в основному розбити на ті самі паралельні арифметичні операції, які ми знаходимо в нашому прикладі іграшки, тільки в набагато більшому масштабі.

Наочний приклад шарів згортки, що діють на тензор. (Кредит зображення: Назустріч Data Science)

Наприклад, популярний згорткові нейронні мережі (CNN) про які ви, ймовірно, читали, не є «повністю підключеними», як наша макетна мережа. «Ваги» або параметри його приховані згорткові шари можна розглядати як свого роду фільтр, ковзне вікно, яке послідовно застосовується до невеликих ділянок введення, як показано вище - ця "згортка" насправді є просто ковзним крапковим добутком! Ця процедура призводить до того, що часто називають a карта особливостей. Об’єднані шари зменшують розмір вхідного або вихідного даних згорткового шару шляхом обчислення максимального чи середнього значення малих ділянок зображення. Решта мережі зазвичай складається з повністю пов’язаних рівнів, як у нашому прикладі, і функцій активації, таких як ReLU. Це часто використовується для виділення функцій на зображеннях, де карти функцій ранніх згорткових шарів можуть «виявляти» візерунки, такі як лінії або краї, а пізніші шари можуть виявляти більш складні особливості, такі як грані або складні форми.

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

Оновлений механізм штучного інтелекту на Snapdragon 865 – підсумок удосконалень

Маючи це зручне розуміння компонентів нейронної мережі та їхніх математичних операцій, ми можемо зрозуміти, чому саме апаратне прискорення таке важливе. В останньому розділі ми можемо помітити, що розпаралелювання є життєво важливим для прискорення заданої мережі дозволяє нам, наприклад, обчислити кілька паралельних скалярних добутків, що відповідають кожному нейрону активація. Кожен із цих скалярних добутків сам по собі складається з операцій множення та додавання над числами, як правило, із 8-бітною точністю у випадку мобільних додатків, які мають відбуватися якомога швидше. Механізм штучного інтелекту пропонує різні компоненти для розвантаження цих завдань залежно від міркувань продуктивності та енергоефективності розробника.

Діаграма CNN для популярного набору даних MNIST, показана на сцені цьогорічного саміту Snapdragon. Блок векторної обробки добре підходить для повністю пов’язаних шарів, як у нашому прикладі. Тим часом тензорний процесор обробляє згорткові та об’єднувальні шари, які обробляють багаторазове ковзання ядра паралельно, як на діаграмі вище, і кожен згортковий рівень може виводити багато окремих функцій карти.

По-перше, давайте подивимося на графічний процесор, про який ми зазвичай говоримо в контексті 3D-ігор. Споживчий ринок відеоігор десятиліттями стимулював розвиток обладнання для обробки графіки, але чому графічні процесори такі важливі для нейронних мереж? Для початку вони відразу переглядають величезні списки тривимірних координат вершин багатокутників, щоб відстежувати стан ігрового світу. GPU також повинен виконувати гігантські операції множення матриць, щоб перетворити (або зіставити) ці 3D координати на площину 2D, координати на екрані, а також обробляти інформацію про колір пікселів у паралельний. Крім того, вони пропонують високу пропускну здатність пам’яті для роботи з величезними буферами пам’яті для текстурних растрових зображень, накладених на геометрію в грі. Його переваги в розпаралелюванні, пропускній здатності пам’яті та можливостях лінійної алгебри відповідають вимогам до продуктивності нейронних мереж.

Таким чином, лінійка графічних процесорів Adreno відіграє велику роль у Qualcomm AI Engine, і на сцені Qualcomm заявила, що цей оновлений компонент у Snapdragon 865 дозволяє вдвічі більше можливостей для операцій з плаваючою комою і подвоєна кількість TOPS порівняно з попереднім поколінням, що дивно, враховуючи, що вони опублікували підвищення продуктивності лише на 25% для рендеринга графіки. Тим не менш, для цього випуску компанія може похвалитися a Збільшення на 50% кількості арифметико-логічних пристроїв (ALU), хоча, як зазвичай, вони не розкрили частоти своїх GPU. Qualcomm також вказала змішану точність інструкції, це саме те, що це звучить: різна чисельна точність між операціями в одному методі обчислень.

Hexagon 698 DSP – це те, де ми бачимо величезну частину приросту продуктивності, яку пропонує Snapdragon 865. Цього року компанія не повідомила про вдосконалення своїх векторних розширень DSP (продуктивність яких зросла вчетверо в минулорічних 855), ані про їхні скалярні одиниці. Однак вони відзначають, що для цього блоку Tensor Accelerator вони досягли чотири рази ТОП порівняно з версією, представленою минулого року в Hexagon 695 DSP, але також може запропонувати На 35% краща енергоефективність. Це велика справа, враховуючи поширеність архітектур згорткових нейронних мереж у сучасних сценаріях використання ШІ, починаючи від виявлення об’єктів зображення до автоматичного розпізнавання мовлення. Як пояснювалося вище, операція згортки в цих мережах створює двовимірний масив виходів матриці для кожного фільтра, що означає, що, зібрані разом, результат шару згортки є тривимірним масивом або тензор.

Qualcomm також рекламувала свої «нові та унікальні» стиснення пропускної здатності глибокого навчання техніка, яка може мабуть стиснення даних без втрат приблизно на 50%, у свою чергу переміщуючи половину даних і звільняючи пропускну здатність для інших частин чіпсета. Це також має економити енергію, зменшуючи пропускну здатність даних, хоча нам не надали жодних цифр, і стиснення даних також має бути невеликим.

Що стосується пропускної здатності, Snapdragon 865 підтримує Пам'ять LPDDR5, що також сприятиме продуктивності ШІ, оскільки це збільшить швидкість передачі ресурсів і вхідних даних. Крім апаратного забезпечення, Qualcomm новинка Набір інструментів ефективності моделі ШІ робить доступним для розробників легке стиснення моделі та економію енергоефективності. Нейронні мережі часто мають велику кількість «зайвих» параметрів; наприклад, вони можуть зробити приховані шари ширшими, ніж вони повинні бути. Таким чином, одна з функцій AI Toolkit, що обговорювалася на сцені стиснення моделі, причому двома із зазначених методів є просторове сингулярне розкладання (SVD) і байєсівське стиснення, обидва з які ефективно скорочують нейронну мережу, позбавляючись від зайвих вузлів і коригуючи структуру моделі як вимагається. Інша техніка стиснення моделі, представлена ​​на сцені, стосується квантування, і вона передбачає зміну чисельної точності вагових параметрів і обчислень вузла активації.

Числова точність вагових коефіцієнтів нейронної мережі означає, чи чисельні значення, що використовуються для обчислення, зберігаються, передаються та обробляються як 64, 32, 16 (напівточність) або 8-бітні значення. Використання нижчої чисельної точності (наприклад, INT8 порівняно з FP32) зменшує загальне використання пам’яті та швидкість передачі даних, що забезпечує більшу пропускну здатність і швидші висновки. Багато сучасних програм глибокого навчання перейшли на 8-бітні точні моделі для висновків, що може здатися Дивно: хіба вища чисельна точність не дозволить зробити більш «точні» прогнози в класифікації чи регресії завдання? Не обов'язково; більш висока чисельна точність, особливо під час логічного висновку, може бути витрачена даремно, оскільки нейронні мережі навчені справлятися з зашумленими вхідними сигналами або невеликі перешкоди під час навчання в будь-якому випадку, і помилка в молодшому бітовому представленні даного (FP) значення рівномірно «випадкова» достатньо. У певному сенсі низька точність обчислень розглядається мережею як ще одне джерело шуму, і прогнози залишаються придатними для використання. Крім евристичних пояснень, цілком імовірно, що ви отримаєте штраф за точність, якщо погано квантуєте модель без урахування деяких важливих міркувань, тому багато досліджень спрямовані на тема

Повернемося до Qualcomm AI Toolkit: через нього вони пропонують квантування без даних, що дозволяє квантувати моделі без тонкої настройки даних або параметрів, водночас досягаючи майже вихідної продуктивності моделі для різних завдань. По суті, він адаптує вагові параметри для квантування та виправляє помилку зміщення, яка виникає під час переходу на вагові коефіцієнти нижчої точності. Враховуючи переваги квантування, автоматизація процедури під час виклику API спростить виробництво та розгортання моделі, і Qualcomm стверджує більш ніж у чотири рази продуктивність на ват під час запуску квантованої моделі.

Але знову ж таки, це не шокуюче: моделі квантування можуть запропонувати величезні переваги щодо пропускної здатності та пам’яті. Перетворення моделі на INT8 не тільки дає змогу зменшити пропускну здатність у 4 рази, але й отримати перевагу швидших цілочисельних обчислень (залежно від апаратного забезпечення). Отже, абсолютно зрозуміло, що апаратно-прискорені підходи як до квантування, так і до чисельних обчислень дадуть величезний приріст продуктивності. На своєму блозі, наприклад, Піт Уорден з Google написав, що співпраця між командами Qualcomm і Tensorflow дозволяє працювати з 8-бітними моделями до в сім разів швидшена HVX DSP, ніж на ЦП. Важко переоцінити потенціал простого у використанні квантування, особливо зважаючи на те, як Qualcomm зосередилася на продуктивності INT8.

Процесор Kryo Snapdragon 865 на базі ARM все ще є важливим компонентом механізму ШІ. Незважаючи на те, що апаратне прискорення, про яке йдеться в наведених вище параграфах, є кращим, іноді ми не можна уникнути програм, які неправильно використовують переваги цих блоків, що призводить до ЦП відступати. У минулому ARM представив спеціальні набори інструкцій, спрямовані на прискорення матричних і векторних обчислень. У процесорах ARMv7 ми побачили введення ARM NEON, розширення архітектури SIMD, що забезпечує DSP-подібні інструкції. А з мікроархітектурою ARMv8.4-A ми побачили введення інструкцій спеціально для точкових продуктів.

Усі ці опубліковані підвищення продуктивності пов’язані з багатьма робочими навантаженнями, які ми описали в попередньому розділі, але також варто мати на увазі, що ці оновлення Snapdragon 865 тільки останній покращення можливостей штучного інтелекту Qualcomm. У 2017 році ми задокументували потроєння можливостей штучного інтелекту завдяки Hexagon 685 DSP та іншим оновленням чіпсета. Минулого року вони представили свій тензорний прискорювач та інтегровану підтримку функцій нелінійності (як-от вищезгаданий ReLU!) на апаратному рівні. Вони також подвоїли кількість векторних прискорювачів і покращили продуктивність блоку скалярної обробки на 20%. Поєднуючи все це з удосконаленнями на стороні процесора, як-от швидші операції скалярного добутку, люб’язно надані ARM, і додаткові ALU у графічному процесорі, Qualcomm зрештою потроївся а також необроблені можливості ШІ.

Практичні переваги та розширені варіанти використання

Усі ці оновлення призвели до збільшення можливостей штучного інтелекту на Snapdragon 865 у п’ять разів порівняно з двома роками тому, але Можливо, найголовніше те, що покращення також принесли кращу продуктивність на міліват, критичний показник для мобільних пристроїв пристроїв. На Snapdragon Summit 2019 компанія Qualcomm надала нам кілька тестів, у яких порівняла їх AI Engine з двома конкурентами в різних мережах класифікації. Схоже, ці цифри були зібрані за допомогою AIMark, крос-платформної програми порівняльного аналізу, яка дозволяє порівнювати з процесорами серії A від Apple і HiSilicon від Huawei. Qualcomm стверджує, що в цих результатах використовується весь механізм штучного інтелекту, і нам доведеться почекати, поки не буде більше ретельний порівняльний аналіз, щоб правильно роз'єднати вплив кожного компонента та визначити, як пройшли ці тести проведено. Наприклад, чи результати від компанії B вказують на відмову ЦП? Наскільки мені відомо, AIMark наразі не використовує NPU Kirin 990 на наших моделях Mate 30 Pro, наприклад. Але він підтримує Snapdragon Neural Processing Engine, тому він, безумовно, скористається перевагами Qualcomm AI Engine; враховуючи, що це внутрішнє тестування, явно не зрозуміло, чи тест правильно використовує правильні бібліотеки або SDK для своїх конкурентів.

Слід також сказати, що Qualcomm ефективно порівнює можливості обробки штучного інтелекту Snapdragon 865 з раніше анонсованими або випущеними чіпсетами. Цілком імовірно, що його конкуренти принесуть подібні результативні покращення продуктивності в наступному циклі, і якщо це У цьому випадку Qualcomm буде тримати корону лише близько півроку з моменту появи пристроїв Snapdragon 865 на полицях. Тим не менш, це все ще вказує на те, яких ударів ми можемо очікувати від Snapdragon 865. Загалом компанія Qualcomm була дуже точною, повідомляючи про покращення продуктивності та результати тестування майбутніх випусків.

Усі мережі, представлені в цих тестах, класифікують зображення з баз даних, таких як ImageNet, отримують їх як вхідні дані та виводять одну із сотень категорій. Знову ж таки, вони покладаються на ті самі види операцій, які ми описали у другому розділі, хоча їх архітектури багато складніше, ніж ці приклади, і вони вважалися найсучаснішими рішеннями на момент публікації. У кращому випадку їхній найближчий конкурент забезпечує менше половини кількості висновків за секунду.

З точки зору енергоспоживання, Qualcomm запропонувала висновки на ват, щоб продемонструвати обсяг обробки штучним інтелектом, який можливий при певній потужності. У найкращому випадку (MobileNet SSD) Snapdragon AI Engine може запропонувати подвійну кількість висновків за того самого бюджету потужності.

Потужність особливо важлива для мобільних пристроїв. Подумайте, наприклад, про фільтр Snapchat на основі нейронної мережі. Реально, конвеєр комп’ютерного зору витягує інформацію про обличчя та застосовує маску або вводить дані трансформація повинна виконуватися зі швидкістю 30 або 60 завершень за секунду, щоб отримати рідину досвід. Збільшення необробленої продуктивності штучного інтелекту дозволить вам отримувати вхідні дані з вищою роздільною здатністю та виводити кращі фільтри, але це може Крім того, краще зупинитися на роздільній здатності HD для швидшого завантаження та зменшення енергоспоживання та терморегулювання. У багатьох програмах «швидше» не обов’язково означає «краще», і тоді можна скористатися перевагами покращеної енергоефективності.

Під час другого дня Snapdragon Summit старший директор з розробки Snapchat Юрій Монастиршин вийшов на сцену, щоб показати, як їхні новітні фільтри на основі глибокого навчання значно прискорюються Hexagon Direct NN за допомогою Hexagon 695 DSP на Snapdragon 865.

Крім того, оскільки розробники отримують доступ до простіших реалізацій нейронної мережі і все більше додатків починають використовувати методи штучного інтелекту, випадки одночасного використання будуть займати більше уваги, оскільки смартфону доведеться обробляти кілька одночасно паралельні конвеєри AI (або для однієї програми, що обробляє вхідні сигнали з різних джерел, або для багатьох програм, що працюють окремо на пристрої). Незважаючи на те, що ми спостерігаємо значне підвищення енергоефективності в обчислювальних DSP, GPU та CPU, Qualcomm Sensing Hub обробляє випадки постійного використання, щоб прослуховувати тригерні слова за дуже низького енергоспоживання. Він дає змогу відстежувати аудіо, відео та сигнали датчиків при струмі менше 1 мА, дозволяючи пристрою виявляти певні звукові сигнали (наприклад, плач дитини) на додаток до знайомих ключових слів цифрового помічника. На цій ноті Snapdragon 865 дозволяє виявити не лише ключове слово, але й того, хто його вимовляє, щоб ідентифікувати авторизованого користувача та діяти відповідно.

Більше ШІ на периферійних пристроях

Ці вдосконалення можуть зрештою перетворитися на відчутні переваги для вашого досвіду користувача. Послуги, які передбачають переклад, розпізнавання та маркування об’єктів, прогнозування використання або рекомендації щодо предметів, розуміння природної мови, синтаксичний аналіз мовлення тощо отримають вигоду від роботи швидше та споживання менше потужність. Вищий бюджет обчислень також дає змогу створювати нові сценарії використання та досвід, а також переміщувати процеси, які раніше відбувалися в хмарі, на ваш пристрій. Хоча в минулому термін ШІ використовувався сумнівним, оманливим і навіть помилковим способом (навіть OEM-виробниками), багато з ваших послуг, якими ви користуєтеся сьогодні, зрештою, в тій чи іншій формі покладаються на алгоритми машинного навчання інший.

Але крім Qualcomm, інші виробники чіпсетів також швидко повторюють і вдосконалюють цей фронт. Наприклад, 990 5G отримав дизайн ядра 2+1 NPU, що призвело до 2,5 разів більшої продуктивності, ніж Kirin 980, і вдвічі більшої, ніж Apple A12. Коли було оголошено про процесор, було показано, що він пропонує до удвічі більше кадрів (виводів) за секунду Snapdragon 855 на INT8 MobileNet, що важко порівняти з результатами Qualcomm. З іншого боку, Apple A13 Bionic, як повідомляється, запропонував у шість разів швидше множення матриць порівняно зі своїм попередником і покращив дизайн восьмиядерного нейронного механізму. Нам доведеться почекати, поки ми зможемо належним чином протестувати Snapdragon 865 на комерційних пристроях проти його нинішніх і майбутніх конкурентів, але це Зрозуміло, що конкуренція в цьому просторі ніколи не зупиняється, оскільки три компанії вкладають масу ресурсів у покращення свого ШІ продуктивність.