سپارس سرکٹس کے ذریعے نیورل نیٹ ورکس کو سمجھنا
ہم نے ماڈلز کو آسان اور زیادہ قابل سراغی اقدامات میں سوچیں کی تربیت دی تاکہ ہم بہتر طور پر سمجھ سکیں کہ وہ کیسے کام کرتے ہیں۔
نیورل نیٹ ورکس آج کے سب سے زیادہ قابل AI سسٹمز کو تقویت دیتے ہیں، لیکن ان کو سمجھنا مشکل رہتا ہے۔ ہم ان ماڈلز کو واضح، مرحلہ وار ہدایات کے ساتھ نہیں لکھتے ہیں۔ اس کے بجائے، وہ اربوں اندرونی رابطوں، یا "وزن" کو ایڈجسٹ کر کے سیکھتے ہیں، جب تک کہ وہ کسی ٹاسک میں مہارت حاصل نہ کر لیں۔ ہم تربیت کے اصولوں کو ڈیزائن کرتے ہیں، لیکن وہ مخصوص رویے نہیں جو ان سے ابھرتے ہیں، اور اس کا نتیجہ رابطوں کے ایک گھنے جال کی صورت میں ہے جسے کوئی بھی انسان باآسانی سمجھ نہیں سکتا۔
جب AI سسٹمز زیادہ قابل ہو جاتے ہیں اور سائنس، تعلیم، اور صحت کی نگہداشت کے فیصلوں پر حقیقی دنیا میں اثرات مرتب کرتے ہیں، تو یہ سمجھنا از حد ضروری ہے کہ وہ کیسے کام کرتے ہیں۔ وضاحت پذیری سے مراد وہ طریقے ہیں جو ہمیں یہ سمجھنے میں مدد دیتے ہیں کہ کسی ماڈل نے ایک مخصوص آؤٹ پٹ کیوں پیدا کی۔ بہت سے طریقے ہیں جن سے ہم یہ حاصل کر سکتے ہیں۔
مثال کے طور پر، استدلالی ماڈلز کو حتمی جواب تک پہنچنے کے راستے میں اپنے کام کی وضاحت کرنے کی ترغیب دی جاتی ہے۔ سوچ کی تشریح کے سلسلہ کے انداز کے طرز عمل کی نگرانی کے لئے ان وضاحتوں کا فائدہ اٹھاتا ہے۔ یہ فوری طور پر مفید ہے: موجودہ استدلال کے ماڈلز کی سوچ کی زنجیریں دھوکہ دہی جیسے طرزعمل کے حوالے سے معلوماتی محسوس ہوتی ہیں۔ تاہم، اس پراپرٹی پر مکمل انحصار کرنا ایک کمزور حکمت عملی ہے، اور یہ وقت کے ساتھ ناکام ثابت ہو سکتی ہے۔
دوسری طرف، میکانیاتی تشریح پذیری، جو اس کام کی توجہ ہے، کسی ماڈل کے حسابات کو مکمل طور پر ریورس انجینئر کرنے کی کوشش کرتی ہے۔ یہ اب تک فوری طور پر کم مفید رہا ہے، لیکن اصولی طور پر، ماڈل کے طرز عمل کی زیادہ مکمل وضاحت پیش کر سکتا ہے۔ انتہائی تفصیلی سطح پر ماڈل کے رویے کی وضاحت کرنے کی کوشش کر کے، میکانیاتی تشریح کم مفروضے کر سکتی ہے اور ہمیں زیادہ اعتماد فراہم کر سکتی ہے۔ لیکن نچلی سطح کی تفصیلات سے لے کر پیچیدہ رویوں کی وضاحت تک کا راستہ بہت طویل اور مشکل ہے۔
تشریح کئی کلیدی اہداف کو سپورٹ کرتا ہے، مثلاً بہتر نگرانی کو فعال کرنا اور غیر محفوظ یا حکمت عملی کے لحاظ سے غلط سلوک کی ابتدائی انتباہی علامات فراہم کرنا۔ یہ ہماری دیگر حفاظتی کوششوں کی بھی تکمیل کرتا ہے، جیسے توسیع پذیر نگرانی، مخالفانہ تربیت، اور ریڈ ٹیمنگ۔
اس کام میں، ہم یہ ظاہر کرتے ہیں کہ ہم اکثر ماڈلز کو ایسے طریقوں سے تربیت دے سکتے ہیں جن سے ان کی تشریح کرنا آسان ہو جاتا ہے۔ ہم اپنے کام کو گھنے نیٹ ورکس کے بعد از تجزیہ کے لیے ایک امید افزا تکمیل کے طور پر دیکھتے ہیں۔
یہ ایک بہت ہی بلند حوصلہ شرط ہے؛ ہمارے کام سے ہمارے سب سے طاقتور ماڈلز کے پیچیدہ رویوں کو مکمل طور پر سمجھنے تک کا ایک طویل سفر ہے۔ پھر بھی، سادہ طرز عمل کے لیے، ہمیں پتہ چلتا ہے کہ ہمارے طریقہ کار سے تربیت یافتہ نایاب ماڈلز چھوٹے، الگ الگ سرکٹس ہوتے ہیں جو سمجھنے میں آسان اور طرزعمل کو انجام دینے کے لیے کافی ہیں۔ اس سے پتہ چلتا ہے کہ بڑے نظاموں کی تربیت کی طرف ایک قابل سراغ راستہ ہو سکتا ہے جس کے طریقہ کار ہم سمجھ سکتے ہیں۔
پچھلی میکانیاتی تشریحی کام گھنے، الجھے ہوئے نیٹ ورکس سے شروع ہوا ہے، اور انہیں سلجھانے کی کوشش کی گئی ہے۔ ان نیٹ ورکس میں، ہر انفرادی نیورون ہزاروں دیگر نیوران سے جڑی ہوتی ہے۔ زیادہ تر نیورانز بظاہر کئی مختلف کام انجام دیتے ہیں، جس کی وجہ سے انہیں سمجھنا بظاہر ناممکن لگتا ہے۔
لیکن کیا ہوگا اگر ہم نے مزید بہت سے نیورانز کے ساتھ غیر پیچیدہ نیورل نیٹ ورک کی تربیت دی، لیکن جہاں ہر نیوران کے صرف چند درجن رابطے ہوتے ہیں؟ پھر شاید نتیجہ خیز نیٹ ورک زیادہ سادہ اور سمجھنے میں آسان ہوگا۔ یہ ہمارے کام کی مرکزی تحقیق کا محور ہے۔
اس اصول کو ذہن میں رکھتے ہوئے، ہم نے GPT‑2 جیسے موجودہ لینگویج ماڈلز سے بہت ملتے جلتے فن تعمیر والے لینگویج ماڈلز کی تربیت کی، ایک چھوٹی سی ترمیم کے ساتھ: ہم ماڈل کے وزن کی اکثریت کو صفر کرنے پر مجبور کرتے ہیں۔ اس نے ماڈل کو اپنے نیورونز کے درمیان صرف چند ممکنہ روابط استعمال کرنے تک محدود کر دیا۔ یہ ایک سادہ سی تبدیلی ہے جس کے بارے میں ہم دلیل دیتے ہیں کہ یہ ماڈل کی اندرونی حسابات کو کافی حد تک الگ کر دیتی ہے۔
عام گھنے نیورل نیٹ ورکس میں، ہر نیوران اگلی تہہ میں ہر نیوران سے منسلک ہوتا ہے۔ ہمارے کم کثافت والے ماڈلز میں، ہر نیورون اگلی تہہ کی پرت میں صرف چند نیوران سے جڑتا ہے۔ ہم امید کرتے ہیں کہ اس سے نیوران اور مجموعی طور پر نیٹ ورک کو سمجھنا آسان ہو جائے۔
ہم یہ پیمائش کرنا چاہتے ہیں کہ ہمارے نایاب ماڈلز کے حسابات کس حد تک الگ ہیں۔ ہم نے مختلف سادہ ماڈلز کے رویوں پر غور کیا، اور یہ جانچنے کی کوشش کی کہ آیا ہم ہر رویے کے ذمہ دار ماڈل کے حصوں کو الگ کر سکتے ہیں، جنہیں ہم سرکٹس کہتے ہیں۔
ہم نے سادہ الگورتھمک ٹاسکس کا ایک مجموعہ خود تیار کیا۔ ہر ایک کے لیے، ہم نے ماڈل کو اس چھوٹے ترین سرکٹ تک محدود کر دیا جو اب بھی ٹاسک انجام دے سکتا ہے، اور جانچا کہ وہ سرکٹ کتنا سادہ ہے۔ (تفصیلات کے لئے، ہمارا تحقیقی مقالہ(نئی ونڈو میں کھلتا ہے) دیکھیں۔) ہم نے یہ پایا کہ بڑے اور کم کثافت والے ماڈلز کی تربیت کر کے، ہم زیادہ قابل ماڈلز کو زیادہ سادہ سرکٹس کے ساتھ تیار کر سکتے ہیں۔
ہم ماڈلز میں تشریحی صلاحیت بمقابلہ قابلیت کی منصوبہ بندی کرتے ہیں (نیچے بائیں بہتر ہے)۔ ایک مقررہ اسپارس ماڈل سائز کے لیے، اسپارسٹی میں اضافہ—زیادہ وزن کو صفر پر سیٹ کرنا—صلاحیت کو کم کرتا ہے لیکن وضاحت کو بڑھاتا ہے۔ ماڈل کے سائز کو بڑھانا اس حد کو باہر کی طرف منتقل کرتا ہے، یہ تجویز کرتا ہے کہ ہم بڑے ماڈلز بنا سکتے ہیں جو قابل اور قابل تشریح ہوں۔
اس کو واضح کرنے کے لئے، ایک ایسے ٹاسک پر غور کریں جہاں Python کوڈ پر تربیت یافتہ ماڈل کو صحیح قسم کے کوٹ کے ساتھ ایک سٹرنگ مکمل کرنا ہو۔ Python میں، 'hello' کا اختتام ایک سنگل کوٹ کے ساتھ ہونا چاہیے، اور "hello" کا اختتام ڈبل کوٹ کے ساتھ ہونا چاہیے۔ ماڈل اس کو یاد رکھتے ہوئے حل کرسکتا ہے کہ کس کوٹ ٹائپ نے سٹرنگ کو کھولا ہے اور آخر میں اسے دوبارہ تیار کر کے ازالہ کر سکتا ہے۔
ہمارے سب سے زیادہ قابل تشریح ماڈلز میں الگ الگ سرکٹس شامل نظر آتے ہیں جو بالکل اسی الگورتھم کو نافذ کرتے ہیں۔

ایک سپارس ٹرانسفارمر میں مثال سرکٹ جو پیش گوئی کرتا ہے کہ آیا کسی سٹرنگ کو سنگل یا ڈبل کوٹ میں ختم کرنا ہے۔ اس سرکٹ میں صرف پانچ بقایا چینلز (عمودی سرمئی لائنیں)، پرت 0 میں دو MLP نیوران، اور پرت 10 میں ایک توجہ کوئری-کلید چینل اور ایک ویلیو چینل استعمال ہوتا ہے۔ ماڈل (1) ایک بقیہ چینل میں سنگل کوٹس اور دوسرے میں ڈبل کوٹس کو انکوڈ کرتا ہے؛ (2) MLP پرت کو استعمال کرتے ہوئے اسے ایک چینل میں تبدیل کرتا ہے جو کسی بھی کوٹ کا پتہ لگاتا ہے اور دوسرا جو سنگل اور ڈبل کوٹس کے درمیان درجہ بندی کرتا ہے؛ (3) توجہ کے عمل کا استعمال کرتے ہوئے مداخلت کرنے والے ٹوکنز کو نظرانداز کرتا ہے، پچھلے کوٹ کو تلاش کرتا ہے، اور اس کی قسم کو حتمی ٹوکن میں کاپی کرتا ہے؛ اور (4) میچ کرنے والے بند کرنے والے کوٹ کی پیشگوئی کرتا ہے۔
ہماری تعریف کے مطابق، اوپر دکھائے گئے درست روابط ٹاسک انجام دینے کے لیے کافی ہیں—اگر ہم باقی ماڈل کو ہٹانا، تو یہ چھوٹا سرکٹ اب بھی کام کرتا ہے۔ یہ بھی ضروری ہیں–ان چند کناروں کو حذف کرنے سے ماڈل ناکام ہو جاتا ہے۔
ہم نے کچھ مزید پیچیدہ طرز عمل پر بھی غور کیا۔ ان طرزعمل کے لیے ہمارے سرکٹس (مثال کے طور پر ذیل میں دکھایا گیا متغیر بائنڈنگ) کو مکمل طور پر وضاحت کرنا مشکل ہے۔ اس کے باوجود، ہم اب بھی نسبتاً سادہ جزوی وضاحتیں حاصل کر سکتے ہیں جو ماڈل کے طرزعمل کی پیش گوئی کرتی ہیں۔
ایک اور مثال سرکٹ، کم تفصیل کے ساتھ۔ متغیر کی قسم کا تعین کرنے کے لیے، جسے کرنٹ کہا جاتا ہے، ایک توجہ آپریشن، متغیر کے نام کو سیٹ() ٹوکن میں کاپی کرتا ہے، جب یہ متعین کر دیا جاتا ہے، اور بعد میں ایک اور آپریشن سیٹ() ٹوکن سے قسم کو متغیر کے بعد کے استعمال میں کاپی کرتا ہے، جس سے ماڈل کو صحیح اگلا ٹوکن اخذ کرنے کی اجازت ملتی ہے۔
یہ کام ایک بڑے مقصد کی طرف ایک ابتدائی قدم ہے: جو ماڈل کے حسابات کو سمجھنے میں آسان بناتا ہے۔ لیکن، ابھی بھی بہت طویل سفر طے کرنا باقی ہے۔ ہمارے کم کثافت والے ماڈلز سرحدی ماڈلز سے بہت چھوٹے ہیں، اور ان کے حساب کے بڑے حصے غیر تشریح شدہ رہتے ہیں۔
اگلا، ہم امید کرتے ہیں کہ اپنی تکنیکوں کو بڑے ماڈلز تک بڑھائیں گے اور ماڈلز کے مزید طرز عمل کی وضاحت کریں گے۔ قابل اسپارس ماڈلز میں زیادہ پیچیدہ استدلال کے تحت سرکٹ کے بنیادی مقصود کی گنتی کر کے، ہم ایک ایسی تفہیم تیار کر سکتے ہیں جو ہمیں فرنٹیئر ماڈلز کی تحقیقات کو بہتر طور پر ہدف بنانے میں مدد دے۔
نایاب ماڈلز کی تربیت کی بے استعدادی پر قابو پانے کے لیے، ہم آگے دو راستے دیکھتے ہیں۔ ایک یہ ہے کہ غیر معمولی ماڈلز کو شروع سے تربیت دینے کے بجائے، موجودہ گھنے ماڈلز سے نکالنا ہے۔ گھنے ماڈلز بنیادی طور پر نایاب ماڈلز کے مقابلے میں تعیناتی کے لئے زیادہ مؤثر ہیں۔ دوسرا راستہ یہ ہے کہ تشریح کے لیے ماڈلز کو تربیت دینے کے لیے زیادہ مؤثر تکنیکیں تیار کی جائیں، جو پیداوار میں لگانا آسان ہو سکتی ہیں۔
یہ نوٹ کریں کہ یہاں ہمارے نتائج اس بات کی ضمانت نہیں دیتی کہ یہ طریقہ زیادہ قابل نظاموں تک پہنچے گا، لیکن یہ ابتدائی نتائج امید افزا ہیں۔ ہمارا مقصد یہ ہے کہ ہم آہستہ آہستہ اس بات کو وسعت دیں کہ ہم ماڈل کے کس حصے کی قابل اعتماد طریقے سے ترجمانی کر سکتے ہیں اور ایسے وسائل تیار کریں جو مستقبل کے نظاموں کا تجزیہ، ازالہ کاری کریں اور تشخیص کرنے میں آسان بنائیں۔
مصنفین
Leo Gao، Achyuta Rajaram، Jacob Coxon، Soham V. Govande، Bowen Baker، Dan Mossing


