MLX - Apple Silicon के लिए Numpy जैसा array framework
(github.com/ml-explore)- Apple Machine Learning Research टीम द्वारा बनाया गया array framework, जिसे Apple Silicon पर efficient और flexible machine learning चलाने के लिए डिज़ाइन किया गया है
- यह Numpy के लगभग समान Python API प्रदान करता है, और सभी features के साथ एक C++ API भी उपलब्ध है
- Numpy से अंतर
- Composable function transformations: MLX में automatic differentiation, automatic vectorization, और computation graph optimization के लिए composable function transformations हैं
- Lazy Computation: MLX में computation lazy है। arrays केवल आवश्यकता पड़ने पर ही materialize होते हैं
- Multi-device: सभी supported devices (CPU, GPU, ...) पर operations चलाए जा सकते हैं
- Dynamic graph construction: MLX का computation graph dynamically बनाया जाता है। function arguments के shape बदलने पर भी compilation धीमा नहीं होता, और debugging सरल व सहज रहती है
- यह PyTorch, Jax, और ArrayFire जैसे frameworks से प्रेरित है
- इन frameworks और MLX के बीच एक प्रमुख अंतर Unified Memory Model है
- MLX के arrays shared memory में stored होते हैं। MLX arrays पर operations सभी supported device types पर data copy किए बिना किए जा सकते हैं
- वर्तमान में supported device types CPU और GPU हैं
- विभिन्न examples शामिल हैं
- Transformer language model training
- LLaMA से large-scale text generation और LoRA से fine-tuning
- Stable Diffusion से image generation
- OpenAI's Whisper से speech recognition
2 टिप्पणियां
यह सच में बहुत अच्छा लग रहा है। मैं dynamic data बहुत ज़्यादा संभालता हूँ, इसलिए
jaxइस्तेमाल करते समय हमेशा मुश्किल होती थी...ओह, यह बढ़िया है। मैं इसे एक बार इस्तेमाल करके देखूंगा।