Presentación de OpenXLA, un conxunto de ferramentas para optimizar e compilar modelos de aprendizaxe automática

As maiores empresas implicadas no desenvolvemento no ámbito da aprendizaxe automática presentaron o proxecto OpenXLA, destinado ao desenvolvemento conxunto de ferramentas de compilación e optimización de modelos para sistemas de aprendizaxe automática. O proxecto asumiu o desenvolvemento de ferramentas que permiten unificar a compilación de modelos elaborados nos frameworks TensorFlow, PyTorch e JAX para un adestramento e execución efectivos en diferentes GPU e aceleradoras especializadas. Empresas como Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba e Amazon uníronse ao traballo conxunto no proxecto.

Espérase que combinando os esforzos dos principais equipos de investigación e representantes da comunidade, sexa posible estimular o desenvolvemento de sistemas de aprendizaxe automática e resolver o problema da fragmentación da infraestrutura para varios marcos e equipos. OpenXLA permítelle implementar un soporte eficaz para varios hardware, independentemente do marco no que se crea o modelo de aprendizaxe automática. Espérase que OpenXLA reduza o tempo de adestramento do modelo, aumente o rendemento, reduza a latencia, reduza os custos de cálculo e o tempo de comercialización.

 Presentación de OpenXLA, un conxunto de ferramentas para optimizar e compilar modelos de aprendizaxe automática

OpenXLA consta de tres compoñentes principais, cuxo código se distribúe baixo a licenza Apache 2.0:

  • XLA (Accelerated Linear Algebra) é un compilador que permite optimizar modelos de aprendizaxe automática para a execución de alto rendemento en varias plataformas de hardware, incluíndo GPU, CPU e aceleradores especializados de varios fabricantes.
  • StableHLO é unha especificación e implementación básica dun conxunto de operacións de alto nivel (HLO, High-Level Operations) para usar en modelos de sistemas de aprendizaxe automática. Actúa como unha capa entre os marcos de aprendizaxe automática e os compiladores que transforman o modelo para a súa execución en hardware específico. Prepáranse capas para xerar modelos no formato StableHLO para os frameworks PyTorch, TensorFlow e JAX. O conxunto MHLO utilízase como base para StableHLO, que se estende para admitir a serialización e a versión.
  • IREE (Intermediate Representation Execution Environment) é un compilador e tempo de execución que converte os modelos de aprendizaxe automática nunha representación intermedia universal baseada no formato MLIR (Multi-Level Intermediate Representation) do proxecto LLVM. As características inclúen a posibilidade de compilación previa (anticipada), soporte para o control de fluxo, a capacidade de usar elementos dinámicos en modelos, optimización para diferentes CPU e GPU e baixa sobrecarga.

As principais vantaxes do kit de ferramentas OpenXLA:

  • Consiga un rendemento óptimo sen ter que preocuparse por escribir código específico do dispositivo. Proporcionar optimizacións preparadas, incluíndo a simplificación de expresións alxébricas, a colocación eficiente da memoria, a programación da execución tendo en conta a redución do consumo máximo de memoria e as sobrecargas.
  • Simplificación do escalado e paralelización dos cálculos. O desenvolvedor só ten que engadir anotacións para un subconxunto de tensores críticos, en función dos cales o compilador pode xerar automaticamente código para a computación paralela.
  • Garantiza a portabilidade con compatibilidade con varias plataformas de hardware, como as GPU AMD e NVIDIA, as CPU x86 e ARM, os aceleradores TPU Googl ML, as IPU AWS Trainium Inferentia, o Graphcore e o Cerebras Wafer-Scale Engine.
  • Soporte para conectar extensións coa implementación de funcións adicionais, como soporte para escribir primitivas de aprendizaxe automática profunda usando CUDA, HIP, SYCL, Triton e outras linguaxes para computación paralela. Posibilidade de axuste manual dos pescozos nos modelos.

Fonte: opennet.ru

Engadir un comentario