LLM स्पेस में "open source" शब्द का मतलब "downloadable weights" के रूप में इस्तेमाल होता है
(web.archive.org)- LLaMA2 पर commercial use और model output के इस्तेमाल से जुड़ी सीमाएं हैं, इसलिए यह पारंपरिक open source परिभाषा में फिट नहीं बैठता, लेकिन AI model क्षेत्र में open source की अवधारणा को खुद फिर से evolve होने की जरूरत है
- रिलीज़ के समय 700M MAU से अधिक वाली services के commercial use पर रोक, model output को किसी अन्य LLM की training में इस्तेमाल करने पर रोक जैसी OSS spirit से टकराने वाली restrictions मौजूद हैं
- Software इतिहास में जैसे "free software" → "open source" → "source available" तक अर्थ बदलता आया है, वैसे ही AI में भी "open source" का मतलब downloadable weights के रूप में चलन में है
- Model openness के स्तर Open models, Open weights, Restricted weights, Contaminated weights में बांटे जाते हैं, और LLaMA2 Restricted weights में आता है
- शुरुआत से retrain किए जा सकने वाला पूरी तरह open source model cost issue के कारण अव्यावहारिक है, और Meta द्वारा लगभग $2M स्तर की compute सार्वजनिक करना इस क्षेत्र की प्रगति के लिए net positive है
LLaMA2 और "open source" शब्द पर विवाद
- LLaMA2 के रिलीज़ के समय OSS community के कई लोगों ने model के लिए "open source" शब्द के गलत इस्तेमाल पर नाराज़गी जताई
- Model काफी हद तक open है, लेकिन स्पष्ट restrictions मौजूद हैं
- रिलीज़ तारीख के आधार पर 700M से अधिक MAU वाले businesses model का commercial use नहीं कर सकते
- Model output को किसी दूसरे large language model की training में इस्तेमाल नहीं किया जा सकता
- ये restrictions open source spirit (OSS ethos) से अच्छी तरह मेल नहीं खातीं, और इसे पारंपरिक अर्थ में open source नहीं कहा जा सकता
- हालांकि रुख यह है कि यह बात उतनी महत्वपूर्ण नहीं है, और AI model के दौर में "open source" शब्द को फिर से evolve होना चाहिए
From Free to Open — "स्वतंत्र" से "खुला" तक
- 1976 के "Open Letter to Hobbyists" के बाद से software companies के commercial हितों और restrictions को bypass करने की hackers की जिज्ञासा के बीच लगातार तनाव रहा है
- "free software" movement 1970s में MIT AI lab में Richard Stallman के साथ शुरू हुआ, और 1983 में GNU project तक पहुंचा
- GPL "copyleft" license बना, जिसे Red Hat, MySQL, Git, Ubuntu ने अपनाया
- "open source" शब्द 1998 में MIT की Christine Peterson की वजह से सामने आया
- "Freeware Summit" में "free software" को आधिकारिक रूप से हटाकर "open source software" से बदला गया
- इसके बाद "free" और "open source" communities अर्थ की व्याख्या में फर्क के कारण अलग-अलग धाराओं में बंट गईं
- Free Software Foundation द्वारा परिभाषित free software, open source का subset है और GPL, Apache जैसे बहुत permissive licenses का इस्तेमाल करता है
- पिछले 10 वर्षों में commercial open source companies और cloud hyperscalers के बीच तनाव से एक और विभाजन हुआ
- Elastic और MongoDB ने SSPL(Server-Side Public License) पर switch किया, जिसमें hosted version उपलब्ध कराने के अलावा commercial use की अनुमति है
- लक्ष्य था AWS को product को cloud service के रूप में re-host करके monetize करने से रोकना
- SSPL, OSS ideals का उल्लंघन करता है और OSI इसे open source license के रूप में मान्यता नहीं देता
- फिर भी कई developers अब भी MongoDB को open source कहते हैं
- "open source" धीरे-धीरे freedom के निहितार्थ खो रहा है और developers की धारणा में लगभग "source available" का पर्याय बनता जा रहा है
From Source to Weights — "source" से "weights" तक
- Dolly, MPT, LLaMA जैसे open models के उभरने से community में वैसा ही विभाजन हुआ
- आज ज्यादातर AI engineers के लिए "open source" का मतलब downloadable weights से न ज्यादा है, न कम
- Heather Meeker ने "open weights" की परिभाषा प्रस्तावित की, लेकिन community में अभी सहमति नहीं है
- मुख्य मुद्दा यह है कि क्या केवल open weights के आधार पर किसी model को open source कहा जा सकता है
- Software analogy में, यह ऐसा है जैसे शुरुआत से rebuild करने के लिए source code के बिना केवल binary जारी करना
- शुरुआत से retrain किए जा सकने वाला सचमुच open source model बनने के लिए training code, pretraining dataset, fine-tuning preference data, RLHF examples आदि सब कुछ सार्वजनिक करना जरूरी है
- समस्या training cost है; सब कुछ public होने पर भी ज्यादातर developers और companies के लिए शुरुआत से training cost के लिहाज से असंभव है
- आखिरकार final weights तक पहुंच ही अधिक पसंद की जाती है
Model openness के 4 स्तरों का वर्गीकरण
- Open models: RedPajama, MPT-7B आदि, जो Apache 2.0 license के तहत commercial use के लिए open weights उपलब्ध कराते हैं
- Dataset भी open source है, इसलिए शुरुआत से retraining संभव है
- Open weights: StabilityAI द्वारा trained StableLM इसमें आता है; weights Apache 2.0 के तहत जारी हैं, लेकिन training dataset public नहीं है
- README के अनुसार, यह The Pile के ऊपर बनाए गए नए experimental dataset पर pretrained है और लगभग 1.5T tokens के साथ करीब 3 गुना बड़ा है
- Restricted weights: LLaMA2 इसमें आता है; pretraining dataset public नहीं है और weights का commercial use संभव बताया गया है, लेकिन ऊपर बताई गई specific restrictions मौजूद हैं
- Contaminated weights: Dolly 1.0, LLaMA1 इसमें आते हैं; weights public हैं, लेकिन training dataset commercial use की अनुमति नहीं देता, इसलिए technically open होने के बावजूद practical तौर पर इस्तेमाल योग्य नहीं हैं
निष्कर्ष — openness की दिशा
- फिलहाल open source और open weights का मिला-जुला इस्तेमाल होगा, और रुख यह है कि यह ठीक है
- महत्वपूर्ण बात यह है कि यह काम धीरे-धीरे और अधिक खुले तरीके से(as openly as possible) हो रहा है
- LLaMA2 license से निराश होना स्वाभाविक है, लेकिन Meta द्वारा लगभग $2M के FLOPS को GitHub repository में डालकर public करना इस क्षेत्र की प्रगति के लिए net positive है
1 टिप्पणियां
Hacker News की राय
ठीक ऊपर वाले लेख में LLaMA को सीमित weights श्रेणी में रखा गया है, और फिर यह कहना कि आगे चलकर open source और खुले weights एक-दूसरे के बदले इस्तेमाल होंगे, अजीब है
लेखक की प्रस्तावित परिभाषा के हिसाब से भी LLaMA 2.0 open source नहीं है, और उसे ऐसा कहा भी नहीं जाना चाहिए
अगर LLM क्षेत्र में open source का मतलब सिर्फ “weights डाउनलोड किए जा सकते हैं” है, और उपयोग-प्रतिबंध मायने नहीं रखते, तो यह नए संदर्भ के हिसाब से शब्द का विकास कम और Open Source के अर्थ को सस्ता बनाने जैसा ज़्यादा है
LLaMA खुले weights भी नहीं है; ज़्यादा से ज़्यादा इसे source-available software की तरह बंद, proprietary weights के बंडल से तुलना की जा सकती है
Facebook का LLaMA को open source कहना भ्रामक है, और हमें उस narrative के साथ नहीं बहना चाहिए
weights पर copyright बन सकता है या नहीं, यह अलग बहस है, और व्यक्तिगत रूप से मुझे लगता है कि नहीं बन सकता
लेकिन आम लोग यह बारीकी नहीं जानते, इसलिए वे इसे “open source” कहते रहेंगे, और मेरा कहना बस इतना था कि इसे ठीक करना मुश्किल है
सिर्फ “यह open source नहीं है” कहने के बजाय हमें बेहतर शब्द गढ़ने चाहिए
और भले ही weights के उपयोग पर पाबंदियाँ हों, सार्वजनिक की गई compute investment बहुत बड़ी है. training tokens बनाम parameters का अनुपात 285:1 है, और loss graph दिखाता है कि मॉडल अभी saturated नहीं हुआ है
अपने मॉडल train करने की कोशिश कर रही दूसरी teams के लिए यह मूल्यवान जानकारी है
LLaMA1 बहुत सीमित था, लेकिन paper में दिए गए data mix ने RedPajama को जन्म दिया, और उसका इस्तेमाल MPT training में हुआ
भले ही यह पारंपरिक label में फिट न बैठे, ऐसे काम में open source की दिशा में बहने वाली काफ़ी value अब भी है
मुझे पता नहीं था कि llama license outputs को दूसरे models की training में इस्तेमाल करने से रोकता है
यह तो वास्तव में घातक प्रतिबंध है. आगे चलकर synthetic data सबसे महत्वपूर्ण training data बनने वाला है, तो जो मॉडल synthetic data को नए मॉडल train करने में इस्तेमाल नहीं करने देता, वह गंभीर रूप से कमज़ोर मॉडल है
यानी सिर्फ इसलिए कि data accessible है, बिना permission या license के मनमाने internet data पर model train करना ठीक है, लेकिन हमारे model से दूसरे model train नहीं किए जा सकते
इन models की कानूनी बुनियाद यह है कि copyrighted material पर training करना fair use है
अगर ऐसा नहीं है, तो क्या Facebook यह दलील देना चाहता है कि authors की इच्छा के खिलाफ dataset में copyrighted material शामिल करना fair use नहीं है? अगर हाँ, तो यह LLaMA के लिए बुरी खबर है
“इस पर train करने के लिए permission चाहिए” वाला रुख किसी भी AI कंपनी के लिए दिलचस्प कानूनी स्थिति है
“हम internet के बड़े हिस्से पर बिना अनुमति training करेंगे, लेकिन हमारे model outputs पर training करने के बारे में हमारी अनुमति के बिना सोचो भी मत!” यही बात है
OpenAI भी लगभग ऐसी ही पाबंदियाँ रखता है
आप model outputs पर दूसरे model train नहीं कर सकते; ऐसा करने पर पूरा nonsense बनने लगता है. इसे model collapse कहते हैं: https://arxiv.org/abs/2305.17493v2
और Llama 2 license users को derived models train करने की अनुमति देता है. लोगों को सच में जिस हिस्से की चिंता है, वह यह है: https://github.com/facebookresearch/llama/blob/main/LICENSE
यह कोई नई समस्या नहीं है. software के लिए परिभाषित सख्त Open Source अवधारणा कभी भी non-software चीज़ों पर पूरी तरह सटीक नहीं बैठी
इसी वजह से Creative Commons licenses मौजूद हैं. फोटो images को GPL2 के तहत distribute करना शुरू से ही बेमेल बात होगी
नए माध्यमों में हमेशा पुनर्परिभाषा की ज़रूरत पड़ती है
GPL source code को modification के लिए preferred form के रूप में परिभाषित करता है, और source से executable बनाने वाली scripts को भी शामिल करता है
इस मामले में weights उस optimized executable code के अधिक करीब हैं जो processing pipeline से निकलता है, और “source” training data, उसे model में बदलने वाला code, और प्रक्रिया होगी
बहुत बड़े LLMs में शायद इसका उपयोग लगभग कोई न कर पाए, लेकिन छोटे academic models में इसका मतलब है, क्योंकि researchers एक-दूसरे के काम पर आगे निर्माण कर सकते हैं
language model का source व्यवहार में उस code के ज़्यादा करीब है जिसका इस्तेमाल किसी खास model को train करने के लिए हुआ, और model खुद machine code नहीं है, लेकिन compiled binary के काफ़ी करीब है
इसलिए अगर किसी model को सच में open source होना है, तो उसे बनाने में इस्तेमाल हुआ software public होना चाहिए, ताकि मैं उसे modify कर सकूँ और अपने data पर train करके इस्तेमाल कर सकूँ
क्या weights copyright के दायरे में आते हैं, यह भी अभी अदालत में तय नहीं हुआ है, और उस नतीजे के आधार पर कई licenses और restrictions सब निरर्थक हो सकते हैं
“कलाकारों, मॉडल तो इंसानों की तरह ही सीखते हैं, इसलिए वे आपके copyright का उल्लंघन नहीं कर सकते। अगर उसने संयोग से किताब का कोई हिस्सा आउटपुट कर दिया, तो बस संयोग से plagiarism हो गया। हम सब ऐसा करते हैं, हाहा! वकील हमें याद दिलाते हैं कि अमेरिका में plagiarism अवैध नहीं है।”
“इंजीनियरों, हमारे model का output copyright-संरक्षित है, इसलिए अगर आप उससे अपना model train करते हैं तो वह हमारा हो जाता है।”
समझ नहीं आता कि ये दोनों बातें एक साथ कैसे सच हो सकती हैं
ज़्यादा से ज़्यादा यह किसी खास user पर लागू होने वाली contract clause भर है, और बाद में उस सुधरे हुए model का इस्तेमाल करने वाले लोगों को शायद कोई समस्या नहीं होगी
लेकिन वास्तव में ऐसी दुनिया संभव होगी, यह कल्पना करना मुश्किल है
अगर कोई यह संक्षेप में बता सके कि weights copyright के दायरे से बाहर क्यों हो सकते हैं, या इस दृष्टिकोण के समर्थन में कुछ सामग्री बता सके, तो अच्छा होगा
यह याद रखना चाहिए कि copyright के दायरे में क्या आता है और क्या नहीं, यह बदल सकता है
GPL को FSF बनाम Cisco मामले (2008) में परखा जा चुका है, लेकिन उससे अधिक restrictive licenses अभी तक नहीं परखे गए हैं
समस्या यह है कि MPT-30b और Falcon-40b जैसे बड़े models पहले से मौजूद हैं जो सचमुच open source license अपनाते हैं
Llama2 weights तक पहुँच मिलना अच्छी बात है, लेकिन जब पारंपरिक OSI अर्थों में वास्तव में open source प्रतिस्पर्धी models मौजूद हैं, तब Llama2 को “open source” का श्रेय मिलना अनुचित लगता है
licenses के बीच व्यावहारिक अंतर इतना कम है कि मेरे सहित ज़्यादातर लोग बेहतर model quality वाले Llama2 को चुनेंगे
लेकिन वही प्रोत्साहन आखिरकार हमें अटपटे quasi-open licenses में फँसा सकता है
source available शब्द पहले से मौजूद है, फिर “open source” शब्द को बदलने की ज़रूरत क्यों है, यह समझ नहीं आता
इस मामले में बस “कम restrictions वाले license के तहत उपलब्ध weights” कह देना चाहिए
इस लेख का diagram बहुत गलत है क्योंकि इसमें सिर्फ GPL को free software दिखाया गया है और MIT/Apache को open source तो बताया गया है, लेकिन free software नहीं
FSF वाले “open source” शब्द को पसंद नहीं करते, लेकिन वे भी कहते हैं कि “लगभग सभी open source software free software होते हैं”
खास तौर पर MIT, Apache, LGPL licenses स्पष्ट रूप से free software licenses हैं। अगर ऐसा न हो, तो Debian या FSF-स्वीकृत distributions के पास चुनने के लिए बहुत कम software बचेगा
diagram शायद copyleft और free software या open source के बीच फर्क दिखाना चाहता था
अगर इसे permissiveness के हिसाब से क्रमबद्ध किया जाए, तो subset संबंध भी उलटा होना चाहिए। GPL, SSPL आदि की तुलना में कहीं ज़्यादा permissive है, लेकिन MIT/Apache से कम permissive है
अंतर तकनीकी नहीं, राजनीतिक है
लेख का यह हिस्सा भी काफ़ी भ्रामक है: “Free Software Foundation द्वारा परिभाषित free software, open source software का सिर्फ एक subset है और GPL तथा Apache जैसे बहुत permissive licenses का उपयोग करता है”
diagram में सैद्धांतिक रूप से “Restricted Weights” के बाहर, लेकिन “Completely Closed” पूरे दायरे से छोटा, एक और category होनी चाहिए
उदाहरण के लिए black-box weights और models, जिन्हें मुफ्त में इस्तेमाल तो किया जा सकता है, लेकिन व्यवहार में देखा-परखा या स्थानांतरित नहीं किया जा सकता
यह “मुफ्त उपयोग योग्य” closed source software की बहन category होगी
ऐसा AI जो मुफ्त में इस्तेमाल हो सकता है लेकिन binary blob के रूप में दिया जाता है, इसमें फिट बैठता है
या ऐसा Python module जो inference engine और weights को pre-compiled binary के रूप में बुलाता हो, लेकिन source न देता हो
software दुनिया में इसका पारंपरिक समकक्ष open source न होने वाले third-party Linux drivers हैं। वे मुफ्त हैं, लेकिन खुले नहीं
AI दुनिया में अभी ऐसा बहुत कम दिखा है। जो weights जारी करते हैं वे अक्सर research उद्देश्य से करते हैं, इसलिए कई बार inference भी open source होना पड़ता है; और जिनके models बंद हैं वे आम तौर पर पैसा कमाना चाहते हैं, इसलिए उनके पास inference पक्ष खोलने का कारण नहीं होता और वे सिर्फ API शुल्क ले सकते हैं, जैसे “OpenAI”
शीर्षक संपादित किया गया था। असली शीर्षक है “LLaMA2 isn't "Open Source" - and why it doesn't matter”
इसे असली शीर्षक और भाव से काफ़ी अलग ढंग से बदल दिया गया, और इससे लगा कि लेखक और प्रकाशक शायद open source के अर्थ को अलग तरह से देखते हैं
Open Source तकनीकी संस्कृति में काफ़ी गहराई से स्थापित हो चुका है, इसलिए उससे हटना लंबे समय से उपहास का विषय रहा है
हाल के दिनों में ऐसा लगता है कि समुदाय ऐसे “open” licenses के प्रति अधिक उदार हो गया है
FOSS मानकों पर खरे न उतरने वाले projects के खिलाफ़ होने वाली आलोचना अक्सर हद से ज़्यादा होती है, लेकिन मैं नहीं चाहता कि हम बहुत जल्दी “open” दिशा में खिसक जाएँ
LLaMa2 पर एक और लेख भी है: https://opensourceconnections.com/blog/2023/07/19/is-llama-2...