+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Intel представив nGraph, компілятор для систем машинного навчання

Компанія Intel опублікувала напрацювання проекту nGraph, в рамках якого розвивається відкритий компілятор, набір бібліотек і runtime для компіляції в код моделей глибинного машинного навчання, підготовлених за допомогою різних фреймворків. Код проекту написаний мовою С++ та розповсюджується під ліцензією Apache 2.0.

nGraph дозволяє експериментувати та створювати прототипи систем машинного навчання не прив'язуючись до конкретного фреймворку та не дбаючи про те, як адаптувати підготовлені моделі нейронної мережі до тренування та ефективного виконання на різних класах пристроїв. В даний час у nGraph реалізована пряма підтримка компіляції моделей, підготовлених для фреймворків TensorFlow, Apache MXNet і Neon (Intel Nervana), а також непряма підтримка моделей Caffe2, PyTorch та CNTK (Cognitive Toolkit), яка забезпечується через проміжок перетворення на універсальний формат ONNX (Open Neural Network Exchange).

На виході може формуватися оптимізований машинний код, готовий для виконання на системах на основі архітектури Intel (x86, Intel Xeon, Xeon Phi), GPU (NVIDIA CUDA) і на спеціалізованих процесорах Intel NNP (Nervana Neural Network Processor). Найближчим часом очікується підтримка FPGA та чіпів Movidius. nGraph намагається позбавити розробників необхідності виконання трудомістких завдань з оптимізації моделі для конкретного типу пристроїв, що обмежують область застосування і ускладнюють портування на нові пристрої.

Проміжне представлення графа обчислень (nGraph IR), що надається в nGraph, абстрагує деталі реалізації конкретних пристроїв і дає можливість розробнику зосередитися на науковій роботі, алгоритмах і моделях, не дбаючи про формування оптимального машинного. коду. Кожен вузол або операція в даному графі представляють один крок обчислень, який здійснює на виході нуль або кілька тензорів (багатомірні масиви даних) на основі нуля або більше тензорів на вході.

Кожна операція nGraph IR є складальним блоком, з яких можна скомпонувати складніші операції, що надаються різними фреймворками машинного навчання. Для кожного фреймворку підготовлено обв'язування, яке транслює моделі зі специфічними операторами в уніфіковане проміжне уявлення nGraph. При формуванні машинного коду абстрактна функціональність пристроїв перетворюється на комбінацію загальних та специфічних для конкретних пристроїв перетворень над графом.

У порівнянні зі штатними компіляторами MKLDNN (MXNet) і TensorFlow XLA, у nGraph задіяні додаткові оптимізації для процесорів Intel та інших цільових платформ. Наприклад, при тестуванні продуктивності тренування моделі на системі з CPU Intel Xeon Platinum 8180 приріст продуктивності в окремих тестах досягає 30% порівняно з MKLDNN і 40% порівняно з TensorFlow XLA.

 

 

Інші новини

Найкраща ціна