Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عی

Amazon SageMaker پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل

آج کل تقریباً 7,000 زبانیں زیر استعمال ہیں۔ 19ویں صدی کے آخر میں تعمیر شدہ زبانیں جیسے کہ Volapük یا Esperanto ایجاد کرنے کی کوششوں کے باوجود، یکجا ہونے کا کوئی نشان نہیں ہے۔ لوگ اب بھی نئی زبانیں بنانے کا انتخاب کرتے ہیں (اپنے پسندیدہ فلمی کردار کے بارے میں سوچیں جو کلنگن، ڈوتھراکی، یا ایلویش بولتا ہے)۔

آج، نیچرل لینگویج پروسیسنگ (NLP) کی مثالوں پر انگریزی زبان کا غلبہ ہے، جو صرف 5% انسانی آبادی کی مادری زبان ہے اور صرف 17% بولی جاتی ہے۔

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

اس پوسٹ میں، ہم کم وسائل والی زبانوں کے چیلنجوں کا خلاصہ کرتے ہیں اور Amazon SageMaker پر Hugging Face Transformers کا استعمال کرتے ہوئے 100 سے زیادہ زبانوں پر محیط مختلف حل کے طریقوں کے ساتھ تجربہ کرتے ہیں۔

ہم ایک سوال اور جواب دینے کے کام کے لیے پہلے سے تربیت یافتہ ٹرانسفارمر پر مبنی زبان کے مختلف ماڈلز کو ٹھیک بناتے ہیں۔ ہم اپنی مثال میں ترکی استعمال کرتے ہیں، لیکن آپ اس انداز کو دوسری معاون زبان پر لاگو کر سکتے ہیں۔ ہماری توجہ BERT [1] کی مختلف حالتوں پر ہے۔, کیونکہ BERT کی ایک بڑی خصوصیت مختلف کاموں میں اس کا متحد فن تعمیر ہے۔

ہم Hugging Face ٹرانسفارمرز آن استعمال کرنے کے کئی فوائد کا مظاہرہ کرتے ہیں۔ ایمیزون سیج میکر، جیسے پیمانے پر تربیت اور تجربہ، اور پیداواری صلاحیت اور لاگت کی کارکردگی میں اضافہ۔

NLP کا جائزہ

2017 کے بعد سے NLP میں کئی اہم پیشرفت ہوئی ہیں۔ گہرے سیکھنے کے فن تعمیر جیسے کہ ٹرانسفارمرز [2] کے ظہور، ایسے ماڈلز کو انتہائی بڑے ڈیٹا سیٹس پر تربیت دینے کے لیے غیر زیر نگرانی سیکھنے کی تکنیک، اور ٹرانسفر لرننگ نے ریاست کی حالت کو نمایاں طور پر بہتر کیا ہے۔ قدرتی زبان کی تفہیم میں فن پہلے سے تربیت یافتہ ماڈل ہبس کی آمد نے NLP کمیونٹی کے اجتماعی علم تک رسائی کو مزید جمہوری بنا دیا ہے، شروع سے شروع کرنے کی ضرورت کو دور کر دیا ہے۔

زبان کا ماڈل ایک NLP ماڈل ہے جو ایک ترتیب میں اگلے لفظ (یا کسی بھی نقاب پوش لفظ) کی پیشین گوئی کرنا سیکھتا ہے۔ ابتدائی نقطہ کے طور پر زبان کے ماڈلز کی حقیقی خوبصورتی تین گنا ہوتی ہے: پہلی، تحقیق نے یہ ظاہر کیا ہے کہ ایک بڑے ٹیکسٹ کارپس ڈیٹا پر تربیت یافتہ لینگویج ماڈل پچھلے طریقوں کے مقابلے الفاظ کے زیادہ پیچیدہ معنی سیکھتے ہیں۔ مثال کے طور پر، کسی جملے میں اگلے لفظ کی پیشن گوئی کرنے کے قابل ہونے کے لیے، زبان کے ماڈل کو سیاق و سباق، سیمنٹکس اور گرامر کو سمجھنے میں اچھا ہونا چاہیے۔ دوسرا، لینگویج ماڈل کو تربیت دینے کے لیے، لیبل لگا ڈیٹا — جو کہ نایاب اور مہنگا ہے — پری ٹریننگ کے دوران ضروری نہیں ہے۔ یہ اس لیے اہم ہے کیونکہ بے لیبل والے ٹیکسٹ ڈیٹا کی ایک بڑی مقدار ویب پر کئی زبانوں میں عوامی طور پر دستیاب ہے۔ تیسرا، یہ ظاہر کیا گیا ہے کہ ایک بار زبان کا ماڈل کسی بھی جملے کے اگلے لفظ کی پیشین گوئی کرنے کے لیے کافی ہوشیار ہو جاتا ہے، تو NLP کے دوسرے کاموں کو انجام دینا نسبتاً آسان ہوتا ہے جیسے جذبات کا تجزیہ یا بہت کم لیبل والے ڈیٹا کے ساتھ سوال کا جواب دینا، کیونکہ فائن ٹیوننگ دوبارہ استعمال کرتی ہے۔ پہلے سے تربیت یافتہ زبان کے ماڈل [3] سے نمائندگی۔

مکمل طور پر منظم NLP خدمات نے NLP کو اپنانے میں بھی تیزی لائی ہے۔ ایمیزون کی تعریف ایک مکمل طور پر منظم سروس ہے جو متن کے تجزیات کو دستاویزات کے مواد سے بصیرت نکالنے کے قابل بناتی ہے، اور یہ مختلف زبانوں کو سپورٹ کرتی ہے۔ Amazon Comprehend حسب ضرورت درجہ بندی اور اپنی مرضی کے مطابق ہستی کی شناخت کو سپورٹ کرتا ہے اور آپ کو کسی ML مہارت کی ضرورت کے بغیر، آپ کی ضروریات کے مطابق حسب ضرورت NLP ماڈلز بنانے کے قابل بناتا ہے۔

کم وسائل والی زبانوں کے لیے چیلنجز اور حل

زبانوں کی ایک بڑی تعداد کے لیے بنیادی چیلنج یہ ہے کہ ان کے پاس تربیت کے لیے نسبتاً کم ڈیٹا دستیاب ہے۔ یہ کہتے ہیں۔ کم وسائل والی زبانیں. m-BERT پیپر [4] اور XLM-R پیپر [7] اردو اور سواحلی کو کم وسائل والی زبانیں کہتے ہیں۔

مندرجہ ذیل اعداد و شمار 80 سے زیادہ زبانوں کے آئی ایس او کوڈز کی وضاحت کرتا ہے، اور دو بڑی پری ٹریننگز کے درمیان سائز میں فرق (لاگ اسکیل میں) [7]۔ ویکیپیڈیا (اورنج) میں صرف 18 زبانیں ہیں جن میں 1 ملین سے زیادہ مضامین ہیں اور 52 زبانیں ہیں جن میں 1,000 سے زیادہ مضامین ہیں، لیکن 164 زبانیں ہیں جن میں صرف 1-10,000 مضامین ہیں [9]۔ CommonCrawl کارپس (نیلا) کم وسائل والی زبانوں کے لیے ڈیٹا کی مقدار کو دو ترتیبوں سے بڑھاتا ہے۔ اس کے باوجود، وہ انگریزی، روسی، یا جرمن جیسی اعلیٰ وسائل والی زبانوں کے مقابلے میں اب بھی نسبتاً چھوٹی ہیں۔

Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عی

ویکیپیڈیا کے مضامین کی تعداد کے لحاظ سے، اردو (100,000 ویں) کے ساتھ، 28 سے زیادہ مضامین (54 ویں) کے ایک ہی گروپ میں ترکی دوسری زبان ہے۔ اردو کے مقابلے میں ترکی کو وسط وسائل کی زبان کے طور پر شمار کیا جائے گا۔ ترکی میں کچھ دلچسپ خصوصیات ہیں، جو لسانیات اور ٹوکنائزیشن میں کچھ چیلنجز پیدا کرکے زبان کے ماڈلز کو مزید طاقتور بنا سکتی ہیں۔ یہ ایک اجتماعی زبان ہے۔ اس میں ایک بہت ہی آزاد الفاظ کی ترتیب، ایک پیچیدہ مورفولوجی، یا انگریزی مساوی کے بغیر ٹینسز ہیں۔ انگریزی جیسی زبانوں میں متعدد الفاظ سے بنے جملے ایک ہی لفظ کی شکل سے ظاہر کیے جا سکتے ہیں، جیسا کہ درج ذیل مثال میں دکھایا گیا ہے۔

ترکی انگریزی
بلی بلی
بلیے بلیs
بلیگلے کے خاندان بلیوں
felinesدن سے تعلق رکھتا ہے۔ بلیوں کا خاندان
بلیleştirebileceklerimizdenmişçesineyken جب ایسا لگتا ہے کہ وہ ایک ہے جسے ہم بنا سکتے ہیں۔ بلی

حل کے دو اہم طریقے ہیں زبان کے مخصوص ماڈل یا کثیر لسانی ماڈل (کراس لینگویج کی نگرانی کے ساتھ یا اس کے بغیر):

  • یک لسانی زبان کے ماڈل - پہلا نقطہ نظر ایک مخصوص ہدف کی زبان پر BERT متغیر کا اطلاق کرنا ہے۔ تربیت کا ڈیٹا جتنا زیادہ ہوگا، ماڈل کی کارکردگی اتنی ہی بہتر ہوگی۔
  • کثیر لسانی نقاب پوش زبان کے ماڈل - دوسرا طریقہ یہ ہے کہ کئی زبانوں میں بڑے ٹرانسفارمر ماڈلز کو پہلے سے تربیت دی جائے۔ کثیر لسانی لینگویج ماڈلنگ کا مقصد کم وسائل والی زبانوں کے لیے ڈیٹا چیلنج کی کمی کو حل کرنا ہے تاکہ زبانوں کی ایک بڑی تعداد میں پہلے سے تربیت حاصل کی جا سکے تاکہ ایک زبان سے سیکھے گئے NLP کاموں کو دوسری زبانوں میں منتقل کیا جا سکے۔ کثیر لسانی نقاب پوش لینگویج ماڈلز (MLMs) نے مختلف زبانوں کو سمجھنے کے جدید کاموں کو آگے بڑھایا ہے۔ دو مثالیں ہیں:
    • کثیر لسانی BERT - کثیر لسانی BERT ماڈل کو ویکیپیڈیا کارپس کا استعمال کرتے ہوئے 104 مختلف زبانوں میں تربیت دی گئی۔ تاہم، یہ دکھایا گیا ہے کہ یہ صرف ملتے جلتے لسانی ڈھانچے اور ٹائپولوجیکل خصوصیات (مثال کے طور پر، ایک جیسے الفاظ کی ترتیب والی زبانیں) کو عام کرتا ہے۔ اس کی کثیر لسانی خاص طور پر مختلف الفاظ کی ترتیب والی زبانوں کے لیے کم ہوتی جا رہی ہے (مثال کے طور پر موضوع/آبجیکٹ/فعل) [4]۔
    • XLM-R – کراس لسانی لینگویج ماڈل (XLMs) کو متوازی ڈیٹاسیٹس (دو مختلف زبانوں میں ایک ہی متن) کا استعمال کرتے ہوئے یا یک لسانی ڈیٹاسیٹس کا استعمال کرتے ہوئے کراس لسانی مقصد کے ساتھ تربیت دی جاتی ہے [6]۔ تحقیق سے پتہ چلتا ہے کہ کم وسائل والی زبانیں زیادہ زبانوں میں اسکیلنگ سے فائدہ اٹھاتی ہیں۔ XLM-RoBERTa ایک ٹرانسفارمر پر مبنی ماڈل ہے جو RoBERTa [5] سے متاثر ہے، اور اس کا نقطہ آغاز یہ تجویز ہے کہ کثیر لسانی BERT اور XLM انڈر ٹیونڈ ہیں۔ اسے Wikipedia اور CommonCrawl کارپس دونوں کا استعمال کرتے ہوئے 100 زبانوں پر تربیت دی گئی ہے، لہذا کم وسائل والی زبانوں کے لیے تربیتی ڈیٹا کی مقدار m-BERT کے مقابلے میں تقریباً دو آرڈرز زیادہ ہے [7]۔

کم وسائل والی زبانوں کے لیے کثیر لسانی زبان کے ماڈلز کا ایک اور چیلنج الفاظ کا سائز اور ٹوکنائزیشن ہے۔ چونکہ تمام زبانیں کثیر لسانی زبان کے ماڈلز میں یکساں مشترکہ الفاظ استعمال کرتی ہیں، اس لیے الفاظ کے حجم میں اضافہ (جس سے کمپیوٹ کی ضروریات بڑھ جاتی ہیں) بمقابلہ اسے کم کرنا (الفاظ میں موجود نہ ہونے والے الفاظ کو نامعلوم کے طور پر نشان زد کیا جائے گا، یا حروف کا استعمال الفاظ کے بجائے بطور ٹوکن کسی بھی ڈھانچے کو نظر انداز کرے گا)۔ ورڈ پیس ٹوکنائزیشن الگورتھم دونوں طریقوں کے فوائد کو یکجا کرتا ہے۔ مثال کے طور پر، یہ الفاظ کو ذیلی الفاظ میں تقسیم کرکے مؤثر طریقے سے الفاظ سے باہر الفاظ کو سنبھالتا ہے جب تک کہ یہ الفاظ میں موجود نہ ہو یا جب تک کہ انفرادی کردار تک نہ پہنچ جائے۔ کریکٹر پر مبنی ٹوکنائزیشن کچھ خاص زبانوں، جیسے چینی کے علاوہ زیادہ مفید نہیں ہے۔ کم وسائل والی زبانوں کے لیے چیلنجوں سے نمٹنے کے لیے تکنیکیں موجود ہیں، جیسے کہ کچھ تقسیم کے ساتھ نمونے لینا [6]۔

مندرجہ ذیل جدول میں دکھایا گیا ہے کہ لفظ "کیڈیلیری" (جس کا مطلب ہے "اس کی بلیاں") کے لیے تین مختلف ٹوکنائزرز کیسے برتاؤ کرتے ہیں۔ کچھ زبانوں اور NLP کاموں کے لیے، اس سے فرق پڑے گا۔ مثال کے طور پر، سوال کا جواب دینے کے کام کے لیے، ماڈل اسٹارٹ ٹوکن انڈیکس اور اینڈ ٹوکن انڈیکس کا دورانیہ واپس کرتا ہے۔ "کیڈیلر" ("کیٹس") یا "کیڈیلیری" ("اس کی بلیاں") کو واپس کرنے سے کچھ سیاق و سباق ختم ہو جائے گا اور کچھ میٹرکس کے لیے مختلف تشخیصی نتائج سامنے آئیں گے۔

پہلے سے تربیت یافتہ ماڈل الفاظ کا سائز "Kedileri" کے لیے ٹوکنائزیشن*
dbmdz/bert-base-turkish-uncased 32,000 ٹوکن [CLS] بلیوں ##میں [ستمبر]
ان پٹ IDs 2 23714 1023 3
bert-base-کثیر لسانی- uncased 105,879 ٹوکن [CLS] ked ##iler ##میں [ستمبر]
ان پٹ IDs 101 30210 33719 10116 102
deepset/xlm-roberta-base-squad2 250,002 ٹوکن کے di ے
ان پٹ IDs 0 1345 428 1341 .
*انگریزی میں: (اس کی) بلیاں

لہذا، اگرچہ کم وسائل والی زبانیں کثیر لسانی زبان کے ماڈلز سے فائدہ اٹھاتی ہیں، لیکن مشترکہ الفاظ میں ٹوکنائزیشن کا مظاہرہ بعض زبانوں کے لیے کچھ لسانی خصوصیات کو نظر انداز کر سکتا ہے۔

اگلے حصے میں، ہم ترکی کے لیے QA ڈیٹاسیٹ کا استعمال کرتے ہوئے سوال کے جواب دینے والے کام کے لیے تین طریقوں کا موازنہ کرتے ہیں: BERTurk [8]، کثیر لسانی BERT [4]، اور XLM-R [7]۔

حل جائزہ

ہمارا ورک فلو مندرجہ ذیل ہے:

  1. ڈیٹاسیٹ کو ایک میں تیار کریں۔ ایمیزون سیج میکر اسٹوڈیو نوٹ بک ماحول اور اسے اپ لوڈ کریں۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)۔
  2. فائن ٹیوننگ اسکرپٹ فراہم کرکے سیج میکر ٹریننگ ڈیپ لرننگ کنٹینرز پر متوازی تربیتی ملازمتیں شروع کریں۔
  3. ہر تجربے سے میٹا ڈیٹا اکٹھا کریں۔
  4. نتائج کا موازنہ کریں اور مناسب ترین ماڈل کی شناخت کریں۔

مندرجہ ذیل خاکہ حل کے فن تعمیر کی وضاحت کرتا ہے۔

Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عی

اسٹوڈیو نوٹ بک کے بارے میں مزید معلومات کے لیے، رجوع کریں۔ Amazon SageMaker Studio Notebooks کے فن تعمیر میں گہرائی میں ڈوبیں۔. اس بارے میں مزید معلومات کے لیے کہ کس طرح ہگنگ فیس کو سیج میکر کے ساتھ مربوط کیا جاتا ہے، ملاحظہ کریں۔ AWS اور Hugging Face نیچرل لینگویج پروسیسنگ ماڈلز کو اپنانے کو آسان بنانے اور تیز کرنے کے لیے تعاون کرتے ہیں۔.

ڈیٹاسیٹ تیار کریں۔

گہرے سیکھنے کے ماڈل میں تربیت کے لیے ڈیٹا سیٹ کو تیزی سے تیار کرنے کے لیے Hugging Face Datasets لائبریری طاقتور ڈیٹا پروسیسنگ کے طریقے مہیا کرتی ہے۔ مندرجہ ذیل کوڈ ترکی کے QA ڈیٹاسیٹ کو لوڈ کرتا ہے اور اس کے اندر کیا ہے اس کی کھوج کرتا ہے:

data_files = {}
data_files["train"] = 'data/train.json'
data_files["validation"] = 'data/val.json' ds = load_dataset("json", data_files=data_files) print("Number of features in dataset: n Train = {}, n Validation = {}".format(len(ds['train']), len(ds['validation'])))

تقریباً 9,000 نمونے ہیں۔

Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عی

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

df = pd.DataFrame(ds['train'])
df.sample(1)

Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عی
آؤٹ پٹ کا انگریزی ترجمہ درج ذیل ہے:

  • سیاق و سباق – Resit Emre Kongar (پیدائش 13 اکتوبر 1941، استنبول)، ترک ماہر عمرانیات، پروفیسر۔
  • سوال – ایمرے کونگر کا تعلیمی لقب کیا ہے؟
  • جواب - پروفیسر

ٹھیک ٹیوننگ اسکرپٹ

ہگنگ فیس ٹرانسفارمرز لائبریری سوال کا جواب دینے والے کام کے لیے ماڈل کو ٹھیک کرنے کے لیے ایک مثالی کوڈ فراہم کرتی ہے، جسے کہتے ہیں run_qa.py. درج ذیل کوڈ ٹرینر کو شروع کرتا ہے:

 # Initialize our Trainer trainer = QuestionAnsweringTrainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, eval_examples=eval_examples, tokenizer=tokenizer, data_collator=data_collator, post_process_function=post_processing_function, compute_metrics=compute_metrics, )

آئیے ایک اعلی سطح پر عمارت کے بلاکس کا جائزہ لیں۔

ٹوکنائزر

اسکرپٹ کا استعمال کرتے ہوئے ایک ٹوکنائزر لوڈ کرتا ہے۔ AutoTokenizer کلاس AutoTokenizer کلاس صحیح ٹوکنائزر کو واپس کرنے کا خیال رکھتا ہے جو ماڈل سے مطابقت رکھتا ہے:

tokenizer = AutoTokenizer.from_pretrained( model_args.model_name_or_path, cache_dir=model_args.cache_dir, use_fast=True, revision=model_args.model_revision, use_auth_token=None, )

مندرجہ ذیل ایک مثال ہے کہ ٹوکنائزر کیسے کام کرتا ہے:

from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("deepset/xlm-roberta-base-squad2") input_ids = tokenizer.encode('İstanbulun en popüler hayvanı hangisidir? Kedileri', return_tensors="pt")
tokens = tokenizer('İstanbulun en popüler hayvanı hangisidir? Kedileri').tokens()

Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عی

ماڈل

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

 model = AutoModelForQuestionAnswering.from_pretrained( model_args.model_name_or_path, config=config, cache_dir=model_args.cache_dir, revision=model_args.model_revision, )

پری پروسیسنگ اور تربیت

۔ prepare_train_features() اور prepare_validation_features() طریقے تربیتی ڈیٹاسیٹ اور توثیق کے ڈیٹاسیٹس کو بالترتیب پہلے سے پروسیس کرتے ہیں۔ کوڈ ان پٹ ڈیٹاسیٹ پر اعادہ کرتا ہے اور سیاق و سباق اور موجودہ سوال سے ایک ترتیب بناتا ہے، صحیح ماڈل کے ساتھ مخصوص ٹوکن ٹائپ IDs (ٹوکنز کی عددی نمائندگی) اور توجہ کے ماسک کے ساتھ۔ اس کے بعد ترتیب کو ماڈل کے ذریعے منتقل کیا جاتا ہے۔ یہ ابتدائی اور اختتامی دونوں پوزیشنوں کے لیے اسکورز کی ایک رینج نکالتا ہے، جیسا کہ درج ذیل جدول میں دکھایا گیا ہے۔

ان پٹ ڈیٹاسیٹ فیلڈز QuestionAnsweringTrainer کے لیے پری پروسیسڈ ٹریننگ ڈیٹاسیٹ فیلڈز
id input_ids
عنوان توجہ_ماسک
سیاق و سباق start_positions
سوال اختتامی_پوزیشنز
جوابات { answer_start , answer_text } .

تشخیص

۔ compute_metrics() طریقہ میٹرکس کا حساب لگانے کا خیال رکھتا ہے۔ ہم سوال جواب دینے کے کاموں کے لیے درج ذیل مقبول میٹرکس استعمال کرتے ہیں:

  • کامل مطابقت - پیشین گوئیوں کے فیصد کی پیمائش کرتا ہے جو زمینی سچائی کے جوابات میں سے کسی ایک سے بالکل میل کھاتا ہے۔
  • F1 سکور - پیشین گوئی اور زمینی سچائی کے جواب کے درمیان اوسط اوورلیپ کی پیمائش کرتا ہے۔ F1 سکور درستگی اور یاد کا ہارمونک مطلب ہے:
    • صحت سے متعلق - پیشن گوئی میں الفاظ کی کل تعداد کے ساتھ مشترکہ الفاظ کی تعداد کا تناسب۔
    • یاد رکھیں - زمینی سچائی میں الفاظ کی کل تعداد کے ساتھ مشترکہ الفاظ کی تعداد کا تناسب۔

SageMaker پر منظم تربیت

کسٹم مشین لرننگ (ML) ماحول کو ترتیب دینا اور ان کا انتظام کرنا وقت طلب اور بوجھل ہو سکتا ہے۔ کے ساتھ AWS ڈیپ لرننگ کنٹینر (DLCs) Hugging Face Transformers لائبریریوں کے لیے، ہمارے پاس پہلے سے پیک شدہ اور آپٹمائزڈ ڈیپ لرننگ فریم ورکس تک رسائی ہے، جو کم سے کم اضافی کوڈ کے ساتھ متعدد تربیتی ملازمتوں میں ہماری اسکرپٹ کو چلانا آسان بناتا ہے۔

ہمیں صرف استعمال کرنے کی ضرورت ہے۔ گلے لگانا چہرے کا تخمینہ لگانے والا SageMaker Python SDK میں درج ذیل ان پٹ کے ساتھ دستیاب ہے:

# Trial configuration
config['model'] = 'deepset/xlm-roberta-base-squad2'
config['instance_type'] = 'ml.p3.16xlarge'
config['instance_count'] = 2 # Define the distribution parameters in the HuggingFace Estimator config['distribution'] = {'smdistributed':{'dataparallel':{ 'enabled': True }}}
trial_configs.append(config) # We can specify a training script that is stored in a GitHub repository as the entry point for our Estimator, # so we don’t have to download the scripts locally.
git_config = {'repo': 'https://github.com/huggingface/transformers.git'} hyperparameters_qa={ 'model_name_or_path': config['model'], 'train_file': '/opt/ml/input/data/train/train.json', 'validation_file': '/opt/ml/input/data/val/val.json', 'do_train': True, 'do_eval': True, 'fp16': True, 'per_device_train_batch_size': 16, 'per_device_eval_batch_size': 16, 'num_train_epochs': 2, 'max_seq_length': 384, 'pad_to_max_length': True, 'doc_stride': 128, 'output_dir': '/opt/ml/model' } huggingface_estimator = HuggingFace(entry_point='run_qa.py', source_dir='./examples/pytorch/question-answering', git_config=git_config, instance_type=config['instance_type'], instance_count=config['instance_count'], role=role, transformers_version='4.12.3', pytorch_version='1.9.1', py_version='py38', distribution=config['distribution'], hyperparameters=hyperparameters_qa, metric_definitions=metric_definitions, enable_sagemaker_metrics=True,) nlp_training_job_name = f"NLPjob-{model}-{instance}-{int(time.time())}" training_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' test_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' huggingface_estimator.fit( inputs={'train': training_input_path, 'val': test_input_path}, job_name=nlp_training_job_name, experiment_config={ "ExperimentName": nlp_experiment.experiment_name, "TrialName": nlp_trial.trial_name, "TrialComponentDisplayName": nlp_trial.trial_name,}, wait=False, )

نتائج کا اندازہ کریں

جب ترکی کے سوالوں کے جواب دینے کے کام کے لیے فائن ٹیوننگ کام مکمل ہو جاتے ہیں، تو ہم تین طریقوں کی ماڈل کارکردگی کا موازنہ کرتے ہیں:

  • یک لسانی زبان کا ماڈل - ترک سوال کے جواب کے متن پر پہلے سے تربیت یافتہ ماڈل کو کہا جاتا ہے۔ bert-base-Turkish-uncased [8]۔ یہ صرف دو ادوار میں 1 کا F75.63 سکور اور 56.17 کا عین میچ سکور حاصل کرتا ہے اور 9,000 لیبل والی اشیاء کے ساتھ۔ تاہم، یہ نقطہ نظر کم وسائل والی زبان کے لیے موزوں نہیں ہے جب پہلے سے تربیت یافتہ زبان کا ماڈل موجود نہ ہو، یا شروع سے تربیت کے لیے بہت کم ڈیٹا دستیاب ہو۔
  • کثیر لسانی BERT کے ساتھ کثیر لسانی زبان کا ماڈل - پہلے سے تربیت یافتہ ماڈل کو کہا جاتا ہے۔ bert-base-کثیر لسانی- uncased. کثیر لسانی BERT پیپر [4] نے دکھایا ہے کہ یہ تمام زبانوں کو اچھی طرح عام کرتا ہے۔ یک لسانی ماڈل کے مقابلے میں، یہ بدتر کارکردگی کا مظاہرہ کرتا ہے (F1 سکور 71.73، عین مطابق مماثلت 50:45)، لیکن نوٹ کریں کہ یہ ماڈل 100 سے زیادہ دیگر زبانوں کو سنبھالتا ہے، جس سے ترکی زبان کی نمائندگی کے لیے کم گنجائش باقی رہ جاتی ہے۔
  • XLM-R کے ساتھ کثیر لسانی زبان کا ماڈل - پہلے سے تربیت یافتہ ماڈل کو کہا جاتا ہے۔ xlm-roberta-base-squad2. XLM-R پیپر ظاہر کرتا ہے کہ فی زبان کی کارکردگی کو قربان کیے بغیر 100 سے زیادہ زبانوں کے لیے ایک ہی بڑا ماڈل رکھنا ممکن ہے [7]۔ ترکی کے سوالوں کے جواب دینے کے کام کے لیے، یہ کثیر لسانی BERT اور یک لسانی BERT F1 کے اسکور کو بالترتیب 5% اور 2% سے پیچھے چھوڑتا ہے (F1 سکور 77.14، عین مطابق میچ 56.39)۔

Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عی

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

اضافی تجربات

فراہم کردہ نوٹ بک اضافی تجرباتی مثالوں پر مشتمل ہے۔

SageMaker تربیتی مثال کی ایک وسیع رینج فراہم کرتا ہے۔ ہم نے XLM-R ماڈل کو p3.2xlarge (GPU: Nvidia V100 GPU، GPU فن تعمیر: Volta (2017))، p3.16xlarge (GPU: 8 Nvidia V100 GPUs)، اور g4dn.xlarge (GPU: Nvidia T4) پر ٹھیک بنایا۔ GPU، GPU فن تعمیر: ٹورنگ (2018))، اور مندرجہ ذیل مشاہدہ کیا:

  • تربیت کا دورانیہ - ہمارے تجربے کے مطابق، XLM-R ماڈل کو p24xlarge پر ٹریننگ کرنے میں تقریباً 3.2 منٹ اور g30dn.xlarge پر 4 منٹ لگے (تقریباً 23% زیادہ)۔ ہم نے دو p3.16x بڑے واقعات پر تقسیم شدہ فائن ٹیوننگ بھی انجام دی، اور تربیت کا وقت گھٹ کر 10 منٹ رہ گیا۔ SageMaker پر ٹرانسفارمر پر مبنی ماڈل کی تقسیم شدہ تربیت کے بارے میں مزید معلومات کے لیے، ملاحظہ کریں۔ Amazon SageMaker پر Hugging Face Transformers کا استعمال کرتے ہوئے سوال جواب دینے والے ٹاسک کے لیے BERT بڑے ماڈل کی فائن ٹیوننگ تقسیم کی گئی۔.
  • تربیت کے اخراجات - ہم نے AWS Pricing API کا استعمال کرتے ہوئے SageMaker کو آن ڈیمانڈ قیمتیں حاصل کرنے کے لیے اس کا حساب کتاب کرنے کے لیے کیا۔ ہمارے تجربے کے مطابق، p1.58xlarge پر تربیت کی لاگت تقریباً $3.2، اور g4dn.xlarge ($0.37) پر تقریباً چار گنا کم ہے۔ 3.16 GPUs کا استعمال کرتے ہوئے دو p16x بڑے واقعات پر تقسیم شدہ تربیت کی لاگت $9.68 ہے۔

خلاصہ کرنے کے لیے، اگرچہ g4dn.xlarge سب سے کم مہنگی مشین تھی، لیکن اس نے سب سے زیادہ طاقتور مثال کی قسم (دو p3.16xlarge) کے مقابلے میں تربیت میں تقریباً تین گنا زیادہ وقت لیا۔ آپ کے پروجیکٹ کی ترجیحات پر منحصر ہے، آپ سیج میکر ٹریننگ مثال کی وسیع اقسام میں سے انتخاب کر سکتے ہیں۔

نتیجہ

اس پوسٹ میں، ہم نے درمیانی وسائل کی زبان (اس معاملے میں، ترکی) کے لیے سوالوں کے جواب دینے کے کام کے لیے پہلے سے تربیت یافتہ ٹرانسفارمر پر مبنی زبان کے ماڈلز کی تلاش کی۔ آپ ایک ماڈل کا استعمال کرتے ہوئے اس نقطہ نظر کو 100 سے زیادہ دوسری زبانوں میں لاگو کر سکتے ہیں۔ تحریر کے مطابق، دنیا کی تمام 7,000 زبانوں کا احاطہ کرنے کے لیے ایک ماڈل کو بڑھانا اب بھی ممنوع ہے، لیکن NLP کا میدان ہمارے افق کو وسیع کرنے کا موقع فراہم کرتا ہے۔

زبان انسانی رابطے کا بنیادی طریقہ ہے، اور اقدار کو بانٹنے اور ثقافتی ورثے کی خوبصورتی کو بانٹنے کا ایک ذریعہ ہے۔ لسانی تنوع بین الثقافتی مکالمے کو تقویت دیتا ہے اور جامع معاشروں کی تعمیر کرتا ہے۔

ایم ایل ایک انتہائی تکراری عمل ہے۔ ایک پروجیکٹ کے دوران، ڈیٹا سائنسدان زیادہ سے زیادہ درستگی کی تلاش میں سینکڑوں مختلف ماڈلز، ڈیٹا سیٹس اور پیرامیٹرز کو تربیت دیتے ہیں۔ SageMaker ML اور گہری سیکھنے کی طاقت کو بروئے کار لانے کے لیے ٹولز کا سب سے مکمل سیٹ پیش کرتا ہے۔ یہ آپ کو پیمانے پر ML تجربات کو منظم کرنے، ٹریک کرنے، موازنہ کرنے اور جانچنے دیتا ہے۔

Hugging Face کو SageMaker کے ساتھ مربوط کیا گیا ہے تاکہ ڈیٹا سائنسدانوں کو جدید ترین NLP ماڈلز کو زیادہ تیزی اور آسانی سے تیار کرنے، تربیت دینے اور ٹیون کرنے میں مدد ملے۔ ہم نے Amazon SageMaker پر Hugging Face Transformers کے استعمال کے کئی فوائد کا مظاہرہ کیا، جیسے کہ پیمانے پر تربیت اور تجربہ، اور پیداواری صلاحیت اور لاگت میں اضافہ۔

آپ NLP کاموں کے ساتھ اپنی ترجیحی زبان میں SageMaker میں تمام AWS خطوں میں تجربہ کر سکتے ہیں جہاں SageMaker دستیاب ہے۔ مثال کے طور پر نوٹ بک کوڈ دستیاب ہے۔ GitHub کے.

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

مصنفین ڈرافٹس کا جائزہ لینے اور مشورے فراہم کرنے پر ماریانو کیمپ اور ایملی ویبر کے لیے اپنی گہری تعریف کا اظہار کرنا چاہیں گے۔

حوالہ جات

  1. J. Devlin et al.، "BERT: زبان کی تفہیم کے لیے ڈیپ بائی ڈائریکشنل ٹرانسفارمرز کی پری ٹریننگ"، (2018)۔
  2. A. Vaswani et al.، "توجہ صرف آپ کی ضرورت ہے"، (2017)۔
  3. جے ہاورڈ اور ایس روڈر، "ٹیکسٹ کی درجہ بندی کے لیے یونیورسل لینگویج ماڈل فائن ٹیوننگ"، (2018)۔
  4. T. Pires et al.، "Multilingual BERT کتنا کثیر لسانی ہے؟"، (2019)۔
  5. Y. Liu et al.، "RoBERTa: A Robustly Optimized BERT پری ٹریننگ اپروچ"، (2019)۔
  6. G. Lample، اور A. Conneau، "Cross-lingual Language Model Pretraining"، (2019)۔
  7. A. Conneau et al.، "Supervised Cross-Lingual Representation Learning at Scale"، (2019)۔
  8. اسٹیفن شویٹر۔ BERTurk - ترکی کے لیے BERT ماڈلز (2020)۔
  9. کثیر لسانی وکی کے اعدادوشمار https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

مصنفین کے بارے میں

Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عیارناو کھرے AWS میں عالمی مالیاتی خدمات کے لیے پرنسپل سولیوشن آرکیٹیکٹ ہیں۔ اس کی بنیادی توجہ فنانشل سروسز انسٹی ٹیوشنز کو کلاؤڈ میں تجزیات اور مشین لرننگ ایپلی کیشنز بنانے اور ڈیزائن کرنے میں مدد کرنا ہے۔ ارناو نے ایڈنبرا یونیورسٹی سے آرٹیفیشل انٹیلی جنس میں ایم ایس سی کی ڈگری حاصل کی ہے اور اس کے پاس 18 سال کا صنعت کا تجربہ ہے جس کی بنیاد چھوٹے سٹارٹ اپ سے لے کر نوکیا اور بینک آف امریکہ جیسے بڑے اداروں تک ہے۔ کام سے باہر، ارناو کو اپنی دو بیٹیوں کے ساتھ وقت گزارنا، نئی آزاد کافی شاپس تلاش کرنا، پڑھنا اور سفر کرنا پسند ہے۔ آپ مجھے تلاش کر سکتے ہیں۔ لنکڈ اور حقیقی زندگی میں سرے، برطانیہ میں۔

Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عیحسن بصری اکرمک (کمپیوٹر انجینئرنگ میں بی ایس سی اور ایم ایس سی اور گریجویٹ اسکول آف بزنس میں ایگزیکٹو ایم بی اے) ایمیزون ویب سروسز میں ایک سینئر سولیوشن آرکیٹیکٹ ہیں۔ وہ ایک بزنس ٹیکنولوجسٹ ہے جو انٹرپرائز سیگمنٹ کلائنٹس کو مشورہ دیتا ہے۔ اس کی خصوصیت کا شعبہ بڑے پیمانے پر ڈیٹا پروسیسنگ سسٹمز اور مشین لرننگ سلوشنز پر فن تعمیرات اور کاروباری معاملات کو ڈیزائن کرنا ہے۔ حسن نے یورپ، مشرق وسطیٰ اور افریقہ میں کلائنٹس کے لیے بزنس ڈویلپمنٹ، سسٹمز انٹیگریشن، پروگرام مینجمنٹ فراہم کی ہے۔ 2016 سے اس نے سٹارٹ اپ انکیوبیشن پروگرام پرو بونو میں سینکڑوں کاروباریوں کی رہنمائی کی۔

Amazon SageMaker PlatoBlockchain Data Intelligence پر Hugging Face کے ساتھ لسانی تنوع کے لیے فائن ٹیون ٹرانسفارمر لینگویج ماڈل۔ عمودی تلاش۔ عیہیکو ہوٹز اے آئی اور مشین لرننگ کے سینئر سولیوشن آرکیٹیکٹ ہیں اور AWS کے اندر نیچرل لینگویج پروسیسنگ (NLP) کمیونٹی کی رہنمائی کرتے ہیں۔ اس کردار سے پہلے، وہ ایمیزون کی EU کسٹمر سروس کے ڈیٹا سائنس کے سربراہ تھے۔ Heiko ہمارے صارفین کو AWS پر ان کے AI/ML سفر میں کامیاب ہونے میں مدد کرتا ہے اور اس نے کئی صنعتوں میں تنظیموں کے ساتھ کام کیا ہے، بشمول انشورنس، مالیاتی خدمات، میڈیا اور تفریح، صحت کی دیکھ بھال، یوٹیلٹیز، اور مینوفیکچرنگ۔ اپنے فارغ وقت میں ہیکو زیادہ سے زیادہ سفر کرتا ہے۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ