2 पॉइंट द्वारा GN⁺ 2023-12-24 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Ferret एक end-to-end MLLM है जो free-form निर्देशित targets को input के रूप में लेता है और response में उनकी location को ground करता है, जिसका लक्ष्य fine-grained और location-agnostic reference तथा grounding है
  • इसके मुख्य घटक Hybrid Region Representation और Spatial-aware Visual Sampler हैं, जिनके जरिए MLLM में fine-grained open-vocabulary reference और grounding को support किया जाता है
  • प्रोजेक्ट लगभग 11 लाख GRIT Dataset, Ferret-Bench, 7B·13B checkpoint delta, और training·evaluation·demo चलाने की प्रक्रिया साथ में उपलब्ध कराता है
  • training का मानक वातावरण 8×A100 80GB है, और यदि GPU कम हों तो global batch size बनाए रखने के लिए per_device_train_batch_size, gradient_accumulation_steps, num_gpus के संयोजन को समायोजित करना चाहिए
  • डेटा और कोड केवल research purpose के लिए हैं, dataset पर CC BY NC 4.0 लागू है इसलिए सिर्फ non-commercial उपयोग की अनुमति है, और LLaMA, Vicuna, GPT-4 के license terms का भी पालन करना होगा

Ferret का लक्ष्य और संरचना

  • Ferret एक end-to-end MLLM है जो “Refer and Ground Anything Anywhere at Any Granularity” को अपना मुख्य उद्देश्य बताता है
  • यह किसी भी format के reference input को स्वीकार करता है और response में target को ground करने की क्षमता का लक्ष्य रखता है
  • इसके मुख्य योगदान तीन भागों में संक्षेपित किए गए हैं
    • Ferret Model: Hybrid Region Representation और Spatial-aware Visual Sampler का उपयोग करके fine-grained open-vocabulary reference और grounding को संभव बनाता है
    • GRIT Dataset: लगभग 11 लाख उदाहरणों वाला large-scale, hierarchical, और robust ground-and-refer instruction tuning dataset
    • Ferret-Bench: एक multimodal evaluation benchmark जो reference·grounding, semantics, knowledge, और reasoning को साथ में मांगता है

रिलीज़ और मॉडल की स्थिति

  • 8 अक्टूबर 2024 को Ferret-UI जारी किया गया
    • इसे UI-केंद्रित MLLM के रूप में पेश किया गया है, जो referring, grounding, reasoning कार्यों को प्रभावी ढंग से चला सकता है
  • 10 जुलाई 2024 को Ferret-v2 को COLM 2024 में स्वीकार किया गया
  • 15 फ़रवरी 2024 को Ferret को ICLR 2024 Spotlight के लिए स्वीकार किया गया
  • 14 दिसंबर 2023 को Ferret checkpoint 7B·13B जारी किए गए
  • 30 अक्टूबर 2023 को FERRET model code और Ferret-Bench जारी किए गए

इंस्टॉलेशन और training शर्तें

  • इंस्टॉलेशन का flow repository clone करने के बाद python=3.10 Conda environment में package install करने का है
    • pip install -e .
    • pycocotools
    • protobuf==3.20.0
  • training के लिए अतिरिक्त package के रूप में ninja और flash-attn --no-build-isolation install करना जरूरी है
  • FERRET training का मानक environment 8 A100 GPU, प्रत्येक में 80GB memory है
  • कम GPU पर training करते समय global batch size को बनाए रखना चाहिए
    • global batch size = per_device_train_batch_size × gradient_accumulation_steps × num_gpus
  • fine-tuning hyperparameter configuration, LLaVA(Vicuna) जैसी है
    • FERRET-7B: Global Batch Size 128, Learning rate 2e-5, Epochs 3, Max length 2048, Weight decay 0
    • FERRET-13B: Global Batch Size 128, Learning rate 2e-5, Epochs 3, Max length 2048, Weight decay 0

base model और checkpoint का उपयोग

  • training से पहले Vicuna v1.3 base model weights तैयार करने होंगे
  • LLaVA के stage-1 pretraining projector weights भी जरूरी हैं
    • 7B projector
    • 13B projector
  • public checkpoint, पूरे pretrained model के रूप में नहीं बल्कि Vicuna के साथ delta रूप में उपलब्ध हैं
  • उपयोगकर्ता को पहले Vicuna weights प्राप्त करने होंगे, फिर Ferret का 7B या 13B delta download करना होगा, और ferret.model.apply_delta script से Vicuna weights पर offset apply करना होगा
  • Apple द्वारा उपलब्ध कराए गए weight differentials पर CC-BY-NC license लागू होता है, जबकि LLaMA या अन्य third-party software अपने-अपने नियमों के अधीन हैं

evaluation और demo चलाना

  • evaluation की विस्तृत प्रक्रिया अलग EVAL.md दस्तावेज़ में दी गई है
  • local demo Gradio web UI का उपयोग करता है, और इसके लिए FERRET training तथा checkpoint का local उपयोग आवश्यक है
  • demo चलाने का flow तीन चरणों का है
    • controller चलाना: ferret.serve.controller
    • Gradio web server चलाना: ferret.serve.gradio_web_server
    • GPU पर inference चलाने वाला model worker शुरू करना: ferret.serve.model_worker
  • model worker, --model-path से निर्दिष्ट एकल model को संभालता है
  • model loading पूरी होने के बाद “Uvicorn running on ...” दिखाई दे तो Gradio web UI को refresh करके चल रहे model को सूची में देखा जा सकता है

उपयोग सीमाएँ और स्रोत

  • डेटा और कोड का license research purpose तक ही सीमित है
  • उपयोग LLaMA, Vicuna, GPT-4 के license agreements के पालन तक सीमित है
  • dataset CC BY NC 4.0 के अंतर्गत है और केवल non-commercial उपयोग की अनुमति देता है
  • इस dataset पर trained model का research purpose के बाहर उपयोग नहीं किया जाना चाहिए
  • प्रोजेक्ट LLaVA codebase और Vicuna LLM codebase पर आधारित है

1 टिप्पणियां

 
GN⁺ 2023-12-24
Hacker News की राय
  • क्या हम पहले ही multimodal की ओर जा रहे हैं? अगर Google इस क्षेत्र की accessibility में image description को “company logo” स्तर से बेहतर नहीं बना पाया, तो मैं Apple पर वापस जाने की सोच रहा हूँ
    Apple को भी bugs कम करने होंगे और VoiceOver में यह एहसास हटाना होगा कि ज़रा-सा छूते ही सब टूट जाएगा, लेकिन LLM के बिना भी image descriptions पहले से ही साफ़ और स्पष्ट हैं
    उदाहरण के लिए, यह “काले background पर हरा logo” जैसा होता है, जबकि Google, जैसा ऊपर कहा, “company logo” जैसा होता है। लगता है यह तब होने वाला परिणाम है जब AI को अच्छे high-quality data से train करने के बजाय crowdsourcing से बनाया जाता है

    • Google का Lookout app दृष्टिबाधित और कम दृष्टि वाले लोगों के लिए accessibility app है, और करीब 6 महीने पहले ही इसे multimodal LLM से update किया जा चुका है
      यह Flamingo model family का इस्तेमाल करता है: https://deepmind.google/discover/blog/tackling-multiple-task...
    • अगर paper अभी आया है, तो बहुत संभव है कि Apple इस पर कम से कम 1–2 साल पहले से काम कर रहा हो
      यह अफ़वाह भी है कि अगले साल के macOS / iOS release में LLM features आएंगे
  • इससे जुड़ी देखने लायक चीज़: “LLM in a flash: Efficient Large Language Model Inference with Limited Memory”
    लगता है Apple ऐसे LLMs का उपयोग करके on-device inference में बड़ी प्रगति की तैयारी कर रहा है
    https://arxiv.org/abs/2312.11514

  • paper पुराना है (अक्टूबर 2023), लेकिन weights नए आए हैं (दिसंबर 2023)
    https://lifearchitect.ai/models-table/

  • Apple LLMs को लेकर शांत दिखता रहा है, लेकिन चमकदार विज्ञापनों के बिना भी वह hardware+software AI stack को लगातार आगे बढ़ाता रहा है
    अगर नया iOS release अचानक OpenAI/Bard chat window को हास्यास्पद रूप से outdated दिखा दे, तो वह Microsoft/OpenAI और Google पर भारी पड़ सकता है
    अगर AI usage का बड़ा हिस्सा Apple hardware पर चला गया, तो यह Nvidia के लिए भी खतरा होगा, और Arm तथा TSMC को फायदा होने की संभावना है

    • मुझे नहीं लगता Apple ChatGPT-स्टाइल का कोई बड़ा chatbot बनाएगा
      ज़्यादा संभावना है कि वही technology Siri या keyboard autocomplete जैसे products में gradual improvements के लिए “बस” इस्तेमाल हो, और मुझे लगता है यह सही दिशा है
    • Apple न तो दूसरी कंपनियों को AI चलाने के लिए compute time बेचता है, न ही AI training के लिए बड़े पैमाने का custom hardware बेचता है
      वह venture funding लेने की कोशिश भी नहीं कर रहा, और उसका core business “search के evolution” के रूप में AI से खतरे में भी नहीं है
      product के लिहाज़ से अब तक बस यही message सुनाई देता है कि M3 Max machine learning models चलाने के लिए उपयुक्त है
      जब तक वास्तविक consumer product तैयार न हो, financial meetings में औपचारिक रूप से इसका ज़िक्र करके analysts को संभालना ही काफी है
    • Apple का AI से जुड़ा track record और CoreML को जिस तरह छोड़ दिया गया है, उसे देखते हुए ऐसा scenario बहुत कम संभव लगता है
      developer trust वापस पाने में भी बहुत समय लगेगा, और मुझे नहीं लगता ऐसा होगा
    • कोई उदाहरण दे सकते हो? ड्राइविंग के दौरान मैं personal assistant का काफी उपयोग करता था, इसलिए Android पर शिफ्ट हो गया; Siri वाकई बहुत खराब था
    • इतने यकीन से कैसे कह सकते हो? यह link भी दूसरों के काम के ऊपर बना है, इसलिए मुझे नहीं पता Apple ने उतना योगदान किया है जितना माना जा रहा है
  • क्या “MLLM” का मतलब define कर सकते हो?

    • Multimodal Large Language Model, यानी multimodal large language model
    • यह इस तरह काम करता है कि language model tasks को छोटे language models को delegate करता है, फिर GPU time cost बहुत ज्यादा charge करता है
    • और FERRET कोई acronym है क्या?
  • काश Apple अगले साल तक अच्छे on-device private LLM assistant वाला iPhone ला दे
    hardware इसके लिए काफी अनुकूल लगता है
    अगर ऐसा आया, तो मैं अपना सामान्य करीब 4 साल वाला upgrade cycle तोड़कर नया phone खरीद सकता हूँ। मेरे लिए Siri लगभग बेकार है

    • अफ़वाह है कि Apple iOS 18 को AI-focused release के रूप में तैयार कर रहा है
      यह दिलचस्प होगा कि online/offline स्थिति के हिसाब से अलग features देगा या पूरी तरह offline ही रखेगा
      background के लिए एक article: https://archive.is/en3VL
    • GPT-4 voice सचमुच शानदार है
      voice tool से जो उम्मीद होती है, यह लगभग वैसा ही है। Siri की तरह खास commands ज़ोर से बोलने की जगह, आप किसी सामान्य इंसान से बातचीत की तरह बात कर सकते हैं
    • संदर्भ के लिए, autocorrect पहले से ही एक छोटे LLM द्वारा supported है
      https://jackcook.com/2023/09/08/predictive-text.html
    • iOS 17 में predictive input में बहुत छोटा LLM डाला गया है
      मैं latest iPhone इस्तेमाल कर रहा हूँ, लेकिन इसे सच में काम करते हुए देखना बहुत दुर्लभ है
      अभी शायद यह मेरी typing speed के साथ चलने के लिए बहुत धीमा है, या ज्यादा useful suggestions देने के लिए model बहुत छोटा है
    • अभी तक किसी ने भी LLM models को tame नहीं किया है, और Apple भी अपवाद नहीं है
      आज भी ChatGPT से बेहद भयानक बातें कहलवाई जा सकती हैं, और अगर Apple on-device कुछ जारी करता है तो उसे भी bad robot बनाया जा सकेगा
      निजी तौर पर मुझे लगता है कि LLM अभी आम जनता के लिए production use में सुरक्षित नहीं हैं
  • “FERRET को 80GB मेमरी वाले 8 A100 GPU पर ट्रेन किया गया था” — लगता है Apple भी CUDA trap से बाहर नहीं निकल पाया
    Nvidia के साथ नैतिक रूप से विरोधी रिश्ते में रहने के बाद आंशिक रूप से उसी पर निर्भर हो जाना दिलचस्प है

    • मुझे लगता है Apple अभी AI में बस पानी टटोलने जैसा कर रहा है
      हालांकि अगर वह पर्याप्त गहराई से इसमें उतरता है, तो अपने खुद के compute infrastructure पर पैसा खर्च कर सकता है
      Nvidia अभी GPU compute का राजा है, और वैसा hardware विकसित करना न छोटा काम है न सस्ता, लेकिन Apple अगर निवेश करने का मन बना ले तो यह कर पाने की बहुत अच्छी स्थिति में है
      कंपनियों के बीच टकराव हो तब भी, अगर कोई प्रक्रिया सस्ती या आसान हो जाए तो कंपनियां उसे खुशी-खुशी झेल लेती हैं, ऐसा मुझे लगता है
    • Apple Silicon अच्छा है, लेकिन वह portable devices के लिए डिज़ाइन किया गया chip है
      Studio और Mac Pro भी असल में laptop chips को जोड़ने जैसे ही हैं, और भारी काम के लिए भारी equipment चाहिए
      मुझे पता है कि Nvidia के साथ रिश्ते खराब हो गए हैं, लेकिन काश वे AMD/ROCm ecosystem को मजबूत करने में मदद करें
      बेशक, संभावना काफी है कि Apple भी इस क्षेत्र में अपनी कोई चीज़ बना रहा हो। उसके पास cash assets में कई अरब डॉलर हैं, तो लगता है वह इसे काफी R&D में लगा रहा होगा
    • “निर्भरता” बहुत कड़ा शब्द है
      आखिर ऐसे deep learning models किसी भी hardware पर चलते हैं, और थोड़े performance loss को स्वीकार कर लें तो एक तरह के hardware को दूसरे से आसानी से बदला जा सकता है
      मूल रूप से ये commodity जैसी चीज़ें हैं
  • क्या किसी को पता है कि commercially इस्तेमाल किया जा सकने वाला और iPhone पर locally चलाया जा सकने वाला सबसे अच्छा open source model कौन-सा है?

    • मैंने एक Flutter plugin बनाया है जो यह कर सकता है, और उसका example app भी बना रखा है
      यह open source है और प्रमुख platforms पर natively चलता है। मैंने iPad Mini, Pixel 7, iPhone 12, Surface Pro(Windows 10 & Ubuntu Jellyfish), Mac(Intel & M architecture) पर इसके चलने के videos भी share किए हैं
      यह बिल्कुल finished app नहीं है। मैं Flutter में on-device AI इस्तेमाल करना चाहता था, इसलिए llama.cpp port करने से शुरुआत की, और आगे चलकर whisper.cpp, bark.cpp जैसी latest implementations भी port करने का सोच रहा हूं
      repository: https://github.com/BrutalCoding/aub.ai
      Apple devices पर इसे इस्तेमाल करें: https://testflight.apple.com/join/XuTpIgyY
      app किसी भी GGUF file के साथ compatible है, लेकिन prompt format ChatML होना चाहिए, तभी chat UI/speech bubbles अजीब नहीं होंगे। अभी इसे customize करने लायक नहीं बनाया है, क्योंकि यह आखिरकार plugin का example app ही है। फिर भी इसे लक्ष्य वाले रूप में polish करने के लिए मैं सक्रिय रूप से काम कर रहा हूं
    • Mistral 7B काफी ठीक है, और instruct v0.2 MLC Chat के जरिए मेरे iPhone पर चलता है
      हालांकि usability के मामले में ChatGPT4 app कहीं बेहतर है। model भी बेहतर है, और text/vision/voice सहित multimodal features और UI भी बेहतर हैं
  • “Data और code केवल research purposes के उपयोग के लिए intended और licensed हैं। साथ ही, उपयोग LLaMA, Vicuna, GPT-4 के license agreements का पालन करने तक सीमित है। dataset CC BY NC 4.0 है और केवल non-commercial use की अनुमति है, और इस dataset से train किए गए models को research purposes के अलावा इस्तेमाल नहीं किया जाना चाहिए”
    रुको, यहां GPT-4 कैसे आ गया?

    • शायद किसी चरण में GPT-4 द्वारा generate किया गया training data इस्तेमाल हुआ होगा। यह Vicuna की तरफ भी हो सकता है
    • evaluation stack में GPT-4 से answers grade कराते हैं, शायद इसी वजह से शामिल हुआ हो
    • दिलचस्प है। लगता है Apple ने बस खुले तौर पर कह दिया कि उसने training में GPT-4 का इस्तेमाल किया