Платформата TensorFlow на Google позволява на своите потребители да обучават AI чрез предоставяне на инструменти и ресурси за машинно обучение. Дълго време AI инженерите са използвали традиционни процесори и графични процесори за обучение на AI. Въпреки че тези процесори могат да обработват различни процеси на машинно обучение, те все още са хардуер с общо предназначение, използван за различни ежедневни задачи.
За да ускори обучението на AI, Google разработи специфична за приложението интегрирана схема (ASIC), известна като модул за обработка на тензор (TPU). Но какво е модул за обработка на тензор и как те ускоряват програмирането на AI?
Какво представляват тензорните процесорни единици (TPU)?
Tensor Processing Units са на Google ASIC за машинно обучение. TPU се използват специално за дълбоко обучение за решаване на сложни матрични и векторни операции. TPU са рационализирани за решаване на матрични и векторни операции при свръхвисоки скорости, но трябва да бъдат сдвоени с CPU, за да дават и изпълняват инструкции. TPU могат да се използват само с тези на Google
Платформа TensorFlow или TensorFlow Lite, независимо дали чрез облачни изчисления или неговата олекотена версия на локален хардуер.Приложения за TPU
Google използва TPU от 2015 г. Те също потвърдиха използването на тези нови процесори за обработка на текст в Google Street View, Google Photos и Google Search Results (Rank Brain), като както и да създаде AI, известен като AlphaGo, който победи топ играчи на Go и системата AlphaZero, която спечели срещу водещи програми в шах, Go и Шоги.
TPU могат да се използват в различни приложения за дълбоко обучение, като откриване на измами, компютърно зрение, естествен език обработка, самоуправляващи се автомобили, вокален AI, селско стопанство, виртуални асистенти, борсова търговия, електронна търговия и различни социални прогнози.
Кога да използвате TPU
Тъй като TPU са силно специализиран хардуер за дълбоко обучение, той губи много други функции, които обикновено бихте очаквали от процесор с общо предназначение като CPU. Имайки предвид това, има конкретни сценарии, при които използването на TPU ще доведе до най-добър резултат при обучение на AI.
Най-доброто време за използване на TPU е за операции, при които моделите разчитат в голяма степен на матрични изчисления, като системи за препоръки за търсачките. TPU също дават страхотни резултати за модели, при които изкуственият интелект анализира огромно количество точки от данни, което ще отнеме няколко седмици или месеци, за да завърши. AI инженерите използват TPU за инстанции без персонализирани модели TensorFlow и трябва да започнат от нулата.
Кога да не използвате TPU
Както беше посочено по-рано, оптимизирането на TPU кара тези типове процесори да работят само върху специфични операции на натоварване. Следователно има случаи, в които изборът да се използва традиционен CPU и GPU ще доведе до по-бързи резултати. Тези случаи включват:
- Бързо създаване на прототипи с максимална гъвкавост
- Моделите са ограничени от наличните точки от данни
- Модели, които са прости и могат да бъдат обучени бързо
- Моделите са твърде тежки за смяна
- Модели, разчитащи на персонализирани операции TensorFlow, написани на C++
TPU версии и спецификации
Откакто Google обяви своите TPU, обществеността непрекъснато се актуализира за най-новите версии на TPU и техните спецификации. Следва списък на всички версии на TPU със спецификации:
TPUv1 | TPUv2 | TPUv3 | TPUv4 | Edgev1 | |
---|---|---|---|---|---|
Дата на въвеждане | 2016 | 2017 | 2018 | 2021 | 2018 |
Процесен възел (nm) | 28 | 16 | 16 | 7 | |
Размер на матрицата (mm²) | 331 | <625 | <700 | <400 | |
Вградена памет | 28 | 32 | 32 | 144 | |
Тактова честота (MHz) | 700 | 700 | 940 | 1050 | |
Най-малка конфигурация на паметта (GB) | 8 DDR3 | 16 HBM | 32 HBM | 32 HBM | |
TDP (ватове) | 75 | 280 | 450 | 175 | 2 |
TOPS (Tera операции в секунда) | 23 | 45 | 90 | ? | 4 |
TOPS/W | 0.3 | 0.16 | 0.2 | ? | 2 |
Както можете да видите, TPU тактовите скорости не изглеждат чак толкова впечатляващи, особено когато модерните настолни компютри днес могат да имат тактови скорости 3-5 пъти по-бързи. Но ако погледнете долните два реда на таблицата, можете да видите, че TPU могат да обработват 23-90 тера-операции в секунда, използвайки само 0,16-0,3 вата мощност. Смята се, че TPU са 15-30 пъти по-бързи от съвременните CPU и GPU при използване на интерфейс на невронна мрежа.
С всяка пусната версия по-новите TPU показват значителни подобрения и възможности. Ето няколко акцента за всяка версия.
- TPUv1: Първият публично обявен TPU. Проектиран като 8-битова машина за умножение на матрици и е ограничен до решаване само на цели числа.
- TPUv2: Тъй като инженерите отбелязаха, че TPUv1 е с ограничена честотна лента. Тази версия вече има двойна честотна лента на паметта с 16 GB RAM. Тази версия вече може да решава плаващи точки, което я прави полезна за обучение и изводи.
- TPUv3: Издаден през 2018 г., TPUv3 има два пъти повече процесори и е внедрен с четири пъти повече чипове от TPUv2. Надстройките позволяват на тази версия да има осем пъти по-висока производителност в сравнение с предишните версии.
- TPUv4: Това е най-новата версия на TPU, обявена на 18 май 2021 г. Изпълнителният директор на Google обяви, че тази версия ще има повече от два пъти по-висока производителност от TPU v3.
- Edge TPU: Тази версия на TPU е предназначена за по-малки операции, оптимизирани да използват по-малко енергия от другите версии на TPU при цялостна работа. Въпреки че използва само два вата мощност, Edge TPU може да извърши до четири тера-операции в секунда. Edge TPU се намира само на малки ръчни устройства като смартфона Pixel 4 на Google.
Как получавате достъп до TPU? Кой може да ги използва?
TPU са собствени процесори, проектирани от Google за използване с неговата платформа TensorFlow. Достъпът на трети страни до тези процесори е разрешен от 2018 г. Днес TPU (с изключение на Edge TPU) могат да бъдат достъпни само чрез Google компютърни услуги чрез облака. Докато хардуерът Edge TPU може да бъде закупен чрез смартфона Pixel 4 на Google и неговия комплект за прототипиране, известен като Coral.
Coral е USB ускорител, който използва USB 3.0 Type C за данни и захранване. Той предоставя на вашето устройство Edge TPU изчисления, способни на 4 TOPS за всеки 2 W мощност. Този комплект може да работи на машини, използващи Windows 10, macOS и Debian Linux (може да работи и с Raspberry Pi).
Други специализирани AI ускорители
Тъй като изкуственият интелект е на мода през последното десетилетие, Big Tech непрекъснато търси начини да направи машинното обучение възможно най-бързо и ефективно. Въпреки че TPU на Google са може би най-популярните ASIC, разработени за дълбоко обучение, други технологични компании като Intel, Microsoft, Alibaba и Qualcomm също са разработили свои собствени AI ускорители. Те включват Microsoft Brainwave, Intel Neural Compute Stick и IPU (Intelligence Processing Unit) на Graphicore.
Но докато се разработва повече хардуер за изкуствен интелект, за съжаление, повечето все още не са налични на пазара, а много никога няма да го направят. Към момента на писане, ако наистина искате да закупите хардуер за AI ускорител, най-популярните опции са да закупите комплект за прототипиране Coral, Intel NCS, Graphicore Bow Pod или Asus IoT AI Accelerator. Ако просто искате достъп до специализиран хардуер с изкуствен интелект, можете да използвате услугите за облачни изчисления на Google или други алтернативи като Microsoft Brainwave.