مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با چهره در آغوش گرفته در Amazon SageMaker تنظیم کنید

امروزه تقریباً 7,000 زبان در حال استفاده هستند. علیرغم تلاش‌هایی که در اواخر قرن نوزدهم برای ابداع زبان‌های ساخته‌شده مانند ولاپوک یا اسپرانتو انجام شد، هیچ نشانه‌ای از وحدت وجود ندارد. مردم همچنان انتخاب می‌کنند که زبان‌های جدیدی ایجاد کنند (به شخصیت فیلم مورد علاقه‌تان فکر کنید که به زبان کلینگونی، دوتراکی یا الویشی صحبت می‌کند).

امروزه، نمونه های پردازش زبان طبیعی (NLP) تحت سلطه زبان انگلیسی است، زبان مادری تنها برای 5٪ از جمعیت انسان و تنها توسط 17٪ صحبت می شود.

La تقسیم دیجیتال به عنوان شکاف بین کسانی که می توانند به فناوری های دیجیتال دسترسی داشته باشند و کسانی که نمی توانند به آن دسترسی پیدا کنند، تعریف می شود. عدم دسترسی به دانش یا آموزش به دلیل موانع زبانی نیز به شکاف دیجیتالی کمک می کند، نه تنها بین افرادی که انگلیسی صحبت نمی کنند، بلکه برای افراد انگلیسی زبانی که به محتوای غیر انگلیسی دسترسی ندارند نیز کمک می کند. تنوع اندیشه و دانش را کاهش می دهد. چیزهای زیادی برای یادگیری متقابل وجود دارد.

در این پست، چالش‌های زبان‌های کم‌منبع را خلاصه می‌کنیم و با رویکردهای راه‌حل متفاوتی که بیش از 100 زبان را با استفاده از ترانسفورماتور Hugging Face در Amazon SageMaker پوشش می‌دهند، آزمایش می‌کنیم.

ما مدل های مختلف زبان مبتنی بر ترانسفورماتور از قبل آموزش دیده را برای یک کار پرسش و پاسخ تنظیم می کنیم. ما در مثال خود از ترکی استفاده می کنیم، اما شما می توانید این رویکرد را در سایر زبان های پشتیبانی شده اعمال کنید. تمرکز ما بر روی انواع BERT [1] است, زیرا یک ویژگی عالی BERT معماری یکپارچه آن در وظایف مختلف است.

ما چندین مزیت استفاده از ترانسفورماتور Hugging Face را نشان می دهیم آمازون SageMakerمانند آموزش و آزمایش در مقیاس و افزایش بهره وری و کارایی هزینه.

مروری بر NLP

از سال 2017 چندین پیشرفت عمده در NLP وجود داشته است. ظهور معماری های یادگیری عمیق مانند ترانسفورماتورها [2]، تکنیک های یادگیری بدون نظارت برای آموزش چنین مدل هایی بر روی مجموعه داده های بسیار بزرگ، و یادگیری انتقال به طور قابل توجهی وضعیت را بهبود بخشیده است. هنر در درک زبان طبیعی ورود مراکز مدل از پیش آموزش دیده دسترسی به دانش جمعی جامعه NLP را دموکراتیزه کرده است و نیاز به شروع از صفر را از بین برده است.

مدل زبان یک مدل NLP است که یاد می‌گیرد کلمه بعدی (یا هر کلمه پوشیده شده) را در یک دنباله پیش‌بینی کند. زیبایی واقعی مدل‌های زبان به‌عنوان نقطه شروع، سه جنبه دارد: اول، تحقیقات نشان داده است که مدل‌های زبانی که بر روی داده‌های مجموعه متنی بزرگ آموزش داده شده‌اند، معانی پیچیده‌تری از کلمات را نسبت به روش‌های قبلی یاد می‌گیرند. به عنوان مثال، برای اینکه بتوان کلمه بعدی را در یک جمله پیش بینی کرد، مدل زبان باید در درک زمینه، معناشناسی و همچنین گرامر خوب باشد. دوم، برای آموزش یک مدل زبان، داده‌های برچسب‌گذاری شده - که کمیاب و گران هستند - در طول آموزش لازم نیست. این مهم است زیرا حجم عظیمی از داده‌های متنی بدون برچسب در وب به زبان‌های مختلف در دسترس عموم است. سوم، نشان داده شده است که هنگامی که مدل زبان به اندازه کافی هوشمند باشد تا کلمه بعدی را برای هر جمله ای پیش بینی کند، انجام سایر وظایف NLP مانند تجزیه و تحلیل احساسات یا پاسخ به سؤال با داده های برچسب گذاری شده بسیار کمی نسبتاً آسان است، زیرا تنظیم دقیق استفاده مجدد را انجام می دهد. بازنمایی از یک مدل زبان از پیش آموزش دیده [3].

خدمات NLP کاملاً مدیریت شده نیز پذیرش NLP را تسریع کرده است. درک آمازون یک سرویس کاملاً مدیریت شده است که تجزیه و تحلیل متن را قادر می سازد تا بینش را از محتوای اسناد استخراج کند و از زبان های مختلف پشتیبانی می کند. Amazon Comprehend از طبقه بندی سفارشی و شناسایی موجودیت سفارشی پشتیبانی می کند و شما را قادر می سازد تا مدل های NLP سفارشی را که مخصوص نیازهای شما هستند، بدون نیاز به تخصص ML بسازید.

چالش ها و راه حل ها برای زبان های کم منبع

چالش اصلی برای تعداد زیادی از زبان ها این است که داده های نسبتاً کمتری برای آموزش در دسترس دارند. اینها نامیده می شوند زبان های کم منبع. مقاله m-BERT [4] و مقاله XLM-R [7] به اردو و سواحیلی به عنوان زبان های کم منبع اشاره می کند.

شکل زیر کدهای ISO بیش از 80 زبان و تفاوت در اندازه (در مقیاس ورود) را بین دو دوره اصلی پیش‌آموزشی مشخص می‌کند [7]. در ویکی پدیا (نارنجی)، تنها 18 زبان با بیش از 1 میلیون مقاله و 52 زبان با بیش از 1,000 مقاله، اما 164 زبان با تنها 1-10,000 مقاله وجود دارد [9]. پیکره CommonCrawl (آبی) مقدار داده‌ها را برای زبان‌های کم منبع به میزان دو مرتبه افزایش می‌دهد. با این وجود، در مقایسه با زبان‌های با منابع بالا مانند انگلیسی، روسی یا آلمانی هنوز نسبتاً کوچک هستند.

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.

از نظر تعداد مقاله‌های ویکی‌پدیا، ترکی زبان دیگری در همان گروه بیش از 100,000 مقاله (بیست و هشتم)، همراه با اردو (28) است. در مقایسه با اردو، ترکی به عنوان یک زبان با منبع متوسط ​​در نظر گرفته می شود. زبان ترکی دارای ویژگی های جالبی است که می تواند با ایجاد چالش های خاص در زبان شناسی و نشانه سازی، مدل های زبان را قدرتمندتر کند. این یک زبان چسبنده است. دارای ترتیب کلمات بسیار آزاد، مورفولوژی پیچیده، یا زمان های بدون معادل انگلیسی است. عباراتی که از چندین کلمه در زبان‌هایی مانند انگلیسی تشکیل شده‌اند را می‌توان با یک شکل کلمه بیان کرد، همانطور که در مثال زیر نشان داده شده است.

ترکی انگلیسی
گربه گربه
گربهلر گربهs
گربهگیللر خانواده از گربه ها
کدیگیلرروز متعلق به خانواده گربه ها
گربهleştirebileceklerimizdenmişçesineyken وقتی به نظر می رسد که یکی از آنهایی است که می توانیم بسازیم گربه

دو رویکرد راه‌حل اصلی، مدل‌های خاص زبان یا مدل‌های چند زبانه (با یا بدون نظارت بین زبانی) هستند:

  • مدل های زبان تک زبانه - اولین رویکرد، اعمال یک نوع BERT برای یک زبان مقصد خاص است. هر چه داده های آموزشی بیشتر باشد، عملکرد مدل بهتر است.
  • مدل‌های زبان ماسک‌دار چند زبانه - رویکرد دیگر این است که مدل‌های ترانسفورماتور بزرگ را از قبل آموزش دهیم در بسیاری از زبان‌ها. هدف مدل‌سازی زبان چندزبانه حل فقدان چالش داده‌ها برای زبان‌های کم منبع با پیش‌آموزش تعداد زیادی زبان است تا وظایف NLP آموخته‌شده از یک زبان به زبان‌های دیگر منتقل شود. مدل‌های زبان ماسک‌دار چندزبانه (MLM) پیشرفت‌های پیشرفته‌ای را در وظایف درک متقابل زبانی ایجاد کرده‌اند. دو نمونه عبارتند از:
    • BERT چند زبانه – مدل چند زبانه BERT با استفاده از مجموعه ویکی پدیا به 104 زبان مختلف آموزش داده شد. با این حال، نشان داده شده است که فقط در ساختارهای زبانی مشابه و ویژگی‌های گونه‌شناختی به خوبی تعمیم می‌یابد (به عنوان مثال، زبان‌هایی با ترتیب کلمات مشابه). چند زبانه بودن آن به ویژه برای زبان هایی با ترتیب کلمات مختلف (مثلاً فاعل/مفعول/فعل) کاهش یافته است [4].
    • XLM-R - مدل‌های زبانی بین زبانی (XLMs) با هدف چندزبانی با استفاده از مجموعه داده‌های موازی (متن مشابه در دو زبان مختلف) یا بدون هدف چند زبانه با استفاده از مجموعه داده‌های تک زبانه آموزش داده می‌شوند [6]. تحقیقات نشان می‌دهد که زبان‌های کم منبع از مقیاس‌بندی به زبان‌های بیشتر سود می‌برند. XLM-RoBERTa یک مدل مبتنی بر ترانسفورماتور است که از RoBERTa [5] الهام گرفته شده است و نقطه شروع آن این است که BERT و XLM چند زبانه کمتر تنظیم شده اند. بر روی 100 زبان با استفاده از پیکره ویکی‌پدیا و CommonCrawl آموزش داده شده است، بنابراین مقدار داده‌های آموزشی برای زبان‌های کم منبع تقریباً دو مرتبه بزرگ‌تر از m-BERT است [7].

چالش دیگر مدل‌های زبانی چندزبانه برای زبان‌های کم منبع، اندازه واژگان و نشانه‌سازی است. از آنجایی که همه زبان‌ها از واژگان مشترک مشابهی در مدل‌های زبانی چندزبانه استفاده می‌کنند، بین افزایش اندازه واژگان (که نیازمندی‌های محاسباتی را افزایش می‌دهد) در مقابل کاهش آن (کلماتی که در واژگان موجود نیستند به‌عنوان ناشناخته علامت‌گذاری می‌شوند، یا استفاده از کاراکترها، تعادل وجود دارد. به جای کلمات به عنوان نشانه، هر ساختاری را نادیده می گیرد). الگوریتم نشانه‌سازی قطعه کلمه، مزایای هر دو روش را ترکیب می‌کند. به عنوان مثال، با تقسیم کلمه به زیرکلمه‌ها تا زمانی که در واژگان وجود داشته باشد یا تا زمانی که شخصیت فردی به آن برسد، به طور موثر کلمات خارج از واژگان را مدیریت می‌کند. توکن‌سازی مبتنی بر کاراکتر به جز برای زبان‌های خاصی مانند چینی چندان مفید نیست. تکنیک‌هایی برای رسیدگی به چالش‌های زبان‌های کم منبع، مانند نمونه‌گیری با توزیع‌های خاص، وجود دارد [6].

جدول زیر نحوه رفتار سه توکنایزر مختلف برای کلمه "kedileri" (به معنی "گربه های آن") را نشان می دهد. برای زبان های خاص و وظایف NLP، این تفاوت ایجاد می کند. به عنوان مثال، برای تکلیف پاسخگویی به سؤال، مدل دامنه شاخص نشانه شروع و شاخص نشانه پایان را برمی‌گرداند. بازگشت «kediler» («گربه‌ها») یا «kedileri» («گربه‌هایش») زمینه را از دست می‌دهد و منجر به نتایج ارزیابی متفاوتی برای معیارهای خاص می‌شود.

مدل از پیش آموزش دیده اندازه واژگان توکن سازی برای "Kedileri"*
dbmdz/bert-base-turkish-uncased 32,000 نشانه [CLS] گربه ها ##من [SEP]
شناسه های ورودی 2 23714 1023 3
برت-پایه-چندزبانه-بدون محفظه 105,879 نشانه [CLS] کد ##ایلر ##من [SEP]
شناسه های ورودی 101 30210 33719 10116 102
deepset/xlm-roberta-base-squad2 250,002 نشانه که di بازدید کنندگان
شناسه های ورودی 0 1345 428 1341 .
*به انگلیسی: (Its) cats

بنابراین، اگرچه زبان‌های کم منبع از مدل‌های زبانی چندزبانه بهره می‌برند، اما انجام توکن‌سازی در واژگان مشترک ممکن است برخی از ویژگی‌های زبانی را برای برخی از زبان‌ها نادیده بگیرد.

در بخش بعدی، سه رویکرد را با تنظیم دقیق آنها برای یک کار پاسخگویی به سؤال با استفاده از مجموعه داده QA برای ترکی مقایسه می کنیم: BERTurk [8]، BERT چند زبانه [4] و XLM-R [7].

بررسی اجمالی راه حل

گردش کار ما به شرح زیر است:

  1. مجموعه داده را در یک آماده کنید Amazon SageMaker Studio محیط نوت بوک و آپلود آن در سرویس ذخیره سازی ساده آمازون (Amazon S3).
  2. با ارائه اسکریپت تنظیم دقیق، مشاغل آموزشی موازی را در ظروف آموزش عمیق SageMaker راه اندازی کنید.
  3. از هر آزمایش ابرداده جمع آوری کنید.
  4. نتایج را مقایسه کنید و مناسب ترین مدل را شناسایی کنید.

نمودار زیر معماری راه حل را نشان می دهد.

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.

برای اطلاعات بیشتر در مورد نوت بوک های استودیو به ادامه مطلب مراجعه کنید در معماری نوت بوک های استودیو آمازون SageMaker غواصی کنید. برای کسب اطلاعات بیشتر در مورد نحوه ادغام Hugging Face با SageMaker، مراجعه کنید 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 نمونه وجود دارد.

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.

مجموعه داده ورودی اندکی به قالب مورد انتظار مدل های از پیش آموزش دیده تبدیل شده و شامل ستون های زیر است:

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

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.
ترجمه انگلیسی خروجی به شرح زیر است:

  • زمینه – رسیت امره کنگر (زادهٔ ۱۳ اکتبر ۱۹۴۱، استانبول)، جامعه‌شناس، استاد ترک.
  • سوال – عنوان علمی امره کنگر چیست؟
  • پاسخ - استاد

اسکریپت تنظیم دقیق

کتابخانه 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, )

بیایید بلوک های ساختمانی را در سطح بالایی بررسی کنیم.

توکنایزر

اسکریپت یک نشانه ساز را با استفاده از 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()

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.

مدل

اسکریپت یک مدل را بارگیری می کند. 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, )

پیش پردازش و آموزش

La prepare_train_features() و prepare_validation_features() روش ها به ترتیب مجموعه داده های آموزشی و اعتبار سنجی را پیش پردازش می کنند. کد روی مجموعه داده ورودی تکرار می‌شود و دنباله‌ای از متن و سؤال فعلی، با شناسه‌های نوع رمز خاص مدل (نمایش عددی نشانه‌ها) و ماسک‌های توجه ایجاد می‌کند. سپس دنباله از مدل عبور داده می شود. همانطور که در جدول زیر نشان داده شده است، طیفی از امتیازات برای هر دو موقعیت شروع و پایان به دست می آید.

فیلدهای مجموعه داده ورودی فیلدهای از پیش پردازش شده مجموعه داده های آموزشی برای QuestionAnsweringTrainer
id input_ids
عنوان توجه_ماسک
زمینه موقعیت های شروع
سوال موقعیت های پایانی
پاسخ‌ها { answer_start، answer_text } .

ارزیابی

La 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]. تنها در دو دوره و با 1 آیتم دارای برچسب، امتیاز F75.63 56.17 و امتیاز بازی دقیق 9,000 را به دست آورده است. با این حال، زمانی که یک مدل زبان از پیش آموزش دیده وجود نداشته باشد، یا داده های کمی برای آموزش از ابتدا وجود داشته باشد، این رویکرد برای یک زبان کم منبع مناسب نیست.
  • مدل زبان چند زبانه با BERT چند زبانه – مدل از پیش آموزش دیده نامیده می شود برت-پایه-چندزبانه-بدون محفظه. مقاله BERT چند زبانه [4] نشان داده است که به خوبی در بین زبان ها تعمیم می یابد. در مقایسه با مدل تک زبانه، عملکرد بدتری دارد (امتیاز F1 71.73، مطابقت دقیق 50:45)، اما توجه داشته باشید که این مدل بیش از 100 زبان دیگر را مدیریت می کند و فضای کمتری برای نمایش زبان ترکی باقی می گذارد.
  • مدل زبان چند زبانه با XLM-R – مدل از پیش آموزش دیده نامیده می شود xlm-roberta-base-squad2. مقاله XLM-R نشان می دهد که می توان یک مدل بزرگ برای بیش از 100 زبان بدون به خطر انداختن عملکرد هر زبان داشت [7]. برای پاسخگویی به سؤال ترکی، به ترتیب 1% و 5% از امتیازهای BERT چند زبانه و BERT تک زبانه F2 بهتر است (امتیاز F1 77.14، مطابقت دقیق 56.39).

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.

مقایسه ما تفاوت های دیگر بین مدل ها مانند ظرفیت مدل، مجموعه داده های آموزشی مورد استفاده، وظایف NLP از قبل آموزش دیده، اندازه واژگان یا توکن سازی را در نظر نمی گیرد.

آزمایشات اضافی

دفترچه یادداشت ارائه شده حاوی نمونه های آزمایشی اضافی است.

SageMaker طیف گسترده ای از انواع نمونه های آموزشی را ارائه می دهد. ما مدل XLM-R را روی p3.2xlarge (GPU: Nvidia V100 GPU، معماری GPU: Volta (2017))، p3.16xlarge (GPU: 8 GPU Nvidia V100) و g4dn.xlarge (GPU: Nvidia T4) تنظیم کردیم. GPU، معماری GPU: Turing (2018))، و موارد زیر را مشاهده کرد:

  • مدت زمان آموزش - طبق آزمایش ما، مدل XLM-R تقریباً 24 دقیقه برای تمرین در p3.2xlarge و 30 دقیقه در g4dn.xlarge (حدود 23٪ بیشتر) طول کشید. ما همچنین تنظیم دقیق توزیع شده را در دو نمونه p3.16xlarge انجام دادیم و زمان آموزش به 10 دقیقه کاهش یافت. برای کسب اطلاعات بیشتر در مورد آموزش توزیع شده مدل مبتنی بر ترانسفورماتور در SageMaker، مراجعه کنید تنظیم دقیق مدل BERT Large برای یک کار پرسش و پاسخ با استفاده از ترانسفورماتورهای صورت در آغوش گرفته در 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 زبان جهان هنوز هم بسیار دشوار است، اما حوزه NLP فرصتی برای گسترش افق های ما فراهم می کند.

زبان روش اصلی ارتباط انسانی است و وسیله ای برای انتقال ارزش ها و به اشتراک گذاشتن زیبایی های یک میراث فرهنگی است. تنوع زبانی گفت‌وگوی بین‌فرهنگی را تقویت می‌کند و جوامعی فراگیر می‌سازد.

ML یک فرآیند بسیار تکراری است. در طول یک پروژه واحد، دانشمندان داده صدها مدل، مجموعه داده‌ها و پارامترهای مختلف را در جستجوی حداکثر دقت آموزش می‌دهند. SageMaker کامل ترین مجموعه ابزارها را برای استفاده از قدرت ML و یادگیری عمیق ارائه می دهد. این به شما امکان می دهد آزمایش های ML را در مقیاس سازماندهی، پیگیری، مقایسه و ارزیابی کنید.

Hugging Face با SageMaker ادغام شده است تا به دانشمندان داده کمک کند تا مدل های پیشرفته NLP را سریعتر و آسان تر توسعه دهند، آموزش دهند و تنظیم کنند. ما چندین مزیت استفاده از ترانسفورماتور Hugging Face را در Amazon SageMaker نشان دادیم، مانند آموزش و آزمایش در مقیاس، و افزایش بهره وری و کارایی هزینه.

می‌توانید وظایف NLP را در زبان دلخواه خود در SageMaker در همه مناطق AWS که SageMaker در دسترس است آزمایش کنید. نمونه کد نوت بوک در دسترس است GitHub.

برای اطلاع از اینکه چگونه کامپایلر آموزش آمازون SageMaker می تواند آموزش مدل های یادگیری عمیق را تا 50% سرعت بخشد، نگاه کنید به جدید – معرفی کامپایلر آموزشی SageMaker.

نویسندگان مایلند عمیق ترین قدردانی خود را از ماریانو کمپ و امیلی وبر برای بررسی پیش نویس ها و ارائه مشاوره ابراز کنند.

منابع

  1. J. Devlin و همکاران، "BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding" (2018).
  2. A. Vaswani و همکاران، "توجه تنها چیزی است که شما نیاز دارید"، (2017).
  3. جی. هوارد و اس. رودر، "تنظیم دقیق مدل زبان جهانی برای طبقه بندی متن"، (2018).
  4. T. Pires و همکاران، "چقدر چند زبانه است BERT؟"، (2019).
  5. Y. Liu و همکاران، "RoBERTa: A Robustly Optimized BERT Pretraining Approach"، (2019).
  6. G. Lample و A. Conneau، "پیش آموزش مدل زبانی بین زبانی"، (2019).
  7. A. Conneau و همکاران، "آموزش بازنمایی بین زبانی بدون نظارت در مقیاس"، (2019).
  8. استفان شوتر. BERTurk – مدل های BERT برای ترکی (2020).
  9. آمار ویکی چند زبانه https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

درباره نویسنده

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.آرناو خاره یک معمار راه حل اصلی برای خدمات مالی جهانی در AWS است. تمرکز اصلی او کمک به مؤسسات خدمات مالی در ساخت و طراحی برنامه های کاربردی Analytics و یادگیری ماشین در فضای ابری است. آرناو دارای مدرک کارشناسی ارشد در هوش مصنوعی از دانشگاه ادینبورگ است و دارای 18 سال تجربه در صنعت است، از استارت آپ های کوچکی که او تاسیس کرده تا شرکت های بزرگی مانند نوکیا و بانک آمریکا. خارج از محل کار، آرناو دوست دارد با دو دخترش وقت بگذراند، کافی شاپ های مستقل جدید پیدا کند، مطالعه کند و سفر کند. می تونی منو پیدا کنی لینک و در ساری، انگلستان در زندگی واقعی.

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.حسن بصری آکیرمک (کارشناسی و کارشناسی ارشد در مهندسی کامپیوتر و MBA اجرایی در دانشکده تحصیلات تکمیلی کسب و کار) یک معمار ارشد راه حل در خدمات وب آمازون است. او یک تکنسین تجاری است که به مشتریان بخش سازمانی مشاوره می دهد. حوزه تخصصی او طراحی معماری و موارد تجاری در سیستم های پردازش داده در مقیاس بزرگ و راه حل های یادگیری ماشین است. حسن توسعه تجارت، یکپارچه سازی سیستم ها، مدیریت برنامه را برای مشتریان در اروپا، خاورمیانه و آفریقا ارائه کرده است. از سال 2016، او به صدها کارآفرین در برنامه‌های جوجه‌کشی استارت‌آپ pro-bono راهنمایی کرد.

مدل‌های زبان ترانسفورماتور را برای تنوع زبانی با Hagging Face در Amazon SageMaker PlatoBlockchain Data Intelligence تنظیم کنید. جستجوی عمودی Ai.هایکو هاتز یک معمار ارشد راه حل برای AI و یادگیری ماشین است و جامعه پردازش زبان طبیعی (NLP) را در AWS رهبری می کند. قبل از این سمت، او رئیس بخش علوم داده برای خدمات مشتریان اتحادیه اروپا آمازون بود. Heiko به مشتریان ما کمک می‌کند تا در سفر هوش مصنوعی/ML خود در AWS موفق باشند و با سازمان‌هایی در بسیاری از صنایع، از جمله بیمه، خدمات مالی، رسانه و سرگرمی، مراقبت‌های بهداشتی، خدمات شهری و تولید کار کرده است. هایکو در اوقات فراغت خود تا آنجا که ممکن است سفر می کند.

تمبر زمان:

بیشتر از آموزش ماشین AWS