Data Version Control (software)
ڈی وی سی ڈیٹا، مشین لرننگ ماڈل اور تجربات کے لیے ایک مفت اور اوپن سورس، پلیٹ فارم اگنوسٹک ورژن سسٹم ہے۔ یہ ایم ایل ماڈلز کو شیئر کرنے کے قابل بنانے، تجربات کو دوبارہ پیش کرنے کے قابل بنانے اور ماڈلز، ڈیٹا اور پائپ لائنز کے ورژن کو ٹریک کرنے کے لیے ڈیزائن کیا گیا ہے۔ ڈی وی سی گٹ ریپوزیٹریز اور کلاؤڈ اسٹوریج کے اوپر کام کرتا ہے۔ ڈی وی سی 0.6 کا پہلا (بیٹا) ورژن مئی 2017 میں لانچ کیا گیا تھا۔ مئی 2020 میں، ڈی وی سی 1 کو عوامی طور پر Iterative.ai کے ذریعے جاری کیا گیا تھا۔ جائزہ ڈی وی سی کو مشین لرننگ ورک فلو میں سافٹ ویئر ڈویلپمنٹ کے بہترین طریقوں کو شامل کرنے کے لیے ڈیزائن کیا گیا ہے۔ یہ ڈیٹا سیٹس اور مشین لرننگ ماڈلز کے لیے کلاؤڈ اسٹوریج کے ذریعے روایتی سافٹ ویئر ٹول گٹ کو بڑھا کر ایسا کرتا ہے۔ خاص طور پر، ڈی وی سی مشین لرننگ آپریشنز کرتا ہے: کوڈفائیڈ: یہ کلاؤڈ اسٹوریج میں ڈیٹا فائلوں کے لیے پوائنٹروں کو محفوظ کرکے ڈیٹا سیٹس اور ماڈلز کو کوڈفائی کرتا ہے۔ تولید پذیر: یہ صارفین کو تجربات کو دوبارہ پیش کرنے اور خام ڈیٹا سے ڈیٹا سیٹس کو دوبارہ بنانے کی اجازت دیتا ہے۔ یہ خصوصیات ڈیٹا سیٹس کی تعمیر، ایم ایل ماڈلز کی تربیت، تشخیص اور تعیناتی کو خودکار بنانے کی بھی اجازت دیتی ہیں۔ ڈی وی سی اور گٹ ڈی وی سی بڑی فائلوں اور ڈیٹا سیٹس کو گٹ کے باہر علیحدہ اسٹوریج میں محفوظ کرتے ہیں۔ یہ اسٹوریج صارف کے کمپیوٹر پر ہو سکتی ہے یا کسی بڑے کلاؤڈ اسٹوریج فراہم کنندہ، جیسے اے ڈبلیو ایس ایس 3، گوگل کلاؤڈ اسٹوریج، اور مائیکروسافٹ ایزور بلب اسٹوریج پر ہوسٹ کی جا سکتی ہے۔ ڈی وی سی صارفین کسی بھی سرور پر ریموٹ ریپوزیٹری بھی ترتیب دے سکتے ہیں اور اس سے دور سے منسلک ہو سکتے ہیں۔ جب کوئی صارف اپنا ڈیٹا اور ماڈل ریموٹ ریپوزیٹری میں محفوظ کرتا ہے، تو ٹیکسٹ فائل ان کے گٹ ریپوزیٹری میں بنائی جاتی ہے جو ریموٹ اسٹوریج میں موجود اصل ڈیٹا کی طرف اشارہ کرتی ہے۔ ڈی وی سی کی خصوصیات کو تین زمروں میں تقسیم کیا جا سکتا ہے: ڈیٹا مینجمنٹ، پائپ لائنز، اور تجرباتی ٹریکنگ۔ ڈیٹا مینجمنٹ ڈیٹا اور ماڈل ورژننگ بڑی فائلوں، ڈیٹا سیٹس اور مشین لرننگ ماڈلز کے لیے ڈی وی سی کی بنیادی پرت ہے۔ یہ معیاری گٹ ورک فلو کے استعمال کی اجازت دیتا ہے، لیکن ان فائلوں کو ذخیرہ کرنے کی ضرورت کے بغیر۔ بڑی فائلیں، ڈائریکٹریز اور ایم ایل ماڈلز کو چھوٹی میٹا فائلوں سے تبدیل کیا جاتا ہے، جو بدلے میں اصل ڈیٹا کی طرف اشارہ کرتی ہیں۔ ڈیٹا کو الگ سے محفوظ کیا جاتا ہے، جس سے ڈیٹا سائنسدانوں کو بڑے ڈیٹا سیٹس منتقل کرنے یا کسی ماڈل کو دوسروں کے ساتھ شیئر کرنے کا موقع ملتا ہے۔ ڈی وی سی کوڈیفیکیشن کے ذریعے ڈیٹا ورژننگ کو قابل بناتا ہے۔ جب کوئی صارف میٹا فائلز بناتا ہے، جس میں یہ بیان کیا جاتا ہے کہ کون سے ڈیٹا سیٹ، ایم ایل نمونے اور ٹریک کرنے کے لیے دیگر خصوصیات ہیں، تو ڈی وی سی ڈیٹا اور ماڈلز کے ورژن حاصل کرنا، سنیپ شاٹس سے تخلیق اور بحال کرنا، ارتقا پذیر میٹرکس ریکارڈ کرنا، ورژن کے درمیان تبدیلی وغیرہ ممکن بناتا ہے۔ ڈیٹا فائلوں اور ڈائریکٹریز کے منفرد ورژن کو منظم طریقے سے کیش کیا جاتا ہے (فائل کی نقل کو بھی روکتا ہے)۔ کام کرنے والے ڈیٹا اسٹور کو پروجیکٹ کو ہلکا رکھنے کے لیے صارف کے کام کی جگہ سے الگ کیا جاتا ہے، لیکن ڈی وی سی کے ذریعے خود بخود ہینڈل کیے جانے والے فائل لنکس کے ذریعے منسلک رہتا ہے۔ پائپ لائنز ڈی وی سی پائپ لائنز کی وضاحت اور ان پر عمل درآمد کے لیے ایک طریقہ کار فراہم کرتی ہے۔ پائپ لائنز ایم ایل ڈیٹا سیٹس اور ماڈلز کی تعمیر کے عمل کی نمائندگی کرتی ہیں، ڈیٹا کو کس طرح پہلے سے پروسیس کیا جاتا ہے اس سے لے کر ماڈلز کی تربیت اور تشخیص تک۔ پائپ لائنز کو ماڈلز کو پیداواری ماحول میں تعینات کرنے کے لیے بھی استعمال کیا جا سکتا ہے۔ ڈی وی سی پائپ لائن ایم ایل عمل کے تجرباتی مرحلے پر مرکوز ہے۔ صارفین پائپ لائن کے ساتھ گٹ ریپوزیٹری کی کلوننگ کرکے یا ایم ایل تجربات چلا کر ڈی وی سی پائپ لائن کی متعدد کاپیاں چلا سکتے ہیں۔ وہ ورک فلو کو پائپ لائن کے طور پر بھی ریکارڈ کر سکتے ہیں، اور مستقبل میں اسے دوبارہ پیش کر سکتے ہیں۔ پائپ لائنز کو کوڈ میں یامل کنفیگریشن فائلوں کے طور پر پیش کیا جاتا ہے۔ یہ فائلیں پائپ لائن کے مراحل کی وضاحت کرتی ہیں اور یہ کہ ڈیٹا اور معلومات ایک قدم سے دوسرے قدم تک کیسے بہتی ہیں۔ جب کوئی پائپ لائن چلائی جاتی ہے تو اس پائپ لائن سے تیار کردہ نمونے ایک dvc.lock فائل میں درج ہوتے ہیں۔ لاک فائل ان مراحل کو ریکارڈ کرتی ہے جو چلائے گئے تھے، اور ہر مرحلے کے نتیجے میں آؤٹ پٹ کا ہیش اسٹور کرتا ہے۔ یہ نہ صرف پائپ لائن کے نفاذ کا ریکارڈ ہے، بلکہ یہ فیصلہ کرتے وقت بھی مفید ہے کہ پائپ لائن کے بعد کے نفاذ پر کون سے اقدامات کو دوبارہ چلانا ضروری ہے۔ تجرباتی ٹریکنگ تجربہ ٹریکنگ ڈویلپرز کو مختلف مشین لرننگ تجربات کو تلاش کرنے، دہرانے اور موازنہ کرنے کی اجازت دیتا ہے۔ ہر تجربہ ڈیٹا سائنس پروجیکٹ کی ایک تغیر کی نمائندگی کرتا ہے جس کی وضاحت کام کی جگہ میں ہونے والی تبدیلیوں سے ہوتی ہے۔ تجربات موجودہ شاخ (Git HEAD) میں ان کے والدین یا بیس لائن کے طور پر عزم کا ایک لنک برقرار رکھتے ہیں۔ تاہم، وہ باقاعدہ گٹ ٹری کا حصہ نہیں بنتے (جب تک کہ انہیں مستقل نہ بنایا جائے)۔ یہ عارضی وعدوں اور شاخوں کو صارف کے ذخیرے کے بہاؤ سے روکتا ہے۔ تجربات کے لیے عام استعمال کے معاملات یہ ہیں: ماڈل آرکیٹیکچرز کا موازنہ تربیت یا تشخیصی ڈیٹا سیٹس کا موازنہ ماڈل ہائپر پیرامیٹرز ڈی وی سی تجربات کا انتخاب یا تو وی ایس کوڈ آئی ڈی ای سے یا آن لائن آئیٹریٹو اسٹوڈیو کا استعمال کرتے ہوئے منظم اور تصور کیا جا سکتا ہے۔ تصور ہر صارف کو تجرباتی نتائج کا بصری طور پر موازنہ کرنے، پلاٹ کو ٹریک کرنے اور لائبریری انضمام کے ساتھ انہیں تیار کرنے کی اجازت دیتا ہے۔ ڈی وی سی باقاعدہ ورک فلو میں ویژولائزیشن کو استعمال کرنے کے لیے کئی اختیارات پیش کرتا ہے: ڈی وی سی ایچ ٹی ایم ایل فائلیں تیار کر سکتا ہے جس میں جے ایس او این، وائی اے ایم ایل، سی ایس وی، یا ٹی ایس وی فارمیٹ میں ڈیٹا سیریز سے انٹرایکٹو پلاٹ شامل ہیں۔ ڈی وی سی ٹریننگ/ایویلیوایشن اسکرپٹ سے پلاٹ آؤٹ پٹ کے طور پر تیار کردہ امیج فائلوں کا سراغ لگا سکتا ہے۔ ڈی وی سی لائیو انٹیگریشن ٹریننگ کے دوران خود بخود پلاٹ تیار کر سکتی ہے۔ ڈی وی سی بمقابلہ کوڈ ایکسٹینشن 2022 میں، آئیٹریٹو نے ویژول اسٹوڈیو کوڈ (وی ایس کوڈ) کے لیے ایک مفت ایکسٹینشن جاری کیا، جو مائیکروسافٹ کا بنایا ہوا سورس کوڈ ایڈیٹر ہے، جو وی ایس کوڈ صارفین کو اپنے ایڈیٹرز میں اضافی یوزر انٹرفیس فعالیت کے ساتھ ڈی وی سی استعمال کرنے کی صلاحیت فراہم کرتا ہے۔ 2017 میں، ڈی وی سی 0.6 کا پہلا (بیٹا) ورژن عوامی طور پر جاری کیا گیا تھا (ایک سادہ کمانڈ لائن ٹول کے طور پر)۔ اس نے ڈیٹا سائنسدانوں کو اپنے مشین لرننگ کے عمل اور فائل کے انحصار پر جیٹ جیسی کمانڈوں کی سادہ شکل میں نظر رکھنے کی اجازت دی۔ اس نے انہیں موجودہ مشین لرننگ کے عمل کو دوبارہ پیش کرنے کے قابل ڈی وی سی پائپ لائنوں میں تبدیل کرنے کی بھی اجازت دی۔ ڈی وی سی 0.0 نے مشین لرننگ انجینئرز اور ڈیٹا سائنسدانوں کو درپیش زیادہ تر عام مسائل کو حل کیا: مشین لرننگ تجربات کی تولید کے ساتھ ساتھ ڈیٹا ورژننگ اور ٹیموں کے درمیان تعاون کی کم سطح۔ مائیکروسافٹ کے سابق ڈیٹا سائنسدان دمتری پیٹروف کے ذریعہ تخلیق کردہ، ڈی وی سی کا مقصد بہترین موجودہ سافٹ ویئر ڈویلپمنٹ کے طریقوں کو مشین لرننگ آپریشنز میں ضم کرنا ہے۔ 2018 میں دمتری پیٹروف نے ایک انجینئر اور کاروباری شخص ایوان شیکلین کے ساتھ مل کر Iterative.ai کی بنیاد رکھی، جو ایک ایم ایل اوپس کمپنی ہے جس نے ڈی وی سی کی ترقی کو جاری رکھا۔ ڈی وی سی کے علاوہ، Iterative.ai اوپن سورس ٹولز جیسے سی ایم ایل، ایم ایل ای ایم، اور اسٹوڈیو کے پیچھے بھی ہے، جو اوپن سورس ٹولز کا انٹرپرائز ورژن ہے۔ جون 2020 میں، Iterative.ai ٹیم نے ڈی وی سی 1 جاری کیا۔ کمیونٹی کی طرف سے بات چیت اور تعاون کے نتیجے میں ملٹی اسٹیج ڈی وی سی فائلیں، رن کیش، پلاٹس، ڈیٹا ٹرانسفر آپٹیمائزیشن، ہائپر پیرامیٹر ٹریکنگ، اور مستحکم ریلیز سائیکل جیسی نئی خصوصیات شامل کی گئیں۔ مارچ 2021 میں، ڈی وی سی نے ڈی وی سی 2 جاری کیا، جس نے ایم ایل تجربات (تجرباتی انتظام)، ماڈل چیک پوائنٹس اور میٹرکس لاگنگ متعارف کروائے۔ ایم ایل تجربات: گٹ اوور ہیڈ کے مسئلے کو حل کرنے کے لیے، جب سینکڑوں تجربات کو ایک ہی دن میں چلانے کی ضرورت ہوتی ہے اور ہر تجربے کو چلانے کے لیے اضافی گٹ کمانڈز کی ضرورت ہوتی ہے، تو ڈی وی سی 2 نے ہلکے وزن کے تجربات کی خصوصیت متعارف کرائی۔ یہ اپنے صارفین کو ایم ایل تجربات کو آٹو ٹریک کرنے اور کوڈ کی تبدیلیوں کو حاصل کرنے کی اجازت دیتا ہے۔ اس نے ڈیٹا ورژن کو گٹ میں میٹا ڈیٹا کے طور پر محفوظ کرکے اضافی خدمات پر انحصار کو ختم کر دیا، بجائے اس کے کہ اسے بیرونی ڈیٹا بیس یا اے پی آئی میں منتقل کر دیا جائے۔ ایم ایل ماڈل چیک پوائنٹس ورژننگ: نئی ریلیز متعلقہ کوڈ اور ڈیٹا کے ساتھ تمام چیک پوائنٹس کے ورژننگ کو بھی قابل بناتی ہے۔ میٹرکس لاگنگ: ڈی وی سی 2 نے ایک نئی اوپن سورس لائبریری ڈی وی سی-لائیو متعارف کرائی جو ماڈل میٹرکس کو ٹریک کرنے اور میٹرکس کو اس طرح منظم کرنے کے لیے فعالیت فراہم کرے گی کہ ڈی وی سی گٹ ہسٹری میں نیویگیشن کے ساتھ تصور کر سکے۔ ڈی وی سی کے متبادل حل کئی اوپن سورس پروجیکٹس ہیں جو ڈی وی سی کو اسی طرح کے ڈیٹا ورژن کنٹرول کی صلاحیتیں فراہم کرتے ہیں، جیسے: گٹ ایل ایف ایس، ڈولٹ، اور لیک ایف ایس۔ یہ منصوبے ڈیٹا انجینئرز اور ڈیٹا سائنسدانوں کی مختلف ضروریات کے مطابق مختلف ہوتے ہیں جیسے: اسکیل ایبلٹی، سپورٹڈ فائل فارمیٹس، ٹیبلولر ڈیٹا میں سپورٹ اور غیر ساختہ ڈیٹا، سپورٹڈ ڈیٹا کا حجم، اور بہت کچھ۔ حوالہ جات بیرونی روابط اپاچی لائسنس ازگر (پروگرامنگ زبان) لائبریریوں ازگر (پروگرامنگ زبان) سافٹ ویئر ڈیٹا مائننگ اور مشین لرننگ سافٹ ویئر 2017 سافٹ ویئر کا استعمال کرتے ہوئے ازگر سافٹ ویئر میں پروگرام کردہ مفت سافٹ ویئر