مختصر جواب: AI ماڈلز کو بہتر بنانے کے لیے، ایک بنیادی رکاوٹ (لیٹنسی، لاگت، میموری، کوالٹی، استحکام، یا تھرو پٹ) کا انتخاب کریں، پھر کسی بھی چیز کو تبدیل کرنے سے پہلے ایک قابل اعتماد بیس لائن کیپچر کریں۔ پہلے پائپ لائن کی رکاوٹوں کو دور کریں، پھر کم رسک حاصل کریں جیسے مخلوط درستگی اور بیچنگ؛ اگر معیار برقرار ہے تو کمپائلر/رن ٹائم ٹولنگ پر جائیں اور صرف اس کے بعد جب ضرورت ہو تو کوانٹائزیشن یا ڈسٹلیشن کے ذریعے ماڈل کا سائز کم کریں۔
اہم نکات:
رکاوٹ: ایک یا دو ہدف میٹرکس چنیں۔ آپٹمائزیشن ٹریڈ آف کا ایک منظر ہے، نہ کہ مفت جیت۔
پیمائش: p50/p95/p99، تھرو پٹ، استعمال، اور میموری کی چوٹیوں کے ساتھ پروفائل حقیقی کام کا بوجھ۔
پائپ لائن: ماڈل کو چھونے سے پہلے ٹوکنائزیشن، ڈیٹا لوڈرز، پری پروسیسنگ، اور بیچنگ کو درست کریں۔
سرونگ: کیشنگ، جان بوجھ کر بیچنگ، کنکرنسی ٹیوننگ کا استعمال کریں، اور ٹیل لیٹینسی پر گہری نظر رکھیں۔
گارڈریلز: کارکردگی میں ہر تبدیلی کے بعد سنہری اشارے، ٹاسک میٹرکس اور اسپاٹ چیک چلائیں۔

🔗 AI ماڈلز کو مؤثر طریقے سے جانچنے کا طریقہ
ماڈلز کو منصفانہ اور قابل اعتماد طریقے سے پرکھنے کے کلیدی معیار اور اقدامات۔
🔗 اصلی میٹرکس کے ساتھ AI کارکردگی کی پیمائش کیسے کریں
موازنہ کرنے کے لیے بینچ مارکس، تاخیر، لاگت اور معیار کے سگنل استعمال کریں۔
🔗 پروڈکشن سے پہلے AI ماڈلز کی جانچ کیسے کریں
عملی ٹیسٹنگ ورک فلو: ڈیٹا کی تقسیم، تناؤ کے معاملات، اور نگرانی۔
🔗 مواد کی تخلیق کے لیے AI کا استعمال کیسے کریں
ساختی اشارے اور تکرار کے ساتھ خیالات کو تیزی سے ڈرافٹ میں تبدیل کریں۔
1) مشق میں "آپٹمائز" کا کیا مطلب ہے (کیونکہ ہر کوئی اسے مختلف طریقے سے استعمال کرتا ہے) 🧠
جب لوگ کہتے ہیں کہ "AI ماڈل کو بہتر بنائیں"، تو ان کا مطلب ہو سکتا ہے:
-
اسے تیز تر بنائیں (کم تاخیر)
-
اسے سستا بنائیں (کم GPU گھنٹے، کم کلاؤڈ خرچ)
-
اسے چھوٹا بنائیں (میموری فٹ پرنٹ، کنارے کی تعیناتی)
-
اسے زیادہ درست بنائیں (معیار میں بہتری، کم فریب)
-
اسے مزید مستحکم بنائیں (کم تغیر، پیداوار میں کم ناکامیاں)
-
خدمت کرنا آسان بنائیں (تھرو پٹ، بیچنگ، قابل پیشن گوئی کارکردگی)
یہاں ہلکی پریشان کن حقیقت ہے: آپ ان سب کو ایک ساتھ زیادہ سے زیادہ نہیں کر سکتے۔ اصلاح ایک غبارے کو نچوڑنے کے مترادف ہے - ایک طرف کو اندر دھکیلیں اور دوسری طرف باہر نکل آئے۔ ہمیشہ نہیں، لیکن اکثر کافی ہے کہ آپ کو تجارت کے لیے منصوبہ بندی کرنی چاہیے۔.
لہذا کسی بھی چیز کو چھونے سے پہلے، اپنی بنیادی رکاوٹ کا:
-
اگر آپ صارفین کو لائیو پیش کر رہے ہیں، تو آپ کو p95 لیٹنسی (AWS CloudWatch پرسنٹائلز) اور ٹیل پرفارمنس ("ٹیل لیٹنسی" بہترین پریکٹس) کا خیال ہے 📉
-
اگر آپ تربیت کر رہے ہیں، تو آپ کو وقت سے معیار اور GPU کے استعمال کا خیال ہے۔
-
اگر آپ آلات پر تعینات کر رہے ہیں، تو آپ کو RAM اور پاور 🔋
2) اے آئی ماڈل آپٹیمائزیشن کا کتنا اچھا ورژن لگتا ہے ✅
اصلاح کا ایک اچھا ورژن صرف "کوانٹائزیشن لگائیں اور دعا کریں" نہیں ہے۔ یہ ایک نظام ہے۔ بہترین سیٹ اپ میں عام طور پر یہ ہوتا ہے:
-
ایک بنیادی لائن جس پر آپ کو بھروسہ ہے
اگر آپ اپنے موجودہ نتائج کو دوبارہ پیش نہیں کر سکتے ہیں، تو آپ نہیں جان سکتے کہ آپ نے کچھ بہتر کیا ہے۔ سادہ… لیکن لوگ اسے چھوڑ دیتے ہیں۔ پھر وہ سرپل. -
ایک واضح ہدف میٹرک
"تیز" مبہم ہے۔ "اسی کوالٹی سکور پر p95 لیٹینسی کو 900ms سے 300ms تک کاٹ دیں" ایک حقیقی ہدف ہے۔ -
معیار کے لیے گارڈریلز
ہر کارکردگی کی جیت کو خاموش معیار کے رجعت کا خطرہ ہے۔ آپ کو ٹیسٹ، ایولز، یا کم از کم ایک سنٹی سوٹ کی ضرورت ہے۔ -
ہارڈ ویئر کی آگاہی
ایک GPU پر ایک "تیز" ماڈل دوسرے پر رینگ سکتا ہے۔ سی پی یو ان کی اپنی خاص قسم کی افراتفری ہیں۔ -
تکراری تبدیلیاں، بگ بینگ دوبارہ لکھنا نہیں
جب آپ ایک ساتھ پانچ چیزوں کو تبدیل کرتے ہیں اور کارکردگی بہتر ہوتی ہے، تو آپ کو معلوم نہیں کیوں۔ جو… پریشان کن ہے۔
آپٹیمائزیشن کو گٹار کو ٹیون کرنے کی طرح محسوس ہونا چاہئے - چھوٹی ایڈجسٹمنٹ، قریب سے سنیں، دہرائیں 🎸۔ اگر یہ چھریوں کو چھیڑنے کی طرح محسوس ہوتا ہے، تو کچھ بند ہے۔.
3) موازنہ ٹیبل: AI ماڈلز کو بہتر بنانے کے لیے مقبول اختیارات 📊
ذیل میں عام اصلاحی ٹولز/طریقہ کاروں کا ایک تیز اور قدرے بے ترتیب موازنہ کا جدول ہے۔ نہیں، یہ بالکل "منصفانہ" نہیں ہے - حقیقی زندگی بھی نہیں ہے۔.
| ٹول / آپشن | سامعین | قیمت | یہ کیوں کام کرتا ہے۔ |
|---|---|---|---|
PyTorch torch.compile (PyTorch دستاویزات) |
PyTorch لوگ | مفت | گراف کیپچر + کمپائلر ٹرکس اوور ہیڈ کو کاٹ سکتے ہیں… بعض اوقات یہ جادو ہوتا ہے ✨ |
| ONNX رن ٹائم (ONNX رن ٹائم دستاویزات) | تعیناتی ٹیمیں۔ | مفت میں | مضبوط تخمینے کی اصلاح، وسیع حمایت، معیاری سرونگ کے لیے اچھا ہے۔ |
| TensorRT (NVIDIA TensorRT دستاویزات) | NVIDIA کی تعیناتی۔ | ادا شدہ وائبز (اکثر بنڈل) | جارحانہ کرنل فیوژن + درست طریقے سے ہینڈلنگ، کلک کرنے پر بہت تیز |
| ڈیپ اسپیڈ (زیرو دستاویزات) | تربیتی ٹیمیں۔ | مفت | میموری + تھرو پٹ آپٹیمائزیشنز (زیرو وغیرہ)۔ جیٹ انجن کی طرح محسوس کر سکتا ہے۔ |
| FSDP (PyTorch) (PyTorch FSDP دستاویزات) | تربیتی ٹیمیں۔ | مفت | شارڈ پیرامیٹرز/گریڈینٹس، بڑے ماڈلز کو کم خوفناک بناتا ہے۔ |
| bitsandbytes کوانٹائزیشن (bitsandbytes) | ایل ایل ایم ٹنکررز | مفت | کم وزن، یادداشت کی بڑی بچت - معیار پر منحصر ہے، لیکن واہ 😬 |
| کشید (Hinton et al.، 2015) | پروڈکٹ ٹیمیں۔ | "وقت کی قیمت" | چھوٹے طالب علم کے ماڈل کو وراثت میں رویہ ملتا ہے، عام طور پر طویل مدتی بہترین ROI |
| کٹائی (PyTorch pruning سبق) | تحقیق + پیداوار | مفت | مردہ وزن کو دور کرتا ہے۔ دوبارہ تربیت کے ساتھ جوڑا بنانے پر بہتر کام کرتا ہے۔ |
| فلیش اٹینشن / فیوزڈ کرنل (فلیش اٹینشن پیپر) | کارکردگی کے علمبردار | مفت | تیز توجہ، بہتر میموری رویہ۔ ٹرانسفارمرز کے لیے حقیقی جیت |
| ٹرائٹن انفرنس سرور (متحرک بیچنگ) | آپریشن/انفرا | مفت | پروڈکشن سرونگ، بیچنگ، ملٹی ماڈل پائپ لائنز - انٹرپرائز-ish محسوس ہوتا ہے۔ |
فارمیٹنگ نرالا اعتراف: "قیمت" بے ترتیب ہے کیونکہ اوپن سورس اب بھی آپ کو ڈیبگنگ کے ہفتے کے آخر میں خرچ کر سکتا ہے، جو کہ ایک قیمت ہے۔ 😵💫
4) پیمائش کے ساتھ شروع کریں: پروفائل جیسا کہ آپ کا مطلب ہے 🔍
اگر آپ اس پوری گائیڈ سے صرف ایک کام کرتے ہیں، تو یہ کریں: صحیح طریقے سے پیمائش کریں۔.
میری اپنی جانچ میں، سب سے بڑی "اصلاحی پیش رفت" شرمناک حد تک آسان چیز دریافت کرنے سے ہوئی جیسے:
-
ڈیٹا لوڈر GPU کو بھوکا مار رہا ہے۔
-
سی پی یو پری پروسیسنگ رکاوٹ
-
چھوٹے بیچ کے سائز کی وجہ سے کرنل لانچ ہوتا ہے۔
-
سست ٹوکنائزیشن (ٹوکنائزر خاموش ولن ہو سکتے ہیں)
-
میموری فریگمنٹیشن (پائی ٹارچ سی یو ڈی اے میموری ایلوکیٹر نوٹ)
-
ایک واحد پرت جو حساب پر غالب ہے۔
کیا پیمائش کرنا ہے (کم سے کم سیٹ)
-
تاخیر (p50, p95, p99) (SRE پر لیٹنسی پرسنٹائلز)
-
تھرو پٹ (ٹوکن/سیکنڈ، درخواستیں/سیکنڈ)
-
GPU استعمال (کمپیوٹ + میموری)
-
VRAM / RAM چوٹیوں
-
لاگت فی 1k ٹوکن (یا فی تخمینہ)
عملی پروفائلنگ ذہنیت
-
پروفائل ایک منظرنامے جس کی آپ کو پرواہ ہے (کھلونے کا اشارہ نہیں)۔.
-
ہر چیز کو ایک چھوٹے سے "پرف جرنل" میں ریکارڈ کریں۔
ہاں یہ تکلیف دہ ہے… لیکن یہ آپ کو بعد میں خود کو گیس کی روشنی سے بچاتا ہے۔
(اگر آپ ایک ٹھوس ٹول کے ساتھ شروع کرنا چاہتے ہیں: PyTorch Profiler (torch.profiler docs) اور Nsight Systems (NVIDIA Nsight Systems) معمول کے مشتبہ ہیں۔)
5) ڈیٹا + ٹریننگ آپٹیمائزیشن: خاموش سپر پاور 📦🚀
لوگ ماڈل فن تعمیر کا جنون رکھتے ہیں اور پائپ لائن کو بھول جاتے ہیں۔ اس دوران پائپ لائن خاموشی سے آدھے GPU کو جلا دیتی ہے۔.
آسان جیت جو تیزی سے ظاہر ہوتی ہے۔
-
مخلوط درستگی کا استعمال کریں (FP16/BF16 جہاں مستحکم ہو) (PyTorch AMP / torch.amp)
عام طور پر تیز، اکثر ٹھیک ہوتا ہے - لیکن عددی خامیوں پر نگاہ رکھیں۔ -
گراڈینٹ جمع جب بیچ کا سائز محدود ہو (🤗 ایکسلریٹ گائیڈ)
میموری کو پھٹائے بغیر اصلاح کو مستحکم رکھتا ہے۔ -
گریڈینٹ چیک پوائنٹنگ (torch.utils.checkpoint)
ٹریڈس کمپیوٹ برائے میموری - بڑے سیاق و سباق کو ممکن بناتا ہے۔ -
موثر ٹوکنائزیشن (🤗 Tokenizers)
ٹوکنائزیشن پیمانے پر رکاوٹ بن سکتی ہے۔ یہ گلیمرس نہیں ہے؛ یہ اہمیت رکھتا ہے. -
ڈیٹا لوڈر ٹیوننگ
مزید ورکرز، پِن میموری، پری فیچنگ - غیر واضح لیکن موثر 😴➡️💪 (پائ ٹارچ پرفارمنس ٹیوننگ گائیڈ)
پیرامیٹر موثر فائن ٹیوننگ
اگر آپ بڑے ماڈلز کو ٹھیک کر رہے ہیں، تو PEFT طریقے (جیسے LoRA طرز کے اڈاپٹر) حیرت انگیز طور پر مضبوط رہتے ہوئے تربیت کی لاگت کو بڑے پیمانے پر کم کر سکتے ہیں (🤗 Transformers PEFT guide, LoRA paper)۔ یہ ان میں سے ایک ہے "ہم نے یہ پہلے کیوں نہیں کیا؟" لمحات
6) فن تعمیر کی سطح کی اصلاح: ماڈل کا دائیں سائز 🧩
کبھی کبھی بہتر کرنے کا بہترین طریقہ یہ ہے کہ… ایسے ماڈل کا استعمال بند کر دیا جائے جو کام کے لیے بہت بڑا ہو۔ میں جانتا ہوں، توہین 😄۔.
چند بنیادی باتوں پر کال کریں:
-
فیصلہ کریں کہ آیا آپ کو مکمل عمومی ذہانت کی ضرورت ہے، یا ماہر۔.
-
سیاق و سباق کی کھڑکی کو اتنا بڑا رکھیں جتنا اسے ہونا چاہیے، بڑا نہیں۔.
-
ہاتھ میں کام کے لیے تربیت یافتہ ماڈل استعمال کریں (درجہ بندی کے کام کے لیے درجہ بندی کے ماڈل، وغیرہ)۔.
عملی دائیں سائز کی حکمت عملی
-
زیادہ تر درخواستوں کے لیے ایک چھوٹی ریڑھ کی ہڈی میں تبدیل کریں پھر "سخت سوالات" کو ایک بڑے ماڈل کی طرف روٹ کریں۔
-
دو مراحل کے سیٹ اپ کا استعمال کریں
فاسٹ ماڈل ڈرافٹ، مضبوط ماڈل کی تصدیق یا ترمیم۔
یہ کسی ایسے دوست کے ساتھ لکھنے کی طرح ہے جو چنچل ہے - پریشان کن، لیکن مؤثر۔ -
آؤٹ پٹ کی لمبائی کو کم کریں
آؤٹ پٹ ٹوکن پر پیسہ اور وقت خرچ ہوتا ہے۔ اگر آپ کا ماڈل ریبل کرتا ہے، تو آپ ریمبل کے لیے ادائیگی کرتے ہیں۔
میں نے ٹیموں کو چھوٹے آؤٹ پٹس کو نافذ کرکے ڈرامائی طور پر اخراجات کو کم کرتے دیکھا ہے۔ یہ چھوٹا محسوس ہوتا ہے۔ یہ کام کرتا ہے۔.
7) کمپائلر + گراف کی اصلاح: رفتار کہاں سے آتی ہے 🏎️
یہ "کمپیوٹر کو سمارٹ کمپیوٹر اسٹف بنانے" کی پرت ہے۔.
عام تکنیک:
-
آپریٹر فیوژن (کمبائن کرنل) (NVIDIA TensorRT "پرت فیوژن")
-
مستقل فولڈنگ (پری کمپیوٹ فکسڈ ویلیوز) (ONNX رن ٹائم گراف آپٹیمائزیشنز)
-
دانا کا انتخاب ہارڈ ویئر کے مطابق ہے۔
-
Python اوور ہیڈ کو کم کرنے کے لیے گراف کیپچر (
torch.compileoverview )
سادہ الفاظ میں: آپ کا ماڈل ریاضی کے لحاظ سے تیز ہو سکتا ہے، لیکن عملی طور پر سست ہے۔ مرتب کرنے والے اس میں سے کچھ کو ٹھیک کرتے ہیں۔.
عملی نوٹ (عرف نشانات)
-
یہ اصلاحات ماڈل کی شکل کی تبدیلیوں کے لیے حساس ہو سکتی ہیں۔.
-
کچھ ماڈلز کی رفتار بہت بڑھ جاتی ہے، کچھ بمشکل بجھتے ہیں۔.
-
کبھی کبھی آپ کو تیز رفتار اور حیران کن بگ ملتا ہے - جیسے ایک گریملن اندر چلا گیا 🧌
پھر بھی، جب یہ کام کرتا ہے، تو یہ سب سے صاف جیت میں سے ایک ہے۔.
8) مقدار بندی، کٹائی، کشید: روئے بغیر چھوٹا (بہت زیادہ) 🪓📉
یہ وہ سیکشن ہے جسے لوگ چاہتے ہیں… کیونکہ یہ مفت کارکردگی کی طرح لگتا ہے۔ یہ ہوسکتا ہے، لیکن آپ کو اس کا علاج سرجری کی طرح کرنا ہوگا۔.
کوانٹائزیشن (کم صحت سے متعلق وزن/فعالیت)
-
قیاس کی رفتار اور میموری کے لیے بہت اچھا ہے۔
-
خطرہ: معیار میں کمی، خاص طور پر کنارے کے معاملات پر
-
بہترین عمل: ایک حقیقی ٹیسٹ سیٹ پر اندازہ کریں، وائبس پر نہیں۔
عام ذائقے جن کے بارے میں آپ سنیں گے:
-
INT8 (اکثر ٹھوس) (TensorRT کوانٹائزڈ اقسام)
-
INT4 / کم بٹ (بڑی بچت، معیار کا خطرہ بڑھ جاتا ہے) (بٹ سینڈ بائٹس کے بٹ کوانٹائزیشن)
-
مخلوط مقدار (ہر چیز کو ایک جیسی درستگی کی ضرورت نہیں ہے)
کٹائی (پیرامیٹر کو ہٹا دیں)
-
"غیر اہم" وزن یا ڈھانچے کو ہٹاتا ہے (PyTorch pruning tutorial)
-
معیار کو بحال کرنے کے لیے عام طور پر دوبارہ تربیت کی ضرورت ہوتی ہے۔
-
لوگوں کی سوچ سے بہتر کام کرتا ہے… جب احتیاط سے کیا جائے۔
کشید (طالب علم استاد سے سیکھتا ہے)
یہ میرا ذاتی پسندیدہ طویل مدتی لیور ہے۔ ڈسٹلیشن ایک چھوٹا ماڈل تیار کر سکتا ہے جو اسی طرح کا برتاؤ کرتا ہے، اور یہ اکثر انتہائی کوانٹائزیشن (نیورل نیٹ ورک میں علم کو کشید کرنا) سے زیادہ مستحکم ہوتا ہے۔
ایک نامکمل استعارہ: کشید کرنا ایسا ہے جیسے فلٹر کے ذریعے ایک پیچیدہ سوپ ڈالنا اور ایک چھوٹا سوپ حاصل کرنا۔ سوپ اس طرح نہیں کام کرتا ہے، لیکن آپ کو خیال آتا ہے 🍲۔.
9) سرونگ اور انفرنس: حقیقی جنگ کا علاقہ 🧯
آپ کسی ماڈل کو "بہتر" بنا سکتے ہیں اور پھر بھی اسے بری طرح پیش کر سکتے ہیں۔ خدمت وہ جگہ ہے جہاں تاخیر اور لاگت حقیقی ہوجاتی ہے۔.
خدمت کرنے سے یہ معاملہ جیت جاتا ہے۔
-
بیچنگ
تھرو پٹ کو بہتر بناتی ہے۔ لیکن اگر آپ اسے زیادہ کرتے ہیں تو تاخیر میں اضافہ ہوتا ہے۔ اسے متوازن رکھیں۔ (ٹرائٹن متحرک بیچنگ) -
کیشنگ
پرامپٹ کیشنگ اور KV-کیشے کا دوبارہ استعمال بار بار سیاق و سباق کے لیے بڑے پیمانے پر ہو سکتا ہے۔ (KV کیشے کی وضاحت) -
سٹریمنگ آؤٹ پٹ
صارفین محسوس کرتے ہیں کہ یہ تیز تر ہے یہاں تک کہ اگر کل وقت ایک جیسا ہو۔ ادراک کی اہمیت ہے 🙂 -
ٹوکن بہ ٹوکن اوور ہیڈ کمی
کچھ اسٹیک فی ٹوکن اضافی کام کرتے ہیں۔ اس اوور ہیڈ کو کم کریں اور آپ بڑی جیتیں۔
دم کی تاخیر پر دھیان دیں۔
آپ کی اوسط اچھی لگ سکتی ہے جب کہ آپ کا p99 ایک آفت ہے۔ صارفین بدقسمتی سے دم میں رہتے ہیں۔ ("ٹیل لیٹینسی" اور اوسط جھوٹ کیوں بولتے ہیں)
10) ہارڈ ویئر سے آگاہی کی اصلاح: ماڈل کو مشین سے میچ کریں 🧰🖥️
ہارڈ ویئر سے آگاہی کے بغیر اصلاح کرنا ٹائروں کو چیک کیے بغیر ریس کار کو ٹیون کرنے کے مترادف ہے۔ یقینا، آپ یہ کر سکتے ہیں، لیکن یہ تھوڑا سا احمقانہ ہے۔.
GPU تحفظات
-
میموری بینڈوڈتھ اکثر محدود کرنے والا عنصر ہوتا ہے، خام حساب نہیں۔
-
بڑے بیچ کے سائز مدد کر سکتے ہیں، جب تک کہ وہ ایسا نہ کریں۔
-
کرنل فیوژن اور توجہ کی اصلاح ٹرانسفارمرز کے لیے بہت زیادہ ہے (فلیش توجہ: IO- آگاہ عین توجہ)
سی پی یو کے تحفظات
-
تھریڈنگ، ویکٹرائزیشن، اور میموری لوکلٹی بہت اہمیت رکھتی ہے۔
-
ٹوکنائزیشن اوور ہیڈ غلبہ حاصل کر سکتا ہے (🤗 "تیز" ٹوکنائزرز)
-
آپ کو GPU کے مقابلے مختلف کوانٹائزیشن کی حکمت عملیوں کی ضرورت ہو سکتی ہے۔
ایج / موبائل تحفظات
-
میموری فوٹ پرنٹ ترجیح نمبر ایک بن جاتا ہے۔
-
تاخیر کا فرق اس لیے اہمیت رکھتا ہے کیونکہ آلات موڈی ہوتے ہیں۔
-
چھوٹے، خصوصی ماڈلز اکثر بڑے عام ماڈلز کو مات دیتے ہیں۔
11) کوالٹی گارڈریلز: اپنے آپ کو "بہترین" نہ بنائیں 🧪
ہر رفتار کی جیت کوالٹی چیک کے ساتھ آنی چاہیے۔ بصورت دیگر آپ جشن منائیں گے، جہاز بھیجیں گے اور پھر ایک پیغام ملے گا جیسے "اسسٹنٹ اچانک سمندری ڈاکو کی طرح بات کیوں کرتا ہے؟" 🏴☠️
عملی نگہبانی:
-
گولڈن پرامپٹس (ان اشاروں کا مقررہ سیٹ جو آپ ہمیشہ جانچتے ہیں)
-
ٹاسک میٹرکس (درستگی، F1، BLEU، جو بھی فٹ بیٹھتا ہے)
-
انسانی جگہ کی جانچ (جی ہاں، سنجیدگی سے)
-
ریگریشن تھریشولڈز ("X% سے زیادہ کمی کی اجازت نہیں")
ناکامی کے طریقوں کو بھی ٹریک کریں:
-
فارمیٹنگ بڑھے
-
انکار کے رویے میں تبدیلی
-
فریکوئنسی فریکوئنسی
-
ردعمل کی لمبائی افراط زر
اصلاح حیرت انگیز طریقوں سے طرز عمل کو تبدیل کر سکتی ہے۔ خاص طور پر۔ چڑچڑاہٹ سے۔ متوقع طور پر، پیچھے کی نظر میں۔.
12) چیک لسٹ: AI ماڈلز کو مرحلہ وار کس طرح بہتر بنایا جائے ✅🤖
اگر آپ AI ماڈلز کو کس طرح آپٹیمائز کریں کے لیے آپریشنز کا واضح آرڈر چاہتے ہیں ، تو یہاں کام کا فلو ہے جو لوگوں کو سمجھدار رکھتا ہے:
-
کامیابی کی وضاحت کریں
1-2 پرائمری میٹرکس (تاخیر، لاگت، تھرو پٹ، معیار) چنیں۔ -
بیس لائن
پروفائل اصلی ورک بوجھ، ریکارڈ p50/p95، میموری، لاگت کی پیمائش کریں۔ (پائی ٹارچ پروفائلر) -
پائپ لائن کی رکاوٹوں کو درست کریں
ڈیٹا لوڈنگ، ٹوکنائزیشن، پری پروسیسنگ، بیچنگ۔ -
کم رسک کمپیوٹ جیت کا اطلاق کریں
مخلوط درستگی، دانا کی اصلاح، بہتر بیچنگ۔ -
کمپائلر/رن ٹائم آپٹیمائزیشنز
گراف کیپچر، انفرنس رن ٹائمز، آپریٹر فیوژن کو آزمائیں۔ (torch.compileٹیوٹوریل، ONNX رن ٹائم دستاویزات) -
ماڈل کی لاگت کو کم کریں
احتیاط سے کوانٹائز کریں، اگر ہو سکے تو ڈسٹل کریں، اگر مناسب ہو تو کٹائی کریں۔ -
ٹیون سرونگ
کیشنگ، کنکرنسی، لوڈ ٹیسٹنگ، ٹیل لیٹینسی فکسز۔ -
معیار کی توثیق کریں
ریگریشن ٹیسٹ چلائیں اور ساتھ ساتھ آؤٹ پٹ کا موازنہ کریں۔ -
دہرائیں
چھوٹی تبدیلیاں، واضح نوٹ، دہرائیں۔ غیر ظاہر - موثر۔
اور ہاں، یہ اب بھی ہے کہ اے آئی ماڈلز کو کس طرح آپٹمائز کیا جائے یہاں تک کہ اگر یہ محسوس ہوتا ہے کہ "ریکس پر قدم رکھنا کیسے روکا جائے"۔ ایک ہی چیز۔
13) عام غلطیاں (تاکہ آپ ان کو ہم میں سے باقی لوگوں کی طرح نہ دہرائیں) 🙃
-
پیمائش کرنے سے پہلے اصلاح کرنا
آپ کا وقت ضائع ہوگا۔ اور پھر آپ اعتماد کے ساتھ غلط چیز کو بہتر بنائیں گے… -
سنگل بینچ مارک کا پیچھا کرنا
بینچ مارکس کو بھول کر جھوٹ بولتے ہیں۔ آپ کے کام کا بوجھ سچ ہے۔ -
یادداشت کو نظر انداز کرنا
یاداشت کے مسائل سست روی، کریش اور گھمبیر کا سبب بنتے ہیں۔ (PyTorch میں CUDA میموری کے استعمال کو سمجھنا) -
بہت جلد اوور کوانٹائزنگ
لو بٹ کوانٹ حیرت انگیز ہو سکتا ہے، لیکن پہلے محفوظ اقدامات کے ساتھ شروع کریں۔ -
کوئی رول بیک پلان نہیں
اگر آپ جلدی واپس نہیں جا سکتے تو ہر تعیناتی دباؤ کا شکار ہو جاتی ہے۔ تناؤ کیڑے بناتا ہے۔
اختتامی نوٹس: بہترین بنانے کا انسانی طریقہ 😌⚡
اے آئی ماڈلز کو کس طرح بہتر بنایا جائے ایک ہی ہیک نہیں ہے۔ یہ ایک تہہ دار عمل ہے: پیمائش کریں، پائپ لائن کو ٹھیک کریں، کمپائلرز اور رن ٹائمز کا استعمال کریں، ٹیون سرونگ کریں، پھر اگر آپ کو ضرورت ہو تو کوانٹائزیشن یا ڈسٹلیشن کے ساتھ ماڈل کو سکڑیں۔ اسے قدم بہ قدم کریں، معیاری گارڈریلز رکھیں، اور میٹرک کے طور پر "یہ تیز تر محسوس ہوتا ہے" پر بھروسہ نہ کریں (آپ کے احساسات خوبصورت ہیں، آپ کے احساسات پروفائلر نہیں ہیں)۔
اگر آپ مختصر ترین ٹیک وے چاہتے ہیں:
-
پہلے پیمائش کریں 🔍
-
اگلی پائپ لائن کو بہتر بنائیں 🧵
-
پھر ماڈل کو بہتر بنائیں 🧠
-
پھر سرونگ کو بہتر بنائیں 🏗️
-
کوالٹی چیک ہمیشہ رکھیں ✅
اور اگر اس سے مدد ملتی ہے تو اپنے آپ کو یاد دلائیں: مقصد ایک "کامل ماڈل" نہیں ہے۔ مقصد ایک ایسا ماڈل ہے جو تیز، سستی، اور اتنا قابل بھروسہ ہے کہ آپ رات کو… زیادہ تر راتیں سو سکتے ہیں۔.
حقیقی دنیا کی مثال: سپورٹ ٹکٹ سمریزر کو بہتر بنانا 🎟️⚡
منظر نامہ
تصور کریں کہ ایک چھوٹی SaaS ٹیم AI ماڈل کا استعمال کر رہی ہے تاکہ انسانی ایجنٹ کے جواب سے پہلے آنے والے سپورٹ ٹکٹوں کا خلاصہ کیا جا سکے۔ ماڈل کام کرتا ہے، لیکن یہ سست ہے: ایجنٹ سمری کے لیے بہت زیادہ انتظار کرتے ہیں، اور کمپنی تخمینہ کے لیے توقع سے زیادہ ادائیگی کر رہی ہے۔.
مقصد ہر ممکن طریقے سے ماڈل کو "بہتر" بنانا نہیں ہے۔ ٹیم ایک بنیادی رکاوٹ کا انتخاب کرتی ہے: خلاصہ معیار کو قابل قبول رکھتے ہوئے p95 تاخیر کو کم کریں۔.
ان کا ہدف واضح ہے:
p95 لیٹنسی کو تقریباً 2.4 سیکنڈ سے کم کر کے 1.2 سیکنڈ سے کم کر دیں، 50 ٹکٹوں کے ٹیسٹ سیٹ میں ایک سے زیادہ سنگین سمری کی غلطی نہیں ہے۔.
ورک فلو کو کیا ضرورت ہے۔
اس کو عملی شکل دینے کے لیے، ٹیم جمع کرتی ہے:
ایک 50 ٹکٹوں والا گولڈن ٹیسٹ سیٹ جس میں مختصر، درمیانے اور بے ترتیب ٹکٹس ہیں۔
متوقع خلاصہ کا انداز: 3 گولیاں، کوئی ایجاد شدہ حقائق نہیں، اگر واضح ہو تو عجلت شامل ہے
بیس لائن میٹرکس: p50, p95, p99 لیٹنسی، پیدا کردہ ٹوکنز، فی ٹکٹ کی قیمت، اور غلطی کی گنتی
ایک سادہ انسانی جائزہ چیک لسٹ
ماڈل لاگز، ٹوکن کاؤنٹ، اور بیچ/کنکرنسی سیٹنگز تک رسائی
اگر معیار گرتا ہے تو ایک رول بیک آپشن
اہم بات: وہ مقدار کے ساتھ شروع نہیں کرتے ہیں۔ پہلے، وہ چیک کرتے ہیں کہ آیا پائپ لائن وقت ضائع کر رہی ہے۔.
مثال کی ہدایت
ہر سپورٹ ٹکٹ کے لیے، گاہک کے مسئلے کا خلاصہ بالکل تین گولیوں میں کریں۔.
شامل کریں:
-
اہم مسئلہ
-
کسی بھی مصنوعات کے علاقے کا ذکر کیا گیا ہے
-
فوری یا کاروباری اثر، اگر بیان کیا گیا ہو۔
گمشدہ تفصیلات ایجاد نہ کریں۔ اگر گاہک کافی معلومات فراہم نہیں کرتا ہے، تو کہیے "متعین نہیں"۔.
خلاصہ 80 الفاظ سے کم رکھیں۔.
اس کی جانچ کیسے کی جائے۔
پرانے اور نئے سیٹ اپ کے ذریعے وہی 50 ٹکٹ چلائیں۔.
ہر رن کے لیے، ریکارڈ کریں:
p50، p95، اور p99 تاخیر
اوسط آؤٹ پٹ ٹوکن
قیمت فی 1,000 ٹکٹ
ایجاد کردہ تفصیلات کے ساتھ خلاصوں کی تعداد
خلاصوں کی تعداد جن کو انسانی دوبارہ لکھنے کی ضرورت ہے۔
پھر کچھ عجیب و غریب معاملات کی جانچ کریں:
تین الگ الگ مسائل کے ساتھ ٹکٹ
ایک بہت ناراض گاہک کا پیغام
ایک مبہم ٹکٹ جس میں تقریباً کوئی تفصیل نہیں ہے۔
ایک ٹکٹ جس میں چسپاں لاگز ہوں۔
ایک ٹکٹ جہاں صارف اپنا اکاؤنٹ منسوخ کرنے کا ذکر کرتا ہے۔
یہ عام ناکامی کو پکڑتا ہے جہاں اصلاح ماڈل کو تیز لیکن کم محتاط بناتی ہے۔.
نتیجہ
مثالی نتیجہ، تین اصلاحی گزرنے سے پہلے اور بعد کے 50 نمونے کے ٹکٹوں کے وقت کی بنیاد پر:
بیس لائن:
p95 تاخیر: 2.4 سیکنڈ
p99 تاخیر: 3.1 سیکنڈ
اوسط پیداوار کی لمبائی: 142 الفاظ
انسانی تحریریں: 50 میں سے 11
سنگین ایجاد کردہ تفصیل کی غلطیاں: 50 میں سے 3
اصلاح کے بعد:
p95 تاخیر: 1.1 سیکنڈ
p99 تاخیر: 1.6 سیکنڈ
اوسط پیداوار کی لمبائی: 61 الفاظ
انسانی دوبارہ لکھتا ہے: 50 میں سے 5
سنگین ایجاد شدہ تفصیل کی غلطیاں: 50 میں سے 1
کیا بدلا:
ٹیم نے آؤٹ پٹ کی لمبائی کو 80 الفاظ تک محدود کر دیا۔
انہوں نے کم ترجیحی ٹکٹوں کو 8 کے گروپوں میں بیچا۔
انہوں نے بار بار پروڈکٹ پالیسی کے سیاق و سباق کو کیش کیا۔
انہوں نے معیار کی تصدیق کے بعد مخلوط صحت سے متعلق سوئچ کیا۔
انہوں نے بعد کے لیے کوانٹائزیشن چھوڑ دی کیونکہ تاخیر کا ہدف پہلے ہی پورا ہو چکا تھا۔
اس مثال میں لاگت بھی گر گئی کیونکہ ماڈل نے کم ٹوکن بنائے۔ اگر پرانا سیٹ اپ تقریباً 142 الفاظ فی ٹکٹ تیار کرتا ہے اور نئے سیٹ اپ میں تقریباً 61 الفاظ ہوتے ہیں، تو آؤٹ پٹ کی لمبائی تقریباً 57 فیصد کم ہو جاتی ہے۔ یہ ایک میٹرک ہے جس کی ٹیم براہ راست لاگ سے تصدیق کر سکتی ہے۔.
کیا غلط ہو سکتا ہے
سب سے پرکشش غلطی خود سے رفتار کو بہتر بنانا ہے۔ ایک تیز ترین خلاصہ جو رقم کی واپسی کے وعدے کو ایجاد کرتا ہے وہ بہتری نہیں ہے۔.
دیگر آسان غلطیاں:
صرف صاف ٹکٹوں کی جانچ کرنا
p99 تاخیر کو نظر انداز کرنا
آؤٹ پٹ کی لمبائی کا موازنہ کرنا بھول رہے ہیں۔
ایک ہی وقت میں بیچنگ اور ماڈل کی ترتیبات کو تبدیل کرنا
ٹیل لیٹنسی کی بجائے اوسط لیٹنسی کا استعمال کرنا
جائزہ چیک لسٹ کے بغیر "معیار وہی رہا" کا دعوی کرنا
جائزہ لینے کا ایک محفوظ اصول آسان ہے: اگر 50 میں سے 2 سے زیادہ خلاصے اہم تفصیلات ایجاد کرتے ہیں، تو پیچھے ہٹیں اور تفتیش کریں۔.
عملی راستہ
عملی طور پر ٹھوس AI ماڈل کی اصلاح کی طرح نظر آتا ہے: ایک رکاوٹ منتخب کریں، موجودہ نظام کی پیمائش کریں، پہلے فضلہ کو ہٹائیں، کم خطرے والی تبدیلیاں لاگو کریں، پھر ہمدرم لیکن قیمتی ٹیسٹ کے ساتھ معیار کی جانچ کریں۔ جیت صرف ایک تیز ماڈل نہیں ہے۔ یہ ایک تیز ماڈل ہے جس پر آپ اب بھی بھروسہ کر سکتے ہیں۔.
اکثر پوچھے گئے سوالات
AI ماڈل کو بہتر بنانے کا عملی طور پر کیا مطلب ہے۔
"آپٹمائز" کا مطلب عام طور پر ایک بنیادی رکاوٹ کو بہتر بنانا ہے: تاخیر، لاگت، میموری فوٹ پرنٹ، درستگی، استحکام، یا سرونگ تھرو پٹ۔ مشکل حصہ تجارت کا ہے - ایک علاقے کو آگے بڑھانے سے دوسرے علاقے کو نقصان پہنچ سکتا ہے۔ ایک عملی طریقہ یہ ہے کہ ایک واضح ہدف (جیسے p95 لیٹنسی یا ٹائم ٹو کوالٹی) کا انتخاب کریں اور اس کی طرف اصلاح کریں۔ ہدف کے بغیر، "بہتر کرنا" اور پھر بھی ہارنا آسان ہے۔.
خاموشی سے معیار کو نقصان پہنچائے بغیر AI ماڈلز کو کیسے بہتر بنایا جائے۔
ہر رفتار یا قیمت میں تبدیلی کو ممکنہ خاموش رجعت کے طور پر سمجھیں۔ گولڈن پرامپٹس، ٹاسک میٹرکس، اور فوری انسانی اسپاٹ چیک جیسے گارڈریلز کا استعمال کریں۔ قابل قبول معیار کے بڑھنے کے لیے ایک واضح حد مقرر کریں اور ساتھ ساتھ آؤٹ پٹ کا موازنہ کریں۔ یہ "یہ تیز تر ہے" کو "یہ اچانک پیداوار میں عجیب کیوں ہو گیا؟" میں تبدیل ہونے سے روکتا ہے۔ آپ کے جہاز کے بعد.
آپ کو بہتر بنانا شروع کرنے سے پہلے کیا پیمائش کرنا ہے۔
لیٹنسی پرسنٹائلز (p50, p95, p99)، تھرو پٹ (ٹوکن/سیکنڈ یا درخواستیں/سیکنڈ)، GPU استعمال، اور چوٹی VRAM/RAM کے ساتھ شروع کریں۔ لاگت کو ٹریک کریں فی تخمینہ یا فی 1k ٹوکن اگر لاگت ایک رکاوٹ ہے۔ ایک حقیقی منظر نامے کی پروفائل جو آپ پیش کرتے ہیں، کھلونا پرامپٹ نہیں۔ ایک چھوٹا سا "پرف جرنل" رکھنے سے آپ کو غلطیوں کا اندازہ لگانے اور دہرانے سے بچنے میں مدد ملتی ہے۔.
تربیتی کارکردگی کے لیے فوری، کم خطرے والی جیت
مخلوط درستگی (FP16/BF16) اکثر سب سے تیز پہلا لیور ہوتا ہے، لیکن عددی خامیوں پر نگاہ رکھیں۔ اگر بیچ کا سائز محدود ہے تو، تدریجی جمع میموری کو اڑائے بغیر اصلاح کو مستحکم کر سکتا ہے۔ گریڈینٹ چیک پوائنٹنگ کم میموری کے لیے اضافی کمپیوٹ کا کاروبار کرتا ہے، جس سے بڑے سیاق و سباق کو فعال کیا جاتا ہے۔ ٹوکنائزیشن اور ڈیٹا لوڈر ٹیوننگ کو نظر انداز نہ کریں - وہ خاموشی سے GPU کو بھوکا رکھ سکتے ہیں۔.
torch.compile، ONNX رن ٹائم، یا TensorRT کب استعمال کریں۔
یہ ٹولز آپریشنل اوور ہیڈ کو نشانہ بناتے ہیں: گراف کیپچر، کرنل فیوژن، اور رن ٹائم گراف آپٹیمائزیشن۔ وہ کلین انفرنس سپیڈ اپ فراہم کر سکتے ہیں، لیکن ماڈل کی شکل اور ہارڈ ویئر کے لحاظ سے نتائج مختلف ہوتے ہیں۔ کچھ سیٹ اپ جادو کی طرح محسوس کرتے ہیں؛ دوسرے بمشکل حرکت کرتے ہیں۔ تبدیلیوں اور کبھی کبھار "گریملن" کیڑے کے بارے میں حساسیت کی توقع کریں - اپنے حقیقی کام کے بوجھ سے پہلے اور بعد میں پیمائش کریں۔.
آیا کوانٹائزیشن اس کے قابل ہے، اور بہت دور جانے سے کیسے بچنا ہے۔
کوانٹائزیشن میموری کو کم کر سکتی ہے اور اندازہ کو تیز کر سکتی ہے، خاص طور پر INT8 کے ساتھ، لیکن کوالٹی کنارے کے معاملات پر پھسل سکتی ہے۔ لوئر بٹ کے اختیارات (جیسے INT4/k-bit) زیادہ خطرے کے ساتھ بڑی بچت لاتے ہیں۔ سب سے محفوظ عادت یہ ہے کہ ایک حقیقی ٹیسٹ سیٹ پر اندازہ لگانا اور آؤٹ پٹس کا موازنہ کرنا، نہ کہ گٹ احساس۔ پہلے محفوظ اقدامات کے ساتھ شروع کریں، پھر ضرورت پڑنے پر ہی کم درستگی پر جائیں۔.
ماڈل سائز میں کمی کے لیے کٹائی اور کشید کے درمیان فرق
کٹائی "ڈیڈ ویٹ" کے پیرامیٹرز کو ہٹا دیتی ہے اور معیار کو بحال کرنے کے لیے اکثر دوبارہ تربیت کی ضرورت ہوتی ہے، خاص طور پر جب جارحانہ طریقے سے کیا جائے۔ ڈسٹلیشن ایک چھوٹے طالب علم کے ماڈل کو ایک بڑے استاد کے رویے کی نقل کرنے کے لیے تربیت دیتا ہے، اور یہ انتہائی کوانٹائزیشن سے زیادہ مضبوط طویل مدتی ROI ہو سکتا ہے۔ اگر آپ ایک چھوٹا ماڈل چاہتے ہیں جو اسی طرح برتاؤ کرے اور مستحکم رہے، تو کشید اکثر صاف راستہ ہوتا ہے۔.
پیش کش میں بہتری کے ذریعے تخمینہ لاگت اور تاخیر کو کیسے کم کیا جائے۔
سرونگ وہ جگہ ہے جہاں آپٹیمائزیشن ٹھوس ہو جاتی ہے: بیچنگ تھرو پٹ کو بڑھاتی ہے لیکن اگر ضرورت سے زیادہ ہو جائے تو تاخیر کو نقصان پہنچ سکتا ہے، لہذا اسے احتیاط سے ٹیون کریں۔ سیاق و سباق کے دہرائے جانے پر کیشنگ (پرامپٹ کیشنگ اور KV-کیشے کا دوبارہ استعمال) بڑے پیمانے پر ہوسکتا ہے۔ سٹریمنگ آؤٹ پٹ سمجھی رفتار کو بہتر بناتا ہے یہاں تک کہ اگر کل وقت ایک جیسا ہو۔ اپنے اسٹیک میں ٹوکن بہ ٹوکن اوور ہیڈ بھی تلاش کریں - چھوٹے فی ٹوکن کام میں تیزی سے اضافہ ہوتا ہے۔.
AI ماڈلز کو بہتر بناتے وقت ٹیل لیٹینسی اتنی اہمیت کیوں رکھتی ہے۔
اوسط بہت اچھے لگ سکتے ہیں جب کہ p99 ایک آفت ہے، اور صارفین دم پر رہتے ہیں۔ ٹیل لیٹنسی اکثر گھمبیر ہونے سے آتی ہے: میموری فریگمنٹیشن، سی پی یو پری پروسیسنگ اسپائکس، ٹوکنائزیشن سست روی، یا بیچنگ کا خراب رویہ۔ اسی لیے گائیڈ فیصد اور حقیقی کام کے بوجھ پر زور دیتا ہے۔ اگر آپ صرف p50 کو بہتر بناتے ہیں، تو آپ اب بھی ایسا تجربہ بھیج سکتے ہیں جو "بے ترتیب طور پر سست محسوس ہوتا ہے۔"
حوالہ جات
-
Amazon Web Services (AWS) - AWS CloudWatch پرسنٹائلز (اعداد و شمار کی تعریفیں) - docs.aws.amazon.com
-
Google - The Tail at Scale (ٹیل لیٹنسی بہترین پریکٹس) - sre.google
-
گوگل - سروس لیول کے مقاصد (SRE بک) - لیٹنسی فیصد - sre.google
-
PyTorch - torch.compile - docs.pytorch.org
-
PyTorch - FullyShardedDataParallel (FSDP) - docs.pytorch.org
-
PyTorch - PyTorch پروفائلر - docs.pytorch.org
-
PyTorch - CUDA سیمنٹکس: میموری مینجمنٹ (CUDA میموری مختص کرنے والے نوٹ) - docs.pytorch.org
-
PyTorch - خودکار مخلوط درستگی (torch.amp/AMP) - docs.pytorch.org
-
PyTorch - torch.utils.checkpoint - docs.pytorch.org
-
PyTorch - پرفارمنس ٹیوننگ گائیڈ - docs.pytorch.org
-
PyTorch - کٹائی ٹیوٹوریل - docs.pytorch.org
-
PyTorch - PyTorch میں CUDA میموری کے استعمال کو سمجھنا - docs.pytorch.org
-
PyTorch - torch.compile tutorial / overview - docs.pytorch.org
-
ONNX رن ٹائم - ONNX رن ٹائم دستاویزی - onnxruntime.ai
-
NVIDIA - TensorRT دستاویزات - docs.nvidia.com
-
NVIDIA - TensorRT کوانٹائزڈ اقسام - docs.nvidia.com
-
NVIDIA - Nsight Systems - developer.nvidia.com
-
NVIDIA - Triton Inference Server - متحرک بیچنگ - docs.nvidia.com
-
ڈیپ اسپیڈ - زیرو اسٹیج 3 دستاویزات - deepspeed.readthedocs.io
-
bitsandbytes (bitsandbytes-foundation) - bitsandbytes - github.com
-
گلے لگانا چہرہ - تیز کریں: گریڈینٹ ایکومولیشن گائیڈ - huggingface.co
-
گلے لگانا چہرہ - ٹوکنائزرز دستاویزات - huggingface.co
-
گلے لگانا چہرہ - ٹرانسفارمرز: PEFT گائیڈ - huggingface.co
-
گلے لگانا چہرہ - ٹرانسفارمرز: KV کیشے کی وضاحت - huggingface.co
-
گلے لگانا چہرہ - ٹرانسفارمرز: "تیز" ٹوکنائزر (ٹوکنائزر کلاسز) - huggingface.co
-
arXiv - نیورل نیٹ ورک میں علم کو کشید کرنا (Hinton et al.، 2015) - arxiv.org
-
arXiv - LoRA: بڑی زبان کے ماڈلز کی کم درجہ کی موافقت - arxiv.org
-
arXiv - FlashAttention: IO-Awareness کے ساتھ تیز اور یادداشت کی موثر درست توجہ - arxiv.org