AI開發大一統:GoogleOpenXLA開源,整合所有框架和AI晶片
在去年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 的目標在於:###
- 透過適用於任何框架,連接專用設備後端和最佳化的統一編譯器API,使開發人員可以輕鬆地在他們的首選框架中針對各種硬體編譯和優化任何模型。
- 為目前和新興模型提供業界領先的效能,也可擴展至多個主機和加速器滿足邊緣部署的限制,並推廣到未來的新型模型架構上。
- 建立一個分層和可擴展的機器學習編譯器平台,為開發人員提供基於MLIR 的元件,這些元件可針對其獨特的用例進行重新配置,用於硬件客製化編譯流程。
AI/ML 領導者社群
我們今天在機器學習基礎架構中面臨的挑戰是巨大的,沒有任何一個組織可以單獨有效地解決這些挑戰。 OpenXLA 社群匯集了在 AI 堆疊的不同層級(從框架到編譯器、runtime 和晶片)上運行的開發人員和行業領導者,因此非常適合解決我們在 ML 領域看到的碎片化問題。
作為一個開源項目,OpenXLA 遵循以下原則:
- 平等地位:個人無論從屬關係如何,都平等地做出貢獻。技術領導者是那些貢獻最多時間和精力的人。
- 尊重文化:所有成員都應維護專案價值和行為準則,無論他們在社區中的職位為何。
- 可擴展、有效率的治理:小團隊做出基於共識的決策,具有清晰但很少使用的升級路徑。
- 透明度:所有決定和理由都應該對公眾清晰可見。
OpenXLA 生態系統:效能、規模和可移植能力
OpenXLA 透過模組化工具鏈消除了機器學習開發人員的障礙,它透過通用編譯器介面得到所有領先框架的支持,利用可移植的標準化模型表示,並提供具有強大的目標向和特定硬體優化的特定領域編譯器。該工具鏈包括 XLA、StableHLO 和 IREE,所有這些工具都利用 MLIR:一種編譯器基礎架構,使機器學習模型能夠在硬體上一致地表示、最佳化和執行。
OpenXLA 主要亮點
機器學習用例的範圍
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

CentOS 關機命令為 shutdown,語法為 shutdown [選項] 時間 [信息]。選項包括:-h 立即停止系統;-P 關機後關電源;-r 重新啟動;-t 等待時間。時間可指定為立即 (now)、分鐘數 ( minutes) 或特定時間 (hh:mm)。可添加信息在系統消息中顯示。

檢查CentOS系統中HDFS配置的完整指南本文將指導您如何有效地檢查CentOS系統上HDFS的配置和運行狀態。以下步驟將幫助您全面了解HDFS的設置和運行情況。驗證Hadoop環境變量:首先,確認Hadoop環境變量已正確設置。在終端執行以下命令,驗證Hadoop是否已正確安裝並配置:hadoopversion檢查HDFS配置文件:HDFS的核心配置文件位於/etc/hadoop/conf/目錄下,其中core-site.xml和hdfs-site.xml至關重要。使用

CentOS系統下GitLab的備份與恢復策略為了保障數據安全和可恢復性,CentOS上的GitLab提供了多種備份方法。本文將詳細介紹幾種常見的備份方法、配置參數以及恢復流程,幫助您建立完善的GitLab備份與恢復策略。一、手動備份利用gitlab-rakegitlab:backup:create命令即可執行手動備份。此命令會備份GitLab倉庫、數據庫、用戶、用戶組、密鑰和權限等關鍵信息。默認備份文件存儲於/var/opt/gitlab/backups目錄,您可通過修改/etc/gitlab

在CentOS系統上啟用PyTorchGPU加速,需要安裝CUDA、cuDNN以及PyTorch的GPU版本。以下步驟將引導您完成這一過程:CUDA和cuDNN安裝確定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA顯卡支持的CUDA版本。例如,您的MX450顯卡可能支持CUDA11.1或更高版本。下載並安裝CUDAToolkit:訪問NVIDIACUDAToolkit官網,根據您顯卡支持的最高CUDA版本下載並安裝相應的版本。安裝cuDNN庫:前

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

在 CentOS 上安裝 MySQL 涉及以下步驟:添加合適的 MySQL yum 源。執行 yum install mysql-server 命令以安裝 MySQL 服務器。使用 mysql_secure_installation 命令進行安全設置,例如設置 root 用戶密碼。根據需要自定義 MySQL 配置文件。調整 MySQL 參數和優化數據庫以提升性能。

CentOS系統下查看GitLab日誌的完整指南本文將指導您如何查看CentOS系統中GitLab的各種日誌,包括主要日誌、異常日誌以及其他相關日誌。請注意,日誌文件路徑可能因GitLab版本和安裝方式而異,若以下路徑不存在,請檢查GitLab安裝目錄及配置文件。一、查看GitLab主要日誌使用以下命令查看GitLabRails應用程序的主要日誌文件:命令:sudocat/var/log/gitlab/gitlab-rails/production.log此命令會顯示produc

在CentOS系統上進行PyTorch分佈式訓練,需要按照以下步驟操作:PyTorch安裝:前提是CentOS系統已安裝Python和pip。根據您的CUDA版本,從PyTorch官網獲取合適的安裝命令。對於僅需CPU的訓練,可以使用以下命令:pipinstalltorchtorchvisiontorchaudio如需GPU支持,請確保已安裝對應版本的CUDA和cuDNN,並使用相應的PyTorch版本進行安裝。分佈式環境配置:分佈式訓練通常需要多台機器或單機多GPU。所
