Show HN: 80% तेज़, 50% कम मेमोरी, और 0% accuracy loss के साथ Llama fine-tuning
(github.com/unslothai)QLoRA मॉडल ट्यूनिंग की दक्षता में सुधार
- QLoRA/LoRA मॉडल मैन्युअली डिराइव किए गए backpropagation स्टेप्स के जरिए 80% तेज़ स्पीड और 50% कम मेमोरी उपयोग हासिल करते हैं.
- OpenAI की Triton भाषा में लिखे गए सभी kernels को accuracy loss के बिना optimize किया गया है.
- हार्डवेयर बदले बिना NVIDIA GPU (2018 के बाद के मॉडल, CUDA 7.5+ सपोर्ट) पर इस्तेमाल किया जा सकता है.
- Flash Attention सपोर्ट और 4-bit तथा 16-bit LoRA fine-tuning सपोर्ट के साथ efficient model training संभव है.
- Slim Orca मॉडल को लोकल environment में 1301 घंटों से घटाकर 260 घंटों में train किया जा सकता है.
- Open source version 5x तेज़ training देता है, जबकि Unsloth Pro और Max code paths अधिकतम 30x तेज़ training प्रदान करते हैं.
इंस्टॉलेशन निर्देश
- Unsloth केवल Linux distributions और Pytorch 2.1 या उससे ऊपर के versions पर सपोर्ट करता है.
- इसे Conda और Pip के जरिए install किया जा सकता है, और CUDA version के अनुसार उपयुक्त package चुनकर install करना होता है.
Alpaca मॉडल उदाहरण
- FastLlamaModel का उपयोग करके Llama मॉडल लोड किया जाता है, और 4-bit quantization के जरिए मेमोरी उपयोग कम किया जाता है.
- मॉडल patching और तेज़ LoRA weights जोड़कर performance बेहतर की जाती है.
- Huggingface के Trainer और dataset loading का उपयोग करके मॉडल train किया जा सकता है.
भविष्य के लक्ष्य और सीमाएँ
- sqrt gradient checkpointing सपोर्ट की योजना है, जिससे मेमोरी उपयोग 25% और कम किया जा सकेगा.
- फिलहाल केवल Llama मॉडल सपोर्ट किए जाते हैं, लेकिन आगे चलकर दूसरे मॉडल भी सपोर्ट करने की योजना है.
प्रदर्शन तुलना
- Tesla T4 GPU का उपयोग करने पर, Unsloth, Huggingface की तुलना में काफ़ी तेज़ epoch time और कम मेमोरी उपयोग दिखाता है.
- single GPU और multi-GPU systems दोनों में Unsloth के Pro और Max versions बेहतर performance देते हैं.
समस्या समाधान
- जब
bitsandbytesयाxformersसही तरह से लिंक नहीं होते, तब उनके लिए समाधान दिए गए हैं. - फिलहाल Windows सपोर्ट नहीं है, और जब Xformers तथा Triton आधिकारिक रूप से Windows सपोर्ट करेंगे, तब Unsloth भी सपोर्ट करेगा.
- अगर installation में समस्या हो, तो
pipको update करना एक समाधान हो सकता है.
GN⁺ की राय
इस लेख का सबसे महत्वपूर्ण बिंदु यह है कि QLoRA/LoRA मॉडल ट्यूनिंग पारंपरिक तरीकों की तुलना में कहीं अधिक तेज़ और मेमोरी-दक्ष है. ऐसी optimization AI मॉडल training का समय और लागत दोनों काफ़ी कम कर सकती है, इसलिए यह शुरुआती software engineers के लिए भी एक आकर्षक समाधान हो सकती है. साथ ही, यह लेख open source तकनीक की प्रगति और यह कैसे तकनीक की पहुँच बढ़ाती है, इसका एक दिलचस्प उदाहरण भी देता है.
अभी कोई टिप्पणी नहीं है.