انتقل إلى المحتوى

مصطلح في خيطين

التوازي في البياناتData Parallelism

المعنى في سطر

بتنسخ النموذج كله على كل جهاز وتوزّع البيانات بينها — بشرط إن النموذج يسع على جهاز واحد.

باختصار

التوازي في البيانات (Data Parallelism) طريقة لتوسيع التدريب أو الاستدلال، بتنسخ النموذج بالكامل على عدّة أجهزة، ثم تمرّر مجموعة جزئية من بيانات الإدخال لكل جهاز.

بالتفصيل

تخيّل عندك 8 كروت رسوميات. في التوازي في البيانات، كل كرت بياخد نسخة كاملة من النموذج، وبتتوزّع الدفعة عليهم: كل كرت بيعالج جزءًا من الأمثلة، وبعدين بتتجمّع النتائج.

الفايدة إن ده بيتيح التدريب والاستدلال على أحجام دفعات (Batch Sizes) كبيرة جدًا، وبيسرّع التدريب والاستدلال عادةً.

لكن فيه شرطًا قاطعًا: التوازي في البيانات بيتطلّب أن يكون النموذج صغيرًا بما يكفي ليسع على كل الأجهزة. لو النموذج نفسه أكبر من ذاكرة الجهاز الواحد، الطريقة دي مش هتنفع أصلًا.

وهنا بييجي البديل المكمّل: التوازي في النموذج (Model Parallelism)، اللي بيقسّم النموذج نفسه على الأجهزة بدل ما ينسخه.

وعمليًا، تدريب النماذج الكبيرة جدًا بيستخدم الاتنين معًا: النموذج مقسّم على مجموعة أجهزة، والمجموعة دي مكرّرة عدّة مرّات لتوزيع البيانات.

مثال عملي

بتضبط نموذجًا حجمه 7 مليارات معامل على 4 كروت، كل كرت ذاكرته 40 غيغابايت. النموذج بيسع على كرت واحد، فالتوازي في البيانات مناسب: 4 نسخ، وكل نسخة بتاخد ربع الدفعة، فالتدريب يقارب أربعة أضعاف السرعة.

لو حاولت نفس الشيء مع نموذج 400 مليار معامل، مش هيسع على كرت واحد — ولازم تلجأ للتوازي في النموذج.

مصطلحات مرتبطة

المصادر: Google ML Glossary