Как Qualcomm направи огромни подобрения в AI на Snapdragon 865

Qualcomm направи огромен скок в производителността на AI с новия Snapdragon 865 SoC. Анализираме промените, които Qualcomm направи, за да ускори машинното обучение.

Изглежда, че не може да мине ден, без да видим „изкуствен интелект“ в новините, и тази изминала седмица не беше изключение в не малка част благодарение на Snapdragon Tech Summit. Всяка година Qualcomm разкрива изобилието от подобрения, които внася в своя Hexagon DSP и Qualcomm AI Engine, термин, който използват за цялата си хетерогенна изчислителна платформа - CPU, GPU и DSP - когато говорят за AI натоварвания. Преди няколко години настояването на Qualcomm да измести разговора далеч от традиционните теми за говорене, като годишно подобрение на производителността на процесора, изглеждаше малко странно. И все пак през 2019 г. и със Snapdragon 865 виждаме, че хетерогенните изчисления наистина са начело на техния натиск за мобилни изчисления, тъй като AI и хардуерно ускорените работни натоварвания изглежда се промъкват в широка гама от случаи на употреба и приложения, от социалните медии до ежедневието услуги.

Snapdragon 865 носи 5-то поколение AI двигател на Qualcomm и с него идват сочни подобрения в производителността и енергийната ефективност – но това може да се очаква. В морето от спецификации, показатели за производителност, фантастични инженерни термини и уморителни маркетингови модни думи е лесно да изгубите от поглед какво всъщност означават тези подобрения. Какво описват? Защо тези надстройки са толкова значими за тези, които прилагат AI в своите приложения днес, и може би по-важното, за тези, които искат да го направят в бъдеще?

В тази статия ще направим достъпна, но задълбочена обиколка на Qualcomm AI Engine, разглеждайки неговата история, неговите компоненти и надстройките на Snapdragon 865, и най-важното, защо или как всеки от тях е допринесъл за днешното смартфон изживяване, от забавни филтри до цифрови асистенти.

Hexagon DSP и Qualcomm AI Engine: Когато брандирането има значение

Въпреки че не успях да присъствам на срещата на върха на Snapdragon Tech тази седмица, въпреки това присъствах на всяка друга от 2015 г. насам. Ако си спомняте, че беше годината на горещата бъркотия, която беше Snapdragon 810, и така журналистите в този таван на Челси в Ню Йорк бяха нетърпеливи да разберат как Snapdragon 820 ще изкупи компанията. И това беше страхотен чипсет, добре: обещаваше здравословни подобрения на производителността (без дроселиране) чрез връщане към тогавашните изпитани и истински персонализирани ядра, с които Qualcomm беше известен. И все пак си спомням едно много фино съобщение, което в ретроспекция трябваше да получи повече внимание: второ поколение Hexagon 680 DSP и неговите единични инструкции, множество данни (SIMD) Hexagon Vector eXtensions, или HVX. Може би, ако инженерите не бяха назовали функцията, тя щеше да получи вниманието, което заслужаваше.

Този копроцесор позволява на хардуерните нишки на скаларния DSP модул да имат достъп до HVX „контексти“ (регистрационни файлове) за широки възможности за векторна обработка. Той позволи разтоварването на значителни изчислителни натоварвания от енергоемкия CPU или GPU към енергоефективен DSP, така че задачите за изображения и компютърно зрение да работят със значително подобрена производителност на миливат. Те са идеални за прилагане на идентични операции върху съседни векторни елементи (първоначално само цели числа), което ги прави подходящи за работни натоварвания с компютърно зрение. В миналото сме писали задълбочена статия за DSP и HVX, отбелязвайки, че HVX архитектурата се поддава добре на паралелизиране и, очевидно, обработка на големи входни вектори. По това време Qualcomm популяризира както DSP, така и HVX почти изключително, като описва подобренията, които те ще доведе до натоварвания на компютърното зрение, като например ъгловия детектор на Харис и други плъзгащи се прозорци методи.

Едва с появата на дълбокото обучение в потребителските мобилни приложения DSP, неговият вектор обработващи единици (и сега, тензорен ускорител) ще се оженят за AI и невронни мрежи, в конкретно. Но поглеждайки назад, има идеален смисъл: Архитектурата на цифровия сигнален процесор (DSP), първоначално проектирана за обработка на цифрови реални или аналогови сигнални входове, се поддава на много от същите работни натоварвания като много алгоритми за машинно обучение и невронни мрежи. Например, DSP са пригодени за филтърни ядра, конволюционни и корелационни операции, 8-битови изчисления, много линейна алгебра (векторни и матрични произведения) и операции за умножение-натрупване (MAC), всички най-ефективни, когато паралелизирани. Времето за изпълнение на невронната мрежа също е силно зависимо от умножаването на големи вектори, матрици и/или тензори, така че съвсем естествено е предимствата на производителността на DSP да се превеждат добре в архитектурите на невронни мрежи като добре. Ще преразгледаме тази тема накратко!

През следващите години Qualcomm продължи да подчертава, че не предлага просто чипсети, но мобилни платформи, и че не се фокусират просто за подобряване на определени компоненти, но предоставяне на „хетерогенни“ изчисления. През 2017 г. те пуснаха своя SDK на Snapdragon Neural Processing Engine (за ускорение на изпълнение) в мрежата за разработчици на Qualcomm, а в началото на 2018 г. анонсира Qualcomm Artificial Intelligence Engine, за да консолидира своите няколко съвместими с AI хардуерни (CPU, GPU, DSP) и софтуерни компоненти в един име. С тази полезна номенклатура те успяха спретнато да рекламират своите подобрения в производителността на AI както на Snapdragon 855, така и Snapdragon 865, който може удобно да посочи броя на трилиони операции в секунда (TOPS) и годишен процент подобрения. Използване на подобренията на поколенията в CPU, GPU и DSP - всички те виждат своя собствен фокус върху AI надстройки - компанията е в състояние да публикува впечатляващи показатели спрямо конкурентите, които ще разгледаме скоро. С неотдавнашните маркетингови усилия на компанията и унифицираните, последователни съобщения за хетерогенни изчисления, тяхната марка AI най-накрая набира сила сред журналисти и технологични ентусиасти.

Демистифициране на невронни мрежи: Светска купчина линейна алгебра

За да разплитаме много жаргон, на който ще се натъкнем по-късно в статията, имаме нужда от кратък пример какво е невронна мрежа и какво ви трябва, за да стане по-бързо. Искам съвсем накратко да разгледам някои от математическите основи на невронните мрежи, като избягвам възможно най-много жаргон и обозначения. Целта на този раздел е просто да идентифицира какво прави една невронна мрежа, основно: аритметичните операции тя изпълнява, а не теоретичната основа, която оправдава споменатите операции (това е много по-сложно!). Чувствайте се свободни да продължите към следващия раздел, ако искате да преминете направо към надстройките на Qualcomm AI Engine.

„Векторната математика е в основата на дълбокото обучение.“ – Травис Лание, старши директор продуктов мениджмънт в Qualcomm на 2017 Snapdragon Tech Summit

По-долу ще намерите много типична диаграма на напълно свързана невронна мрежа с предварителна връзка. В действителност диаграмата прави целия процес да изглежда малко по-сложен, отколкото е (поне докато не свикнете). Ще изчислим предаване напред, което в крайна сметка е това, което мрежата прави, когато генерира умозаключение, термин, който също ще срещнем по-късно в статията. В момента ще се занимаваме само с машината и нейните части, с кратки обяснения на всеки компонент.

Невронната мрежа се състои от последователни слоеве, всеки от които се състои от няколко "неврона" (изобразени като кръгове на диаграмата), свързани от тежести (изобразени като линии на диаграмата). Най-общо казано, има три вида слоеве: входен слой, който приема необработения вход; скрити слоеве, които изчисляват математически операции от предишния слой, и изходен слой, който предоставя окончателните прогнози. В този случай имаме само един скрит слой с три скрити единици. 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 изображения). Освен това нищо не пречи на нашето матрично представяне да приема множество входни вектори наведнъж, като добавя редове към оригиналния ни вход. Невронните мрежи също могат да бъдат „свързани“ по различен начин от нашата невронна мрежа с предварителна връзка или да изпълняват различни функции за активиране. Има огромен зоопарк от мрежови архитектури и техники, но в крайна сметка те предимно се разделят на същите паралелни аритметични операции, които намираме в нашия пример с играчка, само че в много по-голям мащаб.

Визуален пример за конволюционни слоеве, работещи върху тензор. (Кредит за изображение: Към науката за данните)

Например популярните конволюционни невронни мрежи (CNN) за които вероятно сте чели, не са „напълно свързани“ като нашата макетна мрежа. „Теглата“ или параметрите на неговите скрити конволюционни слоеве може да се разглежда като вид филтър, плъзгащ се прозорец, приложен последователно към малки участъци от вход, както е показано по-горе -- тази "конволюция" всъщност е просто плъзгащ се точков продукт! Тази процедура води до това, което често се нарича a карта на характеристиките. Слоевете за обединяване намаляват размера на входа или изхода на конволюционния слой, като изчисляват максималната или средната стойност на малките части от изображението. Останалата част от мрежата обикновено се състои от напълно свързани слоеве, като тези в нашия пример, и функции за активиране като ReLU. Това често се използва за извличане на функции в изображения, където картите на характеристиките на ранните конволюционни слоеве могат да „открият“ модели като линии или ръбове, а по-късните слоеве могат да открият по-сложни характеристики като лица или сложни форми.

Всичко казано е строго ограничено до умозаключение, или оценяване на невронна мрежа, след като нейните параметри са били намерени чрез обучение което е много по-сложна процедура. И отново, изключихме много обяснения. В действителност всеки от компонентите на мрежата е включен с определена цел. Например тези от вас, които са учили линейна алгебра, могат лесно да видят, че без нелинейни функции за активиране, нашата мрежа се опростява до линеен модел с много ограничени прогнози капацитет.

Надграден AI двигател на Snapdragon 865 - Обобщение на подобренията

С това удобно разбиране на компонентите на невронната мрежа и техните математически операции можем да започнем да разбираме точно защо хардуерното ускорение е толкова важно. В последния раздел можем да забележим, че паралелизирането е от жизненоважно значение за ускоряване на дадената мрежа ни позволява, например, да изчислим няколко паралелни точкови произведения, съответстващи на всеки неврон активиране. Всяко от тези точкови произведения се състои от операции за умножение-събиране на числа, обикновено с 8-битова точност в случай на мобилни приложения, които трябва да се случат възможно най-бързо. AI Engine предлага различни компоненти за разтоварване на тези задачи в зависимост от съображенията за производителност и енергийна ефективност на разработчика.

Диаграма на CNN за популярния набор от данни MNIST, показан на сцената на тазгодишната среща на върха на Snapdragon. Векторният процесор е подходящ за напълно свързаните слоеве, както в нашия макет пример. Междувременно тензорният процесор обработва конволюционните и обединяващите слоеве, които обработват многократно плъзгане ядра паралелно, както в диаграмата по-горе, и всеки конволюционен слой може да изведе много отделни функции карти.

Първо, нека да разгледаме графичния процесор, за който обикновено говорим в контекста на 3D игрите. Потребителският пазар за видеоигри стимулира развитието на хардуера за обработка на графики от десетилетия, но защо GPU са толкова важни за невронните мрежи? Като за начало, те дъвчат масивни списъци с 3D координати на многоъгълни върхове наведнъж, за да следят състоянието на света в играта. Графичният процесор трябва също така да извършва гигантски операции за умножение на матрици, за да преобразува (или картографира) тези 3D координати върху 2D планарни, екранни координати и също така обработва информацията за цвета на пикселите в паралелен. Като капак на всичко, те предлагат висока честотна лента на паметта, за да се справят с масивните буфери на паметта за текстурните растерни изображения, насложени върху геометрията в играта. Неговите предимства в паралелизацията, честотната лента на паметта и произтичащите от това възможности за линейна алгебра отговарят на изискванията за производителност на невронните мрежи.

Следователно линията Adreno GPU играе голяма роля в 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% по-добра енергийна ефективност. Това е голяма работа, като се има предвид разпространението на конволюционните невронни мрежови архитектури в съвременните случаи на използване на AI, вариращи от откриване на обекти на изображения до автоматично разпознаване на реч. Както е обяснено по-горе, операцията на навиване в тези мрежи създава 2D масив от матрични изходи за всеки филтър, което означава, че когато са подредени заедно, изходът на конволюционния слой е 3D масив или тензор.

Qualcomm също популяризира своите „нови и уникални“ компресия на честотната лента за дълбоко обучение техника, която очевидно може компресиране на данни без загуби с около 50%, като от своя страна премества половината от данните и освобождава честотна лента за други части на чипсета. Той също така трябва да пести енергия чрез намаляване на пропускателната способност на данните, въпреки че не ни бяха дадени никакви цифри и трябва да има малка цена на енергия за компресиране на данните.

Що се отнася до честотната лента, Snapdragon 865 поддържа LPDDR5 памет, което също ще бъде от полза за производителността на AI, тъй като ще увеличи скоростта, с която се прехвърлят ресурсите и входните данни. Отвъд хардуера, новото на Qualcomm Инструментариум за ефективност на AI модел прави лесното компресиране на модела и произтичащите от това икономии на енергийна ефективност достъпни за разработчиците. Невронните мрежи често имат голям брой „излишни“ параметри; например, те могат да направят скритите слоеве по-широки, отколкото е необходимо. Така една от функциите на 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.

ARM-базираният Kryo CPU на Snapdragon 865 все още е важен компонент на AI двигателя. Въпреки че хардуерното ускорение, обсъдено в горните параграфи, е за предпочитане, понякога ние не могат да избегнат приложения, които не се възползват правилно от тези блокове, което води до CPU резервен вариант. В миналото ARM въведе специфични набори от инструкции, насочени към ускоряване на матрични и векторни изчисления. В процесорите ARMv7 видяхме въвеждането на ARM NEON, разширение на SIMD архитектура, позволяващо инструкции, подобни на DSP. А с микроархитектурата ARMv8.4-A видяхме въвеждането на инструкция специално за точкови продукти.

Всички тези публикувани подобрения в производителността са свързани с много от натоварванията, които описахме в предишния раздел, но също така си струва да имате предвид, че тези надстройки на Snapdragon 865 са само най-новото подобрения във възможностите на AI на Qualcomm. През 2017 г. документирахме тяхното утрояване на възможностите на AI с Hexagon 685 DSP и други актуализации на чипсета. Миналата година те представиха своя тензорен ускорител и интегрирана поддръжка за функции за нелинейност (като гореспоменатия ReLU!) на хардуерно ниво. Те също така удвоиха броя на векторните ускорители и подобриха производителността на скаларния процесор с 20%. Съчетавайки всичко това с подобрения от страна на процесора, като тези по-бързи операции с точков продукт, благодарение на ARM, и допълнителните ALU в GPU, Qualcomm в крайна сметка утрои необработени възможности за изкуствен интелект също.

Практически ползи и разширени случаи на употреба

Всички тези надстройки доведоха до пет пъти повече възможности на AI на Snapdragon 865 в сравнение само преди две години, но може би най-важното е, че подобренията дойдоха и с по-добра производителност на миливат, критичен показател за мобилни устройства устройства. На Snapdragon Summit 2019 Qualcomm ни даде няколко бенчмарка, сравняващи техния AI Engine с двама конкуренти в различни класификационни мрежи. Тези цифри изглежда ще бъдат събрани с помощта на AIMark, приложение за сравнителен анализ на различни платформи, което позволява сравнения с A-серията на Apple и процесорите HiSilicon на Huawei. Qualcomm твърди, че тези резултати използват целия AI Engine и ще трябва да изчакаме още задълбочен сравнителен анализ, за ​​да се разграничи правилно ефектът на всеки компонент и да се определи как са били тези тестове проведено. Например, резултатите от компания Б показват ли резервен процесор? Доколкото ми е известно, AIMark в момента не се възползва от NPU на Kirin 990 на нашите устройства Mate 30 Pro, например. Но той поддържа Snapdragon Neural Processing Engine, така че със сигурност ще се възползва от Qualcomm AI Engine; тъй като това е вътрешно тестване, не е изрично ясно дали бенчмаркът използва правилно правилните библиотеки или SDK за своите конкуренти.

Трябва също така да се каже, че Qualcomm ефективно сравнява възможностите за обработка на AI на Snapdragon 865 с по-рано обявени или пуснати чипсети. Много е вероятно неговите конкуренти да донесат подобно въздействащи подобрения на производителността в следващия цикъл и ако това е в случая, тогава Qualcomm ще държи короната само около половин година от момента, в който устройствата Snapdragon 865 попаднат на рафтовете. Въпреки това, те все още са показателни за вида неравности, които можем да очакваме от Snapdragon 865. Qualcomm като цяло беше много точен, когато съобщаваше за подобрения в производителността и резултати от бенчмарк на предстоящите версии.

Всички мрежи, представени в тези бенчмаркове, класифицират изображения от бази данни като ImageNet, получават ги като входни данни и извеждат една от стотици категории. Отново, те разчитат на същите видове операции, които описахме във втория раздел, въпреки че техните архитектури са много по-сложни от тези примери и те се считат за най-съвременни решения към момента на публикуването им. В най-добрия случай най-близкият им конкурент предоставя по-малко от половината от броя на изводите за секунда.

По отношение на консумацията на енергия, Qualcomm предложи изводи за ват цифри, за да демонстрира възможното количество AI обработка при дадено количество мощност. В най-добрия случай (MobileNet SSD), Snapdragon AI Engine може да предложи удвоен брой изводи при същия бюджет за мощност.

Мощността е особено важна за мобилните устройства. Помислете например за филтър Snapchat, базиран на невронни мрежи. Реално погледнато, тръбопроводът за компютърно зрение извлича информация за лицето и прилага маска или въвеждане трансформацията трябва да работи само със скорост от 30 или 60 завършвания в секунда, за да се постигне течност опит. Увеличаването на необработената производителност на AI би ви позволило да приемате входове с по-висока разделителна способност и да извеждате по-добре изглеждащи филтри, но може също така е за предпочитане да се задоволите с HD резолюция за по-бързо качване и намаляване на консумацията на енергия и термичното регулиране. В много приложения „по-бързо“ не е непременно „по-добро“ и тогава човек може да извлече ползите от подобрената енергийна ефективност.

По време на Ден 2 на срещата на върха на Snapdragon, старши директор по инженерството в Snapchat Юрий Монастиршин излезе на сцената, за да покаже как техните най-нови филтри, базирани на дълбоко обучение, са значително ускорени от Hexagon Direct NN, използвайки Hexagon 695 DSP на Snapdragon 865.

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

Още AI на Edge устройства

Тези подобрения в крайна сметка могат да се превърнат в осезаеми ползи за вашето потребителско изживяване. Услуги, които включват превод, разпознаване на обекти и етикетиране, прогнози за използване или препоръки за артикули, разбирането на естествения език, анализирането на речта и т.н. ще се възползват от по-бързата работа и по-малкото потребление мощност. Наличието на по-висок изчислителен бюджет също позволява създаването на нови случаи на употреба и преживявания и преместване на процеси, които са се извършвали в облака, на вашето устройство. Докато AI като термин е бил използван по съмнителни, измамни и дори погрешни начини в миналото (дори от OEM производители), много от вашите услуги, на които се радвате днес, в крайна сметка разчитат на алгоритми за машинно обучение под някаква форма или друг.

Но освен Qualcomm, други производители на чипсети бързо итерират и подобряват и на този фронт. Например, 990 5G донесе дизайн на ядрото 2+1 NPU, което води до 2,5 пъти по-висока производителност от Kirin 980 и два пъти по-висока от тази на Apple A12. Когато процесорът беше обявен, беше показано, че предлага до два пъти повече кадри (изводи) в секунда на Snapdragon 855 в INT8 MobileNet, което е трудно да се съпостави с резултатите, предоставени от Qualcomm. Съобщава се, че Apple A13 Bionic, от друга страна, предлага шест пъти по-бързо умножение на матрици в сравнение с предшественика си и е подобрил своя осемядрен дизайн на невронен двигател. Ще трябва да изчакаме, докато можем правилно да тестваме Snapdragon 865 на търговски устройства срещу неговите настоящи и бъдещи конкуренти, но това е ясно е, че конкуренцията в това пространство никога не остава неподвижна, тъй като трите компании влагат много ресурси в подобряването на своя AI производителност.