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

OpenXLA

OpenXLA — це спільно розроблена екосистема компілятора ML з відкритим кодом

Нещодавно представлені найбільші компанії, що займаються розробками у сфері машинного навчання проекту OpenXLA, призначений для спільної розробки інструментів компілювати та оптимізувати моделі для систем машинного навчання.

Проект взяв на себе відповідальність за розробку інструментів, які дозволяють уніфікувати компіляцію моделей, підготовлених у фреймворках TensorFlow, PyTorch і JAX, для ефективного навчання та виконання на різних графічних процесорах і спеціалізованих прискорювачах. До спільної роботи над проектом долучилися такі компанії, як Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba і Amazon.

Проект OpenXLA надає найсучасніший компілятор ML, який можна масштабувати серед складної інфраструктури ML. Його фундаментальними стовпами є продуктивність, масштабованість, портативність, гнучкість і розширюваність для користувачів. Завдяки OpenXLA ми прагнемо розкрити реальний потенціал ШІ, прискоривши його розробку та доставку.

OpenXLA дозволяє розробникам компілювати та оптимізувати моделі з усіх провідних фреймворків ML для ефективного навчання та обслуговування на різноманітному обладнанні. Розробники, які використовують OpenXLA, побачать значні покращення в часі навчання, продуктивності, затримці обслуговування та, зрештою, час виходу на ринок і витрати на обчислення.

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

OpenXLA дозволяє реалізувати ефективну підтримку різного обладнання, незалежно від структури, на якій базується модель машинного навчання. Очікується, що OpenXLA скоротить час навчання моделі, покращить продуктивність, зменшить затримку, зменшить витрати на обчислення та скоротить час виходу на ринок.

OpenXLA складається з трьох основних компонентів, код якого поширюється за ліцензією Apache 2.0:

  1. XLA (прискорена лінійна алгебра) — це компілятор, який дозволяє оптимізувати моделі машинного навчання для високопродуктивного виконання на різних апаратних платформах, включаючи графічні процесори, центральні процесори та спеціалізовані прискорювачі від різних виробників.
  2. StableHLO — це базова специфікація та реалізація набору операцій високого рівня (HLO) для використання в моделях системи машинного навчання. Він діє як прошарок між фреймворками машинного навчання та компіляторами, які перетворюють модель для роботи на певному обладнанні. Шари підготовлені для створення моделей у форматі StableHLO для фреймворків PyTorch, TensorFlow і JAX. Набір MHLO використовується як основа для StableHLO, який розширено підтримкою серіалізації та керування версіями.
  3. IREE (Intermediate Representation Execution Environment) — це компілятор і середовище виконання, які перетворюють моделі машинного навчання в універсальне проміжне представлення на основі формату MLIR (Intermediate Multi-Level Representation) проекту LLVM. З особливостей виділяються можливість попередньої компіляції (завчасно), підтримка управління потоком, можливість використовувати динамічні елементи в моделях, оптимізація для різних CPU і GPU, а також низькі накладні витрати.

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

Ще однією перевагою є спрощення масштабування та розпаралелення обчислень. Розробнику достатньо додати анотації для підмножини критичних тензорів, на основі яких компілятор може автоматично генерувати код для паралельних обчислень.

Також підкреслюється, що портативність забезпечується підтримкою кількох апаратних платформ, такі як графічні процесори AMD і NVIDIA, процесори x86 і ARM, прискорювачі Google TPU ML, AWS Trainium Inferentia IPU, Graphcore і Wafer-Scale Engine Cerebras.

Підтримка підключення розширень з реалізацією додаткових функцій, як підтримку для написання примітивів глибокого машинного навчання з використанням CUDA, HIP, SYCL, Triton та інших мов для паралельних обчислень, а також можливість ручного регулювання вузьких місць в моделях.

Нарешті, якщо ви хочете дізнатись більше про це, ви можете проконсультуватися з подробиці за наступним посиланням.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.