Штучний інтелект думає не так, як людина, і обчислює не так, як програма. Тому компанія Google розробила тензорний процесор – елемент апаратного забезпечення, адаптований під штучий інтелект. Як працює CPU для Google у цій статті, і до чого тут тензорні процесори.
Штучний інтелект вже давно міцно увійшов в наше життя. Найчастіше ми навіть не замислюємося над цим питанням, коли звично користуємося голосовим помічником в смартфоні або автоматичним розпізнаванням зображень в програмі. Навіть пошук Google не обходиться без машинного навчання, галузі штучного інтелекту.
Уже близько двох років працює технологія під назвою RankBrain, яка служить для розумного сортування результатів пошуку. Близько 15% щоденних запитів є новими для Google, тобто до цього вони не формулювалися жодним користувачем.
«Наш штучний інтелект обходиться без команд з боку людини»
Професор Девід Сільвер, Головний програміст штучного інтелекту
Google AlphaGo Zero
Алгоритми RankBrain шукають наявні форми в невідомих пошукових запитах і пов’язують їх з семантично схожими поняттями. В результаті пошукова система повинна самостійно навчатися і мати можливість давати відповідні відповіді на питання, які раніше не задавалися.
Google використовує в своїх центрах обробки даних спеціально розроблені для цього тензорні процесори – TPU.
Тензорні процесори (TPU)
Успіхи штучного інтелекту Google виглядають вражаюче. Одна з причин полягає в тому, що компанія Google розробила спеціальні апаратні засоби, а це прискорює нейронні мережі набагато ефективніше, ніж стандартні центральні і графічні процесори. Вражаюче, але тензорні процесори частково використовують звичайні компоненти ПК. Вони знаходяться на одній змінній платі SATA і зв’язуються через PCI Express з іншими тензорними процесорами.
Структура тензорного процесора
Швидке додавання і множення – сильна сторона тензорного процесора. У відповідальному за це модулі з матрицею в якості центрального компонента виробляються обчислення нейронних мереж. Вона займає близько чверті площі процесора. Решта місця використовується для швидкої подачі вступних даних. Вони надходять через PCI Express і оперативну пам’ять DDR3. Результати обчислень повертаються на сервер через PCI Express і інтерфейс хоста.
Надлюдський інтелект
Свою назву процесори отримали від бібліотеки програмного забезпечення TensorFlow. Основне призначення TPU складається в прискоренні алгоритмів штучного інтелекту, які роблять ставку на бібліотеки вільного програмного забезпечення.
Спочатку TPU стали досить популярними в якості апаратної платформи для AlphaGo штучний інтелект, який переміг кращих в світі гравців в азіатську гру “Го”. На відміну від шахів, розробка програмного забезпечення для “Го” на професійному рівні протягом багатьох років вважалася неможливою.
Подальша розробка AlphaGo Zero змогла самостійно навчитися грі на основі заданих їй правил. Через три дні вона досягла професійного рівня, через три тижні – наздогнала попередню версію AlphaGo, навчання якої коштувало величезних зусиль і зажадало проведення мільйонів професійних партій. З’ясувалося, що штучний інтелект раніше обмежував вивчення ходів з боку людини. Ще через шість тижнів AlphaGo Zero вже неможливо було обіграти.
Прискорювач для нейронних мереж
У порівнянні зі звичайними процесорами тензорні спеціалізуються на використанні штучних нейронних мереж. Вони складаються з безлічі пов’язаних в мережу математичних функцій, які імітують людський мозок з його нервовими клітинами і їх зв’язками. Подібно до нашого мозку, нейронна мережа вимагає відповідного введення. Відбувається навчання, наприклад, розпізнавання мови, зображень – або правилами гри “Го”.
Штучна нейронна мережа включає кілька рівнів нейронів. Кожен нейрон використовує зважену суму вихідних значень пов’язаних нейронів в попередньому рівні. Правильна порівняльна оцінка – ключ до успіху в Machine Learning, але її спочатку треба зробити, що на практиці часто означає множинні операції з плаваючою точкою.
У цій дисципліні кращим вибором насправді є графічні процесори. Щоб потім впорядкувати результати пошуку або передбачити ходи, нейронної мережі більше не потрібна висока точність обчислень з плаваючою комою. Цей процес вимагає виконання дуже великої кількості операцій множення і додавання цілих чисел.
Тензорні процесори в обчислювальному центрі Google
Google з 2016 року використовує TPU в своїх обчислювальних центрах. На платі зазвичай розташовують кілька процесорів одним кластером. В основному вони використовуються блоками по чотири штуки.
Тензорний процесор Google складається в основному з обчислювального блоку, матриці 256 × 256 одиниць. Він працює з восьмібітного цілими числами, досягає обчислювальної потужності, що становить 92 трильйона операцій в секунду, і зберігає результати в пам’яті.
На діаграмі показано, що матриця займає лише близько чверті площі процесора. Інші компоненти відповідають за постійне забезпечення ядер новими даними.
Порівняльні оцінки, необхідні для обчислень нейронної мережі, поставляє модуль пам’яті First-In / First-Out. Так як там мало що змінюється для конкретного додатка, досить підключення через оперативну пам’ять DDR3. Проміжні результати поміщаються в буферний накопичувач об’ємом 24 Мбайт і знову надходять в обчислювальний блок.
У 45 разів швидше звичайного процесора
Хоча набір команд CISC (англ. Complex Instruction Set Computer – «комп’ютер з повним набором команд») тензорного процесора і може відпрацювати складні команди, їх існує всього близько десятка. І для більшості необхідних операцій потрібно тільки п’ять команд, в тому числі команди читання, виконання множення матриці або обчислення функції активації.
За рахунок оптимізації обчислень штучного інтелекту тензорні процесори виявляються значно швидші звичайних процесорів (в 45 разів) або графічних процесорів (в 17 разів). У той же час вони працюють з більшою енергоефективністю.
І Google при цьому знаходиться лише на початку шляху: за допомогою простих заходів продуктивність тензорних процесорів можна збільшувати і далі. Одна тільки установка оперативної пам’яті GDDR5 може потроїти нинішню обчислювальну потужність.
Leave a Reply
Щоб відправити коментар вам необхідно авторизуватись.