Ferret: मल्टीमोडल बड़े भाषा मॉडल
(github.com/apple)- 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.10Conda environment में package install करने का हैpip install -e .pycocotoolsprotobuf==3.20.0
- training के लिए अतिरिक्त package के रूप में ninja और
flash-attn --no-build-isolationinstall करना जरूरी है - 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
- global batch size =
- 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
- FERRET-7B: Global Batch Size 128, Learning rate
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_deltascript से 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
- controller चलाना:
- 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 टिप्पणियां
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 से बनाया जाता है
यह Flamingo model family का इस्तेमाल करता है: https://deepmind.google/discover/blog/tackling-multiple-task...
यह अफ़वाह भी है कि अगले साल के 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 को फायदा होने की संभावना है
ज़्यादा संभावना है कि वही technology Siri या keyboard autocomplete जैसे products में gradual improvements के लिए “बस” इस्तेमाल हो, और मुझे लगता है यह सही दिशा है
वह venture funding लेने की कोशिश भी नहीं कर रहा, और उसका core business “search के evolution” के रूप में AI से खतरे में भी नहीं है
product के लिहाज़ से अब तक बस यही message सुनाई देता है कि M3 Max machine learning models चलाने के लिए उपयुक्त है
जब तक वास्तविक consumer product तैयार न हो, financial meetings में औपचारिक रूप से इसका ज़िक्र करके analysts को संभालना ही काफी है
developer trust वापस पाने में भी बहुत समय लगेगा, और मुझे नहीं लगता ऐसा होगा
क्या “MLLM” का मतलब define कर सकते हो?
काश Apple अगले साल तक अच्छे on-device private LLM assistant वाला iPhone ला दे
hardware इसके लिए काफी अनुकूल लगता है
अगर ऐसा आया, तो मैं अपना सामान्य करीब 4 साल वाला upgrade cycle तोड़कर नया phone खरीद सकता हूँ। मेरे लिए Siri लगभग बेकार है
यह दिलचस्प होगा कि online/offline स्थिति के हिसाब से अलग features देगा या पूरी तरह offline ही रखेगा
background के लिए एक article: https://archive.is/en3VL
voice tool से जो उम्मीद होती है, यह लगभग वैसा ही है। Siri की तरह खास commands ज़ोर से बोलने की जगह, आप किसी सामान्य इंसान से बातचीत की तरह बात कर सकते हैं
https://jackcook.com/2023/09/08/predictive-text.html
मैं latest iPhone इस्तेमाल कर रहा हूँ, लेकिन इसे सच में काम करते हुए देखना बहुत दुर्लभ है
अभी शायद यह मेरी typing speed के साथ चलने के लिए बहुत धीमा है, या ज्यादा useful suggestions देने के लिए model बहुत छोटा है
आज भी ChatGPT से बेहद भयानक बातें कहलवाई जा सकती हैं, और अगर Apple on-device कुछ जारी करता है तो उसे भी bad robot बनाया जा सकेगा
निजी तौर पर मुझे लगता है कि LLM अभी आम जनता के लिए production use में सुरक्षित नहीं हैं
“FERRET को 80GB मेमरी वाले 8 A100 GPU पर ट्रेन किया गया था” — लगता है Apple भी CUDA trap से बाहर नहीं निकल पाया
Nvidia के साथ नैतिक रूप से विरोधी रिश्ते में रहने के बाद आंशिक रूप से उसी पर निर्भर हो जाना दिलचस्प है
हालांकि अगर वह पर्याप्त गहराई से इसमें उतरता है, तो अपने खुद के compute infrastructure पर पैसा खर्च कर सकता है
Nvidia अभी GPU compute का राजा है, और वैसा hardware विकसित करना न छोटा काम है न सस्ता, लेकिन Apple अगर निवेश करने का मन बना ले तो यह कर पाने की बहुत अच्छी स्थिति में है
कंपनियों के बीच टकराव हो तब भी, अगर कोई प्रक्रिया सस्ती या आसान हो जाए तो कंपनियां उसे खुशी-खुशी झेल लेती हैं, ऐसा मुझे लगता है
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 कौन-सा है?
यह 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 करने के लिए मैं सक्रिय रूप से काम कर रहा हूं
हालांकि 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 कैसे आ गया?