24 पॉइंट द्वारा xguru 2023-12-07 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
mjhong0708 2023-12-07

डायनेमिक ग्राफ़ निर्माण: MLX का computation graph डायनेमिक रूप से बनाया जाता है। फ़ंक्शन arguments का shape बदलने पर भी compile speed धीमी नहीं होती, और debugging सरल व सहज रहती है

यह सच में बहुत अच्छा लग रहा है। मैं dynamic data बहुत ज़्यादा संभालता हूँ, इसलिए jax इस्तेमाल करते समय हमेशा मुश्किल होती थी...

 
haebom 2023-12-07

ओह, यह बढ़िया है। मैं इसे एक बार इस्तेमाल करके देखूंगा।