2 पॉइंट द्वारा GN⁺ 2024-04-25 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Apple द्वारा विकसित deep learning framework CoreNet का परिचय

  • CoreNet, Apple द्वारा विकसित एक deep learning framework है, जो standard या नए large-scale models को विभिन्न tasks पर train कर सकता है
    • Foundation Model (CLIP, LLM), object classification, object detection, Semantic Segmentation जैसे tasks को support करता है
  • हाल ही में अपडेट किए गए v0.1.0 में OpenELM, CatLIP, MLX examples आदि शामिल हैं

CoreNet का उपयोग करते हुए Apple के शोध परिणाम

  • OpenELM: एक efficient और open source Language Model, जिसे training/inference के लिए इस्तेमाल किया जा सकता है
  • CatLIP: web-scale image-text data पर 2.7 गुना तेज pretraining के साथ CLIP-स्तर का performance हासिल किया गया
  • FastVit: structural reparameterization का उपयोग करने वाला तेज hybrid Vision Transformer
  • Bytes Are All You Need: ऐसा Transformer जो सीधे files के byte units पर काम करता है
  • MobileOne: 1ms latency वाला mobile backbone network
  • RangeAugment: Range Learning का उपयोग करने वाली efficient online augmentation technique
  • MobileViT: mobile-friendly lightweight Vision Transformer
  • इसके अलावा कई अन्य शोध उपलब्धियां भी प्रस्तुत की गई हैं

इंस्टॉलेशन और development environment सेटअप

  • Git LFS install करना आवश्यक है (testing, Jupyter Notebook चलाने और contribution के लिए ज़रूरी)
  • Linux पर Python 3.10+, PyTorch v2.1.0+ recommended है
  • macOS पर Python 3.9+ पर्याप्त है
  • optional dependency packages contribution या tests चलाने के समय आवश्यक होते हैं
  • Linux, macOS installation methods और audio/video processing के लिए packages install करने के तरीके विस्तार से समझाए गए हैं

CoreNet की directory structure

  • tutorials: शुरुआती examples
    • नए dataset के साथ model को scratch से train करना
    • SLURM और multi-node training guide
    • CLIP, Semantic Segmentation, Object Detection examples
  • projects: हर task के लिए training recipes, pretrained weights और checkpoints उपलब्ध
    • README.md में documentation, pretrained weight links और citation information शामिल है
    • <task_name>/<model_name>.yaml files के जरिए reproducible training/evaluation settings दी गई हैं
  • mlx_example: Apple Silicon पर CoreNet models को efficiently चलाने के examples
  • corenet/modeling/models: task-wise organized model implementations
    • decorator के जरिए task name और model name निर्दिष्ट करना
    • YAML config file में इस्तेमाल होने वाले model class को निर्दिष्ट करने का तरीका समझाया गया है
  • corenet/data/datasets: task-wise organized datasets
  • अन्य class implementation directories का भी विवरण, जिन्हें YAML configs में refer किया जाता है
    • loss_fn, metrics, optims, data आदि

CoreNet प्रोजेक्ट जानकारी

  • Sachin ने development शुरू किया था, और फिलहाल Sachin, Maxwell Horton, Mohammad Sekhavat, Yanzi Jin इसे maintain कर रहे हैं
  • community से Pull Request contributions का स्वागत है. contribution docs देखें.
  • CoreNet, CVNets से विकसित हुआ प्रोजेक्ट है, और Vision के अलावा LLM जैसे Foundation Model training को support करने के लिए इसे विस्तार दिया गया है

GN⁺ की राय

  • CoreNet एक comprehensive deep learning framework लगता है, जो नवीनतम SOTA models को समेटता है. SOTA model implementations के साथ training pipeline भी उपलब्ध होने से मौजूदा research results को reproduce करना आसान हो सकता है.

  • चूंकि यह Apple द्वारा विकसित framework है, इसलिए Apple Silicon devices पर optimized execution की उम्मीद की जा सकती है. खासकर MLX examples के जरिए Apple Silicon optimization के तरीके की झलक मिलती है.

  • Vision tasks के साथ-साथ LLM जैसे Foundation Model training को support करना इसकी खास विशेषता है. हालांकि मौजूदा public version 0.1.0 है, इसलिए यह अभी शुरुआती चरण में लगता है. आगे के update plans और roadmap जानना रोचक होगा.

  • PyTorch-based framework होने के कारण PyTorch ecosystem की कई सुविधाओं का उपयोग किया जा सकता है. हालांकि मौजूदा project structure को देखते हुए दूसरे frameworks के साथ interoperability मुश्किल लगती है.

  • अगर ONNX या TorchScript के जरिए model export feature मिले तो अच्छा होगा. साथ ही iOS, macOS app development के दौरान CoreML conversion जैसे Apple ecosystem integration विकल्पों पर भी विचार किया जा सकता है.

1 टिप्पणियां

 
GN⁺ 2024-04-25
Hacker News राय
  • CoreNet, CVNets से विकसित हुआ है और अब computer vision से आगे बढ़कर अधिक व्यापक applications को कवर करता है। इससे LLM सहित foundation models की training आसान होती है।
  • CoreNet के default_trainer.py को देखने पर पता चलता है कि यह PyTorch के Tensor का उपयोग करता है, लेकिन अपनी खुद की training method implement करता है। यह अपना LR scheduler और optimizer implement करता है, और caller चाहे तो वैकल्पिक रूप से PyTorch का Adam इस्तेमाल कर सकता है।
  • मौजूदा frameworks के साथ सहयोग करने के बजाय शुरुआत से बनाना एक दिलचस्प, और शायद बहुत Apple-जैसा, चुनाव है।
  • MLX examples फिलहाल सिर्फ inference तक सीमित लगते हैं। यह MLX-विशिष्ट implementation के लिए एक landing zone बन सकता है।
  • Datakalab और DarwinAI के हालिया acquisitions को देखते हुए, अगले 1 साल में यह कैसे आगे बढ़ेगा, यह दिलचस्प होगा।
  • Apple, Jax के ऊपर बने axlearn library को भी सक्रिय रूप से develop कर रहा है। ऐसा लगता है कि Apple की ML teams में आधी PyTorch और बाकी आधी Jax का उपयोग कर रही हैं।
  • README में CatLIP नाम के एक नए model का भी ज़िक्र था, लेकिन उसका link टूटा हुआ है।
  • CoreNet, PyTorch आधारित है।
  • मेरी समझ में MLX, Apple Silicon के लिए optimized PyTorch-जैसा equivalent है। जिज्ञासा है कि क्या CoreNet, MLX models की distributed training के लिए है, या इसका उद्देश्य कुछ और है।
  • अच्छा होगा अगर इस repository में कोई LLM agent हो जो अलग-अलग models और उनके उपयोग के तरीकों के लिए छोटे API examples बना सके।
  • Apple M1 पर neural network training और inference के लिए आप कौन-सी library recommend करेंगे? मैं इसे C++ या Rust से उपयोग करना चाहता हूँ, और neural network में अधिकतम 5M parameters होंगे।
  • MPS backend का उपयोग करने वाले Huggingface Transformers के बजाय इसे इस्तेमाल करने का क्या फ़ायदा है?
  • अगर मैंने README में कुछ मिस नहीं किया है, तो यह स्पष्ट नहीं है कि क्या यह Apple Silicon पर training को support करता है।
  • यह दिलचस्प है कि Apple, LLM training पर खुली जानकारी को आगे बढ़ा रहा है। दुनिया बदल रही है।