На яких процесорах Google запускає свій штучний інтелект? Чим вони відрізняються від звичайних? І як можна отримати до них доступ? У цій статті ми розберемося, що таке тензорні процесори, і чому Google використовує саме них.
Складні задачі потребують специфічних рішень, а навчання надпотужних моделей ШІ — це дуже складна задача. Коли суто програмних засобів виявляється для неї недостатньо, інженери починають вирішувати її на рівні «заліза».
Проте екзотичне комп’ютерне «залізо» буває не тільки живим чи квантовим — воно буває, як і звичайне, зроблене з металу і кремнію. Саме про нього і піде мова.
Чому штучний інтелект такий «прожерливий»?
Нейронна мережа — це програма, яка імітує звʼязки між нейронами за допомогою математики. Саме тому вона може бути запущена на компʼютері.
Нейронна мережа складається з кількох шарів, кожен має певну кількість вузлів, що імітують нейрони. Вузли звʼязані з наступним шаром — і ці звʼязки мають «вагу», яка визначає, наскільки сильний взаємозвʼязок. Це дозволяє імітувати звʼязок між нейронами, який відповідає формуванню навичок, та таким чином дозволяє програмі навчатися — звʼязки між вузлами, що приносять правильний результат, зміцнюються, і вага їх збільшується. Для того, щоби передати інформацію з одного шару на інший, треба помножити матрицю результатів його вузлів на матрицю ваг звʼязків з наступним шаром.
Саме множення матриць — це найчастіша операція у штучному інтелекті. І для комп'ютера вона непроста: вона розбивається на численну кількість операцій складання і множення. Це значно повільніше ніж помножити два числа.
І саме для виправлення цього «вузького місця» і були винайдені тензорні процесори.
Їх придумали у компанії Google і представили публіці у 2016 році — як раз коли компанія працювала над проєктом штучного інтелекту Google Deepmind. З тих самих пір вона вдосконалювала технологію. Найновішим її представником є чип Ironwood, який наразі заявлений як найпотужніший процесор для штучного інтелекту.
Ефективність тензорних процесорів у трильйонах операцій за ват енергії.
Що таке тензорні процесори і як вони працюють?
Насправді ідея вузько спеціалізованих процесорів під конкретну задачу не нова — з нею зустрічалися всі, у кого в компʼютері є відеокарта, адже на ній стоїть графічний процесор. Такі пристрої називаються Graphic Processing Unit, або GPU. Завдяки технології CUDA на процесорах NVidia можна запускати й інші складні обчислення — GPU підтримують неймовірну кількість паралельних потоків і тому ідеальні для складних математичних задач з надзвичайно великими обсягами точних обчислень.
Тензорні процесори (Tensor Processing Unit, TPU) своєю чергою оптимізовані не під обчислення графіки, а під обчислення матриць. Вони мають наднизьку точність — проте розраховані на більший обсяг обчислень. І найголовніше — вони підтримують множення матриць на рівні команд, адже спеціально під це спроєктовані. Тепер замість десятків команд складання і множення матриці множаться однією командою, що збільшує швидкість роботи.
Фреймворк глибинного навчання TensorFlow оптимізований під роботу з TPU.
Як отримати доступ до тензорних процесорів?
Тензорні процесори — це унікальна розробка Google, тому єдиний засіб отримати до них доступ — через компанію.
Google відкрив доступ до TPU Research Cloud — програми для дослідників та студентів, через яку можна отримати безкоштовний доступ до тисяч тензорних процесорів, якщо вони потрібні вам для дослідження. Для участі у програмі потрібно заповнити форму.
Інший варіант — це комерційна послуга Cloud Tensor Processing Units, але її ціни немає у відкритому доступі, тож доступ до неї можливий лише через відділ продажів.
Отже, тензорні процесори — це великий крок в обчислювальній техніці. Їх спеціалізована архітектура не лише допомагає розв’язувати задачі машинного навчання, але і доводить, що можна долати обмеження звичайної архітектури комп’ютера. Подальший розвиток технологій дозволить нам вийти за межі, що були встановлені ще фон Нейманом у 1940-ві, адже TPU показують, що це можливо.
Джерела:
- https://cloud.google.com/tpu/docs/system-architecture-tpu-vm
- https://blog.google/products/google-cloud/ironwood-tpu-age-of-inference/
- https://sites.research.google/trc/about/
Іван Синенко