Машина үйрөнүү чөйрөсүндө иштеп чыгууга катышкан ири компаниялар OpenXLA долбоорун сунушташты, ал машинаны үйрөнүү системалары үчүн моделдерди компиляциялоо жана оптималдаштыруу куралдарын биргелешип иштеп чыгууга багытталган. Долбоор TensorFlow, PyTorch жана JAX алкактарында даярдалган моделдердин компиляциясын унификациялоого мүмкүндүк берүүчү куралдарды иштеп чыгууну колго алды, ал ар кандай GPU жана адистештирилген акселераторлордо эффективдүү окутуу жана аткаруу үчүн. Долбоор боюнча биргелешкен ишке Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba жана Amazon сыяктуу компаниялар кошулду.
Алдыңкы изилдөө топторунун жана коомчулуктун өкүлдөрүнүн күч-аракеттерин бириктирүү аркылуу машиналык окутуу системаларын өнүктүрүүгө дем берүү жана ар кандай алкактар жана жабдуулар үчүн инфраструктураны фрагментациялоо маселесин чечүүгө мүмкүн болот деп күтүлүүдө. OpenXLA сизге машина үйрөнүү модели түзүлгөн алкактарга карабастан, ар кандай жабдыктарды эффективдүү колдоону ишке ашырууга мүмкүндүк берет. OpenXLA моделди окутуу убактысын кыскартат, өткөрүү жөндөмдүүлүгүн жогорулатат, күтүү убактысын азайтат, эсептөө чыгымдарын азайтат жана рынокко чыгуу убактысын кыскартат.

OpenXLA үч негизги компоненттен турат, алардын коду Apache 2.0 лицензиясы боюнча таратылат:
- XLA (тездетилген сызыктуу алгебра) бул ар кандай аппараттык платформаларда, анын ичинде GPU, CPU жана ар кандай өндүрүүчүлөрдүн адистештирилген акселераторлорунда жогорку өндүрүмдүүлүктө аткаруу үчүн машина үйрөнүү моделдерин оптималдаштырууга мүмкүндүк берүүчү компилятор.
- StableHLO – бул машина үйрөнүү тутумунун моделдеринде колдонуу үчүн жогорку деңгээлдеги операциялардын (HLO, High-Level Operations) спецификациясы жана негизги ишке ашыруусу. Машинаны үйрөнүү алкактары менен компиляторлордун ортосунда катмар катары иштейт, алар моделди конкреттүү жабдыкта аткаруу үчүн өзгөртөт. StableHLO форматында моделдерди түзүү үчүн катмарлар PyTorch, TensorFlow жана JAX алкактары үчүн даярдалган. MHLO топтому сериялаштыруу жана версиялоону колдоо үчүн кеңейтилген StableHLO үчүн негиз катары колдонулат.
- IREE (Intermediate Representation Execution Environment) – бул LLVM долбоорунан MLIR (Көп деңгээлдүү аралык өкүлчүлүк) форматынын негизинде машина үйрөнүү моделдерин универсалдуу орто өкүлчүлүккө айландыруучу компилятор жана иштөө убактысы. Функцияларга алдын ала компиляциялоо мүмкүнчүлүгү (убакыттан мурун), агымды башкарууну колдоо, моделдерде динамикалык элементтерди колдонуу мүмкүнчүлүгү, ар кандай CPU жана GPU үчүн оптималдаштыруу жана аз кошумча чыгымдар кирет.
OpenXLA инструменттеринин негизги артыкчылыктары:
- Түзмөккө тиешелүү кодду жазуудан кабатыр болбостон оптималдуу аткарууга жетишиңиз. Даяр оптималдаштырууну камсыз кылуу, анын ичинде алгебралык туюнтмаларды жөнөкөйлөштүрүү, эстутумду эффективдүү жайгаштыруу, эстутумдун эң жогорку керектөөсүн жана ашыкча жүктөөнү кыскартууну эске алуу менен аткаруунун графигин түзүү.
- Масштабды жөнөкөйлөштүрүү жана эсептөөлөрдү параллелдештирүү. Иштеп чыгуучуга критикалык тензорлордун бир бөлүгү үчүн аннотацияларды кошуу керек, анын негизинде компилятор параллелдүү эсептөө үчүн кодду автоматтык түрдө чыгара алат.
- AMD жана NVIDIA GPU, x86 жана ARM CPU, TPU Googl ML тездеткичтери, AWS Trainium Inferentia IPU, Graphcore жана Cerebras Wafer-Scale Engine сыяктуу ар кандай аппараттык платформаларды колдоо менен портативдикти камсыз кылыңыз.
- CUDA, HIP, SYCL, Triton жана параллелдүү эсептөө үчүн башка тилдерди колдонуу менен терең машина үйрөнүү примитивдерин жазууну колдоо сыяктуу кошумча функцияларды ишке ашыруу менен кеңейтүүлөрдү туташтыруу үчүн колдоо. Моделдердеги тоскоолдуктарды кол менен жөнгө салуу мүмкүнчүлүгү.
Source: opennet.ru
