پرامپٹ جوڑنا ایک سے زیادہ مختلف پرامپٹ استعمال کرنے کا تصور ہے۔ ایک ہی سوال کا جواب دیں اس کے لیے بہت سے مختلف طریقے ہیں۔
DiVeRSe ("Diverse Verifier on Reasoning Steps") ہے ایک طریقہ جو تین گنا طریقے سے جوابات کی وشوسنییتا کو بہتر بناتا ہے۔ یہ اس کے ذریعے کرتا ہے۔
DiVeRSe دیئے گئے ان پٹ کو 5 مختلف پرامپٹ استعمال کرتا ہے۔ ہر ایک پرامپٹ کی تعمیر کے لیے، وہ تصادفی طور پر تربیتی سیٹ سے چند نمونے لیں۔ یہاں ایسے ہی چند شاٹ کی ایک مثال ہے۔ پرامپٹ (k=2)، GSM8K بینچ مارک سے لیے گئے نمونوں کے ساتھ۔ عملی طور پر، DiVeRSe استعمال کرتا ہے۔ اس بینچ مارک کے پرامپٹ میں 5 مثالیں۔
`` س: نتالیہ نے اپریل میں اپنے 48 دوستوں کو کلپس فروخت کیں، اور پھر مئی میں اس نے نصف کلپس فروخت کیں۔ نتالیہ نے اپریل اور مئی میں مجموعی طور پر کتنے کلپس فروخت کیے؟ A: نتالیہ نے مئی میں 48/2 = 24 کلپس فروخت کیے۔ نتالیہ نے اپریل اور مئی میں مجموعی طور پر 48+24 = 72 کلپس فروخت کیے۔
سوال: وینگ بچوں کی دیکھ بھال کے لیے فی گھنٹہ 0.2 فی منٹ کماتا ہے۔ 50 منٹ کام کر کے، اس نے 0.2 x 50 = $10 کمائے۔
س: بیٹی ایک نئے بٹوے کے لیے پیسے بچا رہی ہے جس کی قیمت 15 دینے کا فیصلہ کیا، اور اس کے دادا دادی اس کے والدین سے دوگنا زیادہ۔ بٹی کو پرس خریدنے کے لیے مزید کتنے پیسوں کی ضرورت ہے؟ A: ``
اوپر کی طرح 5 مختلف پرامپٹ تیار کرنے کے بعد، DiVeRSe 20 استدلال کے راستے ہر ایک کے لیے (درجہ حرارت = 0.5)۔ مندرجہ بالا پرامپٹ کی تکمیل کی چند مثالیں یہ ہیں۔ نوٹ کریں کہ جوابات ہمیشہ درست نہیں ہوتے۔
{"highlight-start"}
بیٹی کے پاس 0.5*100 = $50 ہے۔
پھر اسے مزید 15 = $65 ملتے ہیں۔
پھر اسے 2*15 = $90 ملتا ہے۔
اسے 100-90 = $10 مزید درکار ہیں۔
#### 10
{"highlight-end"}
{"highlight-start"}
A: بیٹی کے پاس 0.5*100 = $500 ہے۔
پھر اسے مزید 15 = $650 ملتے ہیں۔
پھر اسے 2*15 = $900 ملتا ہے۔
اسے 100-90 = $1000 مزید درکار ہیں۔
#### 1000
{"highlight-end"}
اس مقام پر، DiVeRSe نے 100 مختلف تکمیلیں کی ہیں۔
اب، ہم صرف اکثریت کا جواب لے سکتے ہیں، جیسا کہ Self-Consistency کرتا ہے۔
تاہم، DiVeRSe ایک بہت زیادہ پیچیدہ طریقہ تجویز کرتا ہے، جسے وہ voting verifier کہتے ہیں۔
امتحان کے وقت، ووٹنگ تصدیق کنندہ کا استعمال ایک دو قدمی عمل ہے۔ سب سے پہلے، تصدیق کنندہ (ایک عصبی نیٹ ورک) ہر تکمیل کو 0-1 سکور تفویض کرتا ہے اس بنیاد پر کہ اس کے درست ہونے کے کتنے امکانات ہیں۔ پھر، 'ووٹنگ' جزو مختلف جوابات پر تمام اسکور کو جمع کرتا ہے اور حتمی جواب دیتا ہے۔
یہاں ایک چھوٹی سی مثال ہے۔ کہو کہ ہمارے پاس پرامپٹ کے لیے درج ذیل تکمیلات ہیں دو جمع دو کیا ہے؟
:
4
2 + 2 = 5
{"highlight-start"}
میرے خیال میں 2+2 = 6
{"highlight-end"}
{"highlight-start"}
دو جمع دو = 4
{"highlight-end"}
{"highlight-start"}
یہ 5 ہے۔
{"highlight-end"}
تصدیق کنندہ ہر تکمیل کو پڑھے گا اور اسے اسکور تفویض کرے گا۔ مثال کے طور پر، یہ تفویض کر سکتا ہے اسکور: بالترتیب 0.9، 0.1، 0.2، 0.8، 0.3۔ پھر، ووٹنگ کا جزو ہر ایک کے سکور کا مجموعہ کرے گا۔ جواب
سکور(4) = 0.9 + 0.8 = 1.7
سکور(5) = 0.1 + 0.3 = 0.4
سکور (6) = 0.2
حتمی جواب 4 ہے، کیونکہ اس کا اسکور سب سے زیادہ ہے۔
لیکن تصدیق کنندہ کی تربیت کیسے کی جاتی ہے؟
تصدیق کنندہ کو قدرے پیچیدہ نقصان کے فنکشن کے ساتھ تربیت دی جاتی ہے، جو میں یہاں احاطہ نہیں کروں گا۔ مزید تفصیلات کے لیے پیپر کا سیکشن 3.3 پڑھیں۔
Ask Me Anything (AMA) پرامپٹنگ DiVeRSe کے لیے اسی طرح کا طریقہ ہے۔ تاہم، اس کا ایک سے زیادہ فوری قدم اور اس کا جواب جمع کرنے والا مرحلہ دونوں ہی نمایاں طور پر مختلف ہیں۔ AMA کا بنیادی خیال یہ ہے کہ LLM کا استعمال متعدد پرامپٹ پیدا کرنے کے لیے کیا جائے، بجائے اس کے کہ مختلف چند شاٹ نمونے استعمال کیے جائیں۔
AMA ظاہر کرتا ہے کہ آپ ایک سوال لے سکتے ہیں اور مختلف پرامپٹس بنانے کے لیے اسے متعدد طریقوں سے فارمیٹ کر سکتے ہیں۔ مثال کے طور پر، کہتے ہیں کہ آپ جانوروں سے متعلق معلومات کے لیے ویب سائٹس کا ایک گروپ سکریپ کر رہے ہیں اور صرف شمالی امریکہ میں رہنے والی ویب سائٹوں کو ریکارڈ کرنا چاہتے ہیں۔ آئیے اس کا تعین کرنے کے لیے ایک پرامپٹ بنائیں۔
ویکیپیڈیا سے درج ذیل حوالے کو دیکھتے ہوئے:
کرموڈ ریچھ، جسے بعض اوقات روح ریچھ (Ursus americanus kermodei) کہا جاتا ہے، امریکی سیاہ ریچھ کی ایک ذیلی نسل ہے اور برٹش کولمبیا، کینیڈا کے وسطی اور شمالی ساحلی علاقوں میں رہتی ہے۔
آپ اس کام کو فوری طور پر اس طرح فارمیٹ کر سکتے ہیں:
کیا سیاق و سباق کے پیش نظر درج ذیل دعویٰ درست ہے یا غلط؟
سیاق و سباق: کرموڈ ریچھ، جسے بعض اوقات روح ریچھ (Ursus americanus kermodei) کہا جاتا ہے، امریکی سیاہ ریچھ کی ایک ذیلی نسل ہے اور برٹش کولمبیا، کینیڈا کے وسطی اور شمالی ساحلی علاقوں میں رہتی ہے۔
دعویٰ: یہ جانور شمالی امریکہ میں رہتا ہے۔
جواب:
یہ ایک عجیب سا فارمولیشن ہے۔ کیوں نہ صرف درج ذیل آسان پرامپٹ کا استعمال کریں؟
سیاق و سباق: کرموڈ ریچھ، جسے بعض اوقات روح ریچھ (Ursus americanus kermodei) کہا جاتا ہے، امریکی سیاہ ریچھ کی ایک ذیلی نسل ہے اور برٹش کولمبیا، کینیڈا کے وسطی اور شمالی ساحلی علاقوں میں رہتی ہے۔
سوال: کیا یہ جانور شمالی امریکہ میں رہتا ہے؟
ٹھیک ہے، اس خاص طریقے سے سوال کو تشکیل دے کر، ہم مختلف پرامپٹ پیدا کر سکتے ہیں۔ یہاں ہمارا پہلا قدم یہ ہوگا کہ 'یہ جانور شمالی امریکہ میں رہتا ہے' کے دعوے کو لے کر اسے مختلف سوالات میں تبدیل کریں، جو بنیادی طور پر ایک ہی چیز پوچھ رہے ہیں۔ ایسا کرنے کے لیے، ہم دعوے کو نیچے دی گئی تصویر کی طرح پرامپٹس کے ذریعے منتقل کریں گے۔
یہ آؤٹ پٹ ہو سکتا ہے:
اس کے پیچھے خیال کام کے مختلف نظریات تخلیق کرنا ہے۔ پھر ہم ہر ایک کو دیئے گئے سیاق و سباق پر اس طرح لاگو کرتے ہیں:
سیاق و سباق: کرموڈ ریچھ، جسے بعض اوقات روح ریچھ (Ursus americanus kermodei) کہا جاتا ہے، امریکی سیاہ ریچھ کی ایک ذیلی نسل ہے اور برٹش کولمبیا، کینیڈا کے وسطی اور شمالی ساحلی علاقوں میں رہتی ہے۔
سوال: کیا جانور شمالی امریکہ میں رہتا تھا؟
پھر، ہم ہر ایک کے لیے جوابات تیار کر سکتے ہیں:
یہ درمیانی جوابات ہیں۔ ہمیں انہیں ٹاسک لیبلز پر نقشہ بنانے کی ضرورت ہے (جیسے ہاں یا نہیں)۔
ہم درج ذیل کی طرح ایک پرامپٹ کے ذریعے درمیانی جوابات کو پاس کر کے ایسا کر سکتے ہیں:
صحیح زمرہ منتخب کریں۔
"اقسام":
- ہاں، شمالی امریکہ
- نہیں، شمالی امریکہ نہیں
"ہاں یہ تھا" زمرہ میں فٹ بیٹھتا ہے:
اب ہم اپنے آؤٹ پٹ جوابات حاصل کر سکتے ہیں۔
یہاں، وہ سب متفق ہیں، لہذا ہم صرف پہلا جواب لے سکتے ہیں۔ تاہم، اگر وہ متفق نہیں ہیں، تو ہم حتمی جواب حاصل کرنے کے لیے AMA جمع کرنے کا مرحلہ استعمال کر سکتے ہیں۔
AMA صرف اکثریتی جواب لینے کے بجائے مجموعی جوابات (DiVeRSe سے زیادہ) کے لیے ایک انتہائی پیچیدہ حکمت عملی استعمال کرتا ہے۔ یہ سمجھنے کے لیے کہ اکثریت کا جواب کیوں ناقص انتخاب ہو سکتا ہے، ان دو سوالات پر غور کریں جو ہم نے پہلے پیدا کیے تھے:
وہ انتہائی ملتے جلتے ہیں، لہذا ممکنہ طور پر ایک ہی نتیجہ پیدا کریں گے۔ چونکہ سوالات بہت ملتے جلتے ہیں، وہ مؤثر طریقے سے حتمی نتیجہ کی طرف متوجہ ہوں گے۔ اس سے نمٹنے کے لیے، AMA کمزور نگرانی اور پیچیدہ ریاضی پر انحصار کرتا ہے تاکہ اس کے تخلیق کردہ مختلف پرامپٹ کے درمیان انحصار کا اندازہ لگایا جا سکے، اور پھر اسے مناسب وزن کے لیے استعمال کیا جائے۔
لہذا، ہمارے پیدا کردہ تین سوالات کے لیے، یہ 25%، 25%، اور 50% کا وزن تفویض کر سکتا ہے، کیونکہ پہلے دو بہت ملتے جلتے ہیں۔
اگرچہ AMA کی جمع کرنے کی حکمت عملی طاقتور ہے، لیکن یہ اتنی پیچیدہ ہے کہ میں یہاں اس کا احاطہ نہیں کروں گا۔ مزید تفصیلات کے لیے پیپر کا سیکشن 3.4 پڑھیں۔
اس حوصلہ افزا حکمت عملی کے ساتھ، AMA GPT-J-6B کو GPT-3 کو پیچھے چھوڑنے کے لیے استعمال کرنے کے قابل ہے۔
AMA سوالات پر بہتر ہے جہاں دیئے گئے سیاق و سباق میں جواب موجود ہو۔
جوڑنے کے طریقے بہت طاقتور ہیں۔ انہیں کسی بھی ماڈل کی کارکردگی کو بہتر بنانے کے لیے استعمال کیا جا سکتا ہے، اور کسی مخصوص کام پر کسی ماڈل کی کارکردگی کو بہتر بنانے کے لیے استعمال کیا جا سکتا ہے۔
عملی طور پر، اکثریتی ووٹنگ آپ کی حکمت عملی کے مطابق ہونی چاہیے۔
Li, Y., Lin, Z., Zhang, S., Fu, Q., Chen, B., Lou, J.-G., & Chen, W. (2022). On the Advance of Making Language Models Better Reasoners. ↩ ↩2
Cobbe, K., Kosaraju, V., Bavarian, M., Chen, M., Jun, H., Kaiser, L., Plappert, M., Tworek, J., Hilton, J., Nakano, R., Hesse, C., & Schulman, J. (2021). Training Verifiers to Solve Math Word Problems. ↩
Mitchell, E., Noh, J. J., Li, S., Armstrong, W. S., Agarwal, A., Liu, P., Finn, C., & Manning, C. D. (2022). Enhancing Self-Consistency and Performance of Pre-Trained Language Models through Natural Language Inference. ↩
Arora, S., Narayan, A., Chen, M. F., Orr, L., Guha, N., Bhatia, K., Chami, I., Sala, F., & Ré, C. (2022). Ask Me Anything: A simple strategy for prompting language models. ↩ ↩2
Wang, B., & Komatsuzaki, A. (2021). GPT-J-6B: A 6 Billion Parameter Autoregressive Language Model. https://github.com/kingoflolz/mesh-transformer-jax. https://github.com/kingoflolz/mesh-transformer-jax ↩