आपके विज़न एनकोडर में छिपा मुफ्त लंच: SigLIP-HD क्या सही करता है
आधारित शोध-पत्र: SigLIP-HD by Fine-to-Coarse Supervision — Lihe Yang, Zhen Zhao, Hengshuang Zhao
दौड़ के बीच बैनर से गुजरता दौड़ने वाला
एक दौड़ने वाला दौड़ के बीच एक बैनर से गुजर रहा है। बैनर पर "HOKA TIME TO FLY" लिखा है, जो रनिंग शूज़ ब्रांड की विज्ञापन करता है। उस तस्वीर को एक अत्याधुनिक विज़न-लैंग्वेज मॉडल में डालें और पूछें कि बैनर पर क्या लिखा है, तो आपको वापस मिलता है: "HOOKA TIME TO FLY।" तस्वीर में कोई टाइपो नहीं है। मॉडल द्वारा बनाया गया एक टाइपो, क्योंकि उस रिज़ॉल्यूशन पर जिस पर वह देख रहा था, अक्षर इतने धुंधले हो गए कि एक असली ब्रांड का नाम एक ऐसे शब्द में बदल गया जो मौजूद ही नहीं है।
यही वह विफलता का तरीका है जिसे SigLIP-HD नामक एक नई पेपर ठीक करने के लिए बनाई गई है, और समाधान लगभग शक की सीमा तक सरल है। कोई बड़ी तस्वीरें नहीं। इनफरेंस समय पर कोई अतिरिक्त कंप्यूट नहीं। कोई नई आर्किटेक्चर नहीं। बस आज के बहु-मोडल मॉडलों के एक बड़े हिस्से में पहले से मौजूद उसी विज़न एन्कोडर को ट्रेन करने का एक अलग तरीका। हांग कांग विश्वविद्यालय और शंघाई एआई लैब के लेखकों ने SigLIP 2 (एक व्यापक रूप से उपयोग की जाने वाली इमेज एन्कोडर) से बेहतर OCR और दस्तावेज़ समझ प्राप्त की, बिना इनफरेंस समय पर एक अतिरिक्त पिक्सेल देखने के लिए कहा।

हर किसी में मौजूद यह अंतर्ज्ञान, और यह देखने से ज्यादा महंगा क्यों है
जब एक मल्टीमोडल LLM (MLLM, एक ऐसा मॉडल जो इमेज और टेक्स्ट इनपुट के रूप में लेता है और टेक्स्ट आउटपुट देता है, जैसे GPT-4V या LLaVA) छोटे टेक्स्ट को गलत पढ़ता है, तो स्पष्ट समाधान यह है कि उसे एक बड़ी इमेज फीड की जाए। अधिक पिक्सल इनपुट में, अधिक फाइन-ग्रेन्ड विजुअल टोकन आउटपुट में, और हर अक्षर को पकड़ने की बेहतर संभावना। यह बिल्कुल वही दिशा है जिसमें फील्ड ने आगे बढ़ने का निर्णय लिया है: LLaVA जैसी शुरुआती सिस्टम हर चीज़ को एक फिक्स्ड 336×336 इमेज में रीसाइज़ कर देती थीं, और Qwen2.5-VL या InternVL जैसे नए सिस्टम नेटिव रिज़ॉल्यूशन को बनाए रखने की कोशिश करती हैं, कभी-कभी एक दस्तावेज़ को टाइल्स के ग्रिड में काटकर और हर टाइल पर अलग-अलग विजन एन्कोडर चलाकर।
यह काम करता है, लेकिन यह मुफ़्त नहीं है। एक इमेज को टाइल्स में काटना इसका मतलब है कि एक सिंगल इनपुट के लिए एन्कोडर के माध्यम से मल्टीपल फॉरवर्ड पास। अधिक टाइल्स का मतलब है कि लैंग्वेज मॉडल में अधिक विजुअल टोकन बहेंगे, जो तेज़ी से महंगा हो जाता है क्योंकि ट्रांसफॉर्मर लागत सीक्वेंस लेंथ के साथ स्केल होती है। इसलिए सिस्टम उन टोकन को वापस कंप्रेस करने के लिए रीसैम्पलर या पिक्सेल-अनशफल ट्रिक्स जोड़ते हैं, और इससे इंजीनियरिंग सतह और अपने ही फेल्योर मोड्स जुड़ जाते हैं। रिज़ॉल्यूशन में हर कदम ऊपर की ओर लेटेंसी और लागत में बढ़ोतरी है, ऐसी चीज़ जो किसी भी बेन्चमार्क नंबर को अपडेट करने से लंबे समय पहले प्रोडक्शन में टाइमआउट के रूप में सामने आ जाती है।
लेखक उससे पहले एक तेज़ सवाल पूछते हैं कि वे इसके लिए तैयार हों: क्या हमने वास्तव में उस रिज़ॉल्यूशन से सब कुछ निकाल लिया है जिसे हम पहले से ही इस्तेमाल कर रहे हैं? उनका उदाहरण अच्छा है। एक लंबी इन्फोग्राफिक लें, जैसे कि एक स्टैट-हेवी स्पोर्ट्स पोस्टर, जो नेटिव रूप से 1722 पिक्सल लंबी है। इसे 512 पिक्सल के स्टैंडर्ड "मीडियम" रिज़ॉल्यूशन में डाउनसैम्पल करें। टेक्स्ट धुंधला हो जाता है। छोटे वर्जन को घूरकर देखने वाला इंसान उसका अधिकांश हिस्सा अभी भी पढ़ सकता है। हम संदर्भ और खराब अक्षरों से डिग्रेडेड टेक्स्ट को रिकंस्ट्रक्ट करने में अच्छे हैं। क्या एक विजन मॉडल वही रिकंस्ट्रक्शन कर रहा है, या क्या वह बस... उस चीज़ पर पर्याप्त गौर नहीं कर रहा है जो उसके पास पहले से है? अगर जवाब दूसरा है, तो आपको एक बड़ी इमेज की ज़रूरत नहीं है। आपको मॉडल को सिखाने की ज़रूरत है कि वह उस एक इमेज से अधिक निकाले जिसके लिए वह पहले से ही भुगतान कर रहा है।
एक सस्ते इमेज को महंगे की तरह देखना सिखाना
इस विधि को फाइन-टू-कोर्स सपर्विजन (fine-to-coarse supervision) कहा जाता है, और एक बार जब आप डायग्राम देख लेते हैं, तो इसे समझने में लगभग तीस सेकंड लगते हैं। एक फ्रोजन, प्री-ट्रेनड SigLIP 2 एन्कोडर से शुरुआत करें। "फ्रोजन" का मतलब है कि इस चरण के दौरान इसके वेट्स (weights) लॉक और अप्रभावित रहते हैं। इसे दो स्केल पर एक ही इमेज फीड करें: 512×512 पिक्सल पर एक सस्ता बेस वर्जन, और 1024×1024 पर एक महंगा जूम-इन वर्जन। दोनों पास से फीचर वेक्टर्स (feature vectors) का एक ग्रिड तैयार होता है (इनको मॉडल के आंतरिक सारांश के रूप में सोचें जो इमेज के प्रत्येक छोटे पैच में क्या है, उसका वर्णन करता है)। हाई-रेज़ोल्यूशन पास स्पष्ट रूप से अधिक फाइन डिटेल, छोटा टेक्स्ट, और बारीक एज्ज को कैप्चर करता है, लेकिन यह एक बड़ा ग्रिड पैदा करता है, जो सस्ते वर्जन के आकार से मेल नहीं खाता।
इसलिए लेखकों ने बिलिनियर इंटरपोलेशन (bilinear interpolation) का उपयोग करके हाई-रेज़ फीचर ग्रिड को डाउनसैंपल किया जब तक कि यह बेस-रेज़ ग्रिड के समान आकार का न हो जाए, और फिर पैच-दर-पैच दोनों को औसत किया। वह औसत परिणाम "टीचर" फीचर है: कुछ ऐसा जो महंगे पास से फाइन डिटेल को वास्तव में देख चुका है, लेकिन सस्ते आउटपुट के समान आकार में पैक किया गया है।
अब आता है वास्तविक ट्रेनिंग स्टेप। उसी प्री-ट्रेनड एन्कोडर की एक दूसरी कॉपी लें। यह ट्रेनेबल है, फ्रोजन नहीं, और इसे केवल सस्ती 512×512 इमेज दिखाई जाती है। इसे फाइन-ट्यून करें ताकि वह एक सस्ती इमेज से जो फीचर्स पैदा करे, वे पैच-दर-पैच टीचर फीचर से मेल खाएं, एक साधारण L1 लॉस का उपयोग करके (संक्षेप में: दो फीचर ग्रिड के बीच के निरपेक्ष अंतर को न्यूनतम करें)। कोई टेक्स्ट लेबल नहीं, कोई सिंथेटिक कैप्शन नहीं, कुछ भी हैंड-एनोटेटेड नहीं। यहाँ "सपर्विजन" मॉडल द्वारा स्वयं को सिखाना है, बिना किसी केवल विभिन्न आकारों में कच्चे इमेज का उपयोग किए।
ट्रेनिंग के बाद, आप महंगे मल्टी-स्केल टीचर सेटअप को पूरी तरह से फेंक देते हैं। जो बचता है वह एक एन्कोडर है जो ठीक उसी 512×512 इनपुट लेता है, ठीक उतने ही टोकन पैदा करता है, और MLLM में ड्रॉप-इन चेकपॉइंट स्विप के रूप में फिट बैठता है, लेकिन अब यह अपने वेट्स में उस इमेज के फाइनर-डिटेल वर्जन के बारे में कुछ नोटिफिकेशन एन्कोड करता है। समान इनपुट, समान लागत, बेहतर आउटपुट। यही पूरा ट्रिक है: डिस्टिलेशन किसी बड़े, अलग टीचर मॉडल से नहीं (जो किनोलेज डिस्टिलेशन में सामान्य सेटअप है), बल्कि उसी मॉडल से जो उसी तस्वीर के अधिक पिक्सल देख रहा है।
इसे बनाना भी सस्ता है। लेखकों ने इसे 4.5 मिलियन इमेज पर 90,000 स्टेप्स के लिए ट्रेन किया, और पूरा रन 32 A100 GPUs पर 34 घंटे में पूरा हुआ। इसकी तुलना करें किसी विजन एन्कोडर को स्क्रैच से प्री-ट्रेन करने से, जिसके बारे में पेपर में नोट किया गया है कि यह "मिलियन GPU घंटे" और बिलियन इमेज वाले डेटासेट से गुजर सकता है। यह एक हल्की पॉलिश पास है जो एक मौजूदा एन्कोडर पर लगाई गई है, न कि जमीन से बनाया गया एक नया मॉडल।

पेरिस - मेट्रो मानचित्र 1973 — roger4336 द्वारा flickr के माध्यम से, BY-SA 2.0।
स्केल और लॉस में टंकिंग ने वास्तव में क्या उजागर किया
अंतिम रेसिपी पर पहुंचने से पहले, लेखकों ने कुछ पायलट अध्ययनों का संचालन किया जिन पर विचार करने के लायक हैं, क्योंकि उत्तर "बड़ा बेहतर है" से कहीं अधिक रोचक हैं।
टीचर सिग्नल के लिए सिंगल-स्केल बनाम मल्टी-स्केल इनपुट्स का परीक्षण करते समय, उन्होंने पाया कि बेस 512² व्यू को 1024² ज़ूम किए गए व्यू के साथ जोड़ना, 12 में से 10 बेंचमार्कों पर अकेले किसी एक का उपयोग करने की तुलना में मददगार रहा। लेकिन तीसरे स्केल (1536²) या चौथे (2048²) को स्टैक करना ज्यादातर मदद नहीं करता था और कभी-कभी स्थिति को और खराब कर देता था। बिना किसी बेस-स्केल साथी के, एकल हाई-रेज़ोल्यूशन व्यू वास्तव में उस संयोजन की तुलना में कम प्रदर्शन करता था। मॉडल को बारीक स्थानीय व्यू के साथ-साथ खुरदरा वैश्विक व्यू की आवश्यकता होती प्रतीत होती है, न कि बस बारीक विवरणों का ढेर।
उन्होंने यह भी परीक्षण किया कि जब एन्कोडर केवल एक निश्चित छोटे आकार पर प्रशिक्षित होता है, तो हाई-रेज़ोल्यूशन इमेज को कैसे प्रोसेस किया जाए। सेगमेंटेशन जैसे डेंस-प्रिडिक्शन टास्क से उधार लिए गए, सहज कदम यह है कि इमेज पर ओवरलैपिंग विंडो स्लाइड की जाए ताकि कोई भी महत्वपूर्ण जानकारी टाइल की सीमा पर असहज न हो। यहाँ यह विपरीत प्रभाव डाला: गैर-ओवरलैपिंग विंडो ने जीत हासिल की। उनका सबसे अच्छा अनुमान यह है कि ओवरलैपिंग क्षेत्रों को असंगत तरीके से संभाला जाता है (कुछ पैच प्रभावी रूप से "दो बार गिने" जाते हैं) या जब एक ही सामग्री एक से अधिक विंडो में दिखाई देती है तो पोजीशनल एम्बेडिंग्स में टकराव होता है। किसी भी तरह से, कंप्यूटर विजन के एक अलग कोने से पूर्व की समझ स्थानांतरित नहीं हुई।
और मल्टी-स्केल फीचर्स को संयोजित करने की बात करें, तो सबसे सरल विकल्प ने फिर से जीत हासिल की: आकारों को संरेखित करने के लिए बिलिनियर इंटरपोलेशन, और फिर एक साधारण अनवेटेड एवरेज, चैनल-वाइज कंकेनेशन और पिक्सेल-अनशफल डाउनसैंपलिंग दोनों को हराता रहा। उन्होंने यहां तक कि दस्तावेज़ VQA जैसे विवरण-भरे बेंचमार्कों के लिए विशेष रूप से हाई-रेज़ोल्यूशन फीचर्स की ओर एवरेज को झुकाकर देखा, इस सिद्धांत पर कि जहाँ बारीक विवरण सबसे अधिक मायने रखता है, वहाँ अधिक बारीक विवरण अधिक मदद करना चाहिए। ऐसा नहीं हुआ। पूरे दौरान सीधा 1:1 एवरेज सबसे अच्छा बना रहा।
वास्तविक संख्याएं, और कुछ वास्तविक गलत पढ़ाई का सुधार
7-बिलियन-पैरामीटर वाले Vicuna LLM के साथ मानक LLaVA प्रशिक्षण पाइपलाइन में जोड़ा गया, और LLaVA-NeXT के अधिक OCR-केंद्रित इंस्ट्रक्शन-ट्यूनिंग डेटा का उपयोग करते हुए, SigLIP-HD ने DocVQA (स्कैन किए गए दस्तावेजों में पाठ पढ़ने के लिए एक बेनचमार्क) को 56.0 से बढ़ाकर 59.6 किया, ChartQA (चार्ट और ग्राफ़ से डेटा पढ़ना) को 61.6 से बढ़ाकर 65.2 किया, और HRBench (विस्तृत दृश्य विवरणों के चारों ओर विशेष रूप से बनाया गया एक बेनचमार्क) को 43.5 से बढ़ाकर 48.3 किया, सभी SigLIP 2 बेसलाइन के विरुद्ध, समान अनुमान लागत पर। हर परीक्षण किए गए बेनचमार्क पर औसतन, उस प्रशिक्षण कॉन्फ़िगरेशन ने 62.8 से बढ़कर 64.4 तक का प्रदर्शन किया।
ये लाभ किसी एक LLM तक सीमित नहीं थे। एक छोटा Llama-3.2-3B डालें और ChartQA 45.2 से बढ़कर 49.8 हो जाता है; Qwen2.5-7B डालें और DocVQA 62.5 से बढ़कर 64.2 हो जाता है। और यह केवल SigLIP 2 की कहानी नहीं है: 2021 के बहुत पुराने OpenAI CLIP एन्कोडर पर जोड़ा गया, वही सेल्फ-डिस्टिलेशन ट्रिक ने DocVQA को 22.4 से बढ़ाकर 33.2 किया। यह विधि जो भी कर रही है, यह किसी विशेष एन्कोडर की अजीबोगरीब बातों से बंधी नहीं है।
दो परिणाम लीडरबोर्ड शोर से अधिक महत्वपूर्ण प्रतीत होते हैं। पहला, यह विधि "केवल मूल रिज़ॉल्यूशन का उपयोग करें" दृष्टिकोण (AnyRes टाइलिंग) के साथ जुड़ती है, इसके साथ प्रतिस्पर्धा नहीं करती। AnyRes के ऊपर लागू करने पर भी, SigLIP-HD ने ChartQA को और 3.5 अंक बढ़ा दिया। दूसरा, और यही वह जगह है जहाँ पेपर का सारांश दावा व्यावहारिक रूप से सामने आता है: पेपर में गुणात्मक उदाहरणों में इस लेख की शुरुआत में दी गई बिल्कुल वही HOKA/HOOKA गलत पढ़ाई शामिल है, साथ ही एक व्हाइटबोर्ड फोटो जहाँ बेसलाइन मॉडल एक हाथ से लिखे नाम को "Brian Owens" के रूप में पढ़ता है और फाइन-ट्यून किए गए संस्करण को सही से "Bryan Owens" मिलता है। छोटा, विशिष्ट, वह प्रकार की त्रुटि जो वास्तव में तब सामने आती है जब आप कैमरा हाथ से लिखे पाठ या धुंधले बैनर की ओर इशारा करते हैं, न कि साफ़ स्कैन किए गए पृष्ठ की ओर।
यदि आप OCR पाइपलाइन बना रहे हैं या खरीद रहे हैं तो यह क्यों मायने रखता है
मुख्य सीख वास्तव में SigLIP के बारे में नहीं है। यह बात यह है कि "रिज़ॉल्यूशन" और "टोकन बजट", जो वेनडर्स OCR या डॉक्यूमेंट-AI इंजन का वर्णन करते समय उद्धृत करते हैं, आपको यह नहीं बताते कि मॉडल वास्तव में इमेज का कितना हिस्सा निकाल रहा है। दो एन्कोडर्स एक समान 512×512 इमेज ले सकते हैं, एक समान संख्या में टोकन उत्पन्न कर सकते हैं, इनफरेंस समय पर एक समान लागत आ सकते हैं, और फिर भी ट्रेनिंग कैसे की गई, इस बात के कारण डॉक्यूमेंट और चार्ट बेन्चमार्क पर कई अंकों का अंतर हो सकता है। यदि आप केवल रिज़ॉल्यूशन स्पेसिफिकेशन और टोकन काउंट के आधार पर इंजनों का मूल्यांकन कर रहे हैं, तो आप एक चर को छोड़ रहे हैं जो उतना ही महत्वपूर्ण है।
व्यावहारिक रूप से, यह उन लोगों के लिए भी अच्छी खबर है जो OCR को लैब में बेन्चमार्किंग करने के बजाय वास्तविक मात्रा पर डिप्लॉय कर रहे हैं। हाई-रिज़ॉल्यूशन टाइलिंग पाइपलाइन्स छोटे टेक्स्ट को पकड़ने का एक वैध तरीका है, लेकिन वे फॉरवर्ड पास और टोकन काउंट को गुणा करती हैं, जिससे लेटेंसी और प्रति डॉक्यूमेंट लागत बढ़ जाती है, जो जब आप प्रतिदिन हजारों पृष्ठ प्रोसेस कर रहे हों तो एक वास्तविक संख्या है। एक बार की, 34 घंटे की, सेल्फ-सुपरवाइज्ड फाइन-ट्यूनिंग पास जो सर्विंग लागत को छुए बिना सटीकता में सुधार करती है, वह बदलाव है जिसे समझाना आसान है, और यदि यह मदद नहीं करता है तो उलटाना भी उल्लेखनीय रूप से आसान है, क्योंकि यह रीआर्किटेक्चर के बजाय चेकपॉइंट स्विप है।
ईमानदार कैवेट, जो लेखक स्पष्ट रूप से बताते हैं और दफन नहीं करते: यह नेटिव हाई रिज़ॉल्यूशन को अनावश्यक नहीं बनाता है। कुछ विवरण वास्तव में एक बार इमेज को डाउनसैंपल करने के बाद नष्ट हो जाता है; मॉडल को उन्हें देखने से पहले जो पिक्सल औसत निकालकर हटा दिए गए थे, उन्हें वापस पाने के लिए कोई भी चतुर ट्रेनिंग काम नहीं करेगी। यह आपको जो देता है वह उस रिज़ॉल्यूशन बजट से अधिक सटीकता निकालना है जिसके लिए आप पहले से ही प्रतिबद्ध हैं, जो, उन टीमों के लिए जो हर डॉक्यूमेंट को महंगे मल्टी-टाइल पाइपलाइन से गुज़ारने के लिए प्रभुत्व नहीं कर सकतीं, शायद पहले खींचने के लिए अधिक उपयोगी लीवर हो सकता है। मजबूत इंग्लिश OCR का मतलब यह नहीं है कि देवनागरी OCR भी उतना ही अच्छा होगा, क्योंकि देवनागरी स्क्रिप्ट में स्टैक्ड कॉन्जंक्ट्स, मेट्रा, शिरोरेखा और नुक्ता जैसे जटिल तत्व होते हैं जो अक्सर हिंदी/इंग्लिश कोड-मिक्सिंग के साथ मिलकर OCR चैलेंज को और बढ़ा देते हैं।