اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker

ما يقرب من 7,000 لغة قيد الاستخدام اليوم. على الرغم من المحاولات في أواخر القرن التاسع عشر لابتكار لغات مبنية مثل Volapük أو Esperanto ، لا توجد علامة على التوحيد. لا يزال الناس يختارون إنشاء لغات جديدة (فكر في شخصية الفيلم المفضلة لديك التي تتحدث Klingon أو Dothraki أو Elvish).

اليوم ، تهيمن اللغة الإنجليزية على أمثلة معالجة اللغة الطبيعية (NLP) ، وهي اللغة الأم لـ 5٪ فقط من السكان ويتحدث بها 17٪ فقط.

الفجوة الرقمية يُعرَّف بأنه الفجوة بين أولئك الذين يمكنهم الوصول إلى التقنيات الرقمية وأولئك الذين لا يستطيعون. يساهم عدم الوصول إلى المعرفة أو التعليم بسبب حواجز اللغة أيضًا في الفجوة الرقمية ، ليس فقط بين الأشخاص الذين لا يتحدثون الإنجليزية ، ولكن أيضًا للأشخاص الناطقين باللغة الإنجليزية الذين لا يمكنهم الوصول إلى محتوى غير اللغة الإنجليزية ، والذي يقلل من تنوع الفكر والمعرفة. هناك الكثير لنتعلمه بشكل متبادل.

في هذا المنشور ، نلخص تحديات اللغات منخفضة الموارد ونجرب أساليب حل مختلفة تغطي أكثر من 100 لغة باستخدام محولات Hugging Face على Amazon SageMaker.

نقوم بضبط نماذج اللغة المختلفة القائمة على المحولات المدربة مسبقًا على السؤال ومهمة الإجابة. نستخدم التركية في مثالنا ، لكن يمكنك تطبيق هذا النهج على لغة أخرى مدعومة. ينصب تركيزنا على متغيرات بيرت [1], لأن الميزة الرائعة لـ BERT هي هيكلها الموحد عبر مهام مختلفة.

نعرض العديد من الفوائد لاستخدام محولات Hugging Face على الأمازون SageMaker، مثل التدريب والتجريب على نطاق واسع ، وزيادة الإنتاجية وفعالية التكلفة.

نظرة عامة على البرمجة اللغوية العصبية

كان هناك العديد من التطورات الرئيسية في البرمجة اللغوية العصبية منذ عام 2017. أدى ظهور بنيات التعلم العميق مثل المحولات [2] ، وتقنيات التعلم غير الخاضعة للإشراف لتدريب مثل هذه النماذج على مجموعات بيانات كبيرة للغاية ، ونقل التعلم إلى تحسن كبير في حالة- فن في فهم اللغة الطبيعية. أدى وصول المحاور النموذجية المدربة مسبقًا إلى إضفاء المزيد من الديمقراطية على الوصول إلى المعرفة الجماعية لمجتمع البرمجة اللغوية العصبية ، مما يلغي الحاجة إلى البدء من الصفر.

نموذج اللغة هو نموذج البرمجة اللغوية العصبية الذي يتعلم التنبؤ بالكلمة التالية (أو أي كلمة مقنعة) في تسلسل. إن الجمال الحقيقي لنماذج اللغة كنقطة بداية هو ثلاثة أضعاف: أولاً ، أظهرت الأبحاث أن النماذج اللغوية المدربة على بيانات مجموعة نصية كبيرة تتعلم معاني الكلمات أكثر تعقيدًا من الطرق السابقة. على سبيل المثال ، لتكون قادرًا على التنبؤ بالكلمة التالية في الجملة ، يجب أن يكون نموذج اللغة جيدًا في فهم السياق ، والدلالات ، وكذلك القواعد. ثانيًا ، لتدريب نموذج لغوي ، فإن البيانات المصنفة - وهي نادرة ومكلفة - ليست مطلوبة أثناء التدريب السابق. هذا مهم لأن كمية هائلة من البيانات النصية غير المسماة متاحة للجمهور على الويب بعدة لغات. ثالثًا ، لقد تم إثبات أنه بمجرد أن يصبح نموذج اللغة ذكيًا بدرجة كافية للتنبؤ بالكلمة التالية لأي جملة معينة ، فمن السهل نسبيًا أداء مهام البرمجة اللغوية العصبية الأخرى مثل تحليل المشاعر أو الإجابة على الأسئلة باستخدام القليل جدًا من البيانات المصنفة ، لأن الضبط الدقيق يعيد الاستخدام تمثيلات من نموذج لغوي مدرب مسبقًا [3].

كما أدت خدمات البرمجة اللغوية العصبية المدارة بالكامل إلى تسريع اعتماد البرمجة اللغوية العصبية. فهم الأمازون هي خدمة مُدارة بالكامل تتيح تحليلات النص لاستخراج الرؤى من محتوى المستندات ، كما أنها تدعم مجموعة متنوعة من اللغات. تدعم Amazon Comprehend التصنيف المخصص والتعرف على الكيانات المخصصة وتمكنك من إنشاء نماذج NLP مخصصة خاصة بمتطلباتك ، دون الحاجة إلى أي خبرة في تعلم الآلة.

التحديات والحلول للغات قليلة الموارد

يتمثل التحدي الرئيسي لعدد كبير من اللغات في توفر بيانات أقل نسبيًا للتدريب. تسمى هذه لغات منخفضة الموارد. تشير ورقة m-BERT [4] وورقة XLM-R [7] إلى الأردية والسواحيلية كلغات منخفضة الموارد.

يحدد الشكل التالي رموز ISO لما يزيد عن 80 لغة ، والاختلاف في الحجم (في مقياس اللوغاريتمات) بين التدريبات الرئيسية قبل التدريب [7]. في ويكيبيديا (باللون البرتقالي) ، هناك 18 لغة فقط بها أكثر من مليون مقال و 1 لغة مع أكثر من 52 مقال ، ولكن 1,000 لغة مع 164-1 مقالة فقط [10,000]. تزيد مجموعة CommonCrawl (الزرقاء) من كمية البيانات للغات منخفضة الموارد بمقدار أمرين من حيث الحجم. ومع ذلك ، فهي لا تزال صغيرة نسبيًا مقارنة باللغات عالية الموارد مثل الإنجليزية أو الروسية أو الألمانية.

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

من حيث أرقام مقالات ويكيبيديا ، اللغة التركية هي لغة أخرى في نفس المجموعة التي تضم أكثر من 100,000 مقال (28) ، جنبًا إلى جنب مع الأردية (المرتبة 54). بالمقارنة مع الأردية ، تعتبر اللغة التركية لغة متوسطة الموارد. تتميز اللغة التركية ببعض الخصائص المثيرة للاهتمام ، والتي يمكن أن تجعل النماذج اللغوية أكثر قوة من خلال خلق تحديات معينة في علم اللغة والترميز. إنها لغة تراصية. إنه يحتوي على ترتيب كلمات مجاني للغاية ، أو شكل معقد ، أو يتوتر بدون معادلات اللغة الإنجليزية. يمكن التعبير عن العبارات المكونة من عدة كلمات في لغات مثل اللغة الإنجليزية في شكل كلمة واحدة ، كما هو موضح في المثال التالي.

تركي انجليزي
قط قط
قطقرأ قطs
قطجيلقرأ عائلة القطط
الماكرونيوم تابعة ل عائلة القطط
قطleştirebileceklerimizdenmişçesineyken عندما يبدو أن هذا هو الشخص الذي يمكننا صنعه قط

طريقتان رئيسيتان للحل هما نماذج خاصة باللغة أو نماذج متعددة اللغات (مع أو بدون إشراف عبر اللغات):

  • نماذج لغة أحادية - الأسلوب الأول هو تطبيق متغير BERT على لغة هدف محددة. كلما زادت بيانات التدريب ، كان أداء النموذج أفضل.
  • نماذج لغات مقنعة متعددة اللغات - الأسلوب الآخر هو تدريب نماذج المحولات الكبيرة مسبقًا على العديد من اللغات. تهدف النمذجة اللغوية متعددة اللغات إلى حل مشكلة نقص البيانات للغات منخفضة الموارد من خلال التدريب المسبق على عدد كبير من اللغات بحيث يمكن نقل مهام البرمجة اللغوية العصبية التي تم تعلمها من لغة واحدة إلى لغات أخرى. دفعت نماذج اللغات المقنعة متعددة اللغات (MLMs) إلى أحدث ما توصلت إليه مهام فهم اللغات. مثالان هما:
    • متعدد اللغات BERT - تم تدريب نموذج BERT متعدد اللغات في 104 لغة مختلفة باستخدام مجموعة ويكيبيديا. ومع ذلك ، فقد ثبت أنه لا يُعمم جيدًا إلا عبر الهياكل اللغوية والميزات النمطية المتشابهة (على سبيل المثال ، اللغات التي لها ترتيب كلمات مشابه). تعدد اللغات يتضاءل خاصة بالنسبة للغات ذات ترتيب الكلمات المختلفة (على سبيل المثال ، الموضوع / الكائن / الفعل) [4].
    • XLM-R - يتم تدريب نماذج اللغة عبر اللغات (XLM) بهدف متعدد اللغات باستخدام مجموعات بيانات متوازية (نفس النص بلغتين مختلفتين) أو بدون هدف متعدد اللغات باستخدام مجموعات بيانات أحادية اللغة [6]. تظهر الأبحاث أن اللغات منخفضة الموارد تستفيد من التوسع إلى المزيد من اللغات. XLM-RoBERTa هو نموذج قائم على المحولات مستوحى من RoBERTa [5] ، ونقطة انطلاقه هي اقتراح أن BERT متعدد اللغات و XLM غير مضبوطين بشكل كافٍ. تم تدريبه على 100 لغة باستخدام كل من Wikipedia و CommonCrawl corpus ، وبالتالي فإن مقدار بيانات التدريب للغات منخفضة الموارد أكبر بحوالي مرتين من حيث الحجم مقارنة بـ m-BERT [7].

التحدي الآخر لنماذج اللغات متعددة اللغات للغات منخفضة الموارد هو حجم المفردات والترميز. نظرًا لأن جميع اللغات تستخدم نفس المفردات المشتركة في نماذج اللغات متعددة اللغات ، فهناك مفاضلة بين زيادة حجم المفردات (مما يزيد من متطلبات الحساب) مقابل تقليلها (سيتم تمييز الكلمات غير الموجودة في المفردات على أنها غير معروفة أو باستخدام أحرف بدلاً من الكلمات لأن الرموز المميزة ستتجاهل أي بنية). تجمع خوارزمية رمز القطعة المكونة من كلمة بين فوائد كلا النهجين. على سبيل المثال ، يتعامل بشكل فعال مع الكلمات خارج المفردات عن طريق تقسيم الكلمة إلى كلمات فرعية حتى تكون موجودة في المفردات أو حتى يتم الوصول إلى الشخصية الفردية. الترميز المستند إلى الأحرف ليس مفيدًا جدًا باستثناء بعض اللغات ، مثل الصينية. توجد تقنيات لمواجهة التحديات للغات منخفضة الموارد ، مثل أخذ العينات مع توزيعات معينة [6].

يوضح الجدول التالي كيف تتصرف ثلاثة رموز مختلفة لكلمة "kedileri" (بمعنى "قططها"). بالنسبة لبعض اللغات ومهام البرمجة اللغوية العصبية ، قد يحدث هذا فرقًا. على سبيل المثال ، بالنسبة لمهمة الإجابة على الأسئلة ، يقوم النموذج بإرجاع مدى فهرس رمز البداية وفهرس رمز النهاية ؛ قد تفقد "kediler" ("cats") أو "kedileri" ("لها cats") بعض السياق وتؤدي إلى نتائج تقييم مختلفة لمقاييس معينة.

نموذج مسبق حجم المفردات ترميز "Kedileri" *
dbmdz / بيرت-قاعدة-تركية-غير مسجلة 32,000 الرموز [CLS] القطط ##أنا [سبتمبر]
معرفات الإدخال 2 23714 1023 3
بيرت-قاعدة-متعدد اللغات-غير محدد 105,879 الرموز [CLS] الطبوع ## iler ##أنا [سبتمبر]
معرفات الإدخال 101 30210 33719 10116 102
Deepset / xlm-roberta-base-squad2 250,002 الرموز كه di الصورة
معرفات الإدخال 0 1345 428 1341 .
* باللغة الإنجليزية: قطط

لذلك ، على الرغم من أن اللغات منخفضة الموارد تستفيد من نماذج اللغات متعددة اللغات ، فإن أداء الترميز عبر المفردات المشتركة قد يتجاهل بعض الميزات اللغوية للغات معينة.

في القسم التالي ، نقارن ثلاث طرق من خلال ضبطها لمهمة الإجابة على الأسئلة باستخدام مجموعة بيانات QA للتركية: BERTurk [8] و BERT متعدد اللغات [4] و XLM-R [7].

حل نظرة عامة

سير العمل لدينا هو كما يلي:

  1. قم بإعداد مجموعة البيانات في ملف أمازون ساجميكر ستوديو بيئة دفتر الملاحظات وتحميله إلى خدمة تخزين أمازون البسيطة (أمازون S3).
  2. قم بتشغيل وظائف تدريبية موازية على حاويات التعلم العميق من SageMaker من خلال توفير البرنامج النصي للضبط الدقيق.
  3. جمع البيانات الوصفية من كل تجربة.
  4. قارن النتائج وحدد النموذج الأنسب.

يوضح الرسم البياني التالي بنية الحل.

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

لمزيد من المعلومات حول أجهزة كمبيوتر Studio المحمولة ، يرجى الرجوع إلى تعمق في بنية Amazon SageMaker Studio Notebooks. لمزيد من المعلومات حول كيفية دمج Hugging Face مع SageMaker ، يرجى الرجوع إلى تتعاون AWS و Hugging Face لتبسيط وتسريع اعتماد نماذج معالجة اللغة الطبيعية.

جهز مجموعة البيانات

توفر مكتبة مجموعات بيانات Hugging Face طرقًا قوية لمعالجة البيانات للحصول بسرعة على مجموعة بيانات جاهزة للتدريب في نموذج التعلم العميق. يُحمِّل الكود التالي مجموعة بيانات ضمان الجودة التركية ويستكشف ما بداخله:

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 عينة.

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

يتم تحويل مجموعة بيانات الإدخال قليلاً إلى تنسيق متوقع بواسطة النماذج المدربة مسبقًا وتحتوي على الأعمدة التالية:

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

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
الترجمة الإنجليزية للمخرجات هي كما يلي:

  • سياق الكلام - Resit Emre Kongar (مواليد 13 أكتوبر 1941 ، اسطنبول) ، عالم اجتماع تركي ، أستاذ.
  • سؤال - ما هو اللقب الأكاديمي لأمير كونغار؟
  • إجابة - أستاذ

صقل النص

توفر مكتبة Hugging Face Transformers مثالاً على كود لضبط نموذج لمهمة الإجابة على السؤال ، تسمى 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, )

دعونا نراجع اللبنات الأساسية على مستوى عالٍ.

Tokenizer

يقوم البرنامج النصي بتحميل رمز مميز باستخدام امتداد 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()

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

الموديل

يقوم البرنامج النصي بتحميل نموذج. 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() أساليب المعالجة المسبقة لمجموعة بيانات التدريب ومجموعات بيانات التحقق من الصحة ، على التوالي. يتكرر الرمز عبر مجموعة بيانات الإدخال ويبني تسلسلاً من السياق والسؤال الحالي ، باستخدام معرفات نوع الرمز المميز الخاصة بالطراز الصحيح (التمثيلات الرقمية للرموز) وأقنعة الانتباه. ثم يتم تمرير التسلسل من خلال النموذج. ينتج عن ذلك مجموعة من الدرجات ، لكل من مواضع البداية والنهاية ، كما هو موضح في الجدول التالي.

إدخال حقول مجموعة البيانات حقول مجموعة بيانات التدريب المجهزة مسبقًا لـ QuestionAnsweringTrainer
id المدخلات
لقب قناع_الاهتمام
سياق الكلام بداية_مواضع
سؤال نهايات
الإجابات {answer_start، answer_text} .

التقييم

compute_metrics() طريقة تهتم بحساب المقاييس. نستخدم المقاييس الشائعة التالية لمهام الإجابة على الأسئلة:

  • تطابق تام - يقيس النسبة المئوية للتنبؤات التي تتطابق تمامًا مع أي من إجابات الحقيقة الأساسية.
  • نتيجة F1 - يقيس متوسط ​​التداخل بين التنبؤ وإجابة الحقيقة الأساسية. درجة F1 هي المتوسط ​​التوافقي للدقة والاستدعاء:
    • دقة - نسبة عدد الكلمات المشتركة إلى العدد الإجمالي للكلمات في التنبؤ.
    • تذكر - نسبة عدد الكلمات المشتركة إلى العدد الإجمالي للكلمات في الحقيقة على أرض الواقع.

تدريب مُدار على SageMaker

يمكن أن يكون إعداد وإدارة بيئات التعلم الآلي المخصصة (ML) مستهلكًا للوقت ومرهقًا. مع حاوية التعلم العميق من AWS (DLC) لمكتبات 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, )

قيم النتائج

عندما تكتمل وظائف الضبط الدقيق لمهمة الإجابة على السؤال التركي ، نقارن أداء النموذج للطرق الثلاثة:

  • نموذج أحادي اللغة - يتم استدعاء النموذج المدرب مسبقًا الذي تم ضبطه بدقة على نص الإجابة على السؤال التركي بيرت-قاعدة-تركية-غير مغطاة [8]. يحقق F1 درجة 75.63 ودرجة مطابقة تامة 56.17 في فترتين فقط ومع 9,000 عنصر معنون. ومع ذلك ، فإن هذا النهج غير مناسب للغة منخفضة الموارد في حالة عدم وجود نموذج لغوي مدرب مسبقًا ، أو وجود القليل من البيانات المتاحة للتدريب من البداية.
  • نموذج متعدد اللغات مع BERT متعدد اللغات - يسمى النموذج المدرب مسبقًا بيرت-قاعدة-متعدد اللغات-غير محدد. أظهرت ورقة 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).

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

لا تأخذ مقارنتنا في الاعتبار الاختلافات الأخرى بين النماذج مثل سعة النموذج ، أو مجموعات بيانات التدريب المستخدمة ، أو مهام البرمجة اللغوية العصبية المدربة مسبقًا ، أو حجم المفردات ، أو الترميز.

تجارب إضافية

يحتوي دفتر الملاحظات المقدم على أمثلة تجارب إضافية.

يوفر SageMaker مجموعة واسعة من أنواع مثيلات التدريب. قمنا بضبط نموذج XLM-R بدقة على p3.2xlarge (GPU: Nvidia V100 GPU ، GPU architecture: Volta (2017)) ، p3.16xlarge (GPU: 8 Nvidia V100 GPUs) ، و g4dn.xlarge (GPU: Nvidia T4 GPU ، GPU architecture: Turing (2018)) ، ولاحظ ما يلي:

  • مدة التدريب - وفقًا لتجربتنا ، استغرق نموذج XLM-R حوالي 24 دقيقة للتدريب على p3.2xlarge و 30 دقيقة على g4dn.xlarge (حوالي 23٪ أطول). قمنا أيضًا بإجراء الضبط الدقيق الموزع على حالتين من p3.16xlarge ، وانخفض وقت التدريب إلى 10 دقائق. لمزيد من المعلومات حول التدريب الموزع لنموذج قائم على المحولات على SageMaker ، راجع الضبط الدقيق الموزع لنموذج BERT الكبير لمهمة الإجابة على الأسئلة باستخدام محولات تعانق الوجه على Amazon SageMaker.
  • تكاليف التدريب - استخدمنا AWS Pricing API لجلب أسعار SageMaker عند الطلب لحسابها سريعًا. وفقًا لتجربتنا ، تكلف التدريب حوالي 1.58 دولارًا على p3.2xlarge وحوالي أربع مرات أقل على g4dn.xlarge (0.37 دولارًا). التدريب الموزع على مثلين p3.16xlarge باستخدام 16 وحدة معالجة رسومات بتكلفة 9.68 دولار.

للتلخيص ، على الرغم من أن g4dn.xlarge كان الجهاز الأقل تكلفة ، فقد استغرق تدريبه أيضًا وقتًا أطول بثلاث مرات من أقوى نوع مثيل جربناه (اثنان p3.16xlarge). بناءً على أولويات مشروعك ، يمكنك الاختيار من بين مجموعة متنوعة من أنواع مثيلات تدريب SageMaker.

وفي الختام

في هذا المنشور ، استكشفنا ضبط نماذج اللغة المعتمدة على المحولات المدربة مسبقًا لمهمة الإجابة على الأسئلة للغة متوسطة الموارد (في هذه الحالة ، التركية). يمكنك تطبيق هذا الأسلوب على أكثر من 100 لغة أخرى باستخدام نموذج واحد. حتى وقت كتابة هذا التقرير ، لا يزال توسيع نطاق النموذج ليشمل جميع لغات العالم البالغ عددها 7,000 لغة أمرًا محظورًا ، لكن مجال البرمجة اللغوية العصبية يوفر فرصة لتوسيع آفاقنا.

اللغة هي الطريقة الأساسية للتواصل البشري ، وهي وسيلة لتوصيل القيم ومشاركة جمال التراث الثقافي. يعزز التنوع اللغوي الحوار بين الثقافات ويبني مجتمعات شاملة.

ML هي عملية تكرارية للغاية ؛ على مدار مشروع واحد ، يقوم علماء البيانات بتدريب مئات النماذج ومجموعات البيانات والمعلمات المختلفة بحثًا عن أقصى درجات الدقة. يقدم SageMaker مجموعة كاملة من الأدوات لتسخير قوة ML والتعلم العميق. يتيح لك تنظيم تجارب تعلم الآلة وتتبعها ومقارنتها وتقييمها على نطاق واسع.

تم دمج Hugging Face مع SageMaker لمساعدة علماء البيانات على تطوير وتدريب وضبط أحدث نماذج البرمجة اللغوية العصبية بشكل أسرع وأسهل. أظهرنا العديد من الفوائد لاستخدام محولات Hugging Face على Amazon SageMaker ، مثل التدريب والتجريب على نطاق واسع ، وزيادة الإنتاجية وفعالية التكلفة.

يمكنك تجربة مهام البرمجة اللغوية العصبية على لغتك المفضلة في SageMaker في جميع مناطق AWS حيث يتوفر SageMaker. يتوفر مثال كود الكمبيوتر الدفتري بتنسيق GitHub جيثب:.

لمعرفة كيف يمكن لمجمع تدريب Amazon SageMaker تسريع تدريب نماذج التعلم العميق بنسبة تصل إلى 50٪ ، راجع جديد - تقديم مترجم التدريب SageMaker.

يود المؤلفون التعبير عن تقديرهم العميق لماريانو كامب وإميلي ويبر لمراجعة المسودات وتقديم المشورة.

مراجع حسابات

  1. J. Devlin et al. ، "BERT: التدريب المسبق للمحولات ثنائية الاتجاه العميقة لفهم اللغة" ، (2018).
  2. ألف فاسواني وآخرون ، "الاهتمام هو كل ما تحتاجه" ، (2017).
  3. هوارد وس. رودر ، "الضبط الدقيق لنموذج اللغة العالمي لتصنيف النص" ، (2018).
  4. T. Pires et al. ، "ما مدى تعدد اللغات في Multilingual BERT؟" ، (2019).
  5. Y. Liu وآخرون ، "RoBERTa: أسلوب تدريب ما قبل بيرت محسن بشكل قوي" ، (2019).
  6. Lample ، و A. Conneau ، "التدريب المسبق لنموذج اللغة عبر اللغات" ، (2019).
  7. كونو وآخرون ، "التعلم غير الخاضع للإشراف للتمثيل عبر اللغات على نطاق واسع" ، (2019).
  8. ستيفان شويتر. موديلات بيرتورك - بيرت التركية (2020).
  9. إحصائيات ويكي متعددة اللغات https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

حول المؤلف

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.ارناف خير هو مهندس حلول رئيسي للخدمات المالية العالمية في AWS. ينصب تركيزه الأساسي على مساعدة مؤسسات الخدمات المالية في بناء وتصميم تطبيقات التحليلات والتعلم الآلي في السحابة. أرناف حاصل على درجة الماجستير في الذكاء الاصطناعي من جامعة إدنبرة ولديه 18 عامًا من الخبرة في الصناعة تتراوح من الشركات الناشئة الصغيرة التي أسسها إلى الشركات الكبيرة مثل Nokia و Bank of America. خارج العمل ، يحب أرناف قضاء الوقت مع ابنتيه ، وإيجاد مقاهي مستقلة جديدة ، والقراءة والسفر. يمكنك أن تجدني على لينكدين: وفي ساري بالمملكة المتحدة في الحياة الواقعية.

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.حسن البصري أكيرماك (بكالوريوس وماجستير في هندسة الكمبيوتر وماجستير في إدارة الأعمال التنفيذية في كلية الدراسات العليا للأعمال) هو مهندس حلول أول في Amazon Web Services. وهو تقني أعمال يقدم المشورة لعملاء قطاع المؤسسات. مجال تخصصه هو تصميم البنيات وحالات العمل على أنظمة معالجة البيانات واسعة النطاق وحلول التعلم الآلي. قدم حسن تطوير الأعمال وتكامل الأنظمة وإدارة البرامج للعملاء في أوروبا والشرق الأوسط وأفريقيا. منذ عام 2016 ، قام بتوجيه مئات من رواد الأعمال في برامج احتضان الشركات الناشئة دون مقابل.

اضبط نماذج لغة المحولات بدقة من أجل التنوع اللغوي باستخدام Hugging Face على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.هيكو هوتز هو مهندس حلول أول للذكاء الاصطناعي والتعلم الآلي ويقود مجتمع معالجة اللغات الطبيعية (NLP) داخل AWS. قبل هذا المنصب ، كان رئيسًا لعلوم البيانات لخدمة عملاء أمازون في الاتحاد الأوروبي. تساعد Heiko عملاءنا على تحقيق النجاح في رحلة الذكاء الاصطناعي / التعلم الآلي الخاصة بهم على AWS وعملت مع مؤسسات في العديد من الصناعات ، بما في ذلك التأمين والخدمات المالية والإعلام والترفيه والرعاية الصحية والمرافق والتصنيع. يسافر هيكو قدر الإمكان في أوقات فراغه.

الطابع الزمني:

اكثر من التعلم الآلي من AWS