5 पॉइंट द्वारा GN⁺ 4 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 10B-स्तर के औद्योगिक foundation model जिनकी अगुवाई में उच्च-गुणवत्ता इमेज इनपेंटिंग हो रही थी, उसे पैरामीटर को 2% से भी कम तक संकुचित करते हुए समान या उससे बेहतर गुणवत्ता के साथ लागू करने वाला हल्का specialist model
  • 0.22B(226M) पैरामीटर पर चलता है, और 11.9B-स्तर के FLUX.1-Fill-Dev की तुलना में 15 गुना से अधिक तेज inference speed हासिल करता है
  • diffusion backbone को पुनर्गठित करने वाले Local-λ Mix Interaction(LλMI) block के जरिए spatial context और global semantic information को fixed-size linear matrix में संकुचित करता है
  • केवल latent space के भीतर काम करने वाली adaptive multi-granularity distillation रणनीति से बड़े teacher model की representational power को हल्के मॉडल में ट्रांसफर करता है
  • सिर्फ मॉडल का आकार बढ़ाने के बजाय, काम को स्पष्ट रूप से परिभाषित करने पर अधिक स्मार्ट, हल्के और तेज मॉडल संभव हैं — यह दिखाने वाला task-specific specialist दृष्टिकोण

पृष्ठभूमि और समस्या की परिभाषा

  • 10B-स्तर के औद्योगिक foundation model ने इमेज इनपेंटिंग की सीमाओं को आगे बढ़ाया, लेकिन भारी computational cost के कारण वास्तविक deployment पर बड़ी पाबंदियां रहीं
  • task-specific specialist model बनाना एक आशाजनक विकल्प है, लेकिन अत्यधिक architectural compression गंभीर representation bottleneck पैदा करता है
  • इसे पार करने के लिए उच्च-दक्षता वाला हल्का इनपेंटिंग framework Moebius प्रस्तावित किया गया

Method — पूरा pipeline

  • Latent Diffusion Model(LDM) framework के साथ Latent Categories Guidance(LCG) को जोड़ा गया है
  • denoising U-Net को प्रस्तावित LλMI block के साथ व्यवस्थित रूप से पुनर्गठित किया गया, जिससे अत्यधिक architectural efficiency हासिल हुई
  • training चरण में adaptive multi-granularity distillation रणनीति लागू की गई, ताकि हल्के specialist को बड़े teacher के साथ align करके अत्यधिक compression से होने वाले capacity loss को कम किया जा सके

मुख्य उपलब्धियां (Highlights)

  • अत्यधिक parameter efficiency (< 2%)

    • केवल 0.22B(226M) पैरामीटर पर चलता है, जो बड़े मॉडल FLUX.1-Fill-Dev(11.9B) के 2% से भी कम है
    • यह धारणा तोड़ता है कि उच्च-गुणवत्ता इनपेंटिंग के लिए भारी computation अनिवार्य है, और consumer-grade व edge device पर भी इसे संभव बनाता है
  • 15 गुना inference speed improvement (26ms/step)

    • single GPU पर प्रति step केवल 26.01ms की बहुत कम inference latency हासिल की
    • optimized sampling चरणों के साथ मिलकर 10B-स्तर के मॉडल की तुलना में कुल runtime को 15 गुना से अधिक तेज किया
  • 10B-स्तर की इनपेंटिंग गुणवत्ता

    • यह साबित करता है कि size reduction का मतलब representational power में गिरावट नहीं है
    • architecture और distillation के synergy optimization के जरिए जटिल texture, चेहरे की प्राकृतिकता जैसी कुछ स्थितियों में 10B-स्तर के SOTA मॉडल (FLUX.1-Fill-Dev, SD3.5 Large-Inpainting) से बेहतर प्रदर्शन करता है
    • प्राकृतिक दृश्य (Places2) और मानव-केंद्रित दृश्य (CelebA-HQ, FFHQ) सहित 6 benchmark पर इसका सत्यापन किया गया
  • synergy-आधारित मुख्य नवाचार

    • architecture design(LλMI Block): self-attention और cross-attention को पुनर्गठित करके spatial context और global semantic information को fixed-size linear matrix में संकुचित किया गया, जिससे quadratic computation burden से बचा गया
    • adaptive multi-granularity distillation: teacher model PixelHacker की representational power को केवल latent space के भीतर ट्रांसफर किया गया, जिससे महंगे pixel-space decoding से बचाव हुआ
      • सूक्ष्म intermediate feature से लेकर व्यापक diffusion trajectory तक multi-granularity supervision को align किया गया, और gradient norm-आधारित adaptive loss weighting mechanism से training को dynamic रूप से संतुलित किया गया
    • optimal synergy balance: compressed architecture और distillation के बीच के परस्पर constraints और upper bounds का व्यवस्थित रूप से अन्वेषण किया गया
      • architecture-distillation synergy boundary को map करके यह सुनिश्चित किया गया कि 0.22B Moebius(student) बिना representational saturation के PixelHacker(teacher) की semantic reasoning क्षमता को अधिकतम रूप से absorb करे
  • फूले हुए general-purpose model की तुलना में task-specific specialist

    • यह उस मूल प्रश्न का उत्तर देने वाला दृष्टिकोण है: "यदि task स्पष्ट रूप से परिभाषित हो, तो क्या मॉडल अधिक स्मार्ट, हल्का और तेज हो सकता है?"
    • यह वास्तविक इमेज इनपेंटिंग और AI object removal को parameter bloating से मुक्त करने वाला अत्यधिक optimized specialist के रूप में काम करता है

मूल्यांकन और तुलना

  • प्राकृतिक दृश्य (Places2) और मानव-केंद्रित दृश्य (CelebA-HQ, FFHQ) दोनों पर व्यापक प्रयोग किए गए
  • generation quality के मामले में 10B-स्तर के औद्योगिक general-purpose model FLUX.1-Fill-Dev के बराबर या उससे बेहतर परिणाम देखे गए
  • 2% से कम पैरामीटर (0.22B vs 11.9B) के आकार पर 15 गुना से अधिक inference speedup हासिल करके, उच्च-fidelity इनपेंटिंग के लिए दक्षता का नया मानक पेश किया गया

1 टिप्पणियां

 
GN⁺ 4 시간 전
Hacker News की राय
  • इसे ONNX पर चलने लायक बनाया गया है (Claude Opus 4.8 की मदद से), और अब एक interactive demo भी है जिसमें पूरा मॉडल ब्राउज़र के अंदर चलता है। डाउनलोड लगभग 1.3GB है: https://simonw.github.io/moebius-web/
    कोड यहाँ है: https://github.com/simonw/moebius-web
    Claude Code का रिकॉर्ड: https://gisthost.github.io/?58039ba5c1ca3ed177e8659168996ee4
    ब्लॉग में इसे और विस्तार से समझाया गया है: https://simonwillison.net/2026/Jun/22/porting-moebius/

    • मैंने भी बिल्कुल यही करने की कोशिश की थी (gpt 5.5 + code का उपयोग करके), लेकिन ONNX में मॉडल चलाने तक नहीं पहुँच पाया
    • बढ़िया काम। unet weights fp32 में हैं, तो जानना चाहूँगा कि क्या आपने fp16 जैसी कम precision भी आज़माई?
  • मैंने इसे थोड़ा इस्तेमाल किया, और 0.2B मॉडल के हिसाब से यह बहुत प्रभावशाली है, लेकिन यह 10B मॉडलों की बराबरी करता है—इस बात पर यकीन करना मुश्किल है
    प्राकृतिक इमेजों पर यह काफ़ी ठीक चला, लेकिन inpaint किया गया हिस्सा आसपास की तुलना में साफ़ तौर पर ज़्यादा चिकना दिखा, और नए objects बनाने में यह बहुत कमज़ोर था। आउटपुट भी 512x512 तक सीमित है, जिससे इसकी उपयोगिता कम हो जाती है

    • क्या आपको लगता है कि दिए गए उदाहरण वास्तव में इसकी performance दिखाते हैं, या वे cherry-picked लगते हैं?
  • कुछ साल पहले मैंने एक क्लाइंट के लिए inpainting project किया था। मकसद था concert promoter के लिए banner ads को inpaint करके अलग-अलग ad sizes आसानी से बनाना, और हमें कुछ मशहूर गायकों के Christmas-themed ads पर काम करना था
    सबसे अजीब बात तब हुई जब inpainting tool इमेज में अजीब लोग जोड़ने लगा। गायक चमकीले सजावटी सामान और लाल रंग से सजा हुआ था, लेकिन मॉडल ने उसमें silk hat पहने एक खीझा हुआ बूढ़ा आदमी जोड़ दिया। मुझे याद नहीं कि मैंने “डरावना बूढ़ा जोड़ो” बटन दबाया था
    उस समय backend में Stable Diffusion था, और हम Amazon सहित कई model hosting services से गुज़रे, लेकिन हर एक की input image requirements अलग थीं, इसलिए चीज़ें बहुत जटिल हो गईं। कुछ सेवाएँ 200x60 banner जैसे aspect ratio संभाल ही नहीं पाती थीं, कुछ में input से पहले resize करना पड़ता था, जिससे शुरुआत ही low-resolution image से होती थी। garbage in, garbage out
    आखिरकार बहुत pre-production काम करना पड़ा, और क्लाइंट ने मेरे बनाए किसी भी प्रयास का वास्तव में इस्तेमाल नहीं किया

    • अगर गायक चमकदार सजावट और लाल रंग में था और मॉडल ने silk hat पहने एक खीझे बूढ़े आदमी को जोड़ दिया, तो यह Dickens की A Christmas Carol की याद दिलाता है
      पक्का UK में कोई ऐसी व्यवस्था होगी कि Christmas events में लोग ज़्यादा खुश न हो जाएँ, इसलिए पृष्ठभूमि में Scrooge जैसा कोई किरदार रखना ज़रूरी हो
    • उस दौर के community-made models, merge models और fine-tuned models लगभग सब overtrained थे और portrait व front-facing shots के लिए optimize किए गए थे। वे हर चीज़ को इंसान में बदलने की कोशिश करते थे
      face inpainting भी कई tools घुमाने के बाद ही ठीक-ठाक हो पाता था, और उसके अलावा किसी चीज़ का inpainting करना लगभग असंभव था। ये मॉडल किसी object को scene में स्वाभाविक रूप से फिट करने में भी खास तौर पर कमज़ोर थे। ढीले-ढाले necklace या belt जैसी चीज़ें किसी तरह चल जाती थीं, लेकिन जैसे ही आप scene में नया object डालना चाहते, वे अनगिनत तरीकों से फेल हो जाते थे
      resolution पर भी ये 512x512 में बहुत बेहतर चलते थे, और इससे दूर जाते ही समस्याएँ बढ़ने लगती थीं
      अगर आपने banner ads को inpaint करने की कोशिश की, तो शायद वे बुरी तरह विकृत हो गए होंगे। ये मॉडल fonts को संभाल नहीं पाते थे और pixel-level सटीक transcription में भी कमज़ोर थे। उस समय व्यावहारिक तरीका शायद यही था कि banner ad को manually डालें और सिर्फ किनारों को AI से ठीक करें। बेशक, इसके लिए कुछ artistic sense भी चाहिए
      अगर उम्मीद यह थी कि सिर्फ दो इमेज डालें और मॉडल खुद सब समझ जाए, तो कोशिश साहसी थी, लेकिन काम लगभग असंभव था
    • ऐसा इसलिए है क्योंकि SD जैसे छोटे मॉडलों को बहुत specific resolution पर train किया गया था। ज़्यादा उन्नत मॉडलों को या तो higher quality पर या resolutions के ज़्यादा विविध सेट पर train किया जाता है
      जब आप high-quality model से low-resolution image बनाते हैं, तो वह असल में ऐसा लगता है जैसे किसी बहुत बड़ी इमेज का सिर्फ एक हिस्सा crop करके निकाला गया हो। कई घंटों के प्रयोग के बाद मुझे ऐसा ही महसूस हुआ, और बड़े मॉडलों में अगर किसी object को बीच में रखना चाहो तो वह अक्सर ठीक बीच में आता भी नहीं। मेरी GPU की भी अपनी सीमाएँ हैं
  • इसे इस्तेमाल करने वाले कुछ demo spaces हैं। यह वाला सबसे अच्छा लगा, और इसमें आप खुद mask भी paint कर सकते हैं, लेकिन मैंने जिन भी इमेजों पर कोशिश की, उन सबमें यह फेल हुआ: https://huggingface.co/spaces/multimodalart/Moebius

    • इधर-उधर सेटिंग्स बदलते हुए मैंने इसे चलाने लायक बना लिया, लेकिन quality कुछ खास नहीं थी। exposed settings के साथ अभी भी experiment कर रहा हूँ, यहाँ देख सकते हैं: https://huggingface.co/spaces/jonatei/MoebiusDemo
      इस समय इसे actively tweak कर रहा हूँ, इसलिए बीच-बीच में टूट सकता है :)
      यह free CPU पर चल रहा है, इसलिए एक इमेज पर लगभग 80 सेकंड लगते हैं
  • मैंने एक छोटा app बनाया है जो पूरा ब्राउज़र में चलता है और जिसमें सभी fine-tuned models आज़माए जा सकते हैं: https://inpaintlab.com/

  • मुझे समझ नहीं आ रहा कि inpainting क्या है। टिप्पणियों में तो सबको यह शब्द पता लगता है, लेकिन लिंक किए गए पेज पर इसकी कोई व्याख्या नहीं दिखी

    • visualization image पर क्लिक करेंगे तो यह वास्तव में क्या करता है, वह दिखेगा। बैंगनी हिस्सा वह क्षेत्र है जिसे user सिस्टम से inpaint करने के लिए कहता है, और इमेज पर क्लिक करने पर result दिखता है
      मूल रूप से मॉडल बैंगनी के बाहर वाले हिस्से के context को देखकर तय करता है कि बैंगनी हिस्से में क्या सबसे अच्छा फिट होगा, और फिर इमेज के उस हिस्से को दोबारा बनाता है। इसका उपयोग अक्सर objects हटाने के लिए होता है, लेकिन जैसा उदाहरणों में दिखता है, यह और कामों के लिए भी इस्तेमाल हो सकता है
  • यह खास अच्छा नहीं है। जैसे आमतौर पर inpainted हिस्सों में होता है, यह natural photos की बारीक और high-frequency texture की तुलना में बहुत ज़्यादा चिकना दिखता है
    thumbnail में किसी चीज़ को हटाने भर के लिए बस किसी तरह काम चल सकता है

    • यह भी और उदाहरण भी cherry-picked हैं। natural photo में high-voltage power lines हटाने वाला उदाहरण खास तौर पर खराब है। हटाई गई जगह पर एक पट्टी अब भी साफ़ दिखाई देती है
      कुछ साल पहले Photoshop का बेसिक healing tool भी लगभग ऐसा ही परिणाम दे सकता था
  • काश manga translation के लिए ऐसा कोई मॉडल होता। अभी animation और manga के लिए हल्के inpainting models में LaMa लगभग default जैसा लगता है, लेकिन वह पहले से ही कुछ साल पुराना मॉडल है, इसलिए सुधार की गुंजाइश दिखती है

    • मैं अपने बेटे के लिए एक animation program (अगर किसी को जानना हो तो Leapfrog Letter Factory) को outpainting करके फिर upscale करने की कोशिश कर रहा हूँ, लेकिन इसे local पर करना काफ़ी मुश्किल रहा
      सोच रहा हूँ कि क्या इस मॉडल को दोबारा train या fine-tune किया जा सकता है। वे कहते हैं कि इससे “experts” बनाए जा सकते हैं, तो शायद ऐसा expert अलग-अलग character translations को बेहतर समझ सके
  • यही उपयोगी AI है। इससे संभव होने वाले use cases सच में बहुत हैं

    • सही कहा, और यही निराशाजनक भी है। ऐसे बहुत से use cases हैं जहाँ local पर चलने वाला, किसी खास उद्देश्य के लिए बना, और एक काम को भरोसेमंद तरीके से करने वाला मॉडल सच में बड़ा फर्क ला सकता है
      लेकिन कमाल का dust removal या perfect scene segmentation जैसी चीज़ों के लिए कोई 1 बिलियन डॉलर निवेश नहीं करेगा
      उसकी जगह हमें cloud पर upload करना पड़ता है, और फिर किसी विशाल multimodal frontier model से विनम्रता से वही एक काम करने की गुज़ारिश करनी पड़ती है जो हमें चाहिए
    • सोचने वाली बात है कि पिछले 7 दिनों में आपने अपने फोन से ली गई तस्वीरों को कितनी बार edit किया है
  • समझ नहीं आ रहा। इसे कहाँ आज़माया जा सकता है, या यह बस विज्ञापन है?

    • अच्छा लगता है, लेकिन इसे इस्तेमाल कैसे करें यह समझ नहीं आ रहा
      संपादन: लगता है मिल गया
      https://huggingface.co/hustvl/Moebius