Qwen 2.5 ट्यूटोरियल: क्विकस्टार्ट, डिप्लॉयमेंट, और वास्तविक उपयोग के मामले
अद्यतन तिथि: 2025-09-05 12:32:56
कृत्रिम बुद्धिमत्ता अब सिर्फ टेक्स्ट-आधारित मॉडल्स तक सीमित नहीं है, बल्कि ऐसे युग में प्रवेश कर रही है जहां सिस्टम शब्दों, चित्रों, और यहां तक कि वीडियो को भी समझ सकते हैं। यह बदलाव दस्तावेज़ ऑटोमेशन से लेकर इंटेलिजेंट ट्यूटरिंग और मल्टीमीडिया विश्लेषण तक और अधिक स्वाभाविक तथा शक्तिशाली ऐप्लिकेशन्स के लिए रास्ते खोल रहा है।
Qwen 2.5, जिसे Alibaba Cloud ने विकसित किया है, आज उपलब्ध सबसे एडवांस्ड ओपन सोर्स मल्टीमोडल मॉडल्स में से एक है। यह एक ही सिस्टम में भाषा समझने, हाई-रेज़ोल्यूशन इमेज प्रोसेसिंग और वीडियो रीज़निंग की क्षमताओं को जोड़ता है। कई क्लोज्ड प्लेटफ़ॉर्म्स के विपरीत, Qwen 2.5 को रिसर्च और कमर्शियल इस्तेमाल दोनों के लिए मुफ़्त में इस्तेमाल किया जा सकता है, जिससे यह डेवलपर्स, स्टार्टअप्स और एंटरप्राइज़ेज़ के लिए आकर्षक विकल्प बन जाता है जो प्रैक्टिकल एआई सॉल्यूशन्स बनाना चाहते हैं।
यह गाइड आपको Qwen 2.5 के साथ शुरुआत करने का तरीका बताता है। इसमें इंस्टॉलेशन, क्विकस्टार्ट एग्जाम्पल्स, डिप्लॉयमेंट मेथड्स, और रियल वर्ल्ड यूज़ केसेज़ शामिल हैं ताकि आप इस मॉडल को अपने प्रोजेक्ट्स में आसानी से इस्तेमाल कर सकें।
Qwen 2.5-VL क्या है
Qwen 2.5-VL, Tongyi Qianwen प्रोजेक्ट के तहत विजन-लैंग्वेज मॉडल्स की नवीनतम पीढ़ी है। यह बड़े भाषा प्रोसेसिंग को हाई-रेज़ोल्यूशन इमेज एनालिसिस और वीडियो समझ के साथ जोड़ता है। इस सीरीज़ में 3B, 7B, 32B, और 72B के पैरामीटर वाले मॉडल्स शामिल हैं। छोटे वैरिएंट्स लोकल एक्सपेरिमेंट्स के लिए उपयुक्त हैं, जबकि बड़े मॉडल्स एंटरप्राइज़-स्केल टास्क्स पर बेहतरीन परफॉर्मेंस देते हैं। 128,000 टोकन तक की कॉन्टेक्स्ट लेंथ के साथ Qwen 2.5 पूरी किताब या लंबी बातचीत को संभाल सकता है। GPT-4V या Gemini के मुकाबले, Qwen पूरी तरह ओपन सोर्स है, जिससे इसे लचीलेपन के साथ अपनाया जा सकता है।
इंस्टॉलेशन और सेटअप
एनवायर्नमेंट और लाइसेंस
Qwen 2.5-VL Apache 2.0 लाइसेंस के तहत जारी किया गया है। इसका मतलब है कि यह पूरी तरह ओपन सोर्स है और इसे रिसर्च और कमर्शियल प्रोजेक्ट्स दोनों में बिना किसी बड़ी पाबंदी के इस्तेमाल किया जा सकता है।
मॉडल साइज़ और कॉन्टेक्स्ट सपोर्ट
इस सीरीज़ में 3B, 7B, 32B, और 72B जैसे कई पैरामीटर साइज़ शामिल हैं। छोटे मॉडल्स को लोकल मशीन पर चलाना आसान है, जबकि सबसे बड़ा मॉडल सबसे बेहतर परफॉर्मेंस देता है, लेकिन इसके लिए सर्वर ग्रेड GPU चाहिए। 72B संस्करण को छोड़कर बाकी सभी मॉडल्स खुले लाइसेंस के तहत आते हैं। Qwen 2.5-VL लंबी कॉन्टेक्स्ट इनपुट्स (128,000 टोकन तक) भी सपोर्ट करता है, जिससे यह बड़े दस्तावेज़ों और लंबी बातचीत के विश्लेषण के लिए उपयुक्त है।
इंस्टॉलेशन स्टेप्स
Hugging Face Transformers के साथ मॉडल सेटअप करने के लिए आवश्यक पैकेज इंस्टॉल करें:
pip install git+https://github.com/huggingface/transformers accelerate
pip install qwen-vl-utils[decord]==0.0.8
इंस्टॉल होने के बाद, केवल कुछ लाइन Python कोड से ही मॉडल और प्रोसेसर लोड किए जा सकते हैं:
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
model = Qwen2_5_VLForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct", torch_dtype="auto", device_map="auto")
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")
हार्डवेयर और क्वांटाइजेशन
- 3B और 7B वर्शन एक ही आधुनिक GPU पर चल सकते हैं, खासकर अगर क्वांटाइज्ड वर्शन का उपयोग करें।
- 32B और 72B मॉडल्स के लिए ज्यादा पावरफुल मल्टी GPU सेटअप चाहिए।
- INT8 या INT4 जैसे क्वांटाइजेशन विकल्प मेमोरी की खपत कम करते हैं, जिससे लोकल डिप्लॉयमेंट अधिक आसान हो जाता है और सही सटीकता भी बनी रहती है।
Transformers के साथ क्विकस्टार्ट
एक बार एनवायर्नमेंट सेट होने के बाद, आप कुछ कोड लाइनों से ही Qwen 2.5-VL का इस्तेमाल शुरू कर सकते हैं। Hugging Face Transformers लाइब्रेरी टेक्स्ट, इमेज, और वीडियो इनपुट के लिए एक आसान इंटरफेस देती है।
मॉडल और प्रोसेसर लोड करें
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessorimport torch
model = Qwen2_5_VLForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct",
torch_dtype=torch.float16,
device_map="auto")
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")
इमेज प्रश्न-उत्तर
उदाहरण के लिए, यदि आपके पास किसी चालान की इमेज है और उसमें से जानकारी निकालना है:
from PIL import Image
image = Image.open("invoice_sample.png")
question = "इस चालान की कुल राशि कितनी है?"inputs = processor(text=question, images=image, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=128)print(processor.batch_decode(outputs, skip_special_tokens=True))
वीडियो समझ
Qwen 2.5-VL वीडियो इनपुट भी सपोर्ट करता है, जिससे क्लिप्स का सारांश या विश्लेषण करना संभव है:
video_path = "meeting_clip.mp4"question = "इस वीडियो में मुख्य चर्चा बिंदुओं का सार बताइये।"inputs = processor(text=question, videos=video_path, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=256)print(processor.batch_decode(outputs, skip_special_tokens=True))
मल्टी-मोडल इनपुट
आप एक साथ कई इमेज या इमेज और वीडियो का कॉम्बिनेशन भी इनपुट के रूप में दे सकते हैं, जिससे जटिल विश्लेषण किया जा सके।
लोकल डिप्लॉयमेंट वेब डेमो और Ollama के साथ
Qwen 2.5-VL केवल API कॉल्स या Python स्क्रिप्ट तक सीमित नहीं है। आप इसे लोकल मशीन पर भी यूज़र-फ्रेंडली इंटरफेस और हल्के रनटाइम ऑप्शन्स के साथ चला सकते हैं।
लोकल टेस्टिंग के लिए वेब डेमो
ऑफिशल रिपॉजिटरी में एक web_demo_mm स्क्रिप्ट है, जिससे एक सिंपल वेब-आधारित इंटरफेस शुरू किया जा सकता है। इस डेमो के जरिए आप इमेज या वीडियो फाइल अपलोड करके चैट-जैसे फॉर्मेट में मॉडल के साथ संवाद कर सकते हैं। यह कस्टम कोड लिखे बिना मल्टीमोडल क्षमताओं को टेस्ट करने का तेज़ तरीका है।
डेमो शुरू करने के लिए, प्रोजेक्ट डायरेक्टरी में यह कमांड चलाएं:
python web_demo_mm.py
डेमो शुरू होते ही, इंटरफेस को अपने ब्राउज़र में एक्सेस कर सकते हैं, जहां आप प्रॉम्प्ट दे सकते हैं और मीडिया अपलोड कर सकते हैं। यह सेटअप त्वरित जाँच और प्रोटोटाइपिंग के लिए आदर्श है।
रीयल-टाइम वीडियो चैट डेमो
डेवलपर्स द्वारा दिया गया एक और उदाहरण है रीयल-टाइम वीडियो चैट डेमो। इसमें आप वेबकैम या किसी वीडियो सोर्स से लाइव इनपुट स्ट्रीम कर सकते हैं और वास्तविक समय में वीडियो कॉन्टेंट पर मॉडल से सवाल पूछ सकते हैं। यह Qwen 2.5-VL की शक्ति को मॉनिटरिंग या इंटरएक्टिव ट्यूटरिंग जैसी डायनामिक परिस्थितियों में दिखाता है।
Ollama के साथ Qwen चलाना
अगर आप हल्का अनुभव चाहते हैं, तो Qwen 2.5 को Ollama पर भी चलाया जा सकता है। Ollama बड़े मॉडल्स को लोकल मशीन पर चलाने के लिए आसान रनटाइम एनवायर्नमेंट देता है। इंस्टॉल करने के बाद, केवल एक कमांड से Qwen 2.5 मॉडल प्राप्त कर सकते हैं और बिना जटिल सेटअप के डायरेक्ट इंटरैक्ट कर सकते हैं।
यह तरीका खासतौर पर उनके लिए सही है, जो न्यूनतम कॉन्फ़िगरेशन में, लैपटॉप या डेस्कटॉप पर Qwen चलाना चाहते हैं और जिन्हें Python एनवायर्नमेंट की गहरी जानकारी नहीं है।
आम उपयोग: ज़ीरो-शॉट ऑब्जेक्ट डिटेक्शन
Qwen 2.5-VL के सबसे प्रैक्टिकल उपयोगों में से एक है ज़ीरो-शॉट ऑब्जेक्ट डिटेक्शन। पारंपरिक कंप्यूटर विजन सिस्टम्स के विपरीत जिसमें लेबल्ड ट्रेनिंग डेटा चाहिए होता है, Qwen केवल आम भाषा में बताकर चीज़ें ढूंढ सकता है।
इससे ऐसे टास्क्स संभव हो जाते हैं जैसे “टेबल पर रखे सभी कप” या “इस फोटो में सभी ट्रैफिक लाइट्स” ढूंढना — बिना किसी कस्टम डेटासेट की ज़रूरत के। मॉडल आउटपुट को JSON जैसे संरचित फॉर्मेट में बाउंडिंग बॉक्स कोऑर्डिनेट्स के साथ भी दे सकता है, जिससे यह ऑटोमेशन पाइपलाइन्स के लिए बेहद उपयोगी है।
उदाहरण वर्कफ़्लो
- इनपुट के तौर पर एक इमेज दें।
- Qwen को सामान ढूंढने का सामान्य निर्देश टेक्स्ट में दें।
- मॉडल कोऑर्डिनेट्स और लेबल JSON फॉर्मेट में लौटाएगा।
- परिणामों को विज़ुअलाइज़ किया जा सकता है या अन्य ऐप्लिकेशन्स में जोड़ सकते हैं।
उदाहरण कोड
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessorfrom PIL import Imageimport torch, json
# मॉडल और प्रोसेसर लोड करेंmodel = Qwen2_5_VLForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct", torch_dtype=torch.float16, device_map="auto")
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")
# इनपुट इमेजimage = Image.open("street_scene.jpg")
prompt = "इस इमेज में सभी कार और ट्रैफिक लाइट्स को डिटेक्ट करो और परिणाम JSON में दो।"
# प्रीप्रोसेस और जनरेटinputs = processor(text=prompt, images=image, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=256)
result = processor.batch_decode(outputs, skip_special_tokens=True)
# आउटपुट पार्स करें (अगर JSON-जैसा हो)
try:
parsed = json.loads(result[0])print(parsed)except:print(result)
यह क्यों महत्वपूर्ण है
यह तरीका महंगे एनोटेशन प्रोजेक्ट्स की ज़रूरत कम करता है। डेवलपर्स Qwen 2.5-VL को रिटेल एनालिटिक्स, ट्रैफिक निगरानी, रोबोटिक्स, और स्मार्ट सिटी एप्लिकेशन्स जैसे क्षेत्रों में न्यूनतम सेटअप के साथ इस्तेमाल कर सकते हैं।
परफॉर्मेंस और फाइन-ट्यूनिंग
बेंचमार्क परफॉर्मेंस
Qwen 2.5-VL को कई मल्टीमोडल टास्क्स पर टेस्ट किया गया है। यह डॉक्यूमेंट क्वेश्चन आंसरिंग (DocVQA), ऑप्टिकल कैरेक्टर रिकग्निशन, और लंबी बातचीत समझने में बेहतरीन प्रदर्शन करता है। कई खुले विकल्पों की तुलना में, यह जटिल डॉक्यूमेंट्स और वीडियो इनपुट्स को बेहतर संभालता है।
मॉडल 128K टोकन तक के इनपुट को सपोर्ट करता है, जिससे किताबों, रिपोर्ट्स, या लंबी चर्चाओं का विश्लेषण बड़े पैमाने पर किया जा सकता है और संदर्भ नहीं खोता। इससे यह लंबे संदर्भ के विश्लेषण में सबसे सक्षम ओपन सोर्स मॉडल्स में से एक बन जाता है।
फाइन-ट्यूनिंग विकल्प
हालांकि बेस मॉडल्स पहले से ही काफी पावरफुल हैं, फिर भी कई डेवलपर्स Qwen 2.5-VL को अपने खास डोमेन के लिए और अनुकूल बनाना चाहेंगे। फाइन-ट्यूनिंग विकल्पों में शामिल हैं:
- पूर्ण फाइन-ट्यूनिंग: अधिकतम कस्टमाइजेशन के लिए मॉडल के सभी पैरामीटर अपडेट करना, जो उन संस्थाओं के लिए सबसे उपयुक्त है जिनके पास बड़े कंप्यूट संसाधन हैं।
- पैरामीटर-कुशल फाइन-ट्यूनिंग: LoRA या QLoRA जैसी तकनीकों का उपयोग करके मॉडल को बहुत कम पैरामीटर के साथ अनुकूलित करना। यह किफायती है और उत्पादन में खूब इस्तेमाल किया जाता है।
- डोमेन अनुकूलन: मेडिकल इमेज, फाइनेंशियल रिपोर्ट या लीगल कॉन्ट्रैक्ट जैसी विशेष डेटा सेट के साथ ट्रेनिंग कराना, जिससे सीमित क्षेत्रों में सटीकता बढ़ती है।
क्वांटाइजेशन और ऑप्टिमाइज़ेशन
डिप्लॉयमेंट को आसान बनाने के लिए डेवलपर्स मॉडल के क्वांटाइज़्ड वर्शन का उपयोग कर सकते हैं, जैसे INT8 या INT4 प्रिसिशन। इससे GPU मेमोरी की जरूरत कम होती है और इनफेरेंस जल्दी होता है, जबकि सटीकता स्वीकार्य रहती है। ये ऑप्टिमाइज़ेशन महत्वपूर्ण होते हैं जब Qwen 2.5 को लोकली या सीमित संसाधनों वाले क्लाउड वातावरण में चलाना हो।
समस्या सुलझाना और सुझाव
डिकोडिंग लूप्स से बचाव
कई बार मॉडल बार-बार या अधूरी आउटपुट बना सकता है। इसे रोकने के लिए टेम्परेचर, टॉप_p या max_new_tokens जैसे डिकोडिंग पैरामीटर एडजस्ट करें। संतुलित सेटिंग से आम तौर पर ज्यादा स्थिर जवाब मिलते हैं।
हार्डवेयर सीमाएं
बड़े मॉडल जैसे 32B या 72B वेरिएंट को चलाने के लिए काफी GPU मेमोरी चाहिए होती है। अगर आउट-ऑफ-मेमोरी त्रुटि आए, तो छोटे वेरिएंट (3B या 7B) अपनाएं, या क्वांटाइजेशन (INT8 या INT4) लागू करें। इन विकल्पों से VRAM की जरूरत कम होती है और प्रदर्शन भी व्यावहारिक रहता है।
डिकोडर चयन
वीडियो इनपुट के साथ काम करते समय, कुछ यूजर्स को कुछ खास डिकोडर में दिक्कतें हुई हैं। decord से torchcodec या किसी दूसरे ऑप्टिमाइज़्ड लाइब्रेरी पर शिफ्ट करने से स्थिरता और स्पीड बेहतर हो सकती है। सुनिश्चित कर लें कि सभी जरूरी पैकेज का लेटेस्ट वर्शन इंस्टॉल है।
प्रॉम्प्ट इंजीनियरिंग
ऑब्जेक्ट डिटेक्शन या डॉक्यूमेंट पार्सिंग जैसे टास्क में अपनी निर्देश स्पष्ट दें। उदाहरण के लिए, मॉडल से कहें "नतीजे JSON फॉर्मेट में दें" या "बुलेट पॉइंट्स में संक्षिप्त करें।" स्पष्ट प्रॉम्प्ट से भ्रम कम होता है और आउटपुट ज्यादा उपयोगी रहते हैं।
बैच प्रोसेसिंग
अगर आप कई इमेज या वीडियो प्रोसेस कर रहे हैं तो बैचिंग से समय और संसाधन बचता है। प्रोसेसर के बिल्ट-इन बैचिंग फंक्शन का इस्तेमाल करें, हर फाइल को अलग-अलग न चलाएं। इससे मॉडल जुड़े इनपुट में कॉन्टेक्स्ट भी बनाए रखता है।
निष्कर्ष
Qwen 2.5-VL दिखाता है कि ओपन-सोर्स मॉडल्स कैसे मल्टीमॉडल AI में बंद सिस्टम्स की बराबरी कर सकते हैं। इसकी स्ट्रॉन्ग OCR, वीडियो रीजनिंग और लंबा कॉन्टेक्स्ट संभालने की क्षमता इसे डेवलपर्स और एंटरप्राइज़ दोनों के लिए व्यावहारिक टूल बनाती है। इसकी Apache 2.0 लाइसेंस लचीलापन देती है, और इसके स्केलेबल मॉडल साइज़ कई जरूरतों में फिट होते हैं। भविष्य में जब ऑडियो और 3D को भी सपोर्ट मिलेगा, तो Qwen मल्टीमॉडल AI के लिए एक मजबूत विकल्प बना रहेगा।
सामान्य सवाल और एक्सटेंशन टॉपिक्स
क्या Qwen 2.5-VL API के जरिए इस्तेमाल किया जा सकता है?
हाँ। लोकल डिप्लॉयमेंट के अलावा, Qwen 2.5-VL को क्लाउड API के माध्यम से भी एक्सेस किया जा सकता है, जिससे इसे वेब या मोबाइल एप्लिकेशन में आसानी से जोड़ा जा सकता है।
Qwen 2.5 को कौनसे प्लेटफॉर्म सपोर्ट करते हैं?
मॉडल को लोकल मशीन, एंटरप्राइज़ सर्वर या बड़े क्लाउड प्लेटफॉर्म पर डिप्लॉय किया जा सकता है। सरल सेटअप के लिए Docker इमेज भी उपलब्ध हैं।
कैसे सही मॉडल साइज़ चुनें?
एक्सपेरिमेंट या हल्के ऐप्लिकेशन के लिए 3B या 7B वर्शन की सलाह दी जाती है। ज्यादा मजबूत हार्डवेयर रखने वाले एंटरप्राइज़ 32B या 72B वेरिएंट्स से अधिकतम प्रदर्शन ले सकते हैं।
क्या Qwen 2.5 स्ट्रक्चर्ड आउटपुट देता है?
हाँ। जब प्रॉम्प्ट करें तो मॉडल JSON, टेबल या key-value फॉर्मेट में रिजल्ट बना सकता है, जो डेटा एक्सट्रैक्शन या ऑटोमेटेड रिपोर्टिंग में काम आता है।