OpenXLA, проект с отворен код за ускоряване и опростяване на машинното обучение

OpenXLA

OpenXLA е съвместно разработена екосистема за ML компилатор с отворен код

Наскоро, представени най-големите компании, занимаващи се с разработки в областта на машинното обучение проекта OpenXLA, предназначени за съвместно разработване на инструменти за компилиране и оптимизиране на модели за системи за машинно обучение.

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

Проектът OpenXLA предоставя най-съвременен ML компилатор, който може да мащабира сред сложността на ML инфраструктурата. Основните му стълбове са производителност, мащабируемост, преносимост, гъвкавост и разширяемост за потребителите. С OpenXLA ние се стремим да отключим реалния потенциал на AI, като ускорим неговото развитие и доставка.

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

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

OpenXLA позволява да се реализира ефективна поддръжка за различен хардуер, независимо от рамката, върху която се базира моделът на машинно обучение. Очаква се OpenXLA да намали времето за обучение на модела, да подобри производителността, да намали латентността, да намали изчислителните разходи и да намали времето за пускане на пазара.

OpenXLA се състои от три основни компонента, чийто код се разпространява под лиценза Apache 2.0:

  1. XLA (ускорена линейна алгебра) е компилатор, който ви позволява да оптимизирате модели за машинно обучение за високопроизводително изпълнение на различни хардуерни платформи, включително GPU, CPU и специализирани ускорители от различни производители.
  2. StableHLO е основна спецификация и реализация на набор от операции на високо ниво (HLO) за използване в модели на системи за машинно обучение. Той действа като слой между рамки за машинно обучение и компилатори, които трансформират модела, за да работи на специфичен хардуер. Слоевете са подготвени за генериране на модели във формат StableHLO за рамките PyTorch, TensorFlow и JAX. Пакетът MHLO се използва като основа за StableHLO, който е разширен с поддръжка за сериализация и контрол на версиите.
  3. IREE (Intermediate Representation Execution Environment) е компилатор и среда за изпълнение, която преобразува моделите за машинно обучение в универсално междинно представяне, базирано на MLIR (Intermediate Multi-Level Representation) формат на проекта LLVM. От функциите се подчертават възможността за предварителна компилация (предварително), поддръжка за контрол на потока, възможност за използване на динамични елементи в модели, оптимизация за различни процесори и графични процесори и ниски режийни разходи.

По отношение на основните предимства на OpenXLA се споменава, че постигната е оптимална производителност, без да се налага да се задълбочавате в писането на код специфични за устройството, в допълнение към предоставят оптимизации извън кутията, включително опростяване на алгебрични изрази, ефективно разпределение на паметта, планиране на изпълнението, като се вземе предвид намаляването на максималното потребление на памет и режийните разходи.

Друго предимство е опростяване на мащабирането и паралелизиране на изчисленията. Достатъчно е разработчикът да добави анотации за подмножество от критични тензори, въз основа на които компилаторът може автоматично да генерира код за паралелни изчисления.

Също така се подчертава, че преносимостта се осигурява с поддръжка за множество хардуерни платформи, като AMD и NVIDIA GPU, x86 и ARM CPU, Google TPU ML Accelerators, 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. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.