在去年10 月的Google Cloud Next 2022 活動中,OpenXLA 專案正式浮出水面,Google與包括阿里巴巴、AMD、Arm、亞馬遜、英特爾、英偉達等科技公司推動的開源AI 框架合作,致力於匯集不同機器學習框架,讓機器學習開發人員獲得能主動選擇框架、硬體的能力。
本週三,Google宣布 OpenXLA 專案正式開源。
專案連結:https://github.com/openxla/xla
#透過創建與多種不同機器學習框架、硬體平台共同工作的統一機器學習編譯器,OpenXLA 可以加速機器學習應用的交付並提供更大的程式碼可移植性。對於 AI 研究和應用來說,這是一個意義重大的項目,Jeff Dean 也在社群網路上進行了宣傳。
如今,機器學習開發和部署受到碎片化的基礎設施的影響,這些基礎設施可能因框架、硬體和用例而異。這種相互隔絕限制了開發人員的工作速度,並對模型的可移植性、效率和生產化造成了障礙。
3 月 8 日,Google等機構透過 OpenXLA 專案(其中包括 XLA、StableHLO 和 IREE 儲存庫)的開放,朝著消除這些障礙邁出了重要一步。
OpenXLA 是由AI / 機器學習產業領導者共同開發的開源ML 編譯器生態系統,貢獻者包括阿里巴巴、AWS、AMD、蘋果、Arm、Cerebras、Google、 Graphcore、Hugging Face、英特爾、Meta 和英偉達。它使得開發人員能夠編譯和優化來自所有領先機器學習框架的模型,以便在各種硬體上進行高效訓練和服務。使用 OpenXLA 的開發人員可以觀察到訓練時間、吞吐量、服務延遲以及最終發布和計算成本的明顯提升。
隨著AI 技術進入實用階段,許多行業的開發團隊都在使用機器學習來應對現實世界的挑戰,例如進行疾病的預測和預防、個人化學習體驗和黑洞物理學探索。
隨著模型參數數量呈指數級增長,深度學習模型所需的計算量每六個月翻一番,開發人員正在尋求基礎架構的最大性能和利用率。大量團隊正在利用多型號種類的硬件,從資料中心中的節能機器學習專用 ASIC 到可以提供更快響應速度的 AI 邊緣處理器。相應的,為了提高效率,這些硬體設備使用客製化的獨特演算法和軟體庫。
但另一方面,如果沒有通用的編譯器將不同硬體設備橋接到當今使用的多種框架(例如TensorFlow、PyTorch)上,人們就需要付出大量努力才能有效地運行機器學習。在實際工作中,開發人員必須手動優化每個硬體目標的模型操作。這意味著使用客製化軟體庫或編寫特定於設備的程式碼需要領域專業知識。
這是一個矛盾的結果,為了提高效率使用專用技術,結果卻是跨框架和硬體的孤立、不可概括的路徑導致維護成本高,進而導致供應商鎖定,減緩了機器學習開發的進度。
OpenXLA 專案提供了最先進的 ML 編譯器,可以在 ML 基礎設施的複雜性中進行擴充。它的核心支柱是效能、可擴展性、可移植性、靈活性和易用性。借助 OpenXLA,我們渴望透過加速人工智慧的開發和交付來實現 AI 在現實世界中的更大潛力。
OpenXLA 的目標在於:###
我們今天在機器學習基礎架構中面臨的挑戰是巨大的,沒有任何一個組織可以單獨有效地解決這些挑戰。 OpenXLA 社群匯集了在 AI 堆疊的不同層級(從框架到編譯器、runtime 和晶片)上運行的開發人員和行業領導者,因此非常適合解決我們在 ML 領域看到的碎片化問題。
作為一個開源項目,OpenXLA 遵循以下原則:
OpenXLA 透過模組化工具鏈消除了機器學習開發人員的障礙,它透過通用編譯器介面得到所有領先框架的支持,利用可移植的標準化模型表示,並提供具有強大的目標向和特定硬體優化的特定領域編譯器。該工具鏈包括 XLA、StableHLO 和 IREE,所有這些工具都利用 MLIR:一種編譯器基礎架構,使機器學習模型能夠在硬體上一致地表示、最佳化和執行。
機器學習用例的範圍
OpenXLA 目前的使用涵蓋了ML 用例的範圍,包括在阿里雲上對DeepMind 的AlphaFold、GPT2 和Swin Transformer 等模型進行全面訓練,以及在Amazon.com 上進行多模態LLM 訓練。 Waymo 等客戶利用了 OpenXLA 進行車載即時推理。此外,OpenXLA 也用於優化配備 AMD RDNA™ 3 的本機上的 Stable Diffusion 服務。
最佳效能,開箱即用
#OpenXLA 使開發人員無需編寫特定於裝置的程式碼,即可輕鬆加快模型效能。它具有整體模型優化功能,包括簡化代數表達式、優化記憶體資料佈局以及改進調度以減少峰值記憶體使用和通訊開銷。高階算子融合和核心產生有助於提高裝置利用率並降低記憶體頻寬要求。
輕鬆擴展工作負載
#開發高效能的並行化演算法非常耗時並且需要專業知識。借助 GSPMD 等功能,開發人員只需註釋關鍵張量的子集,然後編譯器就可以使用這些子集自動產生平行計算。這消除了跨多個硬體主機和加速器對模型進行分區和高效並行化所需的大量工作。
便攜性和可選性
#OpenXLA 為多種硬體設備提供開箱即用的支持,包括AMD 和NVIDIA GPU、x86 CPU 和Arm 架構以及ML 加速器,如Google TPU、AWS Trainium 和Inferentia、Graphcore IPU、Cerebras Wafer-Scale Engine 等等。 OpenXLA 也透過 StableHLO 支援 TensorFlow、PyTorch 和 JAX,StableHLO 是用作 OpenXLA 輸入格式的可移植層。
彈性
#OpenXLA 為使用者提供了手動調整模型熱點的靈活性。自訂呼叫等擴展機制使用戶能夠以 CUDA、HIP、SYCL、Triton 和其他核心語言編寫深度學習原語,從而能夠充分利用硬體特性。
StableHLO
#StableHLO 是ML 框架和ML 編譯器之間的一個可移植層,是一個支持動態、量化和稀疏的高階運算(HLO)的運算集。此外,它可以被序列化為 MLIR 字節碼以提供相容性保證。所有主要的 ML 框架(JAX、PyTorch、TensorFlow)都可以產生 StableHLO。 2023 年,Google計劃與 PyTorch 團隊緊密合作,實現與 PyTorch 2.0 版本的整合。
以上是AI開發大一統:GoogleOpenXLA開源,整合所有框架和AI晶片的詳細內容。更多資訊請關注PHP中文網其他相關文章!