کیا آپ نے کبھی تیز اور زیادہ موثر ایپس بنانے کی خواہش کی ہے ابھی تک یہ دریافت کیا ہے کہ معیاری پروگرامنگ زبانیں آپ کی ضروریات کو پورا کرنے سے قاصر ہیں؟
یہ تب ہوتا ہے جب موجو زبان کھیل میں آتی ہے۔
موجو ایک نئی پروگرامنگ زبان ہے جسے تیار کیا گیا ہے۔ ماڈیولر، ایک کمپنی جو AI انفراسٹرکچر میں مہارت رکھتی ہے۔
یہ خاص طور پر ڈیولپرز کو AI ڈیولپمنٹ سمیت متعدد استعمال کے معاملات کے لیے تیز اور زیادہ مضبوط ایپس بنانے کے قابل بنانے کے لیے ڈیزائن کیا گیا ہے۔ اس پوسٹ میں، ہم کیا دیکھیں گے موجو ہے، یہ کیسے کام کرتا ہے، اور آپ کو اسے اپنے اگلے پروجیکٹ پر کیوں استعمال کرنا چاہیے۔
موجو کی اصلیت
موجو کے تخلیق کاروں نے ایک پروگرامنگ لینگویج کی ضرورت کو تسلیم کیا جو C کی رفتار اور کارکردگی کے ساتھ Python کے استعمال کو یکجا کرے۔
اور، انہوں نے ایک ایسی زبان قائم کی جو ڈویلپرز کو معیاری ہارڈ ویئر کی وضاحت کی زبانیں سیکھے بغیر اعلیٰ کارکردگی والے ایپس بنانے کی اجازت دے گی۔
نتیجے کے طور پر، انہوں نے موجو بنایا، جس کا مقصد C-سطح کی رفتار فراہم کرتے ہوئے Python ماحولیاتی نظام کے ساتھ مکمل طور پر ہم آہنگ ہونا ہے۔
ماڈیولر: موجو زبان کے پیچھے تنظیم
تو، اس مستقبل کی زبان کے تخلیق کار کون ہیں؟
ماڈیولر کرس لیٹنر اور ٹم ڈیوس کے ذریعہ تخلیق کیا گیا ایک عالمی سطح کا AI انفراسٹرکچر اسٹارٹ اپ ہے، جو گوگل میں ملے اور محسوس کیا کہ بہت زیادہ پیچیدہ اور بکھرا ہوا انفراسٹرکچر AI کے عالمی اثر کو محدود کر رہا ہے۔
ماڈیولر کا مقصد اور مقصد انسانیت کو بڑھانے کے لیے AI انفراسٹرکچر پر نظر ثانی کرنا ہے۔ ان کی ثقافت اور اصول کلائنٹس، اعلیٰ معیار کے پروڈکشن سافٹ ویئر، اور بامعنی نتائج کی فراہمی پر ایک پریمیم رکھتے ہیں۔
موجو کے مقاصد
موجو کو مشین لرننگ ایکسلریٹر کے لیے ایک منفرد پروگرامنگ ماڈل فراہم کرنے کے لیے ڈیزائن کیا گیا تھا۔
ماڈیولر نے طے کیا کہ موجو کو عام مقصد کے پروگرامنگ کی اجازت دینی چاہئے کیونکہ آج کے CPUs میں ٹینسر اور دیگر AI ایکسلریٹر ہیں۔ مزید برآں، چونکہ Python بڑے پیمانے پر مشین لرننگ اور دیگر شعبوں میں استعمال ہوتا ہے، Modular نے Python ایکو سسٹم میں شامل ہونے کا انتخاب کیا۔
Python کے استعمال نے زبان کے ڈیزائن کو مزید آسان کر دیا۔ چونکہ نحو کی اکثریت کا تعین پہلے ہی کر دیا گیا تھا، کارپوریشن اس کے بجائے تالیف کا طریقہ کار بنانے اور خصوصی پروگرامنگ کی صلاحیتیں فراہم کرنے پر توجہ دے سکتی تھی۔
غور کرنے کے لیے اہم خصوصیات
پروگرام سازی
ترقی پسند اقسام
موجو لینگویج کی ترقی پسند قسم کی خصوصیت ڈویلپرز کو ٹائپ تشریحات استعمال کرنے کے قابل بناتی ہے۔ کارکردگی کو بڑھانا اور غلطی کی جانچ پڑتال.
ڈویلپرز زیادہ موثر کوڈ ڈیزائن کر سکتے ہیں جو کمپائل کے وقت غلطیوں کا پتہ لگاتا ہے، کیڑے کو ختم کرتا ہے اور کارکردگی کو بڑھاتا ہے، مزید مکمل قسم کی معلومات فراہم کر کے۔
صفر لاگت کا خلاصہ
ڈویلپرز موجو لینگویج کے ذریعہ فراہم کردہ صفر لاگت کے تجریدوں کی بدولت ڈھانچے میں ڈیٹا کو ان لائن مختص کرکے اسٹوریج کا کنٹرول حاصل کرسکتے ہیں۔
اضافی میموری مختص کرنے کی ضرورت کو ختم کرنے سے، یہ خصوصیت کوڈ کی کارکردگی کو بہتر بناتی ہے اور بوائلر پلیٹ کوڈ کی مقدار کو کم کرتی ہے۔
انٹیگریٹڈ لینگویج آٹو ٹیوننگ
موجو لینگویج میں لینگویج سے مربوط آٹو ٹیوننگ کی فعالیت ڈیولپرز کو ٹارگٹ ہارڈویئر سے فائدہ اٹھانے کے لیے پیرامیٹرز کی مثالی اقدار کا خود بخود تعین کرنے کے قابل بناتی ہے۔
اس فعالیت کے ساتھ، کوڈ کو ہر ہارڈ ویئر کے امتزاج کے لیے دستی طور پر ایڈجسٹ کیے بغیر اسے بہتر بنانا آسان ہے۔
موجو لینگویج اے آئی ڈیولپمنٹ کے لیے ایک لچکدار اور موثر ٹول ہے کیونکہ یہ ایم ایل آئی آر (ملٹی لیول انٹرمیڈیٹ ریپریزنٹیشن)، ایک متوازی متضاد رن ٹائم، اور فوری تعمیر کے اوقات کی پوری طاقت بھی فراہم کرتا ہے۔
متوازی ہونا
Mojo MLIR کا استعمال کرتا ہے، جو پروگرامرز کو AI کے لیے ویکٹر، تھریڈز اور ہارڈویئر یونٹس کو متوازی کرنے کے لیے استعمال کرنے کی اجازت دیتا ہے۔ موجو متعدد کوروں پر متوازی پروسیسنگ کی حمایت کرتا ہے جیسا کہ Python کے سنگل تھریڈڈ ایگزیکیوشن کے برخلاف ہے۔
Python پر 35,000x کی رفتار کے ساتھ، Mojo رفتار کے لحاظ سے دوسری زبانوں کو پیچھے چھوڑ دیتا ہے۔
انٹرویوبلائٹی
پورے Python ماحولیاتی نظام کے ساتھ باہمی تعاون موجو کے منفرد فوائد میں سے ایک ہے۔ اس کا مطلب یہ ہے کہ آپ Mojo کو کسی بھی صوابدیدی لائبریریوں کے ساتھ جوڑ سکتے ہیں، جیسے کہ Numpy اور Matplotlib، نیز اپنے مخصوص کوڈ کے ساتھ۔
مثال کے طور پر، آپ Python لائبریری Matplotlib کا استعمال کرتے ہوئے اپنے موجو کوڈ میں ڈیٹا کو دیکھ سکتے ہیں۔
توسیع
موجو کافی لچکدار بھی ہے، جس کی مدد سے صارفین کو ماڈلز میں پری اور پوسٹ پروسیسنگ کے مراحل کو شامل کرنے یا نئے کے لیے موجودہ اقدامات کو تبدیل کرنے کی اجازت دیتا ہے۔
اپنے ماڈلز اور ماڈیولر اسٹیک کو بہتر بنانے کے لیے، ڈویلپرز کرنل فیوژن، گراف ری رائٹ، شکل کے افعال اور دیگر تکنیکوں کا استعمال کر سکتے ہیں۔
آپ اسے ازگر پر کیوں منتخب کریں گے؟
Python اپنی لچک اور اعلیٰ کارکردگی کی مرتب شدہ لائبریریوں کی وجہ سے ایک مقبول AI ترقیاتی زبان ہے۔ تاہم، یہ C++ جیسی زبانوں کے مقابلے میں نمایاں طور پر سست ہے۔
لہذا، پروگرامرز کارکردگی کے لحاظ سے اہم علاقوں کے لیے ازگر کے استعمال سے بچنے کے لیے تیز تر زبانوں کے ارد گرد Python ریپرز استعمال کرنا سیکھتے ہیں۔
یہ دو زبانوں کے مسئلے کی طرف لے جاتا ہے، جس میں ماڈلز کو ازگر سے تیز تر عمل درآمد میں تبدیل کیا جانا چاہیے، جیسے کہ ONNX یا ٹارچ اسکرپٹ، جو Python کی تمام صلاحیتوں کی حمایت نہیں کرتا ہے۔ Python میں کارکردگی کے مسائل اور اچھی متوازی پروسیسنگ کی کمی بھی ہے۔
یہاں تک کہ تجربہ کار پروگرامرز کو بھی دو زبانوں کے مخمصے کی وجہ سے مطالعہ، ڈیبگ اور کارکردگی کے مسائل کو حل کرنے میں مشکل پیش آتی ہے۔
اس میں بنیادی پابندیاں بھی ہیں کہ زبان کی ساخت کی وجہ سے ازگر کیا کر سکتا ہے۔ اگرچہ بنیادی اجزاء کو استعمال کرنے والے الگورتھم کا حقیقی دنیا میں نفاذ آسان دکھائی دے سکتا ہے، لیکن یہ نمایاں طور پر زیادہ مشکل ہے اور تیز زبان کے استعمال کی ضرورت ہے۔
شروع کیسے کریں؟
شروع کرنے کے لیے آپ ابھی ان کے کھیل کے میدان میں موجو زبان کا استعمال شروع کر سکتے ہیں۔ JupyterHub پر مبنی پلے گراؤنڈ سبق دیتا ہے اور آپ کا اپنا Mojo کوڈ بنانے کا موقع فراہم کرتا ہے، حالانکہ Mojo پر ابھی کام جاری ہے۔
آپ کھیل کے میدان تک رسائی کے لیے ان کی ویب سائٹ پر رسائی کے لیے اندراج کر سکتے ہیں۔
اپنے کارکردگی کے اہداف تک پہنچنے کے لیے، Mojo مربوط کیشنگ، ملٹی تھریڈنگ، اور کلاؤڈ ڈسٹری بیوشن ٹیکنالوجیز کے ساتھ اگلی نسل کی کمپائلر ٹیکنالوجیز کا استعمال کرتا ہے۔
یہ سسٹم پروگرامنگ میں اضافی پرائمٹیوز کا اضافہ کرتا ہے اور وقت کے ساتھ ساتھ ازگر کا سپر سیٹ بننے کی خواہش رکھتا ہے۔ موجو کے ساتھ کوڈنگ شروع کرنے کے لیے، ٹرمینل سے موجو پروگرام کو اسی طرح چلانے کے لیے موجو کمپائلر کا استعمال کریں جس طرح ازگر کرتا ہے۔
زبان فی الحال ترقی کے مراحل میں ہے اور اس کا مقصد سسٹم پروگرامنگ میں تجربہ رکھنے والے ڈویلپرز کے لیے ہے۔
لپیٹ
موجو کو ازگر کا سپر سیٹ سمجھا جاتا ہے۔ اور، اس میں Python کی سادگی کو C++ اور Rust کی کارکردگی کے ساتھ ملا کر پروگرامنگ میں انقلاب لانے کی صلاحیت ہے۔
اس سے بھرپور فائدہ اٹھایا جا سکتا ہے۔ ازگر کی لائبریری ماحولیاتی نظام، ڈویلپرز کو بغیر C، C++، Rust، یا CUDA کی ضرورت کے اعلیٰ کارکردگی والی لائبریریاں بنانے کی اجازت دیتا ہے۔
یہ پورٹیبل کوڈ کی تیاری کو قابل بناتا ہے اس کی آٹو ٹیوننگ اور کمپائل ٹائم میٹا پروگرامنگ خصوصیات کی بدولت۔
اگرچہ یہ ابھی بھی کام جاری ہے، لیکن اس میں ایک زبردست پروگرامنگ ٹول بننے اور پروگرامنگ انڈسٹری کو تبدیل کرنے کی صلاحیت ہے۔ لہذا، ہمیں ماڈیولر سے مستقبل کی پیشرفت کے لئے دیکھتے رہنا چاہئے!
کرس سینٹوس
کیا آپ کو لگتا ہے کہ بنیادی سے انٹرمیڈیٹ علم رکھنے والا شخص اس نئی زبان میں اپنی تعلیم شروع کر سکے گا؟ یا کیا آپ پہلے کسی اور بنیادی زبان کا مطالعہ کرنے کا مشورہ دیتے ہیں، جیسے کہ Javascript یا Python؟
الکے کینڈن بینگی
ہیلو کرس، دیر سے جواب کے لیے معذرت! مجھے یقین ہے کہ موجو کے ساتھ شروع کرنے سے پہلے ازگر کی بنیادی سمجھ/تجربہ پہلے سے مددگار ثابت ہو سکتا ہے۔