ٹیکنیکل گائیڈ

KV کیشے آپٹیمائزیشن

KV کیش ان کنجیوں اور قدروں کو ذخیرہ کرتا ہے جو ایک ٹرانسفارمر نے پہلے ہی شمار کیا ہوا ہے لہذا یہ ہر نئے ٹوکن کے لیے دوبارہ کام نہیں کرتا ہے — لیکن یہ گیگا بائٹس تک غبارہ کر سکتا ہے۔

جائزہ

KV کیش ان کنجیوں اور قدروں کو ذخیرہ کرتا ہے جو ایک ٹرانسفارمر نے پہلے ہی شمار کیا ہوا ہے لہذا یہ ہر نئے ٹوکن کے لیے دوبارہ کام نہیں کرتا ہے — لیکن یہ گیگا بائٹس تک غبارہ کر سکتا ہے۔ KV کیش آپٹیمائزیشن اس میموری کو سکڑتی اور منظم کرتی ہے تاکہ ماڈلز ایک ساتھ زیادہ صارفین کو طویل سیاق و سباق فراہم کریں۔

KV Cache Optimization ایک تکنیکی بلڈنگ بلاک ہے جو ماڈل کے معیار، بنیادی ڈھانچے کی لاگت، تاخیر، اور پیمانے پر قابل اعتماد کو متاثر کرتا ہے۔

گہرا غوطہ

ایک ٹرانسفارمر میں، ہر نیا ٹوکن توجہ کی چابیاں (K) اور اقدار (V) کے ذریعے پچھلے تمام ٹوکنز پر حاضر ہوتا ہے۔ ہر قدم پر پورے تسلسل کے لیے K اور V کی دوبارہ گنتی کرنا چوکور اور فضول ہوگا، اس لیے ماڈلز انہیں کیش کرتے ہیں: KV کیشے۔ منفی پہلو سائز ہے۔ کیشے ترتیب کی لمبائی، بیچ کے سائز، تہوں اور سروں کے ساتھ لکیری طور پر بڑھتا ہے، لہذا طویل سیاق و سباق کی درخواست ماڈل کے وزن سے زیادہ GPU میموری استعمال کر سکتی ہے۔ اصلاح کئی زاویوں سے اس سے نمٹتی ہے: پیجڈ میموری (vLLM's PagedAttention) کیشے کو غیر متصل بلاکس میں ذخیرہ کرتا ہے تاکہ فریگمنٹیشن کو ختم کیا جا سکے اور شیئرنگ کو فعال کیا جا سکے۔ کوانٹائزیشن K اور V کو 8 بٹ یا 4 بٹ میں اسٹور کرتی ہے۔ اور آرکیٹیکچرل تبدیلیاں جیسے گروپڈ-کوئیری اٹینشن (GQA) اور ملٹی-Query Attention (MQA) بہت سے استفسار کے سروں کو کم کلید/ویلیو ہیڈز کا اشتراک کرنے دیتے ہیں، ماخذ پر کیشے کے سائز کو کم کرتے ہیں۔

تکنیکی بصیرت

PagedAttention آپریٹنگ سسٹمز سے ورچوئل میموری پیجنگ لیتا ہے: کیشے ایک لوک اپ ٹیبل کے ذریعے میپ کیے گئے مقررہ سائز کے بلاکس میں رہتا ہے، لہذا درخواستیں صرف ان بلاکس کا استعمال کرتی ہیں جن کی انہیں ضرورت ہوتی ہے اور ایک جیسے سابقے (جیسے مشترکہ سسٹم پرامپٹ) انہی بلاکس کی طرف اشارہ کر سکتے ہیں۔ ملٹی ہیڈ لیٹنٹ اٹینشن (ایم ایل اے)، جو ڈیپ سیک ماڈلز میں استعمال ہوتا ہے، K اور V کو ایک چھوٹے مشترکہ لیٹنٹ ویکٹر میں کمپریس کرتا ہے، درستگی کو برقرار رکھتے ہوئے ڈرامائی طور پر میموری کو کاٹتا ہے۔

کے وی کیشے آپٹیمائزیشن میں مہارت حاصل کرنا

KV کیش ان کنجیوں اور قدروں کو ذخیرہ کرتا ہے جو ایک ٹرانسفارمر نے پہلے ہی شمار کیا ہوا ہے لہذا یہ ہر نئے ٹوکن کے لیے دوبارہ کام نہیں کرتا ہے — لیکن یہ گیگا بائٹس تک غبارہ کر سکتا ہے۔ KV کیش آپٹیمائزیشن اس میموری کو سکڑتی اور منظم کرتی ہے تاکہ ماڈلز ایک ساتھ زیادہ صارفین کو طویل سیاق و سباق فراہم کریں۔ KV Cache Optimization ایک تکنیکی بلڈنگ بلاک ہے جو ماڈل کے معیار، بنیادی ڈھانچے کی لاگت، تاخیر، اور پیمانے پر قابل اعتماد کو متاثر کرتا ہے۔ گہری تفہیم پیدا کرنے کے لیے، KV Cache Optimization کو ایک آپریٹنگ ماڈل کے طور پر سمجھیں، نہ کہ ایک خصوصیت: مطلوبہ نتائج کی وضاحت کریں، مفروضوں کو واضح کریں، اور اس سے الگ کریں کہ سسٹم قابل اعتماد طریقے سے کیا کر سکتا ہے جسے ابھی بھی ماہرانہ فیصلے کی ضرورت ہے۔

عملی طور پر، KV Cache Optimization کا استعمال کرنے والی مضبوط ٹیمیں فن تعمیر، ڈیٹا، اور بنیادی ڈھانچے کے انتخاب کو قابل اعتماد اور لاگت کے خلاف بہتر بناتی ہیں۔ وہ واضح کامیابی کے معیار کی دستاویز کرتے ہیں، حقیقت پسندانہ ڈیٹا اور ورک فلو کے خلاف جانچ کرتے ہیں، اور ایک بار کی بینچ مارک جیت کے بجائے مشاہدہ شدہ ناکامی کے نمونوں کی بنیاد پر اعادہ کرتے ہیں۔ یہ وہ جگہ ہے جہاں نظریاتی تفہیم مصنوعات، پالیسی اور آپریشنز میں پائیدار صلاحیت میں بدل جاتی ہے۔

فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔ ایک ہی وقت میں، ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔ سب سے زیادہ لچکدار طریقہ یہ ہے کہ تجرباتی رفتار کو حکمرانی کے نظم و ضبط کے ساتھ ملایا جائے: پائلٹ چلائیں، شواہد حاصل کریں، فیصلے کے نوشتہ جات شائع کریں، اور ماڈل رویے، صارف کی توقعات، اور ریگولیٹری تقاضوں کے ارتقا کے ساتھ ساتھ حفاظتی اقدامات کو مسلسل اپ ڈیٹ کریں۔

اسٹریٹجک اثر

فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔

فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔ اعلیٰ معیار کی تعیناتیوں میں، اس کا ترجمہ قابل پیمائش آپریٹنگ قواعد، ملکیت کی حدود، اور بار بار نظرثانی کی رسومات میں کیا جاتا ہے تاکہ ٹیمیں ابہام کو بڑھانے کے بجائے اعتماد کو بڑھا سکیں۔

تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔

تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔ اعلیٰ معیار کی تعیناتیوں میں، اس کا ترجمہ قابل پیمائش آپریٹنگ قواعد، ملکیت کی حدود، اور بار بار نظرثانی کی رسومات میں کیا جاتا ہے تاکہ ٹیمیں ابہام کو بڑھانے کے بجائے اعتماد کو بڑھا سکیں۔

انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔

انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔ اعلیٰ معیار کی تعیناتیوں میں، اس کا ترجمہ قابل پیمائش آپریٹنگ قواعد، ملکیت کی حدود، اور بار بار نظرثانی کی رسومات میں کیا جاتا ہے تاکہ ٹیمیں ابہام کو بڑھانے کے بجائے اعتماد کو بڑھا سکیں۔

KV کیشے آپٹیمائزیشن کا مستقبل

جیسا کہ سیاق و سباق کی کھڑکی سیکڑوں ہزاروں یا لاکھوں ٹوکنز تک پھیلی ہوئی ہے، KV کیش سرونگ کی غالب قیمت بن جاتی ہے۔ جارحانہ کیش کمپریشن اور بے دخلی (کم توجہ والے ٹوکنز چھوڑنا)، بطور ڈیفالٹ کراس ریکوئسٹ پریفکس شیئرنگ، CPU یا NVMe پر کولڈ کیش آف لوڈ کرنے، اور ایم ایل اے اور جی کیو اے جیسے فن تعمیر کے معیاری بننے کی توقع کریں۔ کیشے کا انتظام تیزی سے درجات اور سمارٹ پری فیچنگ کے ساتھ مکمل میموری کے درجہ بندی سے مشابہ ہوگا۔

حقیقی دنیا کا نفاذ

vLLM کی پیجڈ توجہ میموری کے ٹکڑے کیے بغیر KV بلاکس کو پیک کرکے بہت سے ہم آہنگی چیٹ سیشنز پیش کرتی ہے۔

لاما ماڈلز میں گروپ شدہ سوال کی توجہ KV کیشے کے سائز کو کم کرتی ہے تاکہ طویل سیاق و سباق GPU میموری میں فٹ ہوجائیں

طویل دستاویز کے خلاصے کے دوران کیش میموری کو تقریباً نصف کرنے کے لیے KV کیشے کو 8-bit (KV8) میں کوانٹائز کرنا

پریفکس کیشنگ جو ہزاروں API درخواستوں میں مشترکہ سسٹم پرامپٹ کے KV بلاکس کو دوبارہ استعمال کرتی ہے۔

نفاذ کے پیٹرنز

عملی طور پر KV کیشے کی اصلاح

vLLM کا PagedAttention KV بلاکس کو بغیر میموری فریگمنٹیشن کے پیک کر کے بہت سے ہم آہنگی چیٹ سیشن پیش کرتا ہے۔

vLLM کا PagedAttention KV بلاکس کو بغیر میموری فریگمینٹیشن کے پیک کر کے کئی ایک ساتھ چیٹ سیشنز پیش کرتا ہے ٹیمیں عام طور پر اس وقت بہتر نتائج حاصل کرتی ہیں جب وہ کوالٹی تھریش ہولڈ کو سامنے رکھتے ہیں، ایج کیسز کے لیے انسانی اضافہ کا راستہ رکھتے ہیں، اور وقت کے ساتھ ساتھ پیداواری فوائد اور غلطی کے اخراجات دونوں کو ٹریک کرتے ہیں۔

عملی طور پر KV کیشے کی اصلاح

لاما ماڈلز میں گروپ شدہ سوال کی توجہ KV کیشے کے سائز کو کم کرتی ہے تاکہ طویل سیاق و سباق GPU میموری میں فٹ ہوں۔

Llama ماڈلز میں گروپ شدہ سوال کی توجہ KV کیشے کے سائز کو کم کرتی ہے تاکہ طویل سیاق و سباق GPU میموری میں فٹ رہیں ٹیمیں عام طور پر اس وقت بہتر نتائج حاصل کرتی ہیں جب وہ کوالٹی تھریش ہولڈز کو سامنے رکھتے ہیں، کنارے کے معاملات کے لیے انسانی ترقی کا راستہ رکھتے ہیں، اور وقت کے ساتھ ساتھ پیداواری فوائد اور غلطی کے اخراجات دونوں کو ٹریک کرتے ہیں۔

عملی طور پر KV کیشے کی اصلاح

طویل دستاویز کے خلاصے کے دوران کیش میموری کو تقریباً نصف کرنے کے لیے KV کیشے کو 8-bit (KV8) پر مقدار میں کرنا۔

طویل دستاویز کے خلاصے کے دوران کیش میموری کو تقریباً نصف کرنے کے لیے KV کیش کو 8-bit (KV8) پر کم کرنے سے ٹیمیں عام طور پر اس وقت بہتر نتائج حاصل کرتی ہیں جب وہ کوالٹی تھریش ہولڈ کو سامنے رکھتے ہیں، کنارے کے معاملات کے لیے انسانی اضافے کا راستہ رکھتے ہیں، اور وقت کے ساتھ ساتھ پیداواری فوائد اور غلطی کے اخراجات دونوں کو ٹریک کرتے ہیں۔

عملی طور پر KV کیشے کی اصلاح

پریفکس کیشنگ جو ہزاروں API درخواستوں میں مشترکہ سسٹم پرامپٹ کے KV بلاکس کو دوبارہ استعمال کرتی ہے۔

پریفکس کیشنگ جو ایک مشترکہ سسٹم پرامپٹ کے KV بلاکس کو ہزاروں API درخواستوں میں دوبارہ استعمال کرتی ہے ٹیمیں عام طور پر اس وقت بہتر نتائج حاصل کرتی ہیں جب وہ کوالٹی تھریشولڈز کو سامنے کی طرف متعین کرتے ہیں، ایج کیسز کے لیے انسانی اضافہ کا راستہ رکھتے ہیں، اور وقت کے ساتھ ساتھ پیداواری فوائد اور غلطی کے اخراجات دونوں کو ٹریک کرتے ہیں۔

خطرات اور گارڈریلز

!

ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔

!

بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔

!

سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔

نفاذ کا روڈ میپ

1

نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔

نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔ ہر قدم کو ثبوت کے دروازے کے طور پر دیکھیں: اگر معیار پر پورا نہیں اترتے ہیں، تو رول آؤٹ کو روک دیں، خلا کو بند کریں، اور تب ہی استعمال کو بڑھا دیں۔

2

حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔

حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔ ہر قدم کو ثبوت کے دروازے کے طور پر دیکھیں: اگر معیار پر پورا نہیں اترتے ہیں، تو رول آؤٹ کو روک دیں، خلا کو بند کریں، اور تب ہی استعمال کو بڑھا دیں۔

3

غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔

غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔ ہر قدم کو ثبوت کے دروازے کے طور پر دیکھیں: اگر معیار پر پورا نہیں اترتے ہیں، تو رول آؤٹ کو روک دیں، خلا کو بند کریں، اور تب ہی استعمال کو بڑھا دیں۔

4

اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔

اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔ ہر قدم کو ثبوت کے دروازے کے طور پر دیکھیں: اگر معیار پر پورا نہیں اترتے ہیں، تو رول آؤٹ کو روک دیں، خلا کو بند کریں، اور تب ہی استعمال کو بڑھا دیں۔

دریافت کرتے رہیں