由機器之心報告。
編輯:杜薇、小舟
蘋果的新框架 MLX 不僅擁有 Pytorch 風格的 API,還為開發者提供了經典示例(如 llama、LoRa、stable Diffusion 和 whisper)。2020 年 11 月,蘋果推出了 M1 晶元,在速度和功率方面都令人驚嘆。 2024年,蘋果再次推出M2晶元,今年10月,M3晶元正式亮相。
在蘋果發布晶元的同時,它也非常注重在其晶元上訓練和部署人工智慧模型的能力。
Apple 的 ML Compute 可用於在 Mac 上訓練 TensorFlow 模型。 PyTorch 支援 M1 Mac 上的 GPU 加速 PyTorch 機器 習 模型訓練,使用 Apple 的金屬效能著色器 (MPS) 作為後端。 這些使 Mac 使用者能夠在本地訓練神經網路。
現在,蘋果公司宣布了MLX,這是乙個專門針對蘋果晶元的機器習的開源陣列框架。
MLX 專為機器 習 研究人員設計,可高效訓練和部署 AI 模型。 框架本身的設計在概念上也很簡單。 研究人員可以輕鬆擴充套件和改進 MLX,以快速探索和測試新想法。 MLX 的設計靈感來自 Numpy、PyTorch、Jax 和 ArrayFire 等框架。
專案位址:MLX專案的貢獻者之一、蘋果機器習研究團隊(MLR)的研究科學家Awni Hannun展示了使用MLX框架實現LLAMA 7B並在M2 Ultra上執行的視訊。
MLX很快引起了機器學習習研究人員的注意。 TVM、MXNet、XGBoste、CMU助理教授、OctoML首席技術官陳天琦轉發:蘋果晶元有了深度學習的新框架習。 」
有網友在MLX上評論說,蘋果又重建了輪子。
源:MLX 功能、示例
在這個專案中,我們可以看到MLX具有以下關鍵功能。
熟悉的 API。MLX有乙個非常像Numpy的Python API,以及乙個功能齊全的C++ API(與Python API非常相似)。 MLX 也有更高階的軟體包(例如 MLXnn 和 mlxOptimizers),他們的 API 與 PyTorch 非常相似,可以更輕鬆地構建更複雜的模型。
可組合函式轉換。MLX 具有用於自動微分、自動向量化和計算圖優化的可組合函式轉換。
惰性計算。MLX 中的計算是延遲的,只有在需要時才例項化陣列。
動態圖構建。MLX中的計算圖構建是動態的,改變函式引數的形狀不會減慢編譯速度,除錯簡單易上手。
多裝置。操作可以在任何受支援的裝置上執行,例如 CPU 和 GPU。
統一記憶體。MLX 與其他框架的顯著區別在於記憶體是統一的,陣列共享記憶體。 MLX 上的操作可以在任何受支援的裝置型別上執行,而無需移動資料。
此外,還有各種使用 MLX 框架的示例,例如 MNIST 示例,這是學習如何使用 MLX 習 的好方法。
來源: -examples tree main mnist
MLX 還有許多其他有用的示例,包括:
Transformer 語言模型訓練;
LLAMA 海量文字生成和 LoRa 微調;
穩定的擴散生成**;
OpenAI 的耳語語音識別。
更詳細的文件可以在以下位置找到: