Skip to content

Latest commit

 

History

History
109 lines (73 loc) · 17.9 KB

File metadata and controls

109 lines (73 loc) · 17.9 KB

Open Source Models

اپنے LLM کی Fine-Tuning

بڑے زبان کے ماڈلز کو استعمال کرتے ہوئے جنریٹو AI ایپلیکیشنز بنانے کے ساتھ نئے چیلنجز آتے ہیں۔ ایک اہم مسئلہ یہ ہے کہ ماڈل کی طرف سے صارف کی درخواست کے لیے تیار کردہ مواد میں جواب کی کوالٹی (درستی اور مطابقت) کو یقینی بنایا جائے۔ پچھلے اسباق میں، ہم نے پرامپٹ انجینئرنگ اور retrieval-augmented generation جیسی تکنیکوں پر بات کی جو مسئلہ کو موجودہ ماڈل کے پرامپٹ ان پٹ کو ترمیم کر کے حل کرنے کی کوشش کرتی ہیں۔

آج کے سبق میں، ہم تیسری تکنیک، fine-tuning پر بات کریں گے، جو اس چیلنج کو ماڈل کو اضافی ڈیٹا کے ساتھ دوبارہ تربیت دے کر حل کرنے کی کوشش کرتی ہے۔ آئیے تفصیلات میں جائیں۔

سیکھنے کے مقاصد

یہ سبق pre-trained زبان کے ماڈلز کے لیے fine-tuning کے تصور کا تعارف کراتا ہے، اس طریقہ کار کے فوائد اور چیلنجز کو دریافت کرتا ہے، اور آپ کے جنریٹو AI ماڈلز کی کارکردگی بہتر بنانے کے لیے fine-tuning کب اور کیسے استعمال کی جائے، اس کی رہنمائی فراہم کرتا ہے۔

اس سبق کے آخر تک، آپ درج ذیل سوالات کے جواب دے سکیں گے:

  • زبان کے ماڈلز کے لیے fine-tuning کیا ہے؟
  • fine-tuning کب اور کیوں مفید ہے؟
  • میں pre-trained ماڈل کو کیسے fine-tune کر سکتا ہوں؟
  • fine-tuning کی کیا حدود ہیں؟

تیار ہیں؟ چلیں شروع کرتے ہیں۔

تصویری رہنمائی

کیا آپ اس سبق میں شامل موضوعات کا مجموعی جائزہ لینا چاہتے ہیں اس سے پہلے کہ ہم تفصیل میں جائیں؟ اس تصویری رہنمائی کو دیکھیں جو اس سبق کے سیکھنے کے سفر کو بیان کرتی ہے — fine-tuning کے بنیادی تصورات اور محرکات سے لے کر fine-tuning کے عمل اور بہترین طریقوں کو سمجھنے تک۔ یہ ایک دلچسپ موضوع ہے، اس لیے اپنی خود سے سیکھنے کے سفر کی مدد کے لیے اضافی لنکس کے لیے Resources صفحہ ضرور دیکھیں!

Illustrated Guide to Fine Tuning Language Models

زبان کے ماڈلز کے لیے fine-tuning کیا ہے؟

تعریف کے مطابق، بڑے زبان کے ماڈلز کو انٹرنیٹ سمیت مختلف ذرائع سے حاصل کردہ بڑی مقدار میں متن پر pre-trained کیا جاتا ہے۔ جیسا کہ ہم نے پچھلے اسباق میں سیکھا، ہمیں ماڈل کے صارف کے سوالات ("prompts") کے جوابات کی کوالٹی بہتر بنانے کے لیے prompt engineering اور retrieval-augmented generation جیسی تکنیکوں کی ضرورت ہوتی ہے۔

ایک مقبول prompt-engineering تکنیک میں ماڈل کو جواب میں کیا توقع کی جاتی ہے اس بارے میں زیادہ رہنمائی دینا شامل ہے، چاہے وہ ہدایات (واضح رہنمائی) کے ذریعے ہو یا چند مثالیں دینا (مبہم رہنمائی) کے ذریعے۔ اسے few-shot learning کہا جاتا ہے لیکن اس کے دو محدودات ہیں:

  • ماڈل کے token کی حد کی وجہ سے آپ جتنی مثالیں دے سکتے ہیں اس پر پابندی ہوتی ہے، جو مؤثریت کو محدود کرتی ہے۔
  • ماڈل کے token کے اخراجات کی وجہ سے ہر پرامپٹ میں مثالیں شامل کرنا مہنگا ہو سکتا ہے، اور لچک کو محدود کرتا ہے۔

fine-tuning مشین لرننگ سسٹمز میں ایک عام عمل ہے جہاں ہم pre-trained ماڈل کو نئی ڈیٹا کے ساتھ دوبارہ تربیت دیتے ہیں تاکہ کسی مخصوص کام پر اس کی کارکردگی بہتر ہو۔ زبان کے ماڈلز کے سیاق و سباق میں، ہم pre-trained ماڈل کو کسی مخصوص کام یا ایپلیکیشن ڈومین کے لیے منتخب کردہ مثالوں کے سیٹ کے ساتھ fine-tune کر سکتے ہیں تاکہ ایک custom ماڈل بنایا جا سکے جو اس مخصوص کام یا ڈومین کے لیے زیادہ درست اور متعلقہ ہو۔ fine-tuning کا ایک ضمنی فائدہ یہ بھی ہے کہ یہ few-shot learning کے لیے درکار مثالوں کی تعداد کو کم کر سکتا ہے — جس سے token کے استعمال اور متعلقہ اخراجات کم ہوتے ہیں۔

ہم کب اور کیوں ماڈلز کو fine-tune کریں؟

اس سیاق میں، جب ہم fine-tuning کی بات کرتے ہیں، تو ہمارا مطلب ہے supervised fine-tuning جہاں دوبارہ تربیت نئی ڈیٹا شامل کر کے کی جاتی ہے جو اصل تربیتی ڈیٹا سیٹ کا حصہ نہیں تھی۔ یہ unsupervised fine-tuning سے مختلف ہے جہاں ماڈل کو اصل ڈیٹا پر دوبارہ تربیت دی جاتی ہے، لیکن مختلف hyperparameters کے ساتھ۔

اہم بات یہ ہے کہ fine-tuning ایک جدید تکنیک ہے جس کے لیے مطلوبہ نتائج حاصل کرنے کے لیے خاص مہارت درکار ہوتی ہے۔ اگر غلط طریقے سے کی جائے تو یہ متوقع بہتری فراہم نہیں کر سکتی، بلکہ آپ کے ہدف والے ڈومین کے لیے ماڈل کی کارکردگی کو خراب بھی کر سکتی ہے۔

لہٰذا، اس سے پہلے کہ آپ "کیسے" زبان کے ماڈلز کو fine-tune کریں، آپ کو یہ جاننا ضروری ہے کہ "کیوں" آپ کو یہ راستہ اختیار کرنا چاہیے، اور "کب" fine-tuning کا عمل شروع کرنا چاہیے۔ اپنے آپ سے یہ سوالات پوچھیں:

  • Use Case: آپ کا fine-tuning کا استعمال کا کیس کیا ہے؟ آپ موجودہ pre-trained ماڈل کے کس پہلو کو بہتر بنانا چاہتے ہیں؟
  • Alternatives: کیا آپ نے دیگر تکنیکیں آزما کر مطلوبہ نتائج حاصل کرنے کی کوشش کی ہے؟ ان کو موازنہ کے لیے بنیاد کے طور پر استعمال کریں۔
    • Prompt engineering: متعلقہ پرامپٹ جوابات کی مثالوں کے ساتھ few-shot prompting جیسی تکنیکیں آزمائیں۔ جوابات کی کوالٹی کا جائزہ لیں۔
    • Retrieval Augmented Generation: اپنے ڈیٹا کی تلاش سے حاصل کردہ سوالات کے نتائج کے ساتھ پرامپٹس کو بڑھائیں۔ جوابات کی کوالٹی کا جائزہ لیں۔
  • Costs: کیا آپ نے fine-tuning کے اخراجات کی نشاندہی کی ہے؟
    • Tunability - کیا pre-trained ماڈل fine-tuning کے لیے دستیاب ہے؟
    • Effort - تربیتی ڈیٹا کی تیاری، ماڈل کی جانچ اور بہتر بنانے کے لیے محنت۔
    • Compute - fine-tuning کے کام چلانے اور fine-tuned ماڈل کو تعینات کرنے کے لیے کمپیوٹنگ وسائل۔
    • Data - fine-tuning کے اثر کے لیے معیاری مثالوں تک رسائی۔
  • Benefits: کیا آپ نے fine-tuning کے فوائد کی تصدیق کی ہے؟
    • Quality - کیا fine-tuned ماڈل نے بنیاد سے بہتر کارکردگی دکھائی؟
    • Cost - کیا اس سے پرامپٹس کو آسان بنا کر token کے استعمال میں کمی آئی؟
    • Extensibility - کیا آپ بنیادی ماڈل کو نئے ڈومینز کے لیے دوبارہ استعمال کر سکتے ہیں؟

ان سوالات کے جواب دے کر، آپ فیصلہ کر سکیں گے کہ fine-tuning آپ کے استعمال کے کیس کے لیے صحیح طریقہ ہے یا نہیں۔ مثالی طور پر، یہ طریقہ تب ہی درست ہے جب فوائد اخراجات سے زیادہ ہوں۔ جب آپ آگے بڑھنے کا فیصلہ کر لیں، تو اب سوچیں کہ آپ pre-trained ماڈل کو کیسے fine-tune کر سکتے ہیں۔

فیصلہ سازی کے عمل پر مزید بصیرت چاہتے ہیں؟ دیکھیں To fine-tune or not to fine-tune

ہم pre-trained ماڈل کو کیسے fine-tune کر سکتے ہیں؟

pre-trained ماڈل کو fine-tune کرنے کے لیے آپ کو چاہیے:

  • fine-tune کرنے کے لیے ایک pre-trained ماڈل
  • fine-tuning کے لیے استعمال کرنے کے لیے ایک ڈیٹا سیٹ
  • fine-tuning کا کام چلانے کے لیے تربیتی ماحول
  • fine-tuned ماڈل کو تعینات کرنے کے لیے ہوسٹنگ ماحول

Fine-Tuning عمل میں

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

Provider Tutorial Description
OpenAI How to fine-tune chat models ایک مخصوص ڈومین ("recipe assistant") کے لیے gpt-35-turbo کو fine-tune کرنا سیکھیں، جس میں تربیتی ڈیٹا تیار کرنا، fine-tuning کا کام چلانا، اور fine-tuned ماڈل کو inference کے لیے استعمال کرنا شامل ہے۔
Azure OpenAI GPT 3.5 Turbo fine-tuning tutorial Azure پر gpt-35-turbo-0613 ماڈل کو fine-tune کرنا سیکھیں، جس میں تربیتی ڈیٹا بنانا اور اپلوڈ کرنا، fine-tuning کا کام چلانا، اور نئے ماڈل کو تعینات اور استعمال کرنا شامل ہے۔
Hugging Face Fine-tuning LLMs with Hugging Face یہ بلاگ پوسٹ آپ کو open LLM (مثلاً CodeLlama 7B) کو transformers لائبریری اور Transformer Reinforcement Learning (TRL) کے ساتھ fine-tune کرنا سکھاتی ہے، اور Hugging Face پر دستیاب datasets کا استعمال کرتی ہے۔
🤗 AutoTrain Fine-tuning LLMs with AutoTrain AutoTrain (یا AutoTrain Advanced) ایک پائتھن لائبریری ہے جو Hugging Face نے تیار کی ہے اور جو مختلف کاموں کے لیے، بشمول LLM fine-tuning، آسان fine-tuning کی سہولت دیتی ہے۔ AutoTrain ایک no-code حل ہے اور fine-tuning آپ کے اپنے کلاؤڈ، Hugging Face Spaces یا لوکل مشین پر کی جا سکتی ہے۔ یہ ویب بیسڈ GUI، CLI، اور yaml کنفیگریشن فائلز کے ذریعے تربیت کی حمایت کرتا ہے۔

اسائنمنٹ

مندرجہ بالا ٹیوٹوریلز میں سے کسی ایک کو منتخب کریں اور اس پر عمل کریں۔ ہم ان ٹیوٹوریلز کا ایک ورژن Jupyter Notebooks میں اس ریپو میں صرف حوالہ کے لیے بنا سکتے ہیں۔ تازہ ترین ورژنز کے لیے براہِ راست اصل ذرائع استعمال کریں۔

شاباش! اپنی تعلیم جاری رکھیں۔

اس سبق کو مکمل کرنے کے بعد، ہمارے Generative AI Learning collection کو دیکھیں تاکہ آپ اپنی جنریٹو AI کی معلومات کو مزید بہتر بنا سکیں!

مبارک ہو!! آپ نے اس کورس کی v2 سیریز کا آخری سبق مکمل کر لیا ہے! سیکھنا اور بنانا بند نہ کریں۔ **صرف اس موضوع کے لیے اضافی تجاویز کی فہرست کے لیے RESOURCES صفحہ دیکھیں۔

ہماری v1 سیریز کے اسباق کو بھی مزید اسائنمنٹس اور تصورات کے ساتھ اپ ڈیٹ کیا گیا ہے۔ لہٰذا اپنی معلومات کو تازہ کرنے کے لیے ایک منٹ نکالیں — اور براہ کرم اپنے سوالات اور تاثرات شیئر کریں تاکہ ہم کمیونٹی کے لیے ان اسباق کو بہتر بنا سکیں۔

دستخطی نوٹ:
یہ دستاویز AI ترجمہ سروس Co-op Translator کے ذریعے ترجمہ کی گئی ہے۔ اگرچہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستیاں ہو سکتی ہیں۔ اصل دستاویز اپنی مادری زبان میں معتبر ماخذ سمجھی جانی چاہیے۔ اہم معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم پر عائد نہیں ہوتی۔