अत्याधुनिक कोडिंग के लिए बड़ा भाषा मॉडल Code Llama
(ai.meta.com)- कोडिंग असिस्टेंट की मांग बढ़ने के बीच Meta ने Code Llama पेश किया, जिससे open model आधारित code generation, completion और debugging के विकल्प और व्यापक हुए
- यह मॉडल Llama 2 का code data पर अतिरिक्त training किया गया संस्करण है, जो code और natural language prompts दोनों पर code tasks संभालता है
- यह 7B·13B·34B·70B आकारों में उपलब्ध है, और 70B मॉडल को 29 जनवरी 2024 को Code Llama परिवार के सबसे बड़े और सर्वश्रेष्ठ प्रदर्शन वाले मॉडल के रूप में अतिरिक्त रूप से जारी किया गया
- यह base model, Python-विशेष मॉडल, और natural language निर्देशों के लिए Instruct variant में बंटा है; चयन latency, performance और use case के अनुसार करना चाहिए
- research और commercial use के लिए यह मुफ्त है, लेकिन license और acceptable use policy का पालन करना होगा और code generation की safety evaluation भी साथ में करनी होगी
Code Llama किन code tasks को लक्ष्य बनाता है
- Code Llama कोडिंग के लिए एक बड़ा language model है जो text prompts से code generate कर सकता है
- इसका लक्ष्य सार्वजनिक LLMs में code tasks पर अत्याधुनिक performance हासिल करना है, और इसमें developer workflows को अधिक तेज़ और कुशल बनाने की क्षमता है
- इसे productivity और education tool के रूप में इस्तेमाल किया जा सकता है, जो coding सीखने वालों के लिए entry barrier कम करे और programmers को अधिक robust और अच्छी तरह documented software लिखने में मदद करे
- Meta ने Code Llama को Llama 2 जैसी community license के तहत जारी किया है
Llama 2 को code data पर अतिरिक्त training
- Code Llama, Llama 2 का code-विशेष संस्करण है, जिसे code-specific dataset पर आगे train किया गया है
- यह code और natural language prompts दोनों को input के रूप में लेकर code और code-संबंधित natural language generate कर सकता है
- उदाहरण prompt: “फिबोनाची अनुक्रम प्रिंट करने वाला एक function लिखो”
- इसका उपयोग code completion और debugging के लिए भी किया जा सकता है
- समर्थित भाषाओं में Python, C++, Java, PHP, Typescript(JavaScript), C#, Bash शामिल हैं
आकार के अनुसार चयन और context
- Code Llama 7B, 13B, 34B, 70B parameter आकारों में उपलब्ध है
- 7B, 13B और 34B मॉडल code और code-संबंधित data के 500B tokens पर train किए गए हैं, जबकि 70B मॉडल 1T tokens पर train किया गया है
- 7B और 13B के base तथा Instruct मॉडल fill-in-the-middle(FIM) क्षमता पर भी train किए गए हैं, जिससे मौजूदा code के बीच में code insert किया जा सकता है
- इससे code completion जैसे tasks को सीधे support किया जा सकता है
- model size का चुनाव deployment method और latency requirements पर निर्भर करता है
- 7B मॉडल को एक single GPU पर deploy किया जा सकता है
- 34B और 70B मॉडल सबसे अच्छे नतीजे और बेहतर coding support देते हैं
- 7B और 13B मॉडल तेज़ हैं, इसलिए real-time code completion जैसे low-latency tasks के लिए अधिक उपयुक्त हैं
- Code Llama मॉडल अधिकतम 100,000 token context में स्थिर generation प्रदान करते हैं
- सभी मॉडल 16,000 token sequences पर train किए गए हैं
- अधिकतम 100,000 token input तक सुधार देखा गया है
base·Python·Instruct: तीन variants
- Code Llama परिवार तीन variants में बंटा है
- Code Llama: base code model
- Code Llama - Python: Python-विशेष मॉडल
- Code Llama - Instruct: natural language निर्देशों की समझ के लिए fine-tune किया गया मॉडल
- Code Llama - Python को Python code के 100B tokens पर अतिरिक्त fine-tune किया गया है
- Python code generation में सबसे अधिक benchmark की जाने वाली भाषा है
- Python और PyTorch AI community में महत्वपूर्ण भूमिका निभाते हैं
- Code Llama - Instruct वह variant है जिसकी training natural language निर्देश inputs और अपेक्षित outputs पर आगे बढ़ाई गई है
- इसे इस तरह डिज़ाइन किया गया है कि यह prompt में मनुष्य की अपेक्षा को बेहतर समझ सके
- इसे natural language में उपयोगी और सुरक्षित उत्तर generate करने के लिए fine-tune किया गया है
- code generation के लिए Code Llama का उपयोग करते समय Code Llama - Instruct variant की सिफारिश की जाती है
- Code Llama और Code Llama - Python को natural language निर्देशों का पालन करने के लिए डिज़ाइन नहीं किया गया है, इसलिए सामान्य natural language tasks के लिए इनकी सिफारिश नहीं की जाती
- Code Llama code-विशेष tasks के लिए है, और अन्य tasks के लिए base model के रूप में उपयुक्त नहीं है
Code Llama 70B का अतिरिक्त जारी होना
- 29 जनवरी 2024 के update में Code Llama 70B जारी किया गया
- 70B, Code Llama परिवार का सबसे बड़ा और सबसे बेहतर प्रदर्शन वाला मॉडल है
- यह मौजूदा Code Llama की तरह तीन versions में उपलब्ध है, और सभी research तथा commercial use के लिए मुफ्त हैं
- CodeLlama - 70B: base code model
- CodeLlama - 70B - Python: Python-विशेष 70B मॉडल
- Code Llama - 70B - Instruct 70B: natural language निर्देशों की समझ के लिए fine-tune किया गया मॉडल
benchmarks और safety evaluation
- performance evaluation दो coding benchmarks से की गई
- benchmarks में Code Llama ने open source code-विशेष LLMs और Llama 2 से बेहतर performance दिखाई
- Code Llama 34B ने HumanEval में 53.7% और MBPP में 56.2% स्कोर किया
- यह सार्वजनिक अत्याधुनिक open solutions की तुलना में शीर्ष स्तर पर था और ChatGPT के समान स्तर का था
- Meta ने सार्वजनिक रिलीज़ से पहले कई safety measures अपनाए और red team प्रक्रिया में malicious code generation risk का मात्रात्मक मूल्यांकन किया
- स्पष्ट इरादे से malicious code मांगने वाले prompts बनाए गए
- Code Llama के responses की तुलना ChatGPT के GPT-3.5 Turbo responses से कर स्कोरिंग की गई
- परिणामों में Code Llama ने अधिक सुरक्षित responses दिए
- responsible AI, offensive security engineering, malware development और software engineering क्षेत्र के विशेषज्ञों द्वारा की गई red team की विस्तृत जानकारी research paper में शामिल है
सार्वजनिक संसाधन और जिम्मेदार उपयोग
- Code Llama की training recipe GitHub repository में सार्वजनिक है
- model weights भी उपलब्ध हैं
- research paper में Code Llama के विकास, benchmark testing के तरीके, सीमाएँ, ज्ञात चुनौतियाँ, mitigation measures और आगे जांचे जाने वाले विषय शामिल हैं
- Responsible Use Guide भी update की गई है
- content policy और mitigation measures की परिभाषा
- data preparation
- model fine-tuning
- performance evaluation और improvement
- input और output स्तर के risks से निपटना
- user interaction में transparency और reporting mechanisms बनाना
- developers को code-विशेष evaluation benchmarks से model का मूल्यांकन करना चाहिए
- code-विशेष use cases जैसे malware, computer virus और malicious code generation के लिए safety research की सिफारिश की जाती है
- automated और human evaluation के लिए safety datasets के उपयोग तथा adversarial prompts आधारित red teaming की भी सिफारिश की जाती है
open coding model ecosystem में भूमिका
- Code Llama को research, industry, open source projects, NGO और enterprises जैसे कई क्षेत्रों के software engineers को support करने के लिए डिज़ाइन किया गया है
- base model और Instruct model जितने use cases संभाल सकते हैं, उनसे कहीं अधिक use cases अभी भी बाकी हैं
- Meta को उम्मीद है कि Code Llama, दूसरों को Llama 2 का उपयोग करके research और commercial products के लिए नए tools बनाने के लिए प्रेरित करेगा
- संबंधित सामग्री:
1 टिप्पणियां
Hacker News की राय