context window ماڈل کی مکمل working memory ہے
context window وہ کل متن ہے جسے ماڈل ایک وقت میں نظر میں رکھ سکتا ہے۔ آپ کی موجودہ گفتگو کے بارے میں ماڈل جو کچھ بھی جانتا ہے اسے اسی کے اندر سمانا ہوگا: آپ کی ہدایات، آپ دونوں کا بھیجا ہر پیغام، آپ کی اپلوڈ کردہ ہر فائل، اور وہ جواب جو یہ لکھنے والا ہے۔
ایک مفید تصور: ماڈل کو آپ کی گفتگو کی بالکل کوئی یاد نہیں۔ ہر بار جب آپ پیغام بھیجتے ہیں، اب تک کی پوری گفتگو اسے تازہ حالت میں دی جاتی ہے، یہ سب کچھ پڑھتا ہے، اور اگلا جواب لکھتا ہے۔ context window اس میز کا سائز ہے جس پر وہ ٹرانسکرپٹ سمانا ضروری ہے۔ جب میز بھر جائے، تو کچھ نہ کچھ اس سے ہٹنا ضروری ہے۔
یہی وجہ ہے کہ کوئی AI بیس پیغامات تک تیز محسوس ہو سکتا ہے اور پھر خود سے متضاد ہونا شروع ہو جائے، وہ حد بھول جائے جو آپ نے شروع میں متعین کی تھی، یا کوئی فائل مانگے جو آپ پہلے ہی دے چکے ہوں۔ گفتگو کا ابتدائی حصہ میز سے پھسل چکا تھا۔
ایک تفریق جسے فوراً درست سمجھنا ضروری ہے، کیونکہ یہ بہت الجھن پیدا کرتی ہے: context window یادداشت جیسا نہیں۔ ChatGPT اور Claude جیسی پروڈکٹس میں ایک الگ یادداشت کا فیچر ہوتا ہے جو گفتگووں کے درمیان آپ کے بارے میں حقائق محفوظ کرتا ہے اور خاموشی سے انہیں نئی گفتگووں میں شامل کر دیتا ہے۔ یہ ماڈل کے اوپر بنایا گیا ایک پروڈکٹ فیچر ہے۔ context window خود ماڈل کی ایک سخت خاصیت ہے، اور کوئی بھی یادداشت کا فیچر اسے بڑا نہیں بناتا۔
ایک ٹوکن تقریباً ایک لفظ کا تین چوتھائی ہوتا ہے
context windows الفاظ کے بجائے ٹوکنز میں ناپی جاتی ہیں، کیونکہ ماڈلز الفاظ نہیں پڑھتے۔ ٹوکن وہ الفاظ میں سے ایک ہے جن کی AI کی لغت اپنے ارد گرد موجود پچاس دیگر الفاظ کے ساتھ ایک جملے میں وضاحت کرتی ہے۔ یہ ٹکڑوں میں پڑھتے ہیں: عام الفاظ عام طور پر ایک ٹوکن ہوتے ہیں، لمبے یا غیر معمولی الفاظ کئی حصوں میں بٹتے ہیں، اور اوقاف اور خالی جگہیں بھی شمار ہوتی ہیں۔
یاد رکھنے کے قابل تخمینی تبدیلیاں:
- 1 ٹوکن انگریزی کے تقریباً 4 حروف کے برابر ہے، یا لفظ کا تقریباً تین چوتھائی۔
- 1,000 ٹوکنز تقریباً 750 الفاظ ہیں، عام نثر کے تقریباً ڈیڑھ صفحے کے برابر۔
- کوڈ گنجان تر ہے۔ علامتوں، indentation اور غیر معمولی identifiers کی وجہ سے فی تین حروف ایک ٹوکن کے قریب توقع رکھیں۔
- دیگر زبانیں کم مؤثر ہیں۔ ایسی زبانوں میں متن جو tokenizer میں کم نمائندگی رکھتی ہیں وہ اسی معنی کے لیے دو یا تین گنا زیادہ ٹوکنز لے سکتی ہیں، جو جاننے کے قابل ہے اگر آپ فی ٹوکن ادائیگی کر رہے ہیں۔
یہ آپ کو مارکیٹنگ مواد میں نظر آنے والے اعداد کا تصور دیتا ہے:
| Context window | تقریباً برابر ہے |
|---|---|
| 8,000 ٹوکنز | ایک لمبا مضمون |
| 32,000 ٹوکنز | نوٹس کے ساتھ ایک مختصر تحقیقی مقالہ |
| 128,000 ٹوکنز | 300 صفحات کی کتاب |
| 200,000 ٹوکنز | ایک گنجان تکنیکی مینول، یا ایک درمیانے سائز کا کوڈ بیس |
| 1,000,000 ٹوکنز | کئی کتابیں، یا ایک سال کی میٹنگ ٹرانسکرپٹس |
اہم چیز جو یہ جدول چھپاتا ہے: حد پوری گفتگو کا احاطہ کرتی ہے، ہر پیغام کا نہیں۔ 128,000 ٹوکن والی window کا مطلب یہ نہیں کہ آپ بار بار 128,000 ٹوکنز بھیج سکتے ہیں۔ اس کا مطلب ہے کہ ہر چیز کا چلتا کل، بشمول ماڈل کے اپنے جوابات، اس عدد سے نیچے رہنا ضروری ہے۔
آپ کی window اصل میں کیا بھر دیتا ہے؟
لوگ عام طور پر حیران ہوتے ہیں کہ window کتنی تیزی سے بھر جاتی ہے، کیونکہ اس میں جانے والا زیادہ تر مواد پوشیدہ ہوتا ہے۔ ایک عام چیٹ سیشن میں، ماڈل ہر ایک باری پر یہ سب کچھ پڑھ رہا ہوتا ہے:
- سسٹم پرامپٹ۔ وہ ہدایات جو پروڈکٹ آپ کے کچھ ٹائپ کرنے سے پہلے بھیجتی ہے: کیسے برتاؤ کرنا ہے، کون سے ٹولز موجود ہیں، آج کی تاریخ، حفاظتی قواعد۔ اکثر ہزاروں ٹوکنز، اور آپ اسے کبھی نہیں دیکھتے۔
- آپ کی حسب ضرورت ہدایات یا یادداشت۔ کوئی بھی چیز جو پروڈکٹ نے آپ کے بارے میں محفوظ کی ہو اور خودکار طور پر شامل کرتی ہو۔
- ہر پچھلا پیغام، آپ کا اور ماڈل کا، مکمل طور پر۔ ماڈل کے لمبے جوابات بھی شمار ہوتے ہیں، اور یہ عام طور پر سب سے بڑا حصہ ہوتے ہیں۔
- ہر اپلوڈ شدہ فائل، یا اس کے نکالے گئے حصے۔ ایک 40 صفحات کی PDF تقریباً 20,000 سے 30,000 ٹوکنز ہے۔
- ٹول اور تلاش کے نتائج۔ ایک ویب تلاش جو پانچ صفحات کھینچے وہ آپ کی اب تک کی پوری گفتگو سے زیادہ شامل کر سکتی ہے۔
- پیدا ہونے والا جواب۔ آؤٹ پٹ وہی بجٹ شیئر کرتا ہے جو ان پٹ کا ہے۔
یہی وجہ ہے کہ ایک ایسی گفتگو جو مختصر محسوس ہوتی تھی اپنی حد کے قریب ہو سکتی ہے۔ آپ نے آٹھ مختصر پیغامات بھیجے، لیکن ماڈل نے آٹھ لمبے جواب لکھے، آپ نے دو دستاویزات منسلک کیں، اور اس نے تین تلاشیں چلائیں۔ اس کا نظر آنے والا حصہ شاید کل کا دس فیصد ہے۔
یہی وجہ ہے کہ الجھی ہوئی گفتگو کا حل اکثر "نئی چیٹ شروع کریں" ہوتا ہے۔ آپ ماڈل کا موڈ ری سیٹ نہیں کر رہے۔ آپ میز صاف کر رہے ہیں۔
معیار اعلانیہ حد سے پہلے گرتا ہے
یہی وہ حصہ ہے جو سب سے زیادہ اہم ہے اور جس پر سب سے کم بات ہوتی ہے۔ ماڈل کا معیار اپنی حد تک ہموار نہیں رہتا اور پھر اچانک گر نہیں جاتا۔ یہ آہستہ آہستہ گرتا ہے، اور حد سے کافی پہلے گرنا شروع ہو جاتا ہے۔
اس کا سب سے اچھی طرح دستاویزی ورژن اکثر "lost in the middle" اثر کہلاتا ہے۔ ایک لمبی دستاویز کے آغاز میں کوئی مخصوص حقیقت رکھیں اور ماڈل اسے ڈھونڈ لیتا ہے۔ اسے اختتام پر رکھیں اور ماڈل اسے ڈھونڈ لیتا ہے۔ اسے درمیان میں چھپا دیں اور درستگی گر جاتی ہے: اصل Lost in the Middle تجربات (Liu et al.، 2023، نیچے لنک کیا گیا) میں، اہم دستاویز کو ان پٹ کے کناروں سے درمیان میں منتقل کرنے سے ماڈلز کی درستگی تقریباً 20 پوائنٹس کم ہوئی۔ توجہ ایک لمبے ان پٹ میں یکساں طور پر تقسیم نہیں ہوتی، اور کناروں کو اس کا زیادہ حصہ ملتا ہے۔
جب کام کو ایک لمبے ان پٹ میں بکھری ہوئی کئی حقائق کو ملانے کی ضرورت ہو تو یہ اور بھی مشکل ہو جاتا ہے۔ گھاس کے ڈھیر میں ایک سوئی ڈھونڈنا ایک حل شدہ مسئلہ ہے۔ چار سوئیاں ڈھونڈنا اور ان کے درمیان تعلق پر استدلال کرنا نہیں، اور یہی بالکل وہ کام ہے جس کے لیے لوگ بڑی context windows استعمال کرتے ہیں۔
تو اعلانیہ عدد کو ایک آرام دہ کام کرنے کی حد کے بجائے ایک زیادہ سے زیادہ گنجائش سمجھیں۔ حقیقی استعمال سے ایک عملی اصول: آپ کو اعلانیہ window کے تقریباً نصف تک قابلِ اعتماد رویہ ملتا ہے، اور اس سے آگے کی کسی بھی چیز پر بھروسہ کرنے کے بجائے تصدیق کرنی چاہیے۔ اگر کوئی ماڈل آپ کو بتائے کہ 300 صفحات کے معاہدے میں کوئی termination شق نہیں، تو چیک کریں، خاص طور پر اگر وہ شق درمیان میں ہوتی۔
موازنے کا مطلب: ایک ملین ٹوکن والی window یہ ضمانت دیتی ہے کہ ماڈل 200,000 ٹوکن والی window سے لمبی دستاویز قبول کر سکتا ہے، اور کچھ اور ضمانت نہیں دیتی۔ کیا یہ اس سب پر اچھی طرح استدلال کرتا ہے، یہ ایک الگ سوال ہے، اور جاننے کا واحد طریقہ ایسی دستاویز سے آزمانا ہے جس کا جواب آپ پہلے سے جانتے ہیں۔
جب آپ ختم ہو جائیں تو کیا ہوتا ہے
مختلف پروڈکٹس overflow کو مختلف طریقے سے سنبھالتی ہیں، اور یہ جاننا کہ آپ کون سی استعمال کر رہے ہیں بہت سے عجیب رویے کی وضاحت کرتا ہے۔
| رویہ | آپ کو کیا نظر آتا ہے | یہ کہاں ہوتا ہے |
|---|---|---|
| سخت خرابی | درخواست کو طوالت کے بارے میں پیغام کے ساتھ مسترد کر دیا جاتا ہے | زیادہ تر براہِ راست API استعمال |
| خاموش تراش | سب سے پرانے پیغام آپ کو بتائے بغیر گرا دیے جاتے ہیں | بہت سے چیٹ انٹرفیس |
| گھومتا خلاصہ | پرانے پیغامات ایک خلاصے میں سکیڑ دیے جاتے ہیں | چیٹ پروڈکٹس میں تیزی سے عام |
| Retrieval | ہر باری میں آپ کی دستاویزات کے صرف متعلقہ حصے حاصل کیے جاتے ہیں | دستاویز اور علم کے اڈے کے ٹولز |
خاموش تراش وہ ہے جو حقیقی مسائل پیدا کرتی ہے، کیونکہ کچھ بھی اس کا اعلان نہیں کرتا۔ علامت ایک ایسا ماڈل ہے جو اچانک وہ قاعدہ نظرانداز کر دیتا ہے جو آپ نے شروع میں متعین کیا تھا، ایک گھنٹے پہلے آپ کے درست کیے گئے لہجے پر واپس چلا جاتا ہے، یا ایک سوال پوچھتا ہے جس کا آپ پہلے ہی جواب دے چکے ہیں۔ وہ ہدایات محض میز پر مزید موجود نہیں۔
گھومتے خلاصے بہتر ہیں لیکن نقصان دہ۔ ایک خلاصہ خلاصہ رکھتا ہے اور تفصیلات چھوڑ دیتا ہے، تو حد "کبھی synergy لفظ استعمال نہ کریں" "صارف کی اسٹائل ترجیحات ہیں" کے طور پر بچتی ہے، جو آپ کی بالکل مدد نہیں کرتی۔
سات حکمتِ عملیاں جو واقعی کام کرتی ہیں
یہ کوشش کے مقابلے میں کتنا فرق پیدا کرتی ہیں کے مطابق ترتیب دی گئی ہیں۔
موضوع بدلنے پر نئی چیٹ شروع کریں۔ سب سے قیمتی عادت۔ ایک لمبی گفتگو اپنے سے پہلے کی ہر چیز کی لاگت اٹھاتی ہے، بشمول وہ متعلقہ نہ رہنے والی راہیں، اور میز پر باقی رہنے والی ہر راہ اگلے جواب کو پتلا کرتی ہے۔
اپنا سوال لمبے مواد کے بعد رکھیں، پہلے نہیں۔ اگر آپ کوئی دستاویز چسپاں کریں اور پھر پوچھیں، تو سوال اس جگہ کے قریب ہوتا ہے جہاں جواب پیدا ہوتا ہے، جو لمبے ان پٹس پر درستگی کو قابلِ پیمائش طور پر بہتر بناتا ہے۔ پہلے چسپاں کریں، پھر پوچھیں۔
اہم حدود کو دوبارہ لنگر انداز کریں۔ تقریباً پندرہ تبادلوں سے زیادہ کسی بھی گفتگو میں، اہم قواعد کو اس پیغام میں دوبارہ بیان کریں جہاں وہ اہم ہوں: "یاد دہانی کے طور پر، برطانوی انگریزی، کوئی بلٹ پوائنٹس نہیں، 400 الفاظ سے کم۔" اس میں ایک سطر لگتی ہے اور یہ تراش سے بچ جاتی ہے۔
متعلقہ صفحات بھیجیں، پوری کتاب نہیں۔ اگر آپ چاہتے ہیں کہ ماڈل indemnity شق چیک کرے، تو اسے indemnity شق اور اس کے پڑوسی حصے دیں۔ درستگی حجم کو مات دیتی ہے: ایک مرکوز اقتباس بھیجنا سستا ہے، اور ماڈل اسے پوری کتاب سے زیادہ درستگی سے پڑھتا ہے۔
جان بوجھ کر خلاصہ کریں اور دوبارہ شروع کریں۔ جب کوئی کام کرنے والا سیشن لمبا ہو جائے، تو ایک ساختی handoff مانگیں: موجودہ حالت، کیے گئے فیصلے، کھلے سوالات، حدود۔ اسے نئی چیٹ میں چسپاں کریں۔ آپ جوہر رکھتے ہیں اور شور چھوڑ دیتے ہیں، اور آپ فوراً محسوس کریں گے کہ ماڈل زیادہ تیز ہو گیا ہے۔
جو کچھ فٹ نہ ہو اس کے لیے retrieval استعمال کریں۔ اگر آپ کا مواد واقعی کسی بھی window سے بڑا ہے، تو حل retrieval ہے: بڑی window کی تلاش کے بجائے ہر سوال کے لیے متعلقہ ٹکڑے حاصل کریں۔ یہی وہ چیز ہے جو دستاویز کے ٹولز اندرونی طور پر کرتے ہیں۔
صرف غلطیوں کے بجائے گراوٹ پر نظر رکھیں۔ اگر جوابات مبہم ہو جائیں، زیادہ احتیاط کریں، یا شکل کی ہدایات نظرانداز کرنا شروع کر دیں، تو آپ غالباً window میں گہرے ہیں۔ یہ فرض کرنے سے پہلے کہ ماڈل خراب ہو گیا ہے، تازہ شروع کریں۔
آپ کو اصل میں کتنی window چاہیے؟
سب سے بڑے عدد کی تلاش کے بجائے window کو کام کے مطابق ملائیں۔ کسی مخصوص ماڈل کے موجودہ عدد کے لیے، context window کا موازنہ جدول پورا کیٹلاگ ٹوکنز اور صفحات میں فہرست کرتا ہے۔
| آپ کا کام | آپ کو کیا چاہیے | کیوں |
|---|---|---|
| ای میلز، مسودہ سازی، فوری سوالات | کوئی بھی جدید ماڈل | آپ کبھی حد کے قریب نہیں پہنچیں گے |
| لمبی دستاویزات میں ترمیم | 100,000 یا زیادہ | دستاویز جمع اس کے بارے میں آپ کی گفتگو |
| معاہدے اور پالیسی کا جائزہ | 200,000 یا زیادہ، اور تصدیق کریں | دستاویز جمع اس کے بارے میں استدلال، اوپر دی گئی احتیاط کے ساتھ |
| پورے کوڈ بیس پر استدلال | دستیاب سب سے بڑی | کوڈ ٹوکن گنجان ہے اور فائلوں کے پار استدلال کو وسعت چاہیے |
| مہینوں کی ٹرانسکرپٹس کا تجزیہ | دستیاب سب سے بڑی، یا retrieval | اکثر خام طاقت کے بجائے retrieval سے بہتر خدمت ملتی ہے |
| API پر پروڈکٹ بنانا | آپ کے خیال سے چھوٹی، جمع کیشنگ | لمبے پرامپٹس لاگت اور تاخیر دونوں کا اصل محرک ہیں |
زیادہ تر لوگوں کے لیے دیانتدار جواب یہ ہے کہ context window سبسکرپشنز کے درمیان فیصلہ کن عنصر نہیں۔ تحریری معیار، ماحولیاتی نظام اور قیمت زیادہ اہم ہیں۔ یہ بالکل ایک صورت میں فیصلہ کن بن جاتا ہے: آپ کا کام باقاعدگی سے ایک عام window سے زیادہ مواد شامل کرنے کے گرد گھومتا ہے، اور اس صورت میں window کا سائز طے کرتا ہے کہ کام بالکل ہو سکتا ہے یا نہیں۔
اگر آپ خود یہ آزمانا چاہتے ہیں، تو عملی طریقہ یہ ہے کہ وہی لمبی دستاویز دو یا تین ماڈلز میں چلائیں اور جوابات کو کسی ایسی چیز کے خلاف چیک کریں جو آپ پہلے سے جانتے ہیں۔ Whizi جیسا ورک اسپیس اسے آسان بناتا ہے کیونکہ GPT، Claude، Gemini، Grok اور DeepSeek ایک سبسکرپشن کے پیچھے بیٹھے ہیں، اور Gemini کی بہت بڑی window Claude کی محتاط ترکیب سے ایک کلک دور ہے۔ ماڈلز کا آمنے سامنے موازنہ دیکھیں، یا وسیع تر فیصلے کے لیے AI ماڈل کیسے منتخب کریں پڑھیں۔
- اس اصول سے ٹوکن کی تعداد کا اندازہ لگائیں کہ 1,000 ٹوکنز تقریباً 750 الفاظ ہیں
- یاد رکھیں کہ سسٹم پرامپٹس، فائلیں، تلاش کے نتائج اور جوابات سب ایک ہی بجٹ خرچ کرتے ہیں
- اعلانیہ window کے تقریباً نصف کو قابلِ اعتماد کام کرنے کی حد سمجھیں
- لمبا مواد پہلے چسپاں کریں اور بعد میں اپنا سوال پوچھیں
- لمبی گفتگووں میں اہم حدود دوبارہ بیان کریں تاکہ وہ تراش سے بچ جائیں
- کسی لمبی گفتگو کو بڑھانے کے بجائے ایک تحریری handoff کے ساتھ تازہ چیٹ شروع کریں
عمومی سوالات
سادہ الفاظ میں context window کیا ہے؟
یہ وہ کل متن ہے جسے ماڈل ایک وقت میں نظر میں رکھ سکتا ہے، جس میں آپ کی ہدایات، اب تک کی پوری گفتگو، کوئی بھی اپلوڈ شدہ فائلیں اور لکھا جا رہا جواب شامل ہے۔ جب کل مقدار حد سے تجاوز کرے، تو سب سے پرانے حصے گر جاتے ہیں، یہی وجہ ہے کہ لمبی چیٹس چیزیں بھولنا شروع کر دیتی ہیں۔
کیا بڑی context window ہمیشہ بہتر ہوتی ہے؟
نہیں۔ ایک بڑی window ماڈل کو زیادہ ان پٹ قبول کرنے دیتی ہے، لیکن ان پٹ بڑھنے کے ساتھ درستگی آہستہ آہستہ گرتی ہے، خاص طور پر درمیان میں چھپے حقائق کے لیے۔ ایک ملین ٹوکن والی window رکھنے والا ماڈل خودکار طور پر 200,000 والے ماڈل سے لمبی دستاویزات میں بہتر نہیں، اس لیے ایسے مواد سے آزمائیں جس کا آپ درست جواب جانتے ہیں۔
128,000 ٹوکنز کتنے الفاظ ہیں؟
تقریباً 96,000 الفاظ، یا تقریباً 300 صفحات کی کتاب۔ عمومی تبدیلی یہ ہے کہ ایک ٹوکن انگریزی کے تقریباً چار حروف کے برابر ہے، تو 1,000 ٹوکنز تقریباً 750 الفاظ کے برابر ہیں۔ کوڈ اور غیر انگریزی متن ایک ہی مواد کے لیے زیادہ ٹوکنز استعمال کرتے ہیں۔
ChatGPT میری پہلے کہی بات کیوں بھول جاتا ہے؟
کیونکہ گفتگو context window سے بڑھ گئی اور جگہ بنانے کے لیے سب سے پرانے پیغام گرا دیے گئے یا سکیڑ دیے گئے۔ زیادہ تر چیٹ انٹرفیس یہ خاموشی سے کرتے ہیں۔ اپنی اہم حدود دوبارہ بیان کرنا، یا ایک مختصر خلاصے کے ساتھ نئی چیٹ شروع کرنا، اسے فوراً ٹھیک کر دیتا ہے۔
کیا context window، AI کی یادداشت جیسا ہی ہے؟
نہیں۔ context window ایک گفتگو پر ایک سخت حد ہے۔ یادداشت ایک الگ پروڈکٹ فیچر ہے جو گفتگووں کے درمیان آپ کے بارے میں حقائق محفوظ کرتا ہے اور نئی گفتگووں میں شامل کرتا ہے۔ یادداشت گنجائش نہیں بڑھاتی؛ جو حقائق یہ شامل کرتی ہے وہ window کا کچھ حصہ خرچ کرتے ہیں۔