ازگر میں گلے لگانے والے چہرے کے ٹرانسفارمرز کا استعمال کیسے کریں۔

Azgr My Gl Lgan Wal Ch R K Ransfarmrz Ka Ast Mal Kys Kry



Hugging Face کو ایک مصنوعی ذہین کمیونٹی کے طور پر تسلیم کیا جاتا ہے جو اوپن سورس ہے اور یہ تمام اہم فریم ورک، ٹولز، ماڈلز اور فن تعمیر فراہم کرتا ہے جو زبان کے ماڈلز (قدرتی لینگویج پروسیسنگ) کے ساتھ بات چیت یا تربیت میں مدد کرتے ہیں۔ ہگنگ فیس ٹرانسفارمرز ایک زبان کا فن تعمیر ہے جو ازگر میں پہلے سے تربیت یافتہ لینگویج پروسیسنگ ماڈلز کی فراہمی میں مدد کرتا ہے۔ ہگنگ فیس کے یہ ٹرانسفارمرز ڈیٹاسیٹس اور پرتوں والے APIs کی ایک وسیع رینج فراہم کرتے ہیں جو پروگرامرز کو اپنے لائبریری پیکجوں کے ساتھ پہلے سے تربیت یافتہ ماڈلز کے ساتھ آسانی سے تعامل پیدا کرنے میں مدد کرتے ہیں۔

نحو

جدید ترین ہگنگ فیس ٹرانسفارمرز میں پہلے سے تربیت یافتہ ماڈلز کی وسیع اقسام ہیں۔ ان ماڈلز کو مختلف زبانوں کے ماڈلز پر لاگو کیا جا سکتا ہے جو درج ذیل میں درج ہیں:

  • یہ ٹرانسفارمر متن کو مختلف زبانوں میں پروسیس کر سکتے ہیں اور متن پر مختلف کام انجام دے سکتے ہیں جیسے متن کی درجہ بندی، سوال و جواب، متن کا مختلف زبانوں میں ترجمہ، اور متن کی تخلیق۔
  • ہم ان ٹرانسفارمرز کو Hugging Face میں بصارت پر مبنی درجہ بندی کے کاموں جیسے آبجیکٹ کا پتہ لگانے اور تقریر پر مبنی کاموں کے لیے بھی استعمال کر سکتے ہیں، جیسے اسپیکر کی درجہ بندی یا تقریر کی شناخت/تسلیم۔

Hugging Face کے ٹرانسفارمرز میں TensorFlow، PyTorch، ONNX وغیرہ شامل ہیں۔ ان ٹرانسفارمرز کے پیکیج کو انسٹال کرنے کے نحو کے لیے، ہم درج ذیل کمانڈ استعمال کرتے ہیں:







$pip ٹرانسفارمرز انسٹال کریں۔

اب، ہم مختلف مثالیں آزمانے کی کوشش کرتے ہیں جہاں ہم مختلف لینگویج پروسیسنگ کے کاموں کے لیے ہگنگ فیس ٹرانسفارمر کے ماڈل استعمال کرتے ہیں۔



مثال 1: ہیگنگ فیس ٹرانسفارمرز کا استعمال کرتے ہوئے ٹیکسٹ جنریشن

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



ہم پہلے ازگر کے ٹرمینل میں 'ٹرانسفارمرز' کے لائبریری پیکج کو انسٹال کر کے مثال کوڈ کرنا شروع کرتے ہیں۔ ٹرانسفارمر کے پیکج کو ڈاؤن لوڈ کرنے کے لیے، 'پیکج کے نام کے ساتھ پائپ انسٹال کریں، یعنی ٹرانسفارمر' کا استعمال کریں۔ ایک بار جب ہم نے ٹرانسفارمر پیکج ڈاؤن لوڈ اور انسٹال کر لیا، تو ہم ٹرانسفارمر سے 'پائپ لائنز' پیکج درآمد کر کے آگے بڑھتے ہیں۔ ماڈل کو فیڈ کرنے سے پہلے اس پائپ لائن کو ڈیٹا پر کارروائی کرنے کے لیے استعمال کیا جاتا ہے۔





ہم pprint سے 'pprint' درآمد کرتے ہیں۔ یہ پیکیج ٹیکسٹ جنریشن ماڈل سے آؤٹ پٹ کو زیادہ پڑھنے کے قابل، سٹرکچرڈ، اور اچھی طرح سے فارمیٹ شدہ شکل میں پرنٹ کرنے کے لیے انسٹال کیا گیا ہے۔ دوسری صورت میں، اگر ہم 'print()' فنکشن استعمال کرتے ہیں، تو یہ آؤٹ پٹ کو ایک ہی لائن میں دکھاتا ہے جو اچھی طرح سے فارمیٹ شدہ اور آسانی سے پڑھنے کے قابل نہیں ہے۔ ٹیکسٹ جنریشن ماڈل اس ٹیکسٹ میں مزید ٹیکسٹ بنانے یا شامل کرنے میں مدد کرتے ہیں جو ہم نے ابتدائی طور پر ماڈل کو بطور ان پٹ فراہم کیا تھا۔

ٹرانسفارمر سے تربیت یافتہ ماڈل کو کال کرنے کے لیے، ہم پائپ لائن() فنکشن کا استعمال کرتے ہیں جس کے ان پٹ کے طور پر دو پیرامیٹرز ہوتے ہیں۔ پہلا منتخب کردہ کام کا نام بتاتا ہے اور دوسرا ٹرانسفارمر سے ماڈل کا نام بتاتا ہے۔ اس منظر نامے میں، منتخب کردہ کام ٹیکسٹ جنریشن ہے۔ پہلے سے تربیت یافتہ ماڈل جسے ہم ٹرانسفارمر سے استعمال کرتے ہیں وہ ہے 'gpt'۔



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

ہم ان پٹ کو بطور 'یہ ایک لینگویج ماڈل ہے' دیتے ہیں۔ ہم آؤٹ پٹ کی زیادہ سے زیادہ لمبائی کو '30' اور آؤٹ پٹ میں جملوں کی تعداد کو '3' پر طے کرتے ہیں۔ اب، ہم اپنے ماڈل سے پیدا ہونے والے نتائج کو ظاہر کرنے کے لیے pprint() فنکشن کو کال کرتے ہیں۔

!پائپ انسٹال ٹرانسفارمرز

ٹرانسفارمرز سے پائپ لائن درآمد کریں۔
pprint درآمد pprint سے

SELECTED_TASK = 'ٹیکسٹ جنریشن'
ماڈل = 'gpt2'
task = پائپ لائن (f'{SELECTED_TASK}'، ماڈل = MODEL)

INPUT = 'یہ ایک زبان کا ماڈل ہے'
OUt_put = ٹاسک (INPUT، max_length = 30، num_return_sequences=3)

pprint(OUt_put)

پہلے ذکر کردہ کوڈ کے ٹکڑوں اور آؤٹ پٹ سے، ہم دیکھ سکتے ہیں کہ ماڈل اضافی معلومات/ٹیکسٹ تیار کرتا ہے جو اس ان پٹ سے متعلق ہے جو ہم نے اسے دیا تھا۔

مثال 2: ٹرانسفارمرز سے پائپ لائنوں کا استعمال کرتے ہوئے متن کی درجہ بندی

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

ہم سب سے پہلے ٹرانسفارمرز سے پائپ لائنیں درآمد کرتے ہیں۔ پھر، ہم 'پائپ لائن()' فنکشن کو کہتے ہیں۔ ہم ماڈل کا نام پاس کرتے ہیں جو کہ ہمارے معاملے میں اس کے پیرامیٹرز کے لیے 'متن کی درجہ بندی' ہے۔ ایک بار جب پائپ لائن کا استعمال کرتے ہوئے ماڈل کی وضاحت ہو جاتی ہے، تو اب ہم اسے 'کلاسیفائر' کا نام دے سکتے ہیں۔ اس وقت تک، ٹیکسٹ کی درجہ بندی کا ڈیفالٹ ماڈل ہماری میزبان مشین پر ڈاؤن لوڈ ہو جاتا ہے۔ اب، ہم اس ماڈل کو اپنے کام کے لیے استعمال کر سکتے ہیں۔

لہذا، پانڈوں کو 'pd' کے طور پر درآمد کریں. ہم اس پیکیج کو درآمد کرنا چاہتے ہیں کیونکہ ہم ڈیٹا فریم کی شکل میں ماڈل سے آؤٹ پٹ پرنٹ کرنا چاہتے ہیں۔ اب، ہم اس متن کی وضاحت کرتے ہیں جو ہم اپنے ماڈل کو بطور ان پٹ دینا چاہتے ہیں تاکہ اسے مثبت یا منفی جملے کے طور پر درجہ بندی کر سکیں۔ ہم نے متن کو 'میں ایک اچھا آدمی ہوں' کے طور پر سیٹ کیا ہے۔ ہم اس متن کو کلاسیفائر () ماڈل میں منتقل کرتے ہیں جسے ہم نے ابھی اس مثال میں بنایا ہے اور نتائج کو 'آؤٹ پٹ' متغیر میں محفوظ کرتے ہیں۔

آؤٹ پٹ کو ظاہر کرنے کے لیے، ہم پانڈوں کے سابقہ ​​کو کہتے ہیں، یعنی pd کو '.Dataframe()' کہتے ہیں اور کلاسیفائر ماڈل سے آؤٹ پٹ کو اس فنکشن میں منتقل کرتے ہیں۔ اب یہ کلاسیفائر ماڈل کے نتائج دکھاتا ہے جیسا کہ درج ذیل آؤٹ پٹ اسنیپٹ میں دکھایا گیا ہے۔ ہمارا درجہ بندی کرنے والا ماڈل متن کو مثبت کلاس کے طور پر درجہ بندی کرتا ہے۔

!پائپ انسٹال ٹرانسفارمرز
ٹرانسفارمرز سے پائپ لائن درآمد کریں۔
پانڈا کو بطور pd درآمد کریں۔
classifier = پائپ لائن ('متن کی درجہ بندی'، ماڈل = 'textattack/distilbert-base-uncased-CoLA')
متن = 'میں ایک اچھا آدمی ہوں'
نتیجہ = درجہ بندی کرنے والا (متن)
پرنٹ (نتیجہ)
df = pd. ڈیٹا فریم (نتیجہ)

نتیجہ

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