خوردہ، بینکنگ، مالیات، صحت کی دیکھ بھال، مینوفیکچرنگ، اور قرض دینے جیسی صنعتوں کی تنظیموں کو اکثر مختلف ذرائع سے آنے والی غیر ساختہ ٹیکسٹ دستاویزات، جیسے کہ خبریں، بلاگز، پروڈکٹ کے جائزے، کسٹمر سپورٹ چینلز، اور سوشل میڈیا سے نمٹنا پڑتا ہے۔ یہ دستاویزات اہم معلومات پر مشتمل ہیں جو اہم کاروباری فیصلے کرنے کی کلید ہیں۔ جیسے جیسے ایک تنظیم بڑھتی ہے، ان دستاویزات سے اہم معلومات نکالنا ایک چیلنج بن جاتا ہے۔ نیچرل لینگویج پروسیسنگ (NLP) اور مشین لرننگ (ML) تکنیکوں کی ترقی کے ساتھ، ہم ان متنی دستاویزات سے قیمتی بصیرت اور رابطوں کو تیزی سے اور اعلیٰ درستگی کے ساتھ دریافت کر سکتے ہیں، اس طرح کمپنیوں کو وقت پر معیاری کاروباری فیصلے کرنے میں مدد ملتی ہے۔ مکمل طور پر منظم NLP خدمات نے NLP کو اپنانے میں بھی تیزی لائی ہے۔ ایمیزون کی تعریف ایک مکمل طور پر منظم سروس ہے جو آپ کو اپنی مرضی کے مطابق NLP ماڈلز بنانے کے قابل بناتی ہے جو آپ کی ضروریات کے لیے مخصوص ہیں، بغیر کسی ML مہارت کی ضرورت کے۔
اس پوسٹ میں، ہم یہ ظاہر کرتے ہیں کہ پانچ مختلف NLP کاموں کو حل کرنے کے لیے جدید ترین ML تکنیکوں کو کیسے استعمال کیا جائے: دستاویز کا خلاصہ، متن کی درجہ بندی، سوال کا جواب، نام کی ہستی کی شناخت، اور رشتہ نکالنا۔ ان میں سے ہر ایک NLP کام کے لیے، ہم یہ ظاہر کرتے ہیں کہ کس طرح استعمال کیا جائے۔ ایمیزون سیج میکر درج ذیل اعمال انجام دینے کے لیے:
- پہلے سے تربیت یافتہ ماڈل پر تخمینہ لگائیں اور چلائیں۔
- ایک نئے کسٹم ڈیٹاسیٹ پر پہلے سے تربیت یافتہ ماڈل کو ٹھیک بنائیں
- مزید کے ساتھ ٹھیک ٹیوننگ کارکردگی کو بہتر بنانے کے سیج میکر خودکار ماڈل ٹیوننگ
- مختلف تشخیصی میٹرکس کے ساتھ ہولڈ آؤٹ ٹیسٹ ڈیٹا پر ماڈل کی کارکردگی کا اندازہ کریں۔
اگرچہ ہم اس پوسٹ میں NLP کے پانچ مخصوص کاموں کا احاطہ کرتے ہیں، آپ اس حل کو بطور ٹیمپلیٹ استعمال کر سکتے ہیں تاکہ آپ کے اپنے ڈیٹا سیٹ کے ساتھ پہلے سے تربیت یافتہ ماڈلز کو ٹھیک کرنے کے لیے عام کیا جا سکے، اور اس کے بعد درستگی کو بہتر بنانے کے لیے ہائپر پیرامیٹر آپٹیمائزیشن کو چلایا جا سکے۔
جمپ اسٹارٹ حل ٹیمپلیٹس
ایمیزون سیج میکر جمپ اسٹارٹ بہت سے عام ML استعمال کے معاملات کے لیے ایک کلک، اینڈ ٹو اینڈ حل فراہم کرتا ہے۔ دستیاب حل ٹیمپلیٹس کے بارے میں مزید معلومات کے لیے درج ذیل استعمال کے معاملات کو دریافت کریں:
جمپ سٹارٹ سلوشن ٹیمپلیٹس مختلف قسم کے استعمال کے کیسز کا احاطہ کرتے ہیں، جن میں سے ہر ایک کے تحت کئی مختلف حل ٹیمپلیٹس پیش کیے جاتے ہیں (دستاویزی تفہیم کا یہ حل "دستاویزات سے ڈیٹا نکالیں اور تجزیہ کریں" کے استعمال کے کیس کے تحت ہے)۔
جمپ سٹارٹ لینڈنگ پیج سے حل کے سانچے کا انتخاب کریں جو آپ کے استعمال کے معاملے میں بہترین فٹ بیٹھتا ہے۔ ہر استعمال کے کیس کے تحت مخصوص حل کے بارے میں مزید معلومات کے لیے اور جمپ اسٹارٹ حل کیسے شروع کیا جائے، دیکھیں حل کے سانچے.
حل جائزہ
درج ذیل تصویر سے پتہ چلتا ہے کہ آپ اس حل کو SageMaker اجزاء کے ساتھ کیسے استعمال کر سکتے ہیں۔ سیج میکر ٹریننگ جابز کا استعمال مختلف NLP ماڈل کی تربیت کے لیے کیا جاتا ہے، اور SageMaker اینڈ پوائنٹس کو ہر مرحلے میں ماڈلز کی تعیناتی کے لیے استعمال کیا جاتا ہے۔ ہم استعمال کرتے ہیں ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) سیج میکر کے ساتھ تربیتی ڈیٹا اور نمونے کے نمونے کو ذخیرہ کرنے کے لیے، اور ایمیزون کلاؤڈ واچ ٹریننگ اور اینڈ پوائنٹ آؤٹ پٹس کو لاگ کرنے کے لیے۔
دستاویز کو سمجھنے کا حل کھولیں۔
جمپ اسٹارٹ میں دستاویز کو سمجھنے کے حل پر جائیں۔
اب ہم ڈیمو نوٹ بک سے شروع ہونے والے کچھ اثاثوں کو قریب سے دیکھ سکتے ہیں جو اس حل میں شامل ہیں۔
ڈیمو نوٹ بک
آپ ڈیمو نوٹ بک کا استعمال دستاویز کے خلاصے اور سوالوں کے جواب دینے کے کاموں کے لیے پہلے سے تعینات ماڈل اینڈ پوائنٹس پر مثال کا ڈیٹا بھیجنے کے لیے کر سکتے ہیں۔ ڈیمو نوٹ بک آپ کو مثال کے اعداد و شمار سے استفسار کر کے فوری تجربہ حاصل کرنے کی اجازت دیتی ہے۔
دستاویز کی تفہیم کا حل شروع کرنے کے بعد، منتخب کرکے ڈیمو نوٹ بک کھولیں۔ نوٹ بک میں اینڈ پوائنٹ کا استعمال کریں۔.
آئیے اس حل کے لیے پانچ اہم نوٹ بک میں سے ہر ایک میں گہرائی میں غوطہ لگائیں۔
شرائط
In ایمیزون سیج میکر اسٹوڈیو، یقینی بنائیں کہ آپ استعمال کر رہے ہیں۔ PyTorch 1.10 Python 3.8 CPU Optimized
نوٹ بک کھولنے کے لیے امیج/کرنل۔ ٹریننگ پانچ ml.g4dn.2x بڑی مثالوں کا استعمال کرتی ہے، لہذا آپ کو a بڑھانا چاہیے۔ سروس کی حد میں اضافے کی درخواست اگر آپ کے اکاؤنٹ کو اس قسم کے لیے بڑھتی ہوئی حدود کی ضرورت ہے۔
متن کی درجہ بندی
متن کی درجہ بندی سے مراد تربیتی ڈیٹاسیٹ کے کلاس لیبلز میں سے کسی ایک ان پٹ جملے کی درجہ بندی کرنا ہے۔ یہ نوٹ بک ظاہر کرتی ہے کہ کس طرح استعمال کیا جائے۔ جمپ اسٹارٹ API متن کی درجہ بندی کے لیے۔
پہلے سے تربیت یافتہ ماڈل پر تخمینہ لگائیں اور چلائیں۔
ٹیکسٹ کی درجہ بندی کا جو ماڈل ہم نے استعمال کرنے کے لیے منتخب کیا ہے وہ ٹیکسٹ ایمبیڈنگ پر بنایا گیا ہے (tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2
) سے ماڈل ٹینسر فلو حب، جو ویکیپیڈیا اور بک کارپس ڈیٹاسیٹس پر پہلے سے تربیت یافتہ ہے۔
تعیناتی کے لیے دستیاب ماڈل ٹیکسٹ ایمبیڈنگ ماڈل کے آؤٹ پٹ میں بائنری درجہ بندی کی پرت کو جوڑ کر، اور پھر پورے ماڈل کو ٹھیک ٹیوننگ کے ذریعے بنایا گیا ہے۔ SST-2 ڈیٹا سیٹ، جو مثبت اور منفی فلمی جائزوں پر مشتمل ہے۔
اس ماڈل پر قیاس چلانے کے لیے، ہمیں پہلے انفرنس کنٹینر کو ڈاؤن لوڈ کرنا ہوگا (deploy_image_uri
, inference اسکرپٹ (deploy_source_uri
)، اور پہلے سے تربیت یافتہ ماڈل (base_model_uri
)۔ اس کے بعد ہم سیج میکر ماڈل آبجیکٹ کو فوری بنانے کے لیے ان کو پیرامیٹر کے طور پر پاس کرتے ہیں، جسے ہم پھر تعینات کر سکتے ہیں:
درج ذیل کوڈ ہمارے جوابات کو ظاہر کرتا ہے:
اپنی مرضی کے مطابق ڈیٹاسیٹ پر پہلے سے تربیت یافتہ ماڈل کو ٹھیک بنائیں
ہم نے ابھی پہلے سے تربیت یافتہ BERT ماڈل پر چلتے ہوئے اندازہ لگایا، جو SST-2
ڈیٹاسیٹ
اگلا، ہم اس بات پر تبادلہ خیال کرتے ہیں کہ کس طرح ایک ماڈل کو کس طرح اپنی مرضی کے مطابق ڈیٹا سیٹ پر کسی بھی تعداد میں کلاسز کے ساتھ ٹھیک کیا جائے۔ ہم فائن ٹیوننگ کے لیے جو ڈیٹاسیٹ استعمال کرتے ہیں وہ اب بھی ہے۔ SST-2
ڈیٹاسیٹ آپ اس ڈیٹا سیٹ کو کسی بھی ڈیٹا سیٹ سے بدل سکتے ہیں جس میں آپ کی دلچسپی ہے۔
ہم ٹریننگ ڈوکر کنٹینر، ٹریننگ الگورتھم سورس، اور پہلے سے تربیت یافتہ ماڈل بازیافت کرتے ہیں:
الگورتھم کے لیے مخصوص ہائپرپیرامیٹرس کے لیے، ہم ٹریننگ ہائپرپیرامیٹرس کی ایک ازگر کی لغت حاصل کرکے شروع کرتے ہیں جسے الگورتھم اپنی ڈیفالٹ اقدار کے ساتھ قبول کرتا ہے۔ آپ انہیں حسب ضرورت اقدار کے ساتھ اوور رائیڈ کر سکتے ہیں، جیسا کہ درج ذیل کوڈ میں دکھایا گیا ہے۔
ڈیٹاسیٹ (SST-2
) کو تربیت، توثیق اور ٹیسٹ سیٹ میں تقسیم کیا جاتا ہے، جہاں ٹریننگ سیٹ کو ماڈل میں فٹ کرنے کے لیے استعمال کیا جاتا ہے، توثیق سیٹ کا استعمال تشخیصی میٹرکس کی گنتی کے لیے کیا جاتا ہے جو HPO کے لیے استعمال کیا جا سکتا ہے، اور ٹیسٹ سیٹ کو ہولڈ آؤٹ ڈیٹا کے طور پر استعمال کیا جاتا ہے۔ ماڈل کی کارکردگی کا جائزہ لینے کے لیے۔ اس کے بعد، ٹرین اور توثیق کا ڈیٹاسیٹ Amazon S3 پر اپ لوڈ کیا جاتا ہے اور فائن ٹیوننگ ٹریننگ جاب شروع کرنے کے لیے استعمال کیا جاتا ہے:
فائن ٹیوننگ کا کام مکمل ہونے کے بعد، ہم ماڈل کو تعینات کرتے ہیں، ہولڈ آؤٹ ٹیسٹ ڈیٹاسیٹ پر تخمینہ چلاتے ہیں، اور تشخیصی میٹرکس کی گنتی کرتے ہیں۔ کیونکہ یہ ایک بائنری درجہ بندی کا کام ہے، ہم استعمال کرتے ہیں۔ درستگی سکور اور F1 سکور تشخیص میٹرکس کے طور پر. ایک بڑی قدر بہتر کارکردگی کی نشاندہی کرتی ہے۔ درج ذیل اسکرین شاٹ ہمارے نتائج کو ظاہر کرتا ہے۔
SageMaker آٹومیٹک ماڈل ٹیوننگ کے ساتھ فائن ٹیوننگ کارکردگی کو مزید بہتر کریں۔
اس مرحلے میں، ہم یہ ظاہر کرتے ہیں کہ کس طرح آپ SageMaker آٹومیٹک ماڈل ٹیوننگ کے ساتھ ماڈل کو فائن ٹیوننگ کرکے ماڈل کی کارکردگی کو مزید بہتر بنا سکتے ہیں۔ خودکار ماڈل ٹیوننگ، جسے ہائپر پیرامیٹر آپٹیمائزیشن (HPO) کے نام سے بھی جانا جاتا ہے، آپ کے ڈیٹاسیٹ پر آپ کے بیان کردہ ہائپر پیرامیٹرس کی ایک رینج کے ساتھ متعدد تربیتی جابز چلا کر ماڈل کا بہترین ورژن تلاش کرتا ہے۔ اس کے بعد یہ ہائپر پیرامیٹر اقدار کا انتخاب کرتا ہے جس کے نتیجے میں ایک ایسا ماڈل نکلتا ہے جو بہترین کارکردگی کا مظاہرہ کرتا ہے، جیسا کہ آپ کے منتخب کردہ میٹرک سے ماپا جاتا ہے، توثیق ڈیٹاسیٹ پر۔
سب سے پہلے، ہم نے توثیق کے اعداد و شمار پر درستگی کے اسکور کے طور پر مقصد مقرر کیا (val_accuracy
) اور مقصد میٹرک کا نام اور ایک ریگولر ایکسپریشن (regex) بتا کر ٹیوننگ جاب کے لیے میٹرکس کی وضاحت کی ہے۔ ریگولر ایکسپریشن کا استعمال الگورتھم کے لاگ آؤٹ پٹ سے ملنے اور میٹرکس کی عددی قدروں کو حاصل کرنے کے لیے کیا جاتا ہے۔ اگلا، ہم ہائپر پیرامیٹر رینجز کی وضاحت کرتے ہیں تاکہ ہائپر پیرامیٹر کی بہترین اقدار کو منتخب کیا جا سکے۔ ہم ٹیوننگ جابز کی کل تعداد چھ کے طور پر سیٹ کرتے ہیں اور ان ملازمتوں کو تین مختلف پر تقسیم کرتے ہیں۔ ایمیزون لچکدار کمپیوٹ کلاؤڈ (ایمیزون ای سی 2) متوازی ٹیوننگ جابز چلانے کی مثالیں۔ درج ذیل کوڈ دیکھیں:
ہم ان اقدار کو SageMaker تخمینہ کرنے والے آبجیکٹ کو انسٹیٹیوٹ کرنے کے لیے پاس کرتے ہیں، جیسا کہ ہم نے پچھلے فائن ٹیوننگ مرحلے میں کیا تھا۔ بلانے کے بجائے fit
کی تقریب Estimator
اعتراض، ہم پاس کرتے ہیں Estimator
کے پیرامیٹر کے طور پر اعتراض کریں۔ ہائپر پیرامیٹر ٹونر کنسٹرکٹر اور کال کریں۔ fit
ٹیوننگ جابز شروع کرنے کے لیے اس کا فنکشن:
ٹیوننگ جابز مکمل ہونے کے بعد، ہم اس ماڈل کو تعینات کرتے ہیں جو توثیق ڈیٹاسیٹ پر بہترین تشخیصی میٹرک اسکور دیتا ہے، اسی ہولڈ آؤٹ ٹیسٹ ڈیٹاسیٹ پر تخمینہ لگاتے ہیں جو ہم نے پچھلے حصے میں کیا تھا، اور تشخیصی میٹرکس کی گنتی کرتے ہیں۔
نتائج سے پتہ چلتا ہے کہ آٹومیٹک ماڈل ٹیوننگ کے ذریعے منتخب کردہ ماڈل ایک ہولڈ آؤٹ ٹیسٹ ڈیٹاسیٹ پر پچھلے حصے میں ماڈل کو بہتر انداز میں بہتر کرتا ہے۔
نام شدہ ہستی کی شناخت
نام شدہ ہستی کی شناخت (NER) نامی ہستیوں کا پتہ لگانے اور پہلے سے طے شدہ زمروں میں درجہ بندی کرنے کا عمل ہے، جیسے افراد، تنظیموں، مقامات اور مقدار کے نام۔ NER کے لیے حقیقی دنیا کے استعمال کے بہت سے کیسز ہیں، جیسے کہ سفارشی انجن، کسٹمر سپورٹ ٹکٹوں کی درجہ بندی اور تفویض صحیح شعبے میں، صحت کی دیکھ بھال میں مریضوں کی رپورٹوں سے ضروری معلومات نکالنا، اور خبروں اور بلاگز سے مواد کی درجہ بندی۔
پہلے سے تربیت یافتہ ماڈل پر تخمینہ لگائیں اور چلائیں۔
ہم تعینات کرتے ہیں۔ En_core_web_md سے ماڈل spaCy کتب خانہ. spaCy ایک اوپن سورس NLP لائبریری ہے جسے مختلف کاموں کے لیے استعمال کیا جا سکتا ہے، اور اس میں NER کے لیے بلٹ ان طریقے ہیں۔ ہم اسکرپٹ موڈ کے ساتھ AWS PyTorch ڈیپ لرننگ کنٹینر (DLC) استعمال کرتے ہیں اور کنٹینر کے اوپر انحصار کے طور پر spaCy لائبریری کو انسٹال کرتے ہیں۔
اگلا، اسکرپٹ کے لیے ایک انٹری پوائنٹ (دلیل entry_point.py
) کی وضاحت کی گئی ہے، جس میں ڈاؤن لوڈ اور لوڈ کرنے کے لیے تمام کوڈ موجود ہیں۔ En_core_web_md
ماڈل بنائیں اور اس ڈیٹا کا اندازہ کریں جو اختتامی نقطہ پر بھیجا جاتا ہے۔ آخر میں، ہمیں اب بھی فراہم کرنے کی ضرورت ہے model_data
اندازہ لگانے کے لیے پہلے سے تربیت یافتہ ماڈل کے طور پر۔ کیونکہ پہلے سے تربیت یافتہ En_core_web_md
ماڈل فلائی پر ڈاؤن لوڈ کیا جاتا ہے، جو کہ اندراج اسکرپٹ میں بیان کیا گیا ہے، ہم ایک خالی آرکائیو فائل فراہم کرتے ہیں۔ اختتامی نقطہ کے تعینات ہونے کے بعد، آپ SageMaker Python SDK کا استعمال کرتے ہوئے نوٹ بک سے براہ راست اختتامی نقطہ کو طلب کر سکتے ہیں۔ Predictor
. درج ذیل کوڈ دیکھیں:
ماڈل کے لیے ان پٹ ڈیٹا ایک متنی دستاویز ہے۔ نامزد ہستی کا ماڈل متنی دستاویز میں اسم کے ٹکڑوں اور نامزد اداروں کو نکالتا ہے اور انہیں متعدد مختلف اقسام میں درجہ بندی کرتا ہے (جیسے کہ لوگ، مقامات اور تنظیمیں)۔ مثال کے طور پر ان پٹ اور آؤٹ پٹ کو درج ذیل کوڈ میں دکھایا گیا ہے۔ دی start_char
پیرامیٹر اسپین کے آغاز کے لیے کریکٹر آفسیٹ کی نشاندہی کرتا ہے، اور end_char
مدت کے اختتام کی طرف اشارہ کرتا ہے۔
اپنی مرضی کے مطابق ڈیٹاسیٹ پر پہلے سے تربیت یافتہ ماڈل کو ٹھیک بنائیں
اس مرحلے میں، ہم یہ ظاہر کرتے ہیں کہ آپ کے اپنے ڈیٹاسیٹ پر NER کے لیے پہلے سے تربیت یافتہ زبان کے ماڈلز کو کیسے ٹھیک کیا جائے۔ فائن ٹیوننگ مرحلہ آپ کے اپنے ڈیٹا کی خصوصیت کو حاصل کرنے اور درستگی کو بہتر بنانے کے لیے ماڈل پیرامیٹرز کو اپ ڈیٹ کرتا ہے۔ ہم استعمال کرتے ہیں وکی اے این این (PAN-X) ڈیٹاسیٹ کو ٹھیک کرنے کے لیے DistilBERT-base-uncased گلے لگانے والے چہرے سے ٹرانسفارمر ماڈل۔
ڈیٹاسیٹ کو تربیت، توثیق اور ٹیسٹ سیٹ میں تقسیم کیا گیا ہے۔
اس کے بعد، ہم ماڈل کے ہائپر پیرامیٹر کی وضاحت کرتے ہیں، اور اسکرپٹ موڈ کے ساتھ AWS Hugging Face DLC استعمال کرتے ہیں (دلیل entry_point
) فائن ٹیوننگ کام کو متحرک کرنے کے لیے:
فائن ٹیوننگ کا کام مکمل ہونے کے بعد، ہم ایک اینڈ پوائنٹ اور استفسار تعینات کرتے ہیں جو ہولڈ آؤٹ ٹیسٹ ڈیٹا کے ساتھ اختتامی نقطہ ہے۔ اختتامی نقطہ سے استفسار کرنے کے لیے، ہر ٹیکسٹ اسٹرنگ کو ایک یا ایک سے زیادہ ٹوکنز میں ٹوکنائز کرکے ٹرانسفارمر ماڈل کو بھیجنے کی ضرورت ہے۔ ہر ٹوکن کو ایک پیشین گوئی شدہ ہستی کا ٹیگ ملتا ہے۔ چونکہ ہر ٹیکسٹ سٹرنگ کو ایک یا ایک سے زیادہ ٹوکنز میں ٹوکنائز کیا جا سکتا ہے، اس لیے ہمیں اسٹرنگ کے زمینی سچ نامی entity ٹیگ کو ان تمام ٹوکنز پر نقل کرنے کی ضرورت ہے جو اس سے وابستہ ہیں۔ فراہم کردہ نوٹ بک آپ کو اس کو حاصل کرنے کے مراحل سے گزرتی ہے۔
آخر میں، ہم Hugging Face بلٹ ان تشخیصی میٹرکس استعمال کرتے ہیں۔ seqeval ہولڈ آؤٹ ٹیسٹ کے اعداد و شمار پر تشخیص کے اسکور کی گنتی کرنے کے لیے۔ استعمال شدہ تشخیصی میٹرکس مجموعی درستگی، مجموعی طور پر یاد، مجموعی F1، اور درستگی ہیں۔ درج ذیل اسکرین شاٹ ہمارے نتائج کو ظاہر کرتا ہے۔
SageMaker آٹومیٹک ماڈل ٹیوننگ کے ساتھ فائن ٹیوننگ کارکردگی کو مزید بہتر کریں۔
متن کی درجہ بندی کی طرح، ہم یہ ظاہر کرتے ہیں کہ آپ SageMaker خودکار ماڈل ٹیوننگ کے ساتھ ماڈل کو ٹھیک ٹیوننگ کرکے ماڈل کی کارکردگی کو مزید کیسے بہتر بنا سکتے ہیں۔ ٹیوننگ جاب کو چلانے کے لیے، ہمیں ایک معروضی میٹرک کی وضاحت کی ضرورت ہے جسے ہم توثیق ڈیٹاسیٹ پر ماڈل کی کارکردگی کا جائزہ لینے کے لیے استعمال کرنا چاہتے ہیں (اس معاملے میں F1 سکور)، ہائپر پیرامیٹر رینجز سے بہترین ہائپر پیرامیٹر ویلیوز کو منتخب کرنے کے لیے، نیز جاب کی ترتیب جیسے ٹیوننگ ٹیوننگ جابز کی زیادہ سے زیادہ تعداد اور ایک وقت میں شروع کرنے کے لیے متوازی ملازمتوں کی تعداد:
ٹیوننگ جابز مکمل ہونے کے بعد، ہم اس ماڈل کو تعینات کرتے ہیں جو توثیق ڈیٹاسیٹ پر بہترین تشخیصی میٹرک اسکور دیتا ہے، اسی ہولڈ آؤٹ ٹیسٹ ڈیٹاسیٹ پر تخمینہ لگاتے ہیں جو ہم نے پچھلے حصے میں کیا تھا، اور تشخیصی میٹرکس کی گنتی کرتے ہیں۔
ہم دیکھ سکتے ہیں کہ HPO والا ماڈل تمام میٹرکس میں نمایاں طور پر بہتر کارکردگی حاصل کرتا ہے۔
سوال جواب
جب آپ مخصوص معلومات کے لیے متن کی ایک بڑی مقدار سے استفسار کرنا چاہتے ہیں تو سوال کا جواب دینا مفید ہے۔ یہ صارف کو فطری زبان میں سوال کا اظہار کرنے اور فوری اور مختصر جواب حاصل کرنے کی اجازت دیتا ہے۔ NLP کے ذریعے چلنے والے سوالوں کے جواب دینے والے نظام کو سرچ انجنوں اور فون پر بات چیت کے انٹرفیس میں استعمال کیا جا سکتا ہے۔
پہلے سے تربیت یافتہ ماڈل پر تخمینہ لگائیں اور چلائیں۔
ہمارا پہلے سے تربیت یافتہ ماڈل ایکسٹریکٹیو سوال جواب دینے والا (EQA) ماڈل ہے۔ bert-large-uncased-full-word-masking-finetuned-squad ہگنگ فیس سے ٹرانسفارمر ماڈل پر بنایا گیا۔ ہم اسکرپٹ موڈ کے ساتھ AWS PyTorch DLC استعمال کرتے ہیں اور انسٹال کرتے ہیں۔ ٹرانسفارمرز کنٹینر کے اوپر ایک انحصار کے طور پر لائبریری۔ NER کام کی طرح، ہم دلیل میں ایک خالی آرکائیو فائل فراہم کرتے ہیں۔ model_data
کیونکہ پہلے سے تربیت یافتہ ماڈل پرواز پر ڈاؤن لوڈ کیا جاتا ہے۔ اختتامی نقطہ کے تعینات ہونے کے بعد، آپ SageMaker Python SDK کا استعمال کرتے ہوئے نوٹ بک سے براہ راست اختتامی نقطہ کو طلب کر سکتے ہیں۔ Predictor
. درج ذیل کوڈ دیکھیں:
ہمیں صرف دو کلیدوں کے ساتھ ایک لغت آبجیکٹ بنانے کی ضرورت ہے۔ context
وہ متن ہے جس سے ہم معلومات حاصل کرنا چاہتے ہیں۔ question
فطری زبان کا استفسار ہے جو بتاتا ہے کہ ہم کون سی معلومات نکالنے میں دلچسپی رکھتے ہیں۔ ہم کال کرتے ہیں۔ predict
ہمارے پیش گو پر، اور ہمیں اختتامی نقطہ سے جواب ملنا چاہیے جس میں سب سے زیادہ ممکنہ جوابات ہوں:
ہمارے پاس جواب ہے، اور ہم سب سے زیادہ ممکنہ جوابات پرنٹ کر سکتے ہیں جو پچھلے متن سے نکالے گئے ہیں۔ ہر جواب میں ایک اعتماد کا سکور ہوتا ہے جو درجہ بندی کے لیے استعمال ہوتا ہے (لیکن اس اسکور کو حقیقی امکان کے طور پر نہیں سمجھا جانا چاہیے)۔ لفظی جواب کے علاوہ، آپ کو اصل سیاق و سباق سے جواب کے شروع اور اختتامی کریکٹر انڈیکس بھی ملتے ہیں:
اب ہم بہتر نتائج حاصل کرنے کے لیے اس ماڈل کو اپنی مرضی کے مطابق ڈیٹاسیٹ کے ساتھ ٹھیک کرتے ہیں۔
اپنی مرضی کے مطابق ڈیٹاسیٹ پر پہلے سے تربیت یافتہ ماڈل کو ٹھیک بنائیں
اس مرحلے میں، ہم یہ ظاہر کرتے ہیں کہ آپ کے اپنے ڈیٹا سیٹ پر EQA کے لیے پہلے سے تربیت یافتہ زبان کے ماڈلز کو کیسے ٹھیک کیا جائے۔ فائن ٹیوننگ مرحلہ آپ کے اپنے ڈیٹا کی خصوصیت کو حاصل کرنے اور درستگی کو بہتر بنانے کے لیے ماڈل پیرامیٹرز کو اپ ڈیٹ کرتا ہے۔ ہم استعمال کرتے ہیں SQuAD2.0 ٹیکسٹ ایمبیڈنگ ماڈل کو ٹھیک کرنے کے لیے ڈیٹا سیٹ bert-base-uncased گلے ملنے والے چہرے سے۔ فائن ٹیوننگ کے لیے دستیاب ماڈل ٹیکسٹ ایمبیڈنگ ماڈل کے ساتھ ایک جواب نکالنے والی پرت کو جوڑتا ہے اور پرت کے پیرامیٹرز کو بے ترتیب اقدار سے شروع کرتا ہے۔ فائن ٹیوننگ کا مرحلہ ان پٹ ڈیٹا پر پیشین گوئی کی غلطی کو کم کرنے کے لیے ماڈل کے تمام پیرامیٹرز کو ٹھیک کرتا ہے اور فائن ٹیونڈ ماڈل کو واپس کرتا ہے۔
متن کی درجہ بندی کے کام کی طرح، ڈیٹاسیٹ (SQuAD2.0) کو تربیت، توثیق، اور ٹیسٹ سیٹ میں تقسیم کیا گیا ہے۔
اگلا، ہم ماڈل کے ہائپرپیرامیٹر کی وضاحت کرتے ہیں، اور استعمال کرتے ہیں۔ جمپ اسٹارٹ API ٹھیک ٹیوننگ کام کو متحرک کرنے کے لیے:
فائن ٹیوننگ کا کام مکمل ہونے کے بعد، ہم ماڈل کو تعینات کرتے ہیں، ہولڈ آؤٹ ٹیسٹ ڈیٹاسیٹ پر تخمینہ چلاتے ہیں، اور تشخیصی میٹرکس کی گنتی کرتے ہیں۔ استعمال شدہ تشخیصی میٹرکس اوسط عین مطابق مماثل سکور اور اوسط F1 سکور ہیں۔ مندرجہ ذیل اسکرین شاٹ نتائج دکھاتا ہے۔
SageMaker آٹومیٹک ماڈل ٹیوننگ کے ساتھ فائن ٹیوننگ کارکردگی کو مزید بہتر کریں۔
پچھلے حصوں کی طرح، ہم استعمال کرتے ہیں a HyperparameterTuner
ٹیوننگ جابز شروع کرنے پر اعتراض:
ٹیوننگ جابز مکمل ہونے کے بعد، ہم اس ماڈل کو تعینات کرتے ہیں جو توثیق ڈیٹاسیٹ پر بہترین تشخیصی میٹرک اسکور دیتا ہے، اسی ہولڈ آؤٹ ٹیسٹ ڈیٹاسیٹ پر تخمینہ لگاتے ہیں جو ہم نے پچھلے حصے میں کیا تھا، اور تشخیصی میٹرکس کی گنتی کرتے ہیں۔
ہم دیکھ سکتے ہیں کہ HPO والا ماڈل ہولڈ آؤٹ ٹیسٹ ڈیٹا پر نمایاں طور پر بہتر کارکردگی دکھاتا ہے۔
رشتہ نکالنا
رشتہ نکالنا متن سے معنوی رشتوں کو نکالنے کا کام ہے، جو عام طور پر دو یا زیادہ اداروں کے درمیان ہوتا ہے۔ غیر ساختہ ذرائع جیسے کہ خام متن سے سٹرکچرڈ معلومات نکالنے میں رشتہ نکالنا اہم کردار ادا کرتا ہے۔ اس نوٹ بک میں، ہم رشتہ نکالنے کے دو استعمال کے معاملات کو ظاہر کرتے ہیں۔
اپنی مرضی کے مطابق ڈیٹاسیٹ پر پہلے سے تربیت یافتہ ماڈل کو ٹھیک بنائیں
ہم ایک رشتہ نکالنے کا ماڈل استعمال کرتے ہیں جو a پر بنایا گیا ہے۔ BERT-base-uncased سے ٹرانسفارمرز کا استعمال کرتے ہوئے ماڈل گلے لگانا چہرہ ٹرانسفارمر کتب خانہ. فائن ٹیوننگ کا ماڈل ایک لکیری درجہ بندی کی پرت کو جوڑتا ہے جو ٹیکسٹ ایمبیڈنگ ماڈل کے ذریعہ آؤٹ پٹ ٹوکن ایمبیڈنگس کا ایک جوڑا لیتا ہے اور پرت کے پیرامیٹرز کو بے ترتیب اقدار پر شروع کرتا ہے۔ فائن ٹیوننگ کا مرحلہ ان پٹ ڈیٹا پر پیشین گوئی کی غلطی کو کم کرنے کے لیے ماڈل کے تمام پیرامیٹرز کو ٹھیک کرتا ہے اور فائن ٹیونڈ ماڈل کو واپس کرتا ہے۔
ڈیٹاسیٹ جس کو ہم ماڈل کو ٹھیک بناتے ہیں۔ SemEval-2010 ٹاسک 8. فائن ٹیوننگ کے ذریعے واپس آنے والے ماڈل کو مزید اندازہ لگانے کے لیے تعینات کیا جا سکتا ہے۔
ڈیٹاسیٹ میں تربیت، توثیق اور ٹیسٹ سیٹ شامل ہیں۔
ہم AWS PyTorch DLC کو SageMaker Python SDK سے اسکرپٹ موڈ کے ساتھ استعمال کرتے ہیں، جہاں transformers
لائبریری کنٹینر کے اوپری حصے پر انحصار کے طور پر انسٹال ہے۔ ہم سیج میکر کی تعریف کرتے ہیں۔ PyTorch
تخمینہ لگانے والا اور ہائپر پیرامیٹرز کا ایک سیٹ جیسے کہ پہلے سے تربیت یافتہ ماڈل، سیکھنے کی شرح، اور epoch نمبرز کو ٹھیک کرنے کے لیے۔ رشتہ نکالنے کے ماڈل کو ٹھیک کرنے کے کوڈ کی وضاحت میں کی گئی ہے۔ entry_point.py
. درج ذیل کوڈ دیکھیں:
SageMaker آٹومیٹک ماڈل ٹیوننگ کے ساتھ فائن ٹیوننگ کارکردگی کو مزید بہتر کریں۔
پچھلے حصوں کی طرح، ہم استعمال کرتے ہیں a HyperparameterTuner
سیج میکر ہائپر پیرامیٹر ٹیوننگ APIs کے ساتھ تعامل کرنے پر اعتراض۔ ہم کال کرکے ہائپرپیرامیٹر ٹیوننگ کا کام شروع کر سکتے ہیں۔ fit
طریقہ:
جب ہائپر پیرامیٹر ٹیوننگ کا کام مکمل ہو جاتا ہے، تو ہم اندازہ لگاتے ہیں اور تشخیص کے سکور کو چیک کرتے ہیں۔
ہم دیکھ سکتے ہیں کہ HPO والا ماڈل ہولڈ آؤٹ ٹیسٹ ڈیٹا پر بہتر کارکردگی دکھاتا ہے۔
دستاویز کا خلاصہ
دستاویز یا متن کا خلاصہ متن کے اعداد و شمار کی بڑی مقدار کو بامعنی جملوں کے چھوٹے ذیلی سیٹ میں جمع کرنے کا کام ہے جو اصل مواد میں سب سے اہم یا متعلقہ معلومات کی نمائندگی کرتے ہیں۔ دستاویز کا خلاصہ ایک مفید تکنیک ہے جس میں متنی اعداد و شمار کی بڑی مقدار سے لے کر چند جملوں تک اہم معلومات کو نکالا جاسکتا ہے۔ متن کا خلاصہ استعمال کے بہت سے معاملات میں استعمال کیا جاتا ہے، جیسے کہ دستاویز کی کارروائی اور بلاگز، مضامین اور خبروں سے معلومات نکالنا۔
یہ نوٹ بک دستاویز کے خلاصے کے ماڈل کی تعیناتی کو ظاہر کرتی ہے۔ T5-بیس سے گلے لگانا چہرہ ٹرانسفارمر کتب خانہ. ہم ایک ٹیکسٹ آرٹیکل کا استعمال کرتے ہوئے تعینات اختتامی پوائنٹس کی جانچ بھی کرتے ہیں اور ہیگنگ فیس بلٹ ان ایویلیویشن میٹرک کا استعمال کرتے ہوئے نتائج کا جائزہ لیتے ہیں۔ RED.
سوال جواب اور NER نوٹ بک کی طرح، ہم استعمال کرتے ہیں۔ PyTorchModel
SageMaker Python SDK سے ایک کے ساتھ entry_point.py
T5-بیس ماڈل کو HTTPS اینڈ پوائنٹ پر لوڈ کرنے کے لیے اسکرپٹ۔ اختتامی نقطہ کے کامیابی کے ساتھ تعینات ہونے کے بعد، ہم پیشین گوئی کا جواب حاصل کرنے کے لیے اختتامی نقطہ پر ایک متنی مضمون بھیج سکتے ہیں:
اس کے بعد، ہم ROUGE میٹرک کا استعمال کرتے ہوئے متن کے مضمون اور خلاصہ نتیجہ کا جائزہ اور موازنہ کرتے ہیں۔ تین تشخیصی میٹرکس کا حساب لگایا جاتا ہے: rougeN
, rougeL
، اور rougeLsum
. rougeN
مماثلت کی تعداد کی پیمائش کرتا ہے۔ n-grams
ماڈل سے تیار کردہ متن (خلاصہ نتیجہ) اور a کے درمیان reference
(ان پٹ ٹیکسٹ)۔ میٹرکس rougeL
اور rougeLsum
تیار کردہ اور حوالہ جات کے خلاصوں میں سب سے طویل عام ذیلی اسٹرنگز کو تلاش کرکے الفاظ کے سب سے طویل مماثل سلسلے کی پیمائش کریں۔ ہر میٹرک کے لیے، درستگی، یاد کرنے، اور F1 سکور کے لیے اعتماد کے وقفوں کا حساب لگایا جاتا ہے۔ درج ذیل کوڈ کو دیکھیں:
صاف کرو
اس حل کے لیے بنائے گئے وسائل کو استعمال کرکے حذف کیا جا سکتا ہے۔ تمام وسائل کو حذف کریں۔ سیج میکر اسٹوڈیو IDE سے بٹن۔ ہر نوٹ بک اختتامی نکات کو حذف کرنے کے لیے کوڈ کے ساتھ کلین اپ سیکشن بھی فراہم کرتی ہے۔
نتیجہ
اس پوسٹ میں، ہم نے پانچ مختلف NLP کاموں کو حل کرنے کے لیے جدید ترین ML تکنیکوں کو استعمال کرنے کا مظاہرہ کیا: دستاویز کا خلاصہ، متن کی درجہ بندی، سوال و جواب، نام کی ہستی کی شناخت، اور جمپ اسٹارٹ کا استعمال کرتے ہوئے رشتہ نکالنا۔ ابھی جمپ سٹارٹ کے ساتھ شروع کریں۔!
مصنفین کے بارے میں
ڈاکٹر ژن ہوانگ Amazon SageMaker JumpStart اور Amazon SageMaker بلٹ ان الگورتھم کے لیے ایک اپلائیڈ سائنٹسٹ ہے۔ وہ اسکیل ایبل مشین لرننگ الگورتھم تیار کرنے پر توجہ مرکوز کرتا ہے۔ اس کی تحقیقی دلچسپیاں قدرتی لینگویج پروسیسنگ، ٹیبلر ڈیٹا پر قابل وضاحت گہرائی سے سیکھنے، اور نان پیرامیٹرک اسپیس ٹائم کلسٹرنگ کے مضبوط تجزیہ کے شعبے میں ہیں۔ انہوں نے ACL، ICDM، KDD کانفرنسز، اور رائل سٹیٹسٹیکل سوسائٹی: سیریز A جرنل میں بہت سے مقالے شائع کیے ہیں۔
وویک گنگاسنی۔ ایمیزون ویب سروسز میں ایک سینئر مشین لرننگ سلوشنز آرکیٹیکٹ ہیں۔ وہ سٹارٹ اپس کو AI/ML ایپلیکیشنز بنانے اور چلانے میں مدد کرتا ہے۔ فی الحال وہ کنٹینرز اور مشین لرننگ میں اپنے پس منظر کو یکجا کرنے پر توجہ مرکوز کر رہے ہیں تاکہ MLOps، ML Inference اور Low-code ML پر حل فراہم کر سکیں۔ اپنے فارغ وقت میں، وہ نئے ریستوراں آزمانے اور AI اور گہری سیکھنے میں ابھرتے ہوئے رجحانات کو تلاش کرنے سے لطف اندوز ہوتا ہے۔
جیریمی کوہن AWS کے ساتھ ایک سولیوشن آرکیٹیکٹ ہے جہاں وہ صارفین کو جدید، کلاؤڈ بیسڈ حل بنانے میں مدد کرتا ہے۔ اپنے فارغ وقت میں، وہ ساحل سمندر پر مختصر سیر سے لطف اندوز ہوتا ہے، اپنے خاندان کے ساتھ خلیج کے علاقے کو تلاش کرتا ہے، گھر کے ارد گرد چیزیں ٹھیک کرتا ہے، گھر کے ارد گرد چیزیں توڑتا ہے، اور BBQing کرتا ہے۔
نیلم کوشیا۔ AWS میں ایک انٹرپرائز حل آرکیٹیکٹ ہے۔ اس کی موجودہ توجہ انٹرپرائز کے صارفین کی حکمت عملی سے متعلق کاروباری نتائج کے لیے کلاؤڈ اپنانے کے سفر میں مدد کرنا ہے۔ اپنے فارغ وقت میں، وہ پڑھنے اور باہر رہنے سے لطف اندوز ہوتی ہے۔
- اعلی درجے کی (300)
- AI
- ai آرٹ
- AI آرٹ جنریٹر
- عی روبوٹ
- ایمیزون سیج میکر
- ایمیزون سیج میکر جمپ اسٹارٹ
- مصنوعی ذہانت
- مصنوعی ذہانت کا سرٹیفیکیشن
- بینکنگ میں مصنوعی ذہانت
- مصنوعی ذہانت والا روبوٹ
- مصنوعی ذہانت والے روبوٹ
- مصنوعی ذہانت سافٹ ویئر
- AWS مشین لرننگ
- blockchain
- بلاکچین کانفرنس
- coingenius
- بات چیت مصنوعی ذہانت
- crypto کانفرنس ai
- dall-e
- گہری سیکھنے
- ماہر (400)
- گوگل عی
- مشین لرننگ
- پلاٹا
- افلاطون اے
- افلاطون ڈیٹا انٹیلی جنس
- افلاطون گیم
- پلیٹو ڈیٹا
- پلیٹو گیمنگ
- پیمانہ ai
- نحو
- زیفیرنیٹ