بڑی زبان ماڈلز کا استعمال کرتے ہوئے جنریٹو AI ایپلیکیشنز بنانا نئے چیلنجز کے ساتھ آتا ہے۔ ایک اہم مسئلہ ماڈل کی طرف سے صارف کی درخواست کے لیے تیار کردہ مواد میں جواب کی معیار (درستگی اور مناسبت) کو یقینی بنانا ہے۔ گزشتہ دروس میں، ہم نے پرامپٹ انجینئرنگ اور رٹریول-آگمینٹڈ جنریشن جیسی تکنیکوں پر بات کی ہے جو مسئلہ کو موجودہ ماڈل میں پرامپٹ ان پٹ کو تبدیل کرکے حل کرنے کی کوشش کرتی ہیں۔
آج کے سبق میں ہم تیسری تکنیک، فائن-ٹیوننگ، پر بات کریں گے جو ماڈل کو اضافی ڈیٹا کے ساتھ دوبارہ تربیت دے کر چیلنج کو حل کرنے کی کوشش کرتی ہے۔ آئیے تفصیلات میں جائیں۔
یہ سبق پری-ٹرینڈ زبان کے ماڈلز کے لیے فائن-ٹیوننگ کے تصور کا تعارف کراتا ہے، اس طریقے کے فوائد اور چیلنجز کی جانچ کرتا ہے، اور یہ بتاتا ہے کہ کب اور کیسے فائن-ٹیوننگ استعمال کر کے اپنے جنریٹو AI ماڈلز کی کارکردگی کو بہتر بنایا جائے۔
اس سبق کے آخر تک، آپ درج ذیل سوالات کے جوابات دے سکیں گے:
- زبان کے ماڈلز کے لیے فائن-ٹیوننگ کیا ہے؟
- کب اور کیوں فائن-ٹیوننگ مفید ہے؟
- میں پہلے سے تربیت یافتہ ماڈل کو کیسے فائن-ٹیون کر سکتا ہوں؟
- فائن-ٹیوننگ کی کیا حدود ہیں؟
تیار ہیں؟ شروع کرتے ہیں۔
کیا آپ شروع کرنے سے پہلے اس سبق میں شامل تمام موضوعات کا عمومی جائزہ لینا چاہتے ہیں؟ اس مصورانہ رہنمائی کو دیکھیں جو فائن-ٹیوننگ کے بنیادی تصورات اور محرکات سے لے کر فائن-ٹیوننگ کے عمل اور بہترین طریقہ کار تک کے سیکھنے کے سفر کو بیان کرتی ہے۔ یہ ایک دلچسپ موضوع ہے، اس لیے اپنے خود کے رہنمابنائی کے لیے مزید روابط کے لیے Resources صفحہ بھی دیکھنا نہ بھولیں!
تعریف کے مطابق، بڑے زبان کے ماڈلز کو انٹرنیٹ سمیت مختلف ذرائع سے حاصل شدہ بڑی مقدار میں متن پر پری-ٹرینڈ کیا جاتا ہے۔ جیسا کہ ہم نے پچھلے اسباق میں سیکھا ہے، ہمیں پرامپٹ انجینئرنگ اور رٹریول-آگمینٹڈ جنریشن جیسی تکنیکوں کی ضرورت ہے تاکہ ماڈل کے جوابات کی معیار کو صارف کے سوالات ("پرامپٹس") کے حوالے سے بہتر بنایا جا سکے۔
ایک مشہور پرامپٹ انجینئرنگ تکنیک ماڈل کو اس بات کی مزید رہنمائی دینا ہے کہ جواب میں کیا توقع کی جاتی ہے، چاہے وہ ہدایت (واضح رہنمائی) دے کر ہو یا کچھ مثالیں دے کر (اثراتی رہنمائی)۔ اسے few-shot learning کہا جاتا ہے لیکن اس کی دو حدود ہیں:
- ماڈل ٹوکن کی حدود آپ کو دی جانے والی مثالوں کی تعداد کو محدود کر سکتی ہیں، اور مؤثریت کو کم کر سکتی ہیں۔
- ماڈل ٹوکن کی قیمتیں ہر پرامپٹ میں مثالیں شامل کرنے کو مہنگا بنا سکتی ہیں، اور لچک کو محدود کر سکتی ہیں۔
فائن-ٹیوننگ مشین لرننگ سسٹمز میں عام عمل ہے جہاں ہم ایک پری-ٹرینڈ ماڈل لیتے ہیں اور اسے نئے ڈیٹا کے ساتھ دوبارہ تربیت دے کر کسی مخصوص کام پر اس کی کارکردگی بہتر بناتے ہیں۔ زبان کے ماڈلز کے سیاق و سباق میں، ہم پری-ٹرینڈ ماڈل کو کسی مخصوص کام یا اطلاقی علاقے کے لیے منتخب کردہ مثالوں کے سیٹ کے ساتھ فائن-ٹیون کر سکتے ہیں تاکہ ایک کسٹم ماڈل بنایا جا سکے جو اس خاص کام یا علاقے کے لیے زیادہ درست اور متعلقہ ہو۔ فائن-ٹیوننگ کا ایک ضمنی فائدہ یہ بھی ہے کہ یہ few-shot learning کے لیے درکار مثالوں کی تعداد کو کم کر سکتا ہے، جس سے ٹوکن کا استعمال اور متعلقہ اخراجات کم ہوتے ہیں۔
اس سیاق و سباق میں، جب ہم فائن-ٹیوننگ کی بات کرتے ہیں، تو ہمارا مطلب نگرانی شدہ فائن-ٹیوننگ ہے جہاں دوبارہ تربیت اصل تربیتی ڈیٹا سیٹ کے علاوہ نیا ڈیٹا شامل کر کے کی جاتی ہے۔ یہ بغیر نگرانی کے فائن-ٹیوننگ کے برعکس ہے جہاں ماڈل کو اصل ڈیٹا پر دوبارہ تربیت دی جاتی ہے، لیکن مختلف ہائپرپیرامیٹرز کے ساتھ۔
کلیدی بات یاد رکھنے کی یہ ہے کہ فائن-ٹیوننگ ایک جدید تکنیک ہے جس کے لیے مطلوبہ نتائج حاصل کرنے کے لیے ایک خاص مہارت کی ضرورت ہوتی ہے۔ اگر غلط طریقے سے کیا جائے، تو یہ توقعات کے مطابق بہتری نہ دے سکے اور آپ کے ہدف والے علاقے کے لیے ماڈل کی کارکردگی کو خراب بھی کر سکتا ہے۔
لہٰذا، اس سے پہلے کہ آپ "کیسے" زبان کے ماڈلز کو فائن-ٹیون کریں، آپ کو جاننا چاہیے کہ "کیوں" آپ کو یہ راستہ اختیار کرنا چاہیے، اور "کب" فائن-ٹیوننگ کا عمل شروع کرنا چاہیے۔ اپنے آپ سے یہ سوالات کریں:
- استعمال کا کیس: آپ کا فائن-ٹیوننگ کا استعمال کا کیس کیا ہے؟ آپ موجودہ پری-ٹرینڈ ماڈل کے کس پہلو کو بہتر کرنا چاہتے ہیں؟
- متبادل: کیا آپ نے مطلوبہ نتائج حاصل کرنے کے لیے دوسری تکنیکیں آزما رکھی ہیں؟ انہیں موازنہ کے لیے ایک بنیادی معیار کے طور پر استعمال کریں۔
- پرامپٹ انجینئرنگ: مطابقت رکھنے والے پرامپٹ جوابات کی مثالوں کے ساتھ few-shot prompting جیسی تکنیکیں آزمائیں۔ جوابات کی معیار کو جانچیں۔
- رٹریول آگمینٹڈ جنریشن: اپنی ڈیٹا کو تلاش کر کے حاصل کیے گئے سوال کے جوابات کے ساتھ پرامپٹس کو آگمینٹ کریں۔ جوابات کی معیار کا جائزہ لیں۔
- اخراجات: کیا آپ نے فائن-ٹیوننگ کے اخراجات کی شناخت کی ہے؟
- فائن-ٹیوننگ کی صلاحیت - کیا پری-ٹرینڈ ماڈل فائن-ٹیون کے لیے دستیاب ہے؟
- محنت - تربیتی ڈیٹا کی تیاری، ماڈل کی جانچ اور بہتر بنانے کے لیے۔
- کمپیوٹ - فائن-ٹیوننگ کی ملازمتیں چلانے اور فائن-ٹیون شدہ ماڈل کو تعینات کرنے کے لیے۔
- ڈیٹا - فائن-ٹیوننگ کے اثر کے لیے کافی معیار کی مثالوں تک رسائی۔
- فوائد: کیا آپ نے فائن-ٹیوننگ کے فوائد کی تصدیق کر لی ہے؟
- معیار - کیا فائن-ٹیونڈ ماڈل نے بنیادی ماڈل سے بہتر کارکردگی دکھائی ہے؟
- لاگت - کیا اس نے پرامپٹس کو آسان بنا کر ٹوکن کے استعمال کو کم کیا ہے؟
- توسیع پذیری - کیا آپ بنیادی ماڈل کو نئے شعبوں کے لیے دوبارہ استعمال کر سکتے ہیں؟
ان سوالات کے جوابات دے کر، آپ یہ فیصلہ کر سکیں گے کہ آیا فائن-ٹیوننگ آپ کے کیس کے لیے صحیح طریقہ ہے۔ مثالی طور پر، یہ طریقہ تب تک درست ہے جب تک فوائد اخراجات سے زیادہ ہوں۔ ایک بار جب آپ فیصلہ کر لیں کہ آگے بڑھنا ہے، تو اب سوچنے کا وقت ہے کہ پری-ٹرینڈ ماڈل کو کیسے فائن-ٹیون کیا جائے۔
اگر آپ فیصلہ سازی کے عمل پر مزید بصیرت حاصل کرنا چاہتے ہیں، تو To fine-tune or not to fine-tune ویڈیو دیکھیں۔
پری-ٹرینڈ ماڈل کو فائن-ٹیون کرنے کے لیے آپ کو چاہیے:
- ایک پری-ٹرینڈ ماڈل جو آپ فائن-ٹیون کرنا چاہتے ہیں
- فائن-ٹیوننگ کے لیے استعمال ہونے والا ایک ڈیٹاسیٹ
- فائن-ٹیوننگ کا کام چلانے کے لیے ایک تربیتی ماحول
- فائن-ٹیون شدہ ماڈل کو تعینات کرنے کے لیے ایک ہوسٹنگ ماحول
Microsoft Foundry وہ جگہ ہے جہاں آپ آج Azure پر کسٹم ماڈلز کو فائن-ٹیون، تعینات، اور منظم کرتے ہیں (یہ Azure OpenAI اسٹوڈیو اور Azure AI اسٹوڈیو کو یکجا کرتا ہے)۔ جاب شروع کرنے سے پہلے، فاؤنڈری کی طرف سے دی جانے والی اختیارات اور اس پلیٹ فارم کی بہترین عملی ہدایات کو سمجھنا مددگار ہوتا ہے۔ فاؤنڈری مؤثر طریقے سے ماڈلز کو فائن-ٹیون کرنے کے لیے LoRA (low-rank adaptation) استعمال کرتا ہے، جو تربیت کو تیز اور ہر ویٹ کو دوبارہ تربیت دینے کے مقابلے میں زیادہ سستا بناتا ہے۔
فاؤنڈری تین فائن-ٹیوننگ تکنیکوں کو سپورٹ کرتا ہے۔ SFT سے شروع کریں - یہ سب سے وسیع حالات کو کور کرتا ہے۔
| تکنیک | یہ کیا کرتی ہے | کب استعمال کریں |
|---|---|---|
| نگرانی شدہ فائن-ٹیوننگ (SFT) | ان پٹ/آؤٹ پٹ کے نمونوں پر تربیت دیتی ہے تاکہ ماڈل وہ جوابات پیدا کرنا سیکھے جو آپ چاہتے ہیں۔ | زیادہ تر کاموں کے لیے ڈیفالٹ: ڈومین کی تخصیص، کام کی کارکردگی، انداز اور لہجہ، ہدایات کی پیروی، اور زبان کی مطابقت۔ |
| براہ راست ترجیح کی اصلاح (DPO) | پسندیدہ اور غیر پسندیدہ جوابات کے جوڑوں سے سیکھ کر آؤٹ پٹس کو انسانی ترجیحات کے مطابق بناتی ہے۔ | جب آپ کے پاس تقابلی تاثرات ہوں تو جواب کی معیار، حفاظت، اور موافقت کو بہتر بنانے کے لیے۔ |
| تقویتی فائن-ٹیوننگ (RFT) | گریڈرز سے ملنے والے انعامی اشارے استعمال کر کے پیچیدہ رویے کو تقویتی تعلم کے ذریعے بہتر بناتی ہے۔ | مقصدی، دلیل پر مبنی شعبے (ریاضی، کیمسٹری، طبیعیات) جہاں صحیح/غلط جوابات نمایاں ہوں۔ اس کے لیے زیادہ مشین لرننگ مہارت کی ضرورت ہوتی ہے۔ |
فاؤنڈری آپ کو تربیت کہاں اور کیسے چلانی ہے، انتخاب کرنے دیتا ہے:
- معیاری - آپ کے وسائل کے علاقے میں تربیت دیتا ہے اور ڈیٹا کی رہائش کو یقینی بناتا ہے۔ استعمال کریں جب ڈیٹا کو کسی مخصوص علاقے میں رہنا ضروری ہو۔
- عالمی - آپ کے علاقے سے باہر کی صلاحیت استعمال کر کے کم قیمت اور تیز قطار بناتا ہے (ڈیٹا اور ویٹ تربیتی علاقے میں نقل کیے جاتے ہیں)۔ جب ڈیٹا کی رہائش شرط نہ ہو تو اچھا انتخاب ہے۔
- ڈویلپر - سب سے کم قیمت والا طریقہ، زیر استعمال صلاحیت استعمال کرتا ہے بغیر کسی تاخیر/SLA کی گارنٹی کے (جابز کو معطل اور دوبارہ شروع کیا جا سکتا ہے)۔ تجربات کے لیے مثالی۔
فائن-ٹیون ایبل ماڈلز میں OpenAI کے gpt-4o-mini, gpt-4o, gpt-4.1, gpt-4.1-mini, اور gpt-4.1-nano شامل ہیں (SFT؛ 4o/4.1 خاندان DPO بھی سپورٹ کرتا ہے)، دلیل کے ماڈلز o4-mini اور gpt-5 (RFT)، اس کے علاوہ کھلے سورس ماڈلز جیسے Ministral-3B, Qwen-32B, Llama-3.3-70B-Instruct, اور gpt-oss-20b (SFT on Foundry resources)۔ ہمیشہ موجودہ فائن-ٹیوننگ ماڈلز کی فہرست سے متعلقہ طریقوں، علاقوں، اور دستیابی کی جانچ کریں۔
فاؤنڈری دو طریقے پیش کرتا ہے: بغیر سرور (صارف کی بنیاد پر قیمت، GPU کوٹہ نہیں، OpenAI اور منتخب ماڈلز) اور مینیجڈ کمپیوٹ (Azure Machine Learning کے ذریعے اپنی VMs استعمال کریں تاکہ سب سے وسیع ماڈلز دستیاب ہوں)۔ زیادہ تر لوگوں کے لیے بغیر سرور والا طریقہ شروع کرنے کے لیے بہتر ہے۔
- پہلے بیس لائن مقرر کریں۔ فائن-ٹیوننگ سے پہلے پرامپٹ انجینئرنگ اور RAG کے ساتھ بنیاد ماڈل کو ماپیں تاکہ فائدہ ظاہر کر سکیں۔
- چھوٹا شروع کریں، پھر بڑھائیں۔ 50-100 اعلیٰ معیار کی مثالوں سے آغاز کریں، پھر پروڈکشن کے لیے 500+ تک بڑھائیں۔ معیار کمیت سے بہتر ہے - کم معیار کی مثالیں نکال دیں۔
- ڈیٹا کو درست فارمیٹ کریں۔ تربیتی اور تصدیقی فائلیں JSONL، UTF-8 BOM کے ساتھ، 512 MB سے کم، اور چیٹ-کمپلیشنز میسج فارمیٹ استعمال کریں۔ ہمیشہ ایک تصدیقی فائل شامل کریں تاکہ اوور فٹنگ پر نظر رکھ سکیں۔
- تربیتی نظام پرامپٹ کو انفرنس میں برقرار رکھیں۔ ماڈل کو کال کرتے وقت وہی نظام پیغام استعمال کریں جو تربیت میں استعمال کیا تھا۔
- چیک پوائنٹس کا جائزہ لیں - آخری ہونے کی بنیاد پر اندھا دھند تعینات نہ کریں۔ فاؤنڈری آخری تین ایپوک کو تعینات کرنے کے قابل چیک پوائنٹس کے طور پر رکھتا ہے؛
train_loss/valid_lossاور ٹوکن کی درستگی کو دیکھ کر بہترین کو منتخب کریں۔ - فائن-ٹیون شدہ ماڈل اور بنیادی ماڈل کے موازنہ میں معیار کے ساتھ ساتھ ٹوکن لاگت بھی ماپیں۔
- مسلسل فائن-ٹیوننگ کے ساتھ بار بار تجربہ کریں۔ آپ پہلے سے فائن-ٹیون شدہ ماڈل کو نئے ڈیٹا پر دوبارہ فائن-ٹیون کر سکتے ہیں (OpenAI ماڈلز کے لیے سپورٹ یافتہ)۔
- ہوسٹنگ کے اخراجات کا خیال رکھیں۔ ایک تعینات کردہ کسٹم ماڈل گھنٹہ وار بل کرتا ہے، اور 15 دن کے بعد غیر فعال تعینات حذف کر دیا جاتا ہے - جو چیزیں آپ کو نہیں چاہیے صاف کریں۔
Customize a model with fine-tuning میں ابتدا سے انتہا تک مکمل گائیڈ پر عمل کریں، اور جب آپ دوسرے طریقوں کے لیے تیار ہوں تو DPO اور RFT کی رہنمائی دیکھیں۔
درج ذیل وسائل قدم بہ قدم رہنمائی فراہم کرتے ہیں جو آپ کو ایک حقیقی مثال میں لے جاتے ہیں جو اس وقت سپورٹ شدہ ماڈل اور منتخب ڈیٹاسیٹ کے ساتھ ہے۔ ان پر کام کرنے کے لیے آپ کو مخصوص فراہم کنندہ پر ایک اکاؤنٹ کی ضرورت ہوگی، نیز متعلقہ ماڈل اور ڈیٹاسیٹس تک رسائی بھی ہونی چاہیے۔
| فراہم کنندہ | ٹیوٹوریل | وضاحت |
|---|---|---|
| OpenAI | چیٹ ماڈلز کو فائن-ٹیون کرنے کا طریقہ | ایک حالیہ OpenAI چیٹ ماڈل کو کسی خاص ڈومین ("ریسپی اسسٹنٹ") کے لیے کیسے فائن-ٹیون کرنا ہے، اس کے لیے تربیتی ڈیٹا تیار کرنا، فائن-ٹیوننگ جاب چلانا، اور فائن-ٹیون شدہ ماڈل کو انفرنس کے لیے استعمال کرنا سیکھیں۔ |
| Microsoft Foundry | فائن-ٹیوننگ کے ذریعے ماڈل کو کسٹمائز کریں | Azure پر Microsoft Foundry کے ذریعے فی الوقت سپورٹ شدہ ماڈل جیسے gpt-4.1-mini کو فائن-ٹیون کرنے کا طریقہ سیکھیں: تربیتی اور جانچ ڈیٹا تیار کریں اور اپ لوڈ کریں، فائن-ٹیوننگ جاب چلائیں، پھر نیا ماڈل تعینات کریں اور استعمال کریں۔ |
| Hugging Face | Hugging Face کے ساتھ LLMs کی Fine-tuning | یہ بلاگ پوسٹ آپ کو اوپن LLM (مثلاً: CodeLlama 7B) کو transformers لائبریری اور Transformer Reinforcement Learning (TRL) کے ساتھ Hugging Face پر کھلے datasets استعمال کر کے fine-tune کرنے کا طریقہ بتاتی ہے۔ |
| 🤗 AutoTrain | AutoTrain کے ساتھ LLMs کی Fine-tuning | AutoTrain (یا AutoTrain Advanced) ایک پائتھون لائبریری ہے جو Hugging Face نے بنائی ہے، جو مختلف کاموں کے لیے fine-tuning کی اجازت دیتی ہے، جس میں LLM fine-tuning بھی شامل ہے۔ AutoTrain ایک no-code حل ہے اور fine-tuning آپ اپنی اپنی کلاؤڈ، Hugging Face Spaces یا لوکل طور پر کر سکتے ہیں۔ یہ ویب مبنی GUI، CLI، اور yaml کنفیگریشن فائل کے ذریعے ٹریننگ کو سپورٹ کرتا ہے۔ |
| 🦥 Unsloth | Unsloth کے ساتھ LLMs کی Fine-tuning | Unsloth ایک اوپن سورس فریم ورک ہے جو LLM fine-tuning اور reinforcement learning (RL) کو سپورٹ کرتا ہے۔ Unsloth آپ کی لوکل ٹریننگ، evaluation، اور deployment کو آسان بناتا ہے اور استعمال کے لیے تیار notebooks فراہم کرتا ہے۔ یہ text-to-speech (TTS)، BERT اور multimodal ماڈلز کو بھی سپورٹ کرتا ہے۔ شروع کرنے کے لیے، ان کی مرحلہ وار Fine-tuning LLMs Guide پڑھیں۔ |
اوپر دی گئی ٹیوٹوریلز میں سے کسی ایک کو منتخب کریں اور اس کے مراحل پر عمل کریں۔ ہم ممکنہ طور پر ان ٹیوٹوریلز کا ایک ورژن اس ریپو میں Jupyter Notebooks میں صرف ریفرنس کے لیے بنا سکتے ہیں۔ تازہ ترین ورژنز کے لیے براہِ راست اصل ذرائع کا استعمال کریں۔
اس سبق کے مکمل ہونے کے بعد، ہمارے Generative AI Learning collection کو دیکھیں تاکہ آپ اپنی Generative AI کی معلومات کو مزید بڑھا سکیں!
مبارک ہو!! آپ نے اس کورس کی v2 سیریز کا آخری سبق مکمل کر لیا ہے! سیکھنا اور تخلیق کرنا جاری رکھیں۔ **صرف اس موضوع کے لیے مزید تجاویز کی فہرست کے لیے RESOURCES صفحہ دیکھیں۔
ہماری v1 سیریز کے اسباق کو بھی مزید اسائنمنٹس اور تصورات کے ساتھ اپ ڈیٹ کیا گیا ہے۔ لہٰذا اپنی معلومات کو تازہ کریں - اور براہِ کرم کمیونٹی کے لیے ان اسباق کو بہتر بنانے میں مدد کے لیے اپنے سوالات اور تاثرات شیئر کریں۔
ڈس کلیمر: یہ دستاویز AI ترجمہ سروس Co-op Translator کے ذریعے ترجمہ کی گئی ہے۔ جبکہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم اس بات سے آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستیاں ہو سکتی ہیں۔ اصل دستاویز اپنے مادری زبان میں مستند ماخذ سمجھی جائے گی۔ حساس معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم قبول نہیں کرتے۔

