스크립트
00:00:00मोजो, प्रोग्रामिंग भाषा, अभी 1.0 पर पहुंची है, और इसका समय थोड़ा अजीब है।
00:00:05यह एक बंद कंपाइलर के साथ लॉन्च हुआ था, सात दिन बाद उन्होंने इसे ओपन-सোর্স कर दिया,
00:00:09और क्वालकॉम ने अभी-अभी कंपनी को खरीदा था।
00:00:12लेकिन एक पल के लिए यह सब भूल जाते हैं।
00:00:14मोजो की असली खासियत गति के लिए सी++ या CUDA को छोड़े बिना पाइथन जैसा कोड है।
00:00:20तो आइए देखें कि क्या यह वास्तव में खरा उतरता है।
00:00:27मोजो के साथ पूरी बात यह सवाल है।
00:00:30क्या होगा यदि आप ऐसा कोड लिख सकें जो बिल्कुल पाइथन जैसा लगे और दिखे,
00:00:34लेकिन सी++ या CUDA को छोड़े बिना उन हिस्सों को चला सकें जो वास्तव में मायने रखते हैं?
00:00:39सीपीयू और जीपीयू में एक पढ़ने योग्य भाषा।
00:00:42यहाँ पूरी बात यही है।
00:00:43और अब जब मोजो आखिरकार 1.0 हो गया है, तो मैं वास्तव में देखना चाहता था कि इसमें से कितना वास्तव में वास्तविक है।
00:00:49तो इससे पहले कि हम क्वालकॉम ओपन-सোর্স और उस पर चर्चा करें, आइए इसे चलाकर देखें।
00:00:53यदि आप अपने वर्कफ़्लो को तेज़ करने के लिए कोडिंग टूल का आनंद लेते हैं, तो सब्सक्राइब करना न भूलें।
00:00:57हमारे वीडियो हर समय आते रहते हैं।
00:00:59मैं इसे अपनी मशीन पर करने जा रहा हूँ, लेकिन मैं यहाँ मोजो ट्यूटोरियल नहीं करने जा रहा हूँ।
00:01:03यदि आपने इसे पहले कभी नहीं देखा है, तो हाँ, यह पाइथन जैसा दिखेगा,
00:01:07लेकिन आप कुछ मुख्य अंतर देखेंगे।
00:01:10बाईं ओर पाइथन है।
00:01:12दाईं ओर मोजो है।
00:01:13यह वही लूप है, वही ग्रिड, वही पुनरावृत्ति सीमा है।
00:01:17मैं इस पर किसी भी गणित के माध्यम से नहीं चलने वाला हूँ।
00:01:20दोनों व्हाइल लूप को देखें।
00:01:21वे वही काम कर रहे हैं।
00:01:23हम यहाँ पहले पाइथन चलाने जा रहे हैं।
00:01:26ठीक है, बहुत बढ़िया।
00:01:27यह चल गया।
00:01:28यह निष्पादित हो गया।
00:01:28अब, वही प्रोग्राम जिसे मोजो के साथ संकलित किया गया है।
00:01:32फिर से, आइए इसे चलाएं।
00:01:35और धूम।
00:01:35यह लीजिए।
00:01:36अब, चेक सम अंतिम अंक से मेल नहीं खाएंगे।
00:01:39वे ढाई लाख पर कुछ सौ से भिन्न होते हैं।
00:01:43पाइथन गुणा करता है, फिर जोड़ता है।
00:01:45मोजो कंपाइल इसे एक निर्देश में विलीन कर सकता है।
00:01:49कुछ पिक्सेल एक अतिरिक्त पुनरावृत्ति लेते हैं।
00:01:51यहाँ सेकंड को वास्तविक संख्या मानिए।
00:01:54और यह NumPy नहीं है।
00:01:55यह कोई मॉडल नहीं है।
00:01:56प्रदर्शन केवल यह नहीं है कि सीपीयू लूप तेज़ हो गया है।
00:02:00आप पाइथन में शुरू कर सकते हैं क्योंकि यह आसान है।
00:02:03फिर पथ C++ या CUDA की ओर बढ़ता है।
00:02:06अब आपके पास दो फाइलें हैं और वे एक तरह से अलग होने लगती हैं।
00:02:09तो, यहाँ वह सवाल है जो मोजो पूछ रहा है।
00:02:12क्या वह फ़ाइल जिसे आप पढ़ते हैं वही फ़ाइल हो सकती है जो GPU से टकराती है?
00:02:17यह फ़ंक्शन कर्नेल है।
00:02:18प्रत्येक GPU Thread संख्याओं की एक जोड़ी जोड़ता है।
00:02:20बस इतना ही।
00:02:21मैंने Metal या Swift या CUDA पर स्विच नहीं किया।
00:02:24इसे संकलित करें।
00:02:26और अब हमारे पास कोड चल रहा है।
00:02:28तो, हाँ।
00:02:30मोजो यहाँ कुछ काफी दिलचस्प कर सकता है।
00:02:32और मैंने उसी भाषा का उपयोग करके मैकबुक पर एक कार्यशील जीपीयू कर्नेल संकलित किया है जिसमें मैं लिख रहा था।
00:02:38सामान्य कोड में, पाइथन।
00:02:40आपका मशीन लर्निंग कोड पाइथन में शुरू होता है क्योंकि पाइथन के साथ काम करना आसान है।
00:02:44हम सब यह जानते हैं।
00:02:45फिर, अंततः, समय के साथ, प्रदर्शन मायने रखने लगता है।
00:02:48इसलिए, महत्वपूर्ण भागों को C++ या CUDA में फिर से लिखा जाता है।
00:02:52अब, हम एक ही प्रणाली के दो संस्करणों का रख-रखाव कर रहे हैं।
00:02:55और फिर से, समय के साथ, वह केवल भ्रम को बढ़ाता है।
00:02:58मोजो की बात यह है कि पढ़ने योग्य फ़ाइल और तेज़ फ़ाइल एक ही चीज़ हैं।
00:03:03अब, इन सबके पीछे क्रिस लैटनर हैं।
00:03:06उन्होंने LLVM बनाया, फिर Clang, और फिर Swift।
00:03:10लेकिन एक GPU कर्नेल को चलाना एक बात है।
00:03:14भाषा को 1.0 कहना, यह यहाँ थोड़ी अलग बात है।
00:03:18तो, 1.0 का वास्तव में यहाँ क्या अर्थ है?
00:03:21यह नहीं कि मोजो समाप्त हो गया है।
00:03:23इसका कमोबेश मतलब स्थिरता है।
00:03:25ऐसे वादे हैं कि जो कोड आप आज लिखते हैं वह टूटेगा नहीं।
00:03:29इस तरह का एक प्रमुख रिलीज़ यही होता है।
00:03:30लेकिन फिर आप पहले अजीब हिस्से से टकराते हैं।
00:03:32मोजो अपने कंपाइलर के ओपन सोर्स होने से पहले ही 1.1 पर पहुँच गया था।
00:03:37मानक लाइब्रेरी मार्च 2024 में पहले ही खुल चुकी थी।
00:03:40अधिकतम कर्नेल 2025 में खुले।
00:03:43लेकिन कंपाइलर, वास्तविक चीज़ जो संकलन कर रही है, वह इस वर्ष 18 अगस्त तक मालिकाना हक वाली रही।
00:03:50अपाचे 2.0, और यह महत्वपूर्ण है क्योंकि ठीक सात दिन पहले जब मोजो 1.0 शिप किया गया था, तब यह अभी भी बंद था।
00:03:57और यह मोजो की लगातार तीन वर्षों में सबसे बड़ी आलोचनाओं में से एक का उत्तर देता है।
00:04:02आप यह कह सकते थे, ज़रूर, लेकिन कंपाइलर बंद है।
00:04:05हम अब वास्तव में ऐसा नहीं कह सकते, जो ऐसा लगता है जैसे, ठीक है, यह सही दिशा में आगे बढ़ रहा है।
00:04:10यह हो सकता है।
00:04:10जब तक आप यह न देखें कि तीन सप्ताह पहले क्या हुआ था।
00:04:14क्वालकॉम का अधिग्रहण 29 जुलाई को पूरा हुआ।
00:04:16मोजो 1.0 11 अगस्त को शिप हुआ।
00:04:19कंपाइलर 18 अगस्त को खुला।
00:04:21तो मोजो के इतिहास में सबसे बड़ा खुलापन मील का पत्थर मॉड्यूलर के अपनी स्वतंत्र कंपनी बनना बंद करने के तीन सप्ताह से भी कम समय के भीतर हुआ।
00:04:29और यह तुरंत इसे पढ़ने के दो पूरी तरह से अलग तरीके बनाता है।
00:04:33नंबर एक यह है कि क्वालकॉम ने मॉड्यूलर को खरीदा क्योंकि वह हर जगह मोजो चाहता है।
00:04:37शायद नहीं।
00:04:37या एक क्वालकॉम बॉट मॉड्यूलर, और अंततः यह पूरी चीज़ एक बहुत बड़ी कंपनी में समाहित हो जाती है।
00:04:44क्वालकॉम चिप्स बनाता है।
00:04:45एक ऐसी भाषा जो चिप्स के लिए अच्छी तरह से संकलित होती है, बहुत अधिक मूल्यवान हो जाती है।
00:04:49हम वास्तव में इसका स्वतंत्र रूप से उपयोग कर सकते हैं।
00:04:50तो, ओपन सोर्स कदम, यह समझ में आता है।
00:04:53लेकिन क्या मोजो सफल होता है, यह शायद क्वालकॉम पर निर्भर नहीं होगा।
00:04:57यह इस बात पर निर्भर करेगा कि क्या भाषा वास्तव में पहली जगह में स्विच करने को उचित ठहराने के लिए पर्याप्त अच्छी है।
00:05:02लेकिन फिर से, यहीं से यह सब गन्दा होने लगता है।
00:05:05मोजो के पास एक बेंचमार्क समस्या है।
00:05:072023 में वापस, बड़ी संख्या यह थी कि मोजो पाइथन से 68,000 गुना तेज हो सकता है।
00:05:13यह पागलपन है।
00:05:14डीएनए पार्सिंग पर मोजो के रस्ट से 50% तेज होने का दावा करने वाली एक पोस्ट भी अभी भी लाइव है।
00:05:19उस बेंचमार्क को अलग कर दिया गया था।
00:05:21उन्होंने दिखाया कि बेंचमार्क उस चीज़ को नहीं माप रहा था जिसे मापने का उसने दावा किया था।
00:05:25और आप अभी भी 35,000 गुना घूमते हुए देखेंगे।
00:05:29वह मैट्रिक्स गुणन से आता है।
00:05:31लेकिन वे जिसकी तुलना कर रहे हैं वह यह है,
00:05:34एक तरफ, एक पूरी तरह से सन्निहित, समानांतर, टाइल वाला मोजो कार्यान्वयन।
00:05:40दूसरी तरफ, एक शुद्ध पाइथन ट्रिपल लूप।
00:05:44हाँ, एक ट्रिपल लूप।
00:05:45NumPy नहीं, केवल एक नेस्टेड लूप जिसका उपयोग पृथ्वी पर कोई भी वास्तव में नहीं करेगा।
00:05:49तो मुझे 35,000 गुना तेज़ चीज़ की परवाह नहीं है।
00:05:52मैं इस मशीन से नंबर चाहता था।
00:05:54मैं शुद्ध पाइथन के मुकाबले M4 Pro पर हूँ।
00:05:57शुद्ध पाइथन के मुकाबले, 26.5 गुना तेज़।
00:06:00NumPy के मुकाबले, प्रति ऑपरेशन, लगभग दो गुना तेज़।
00:06:05अब, स्पष्ट रूप से, 26 68,000 नहीं है।
00:06:08लेकिन 26 गुना अभी भी एक अच्छा नंबर है क्योंकि NumPy के नीचे पहले से ही C है।
00:06:14उस बिंदु पर, आप वास्तव में पाइथन को हरा नहीं रहे हैं।
00:06:16आप बेहतर मेमोरी व्यवहार के साथ C को हरा रहे हैं।
00:06:19और मोजो के बारे में यही निराशाजनक बात है।
00:06:21लेकिन प्रदर्शन वास्तव में सबसे बड़ा कारण नहीं है जिससे मैं आज मोजो का उपयोग करने में संकोच करूँगा।
00:06:25मैंने इसके साथ पहले खेला है।
00:06:27मैं आज इसे यहाँ चला रहा हूँ।
00:06:28बड़ी बात यह है कि स्थिर।
00:06:30अब, यह कितना स्थिर है?
00:06:32क्योंकि मोजो 1.0 41 अस्थिर एपीआई चेतावनियों के साथ आता है, जिसमें int, print और len, कोर बिल्ट-इन शामिल हैं।
00:06:40उन्हें तथाकथित स्थिरता रिलीज़ के भीतर अस्थिर के रूप में चिह्नित किया गया था।
00:06:45और उसी दिन मोजो ने वादा किया कि आपका कोड टूटेगा नहीं, FN कीवर्ड को हटाने से लगभग 39 पैकेज इकोसिस्टम टूट गए।
00:06:52अब, FN कीवर्ड जो मोजो के काम करने के तरीके में बहुत बड़ा था, पूरी तरह से हटा दिया गया है।
00:06:58कोई FC प्रक्रिया नहीं।
00:06:59और जबकि कंपाइलर अब ओपन सोर्स है, वे अभी इसके लिए योगदान स्वीकार नहीं कर रहे हैं।
00:07:04तो मोजो 1.0 स्थिर है, मेरा अनुमान है।
00:07:07लेकिन शायद उतना स्थिर नहीं जितना वे कह रहे हैं।
00:07:09जो हमें एकमात्र ऐसे प्रश्न पर लाता है जो वास्तव में मायने रखता है।
00:07:12क्या आपको इसका उपयोग करना चाहिए?
00:07:13अब, यदि आप GPU कर्नेल, CUDA, Triton, उस दुनिया को लिखते हैं, तो मुझे लगता है कि Mojo निश्चित रूप से एक या दो दिन के लायक है।
00:07:21CPU और GPU में एक भाषा, और मैंने एक लैपटॉप पर एक काम करने वाला GPU कर्नेल संकलित किया है।
00:07:27ऐसा कुछ और नहीं है जो ऐसा करता हो।
00:07:29लेकिन इसमें अभी भी बढ़ने के लिए बहुत गुंजाइश है।
00:07:31इसलिए मैं अभी किसी भी तरह से इसे प्राथमिकता नहीं दूंगा।
00:07:35तीन साल पहले, मोजो के खिलाफ तर्क काफी सरल था।
00:07:38कूल नई भाषा, लेकिन इसका उपयोग कौन करने जा रहा है?
00:07:40यह एक स्टार्टअप से एक बंद भाषा थी जो डेवलपर्स से इस पर सब कुछ दांव पर लगाने के लिए कह रही थी।
00:07:44आज, कंपाइलर Apache 2.0 है।
00:07:47भाषा 1.0 है।
00:07:48और वह स्टार्टअप अब क्वालकॉम का हिस्सा है।
00:07:51मैं बेटरस्टैक से जोश हूँ।
00:07:53यदि आप इस तरह के कोडिंग टिप्स और ट्रिक्स का आनंद लेते हैं, तो सब्सक्राइब करना न भूलें।
00:07:56हम आपको दूसरे वीडियो में मिलेंगे।
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기