قبل ضبط نموذج لغوي بدقة على بياناتك، السؤال الأساسي هو: على أي GPU سيتسع؟ نشرح ما الذي يستهلك VRAM، والفرق بين LoRA وQLoRA والتدريب الكامل، واحتياجات الذاكرة التقريبية حسب حجم النموذج، وكيف تبقي التكاليف تحت السيطرة.
تتيح لك نماذج اللغة مفتوحة المصدر بناء مساعد أو مصنِّف أو مولّد نصوص خاص بشركتك عبر الضبط الدقيق (Fine-Tuning) على بياناتك. لكن قبل أن تبدأ، ثمة سؤال عملي يجب الإجابة عنه: على أي GPU سيتسع هذا التدريب؟
التقدير الخاطئ مكلف من ناحيتين. إن اخترت بطاقة بذاكرة غير كافية، يتوقف التدريب بخطأ "نفاد الذاكرة" (out of memory) وتضيع ساعات من العمل. وإن اخترت بطاقة أكبر من الحاجة، فإنك تدفع مقابل سعة لا تستخدمها.
نشرح في هذا المقال ما الذي يستهلك ذاكرة VRAM، وكيف تختلف أساليب LoRA وQLoRA والتدريب الكامل من حيث الذاكرة، وأي وحدات GPU تناسب تقريبًا كل حجم من أحجام النماذج.
ما الذي يستهلك VRAM أثناء التدريب؟
أثناء التدريب، تحتفظ ذاكرة GPU بما هو أكثر بكثير من أوزان النموذج. فالحاجة إلى الذاكرة هي مجموع عدة مكوّنات:
- أوزان النموذج: 2 بايت لكل معامل بدقة 16 بت (FP16 أو BF16). ومع التكميم إلى 4 بت، نحو 0.5 إلى 0.6 بايت لكل معامل.
- التدرّجات (Gradients): يُحتفَظ بتدرّج واحد لكل معامل يجري تدريبه. في التدريب الكامل، يعني ذلك ذاكرة إضافية بقدر الأوزان نفسها.
- حالات المُحسِّن (Optimizer states): تحتفظ المُحسِّنات الشائعة مثل Adam وAdamW بقيمتين إضافيتين لكل معامل. وتُخزَّن عادةً بدقة 32 بت، لذا قد تكون أكبر بند في استهلاك الذاكرة.
- التنشيطات (Activations): القيم الوسيطة المحسوبة في التمرير الأمامي. وهي تزداد مع حجم الدفعة وطول التسلسل. وتقلّلها تقنية Gradient Checkpointing مقابل تباطؤ التدريب قليلًا.
- الحمل الإضافي لإطار العمل وCUDA: مساحة إضافية تستخدمها المكتبات وتجزئة الذاكرة، وتبلغ عادةً بضعة GB.
من القواعد التقريبية الشائعة أن التدريب الكامل بالدقة المختلطة ومع المُحسِّن Adam يحتاج إلى نحو 16 بايت لكل معامل أو أكثر، تُضاف إليها التنشيطات. لذا فحتى التدريب الكامل لنموذج من 7 مليارات معامل يحتاج إلى أكثر من 110 GB قبل احتساب التنشيطات.
مقارنة بين LoRA وQLoRA والتدريب الكامل
الضبط الدقيق الكامل
تُحدَّث جميع معاملات النموذج. وهو الأسلوب الأكثر مرونة، لكنه الأعلى كلفة من حيث الذاكرة والوقت. وتحتاج النماذج الكبيرة دائمًا تقريبًا إلى عدة وحدات GPU وتقنيات لتوزيع الذاكرة مثل FSDP أو DeepSpeed ZeRO.
LoRA
يعمل LoRA (Low-Rank Adaptation) على تجميد أوزان النموذج الأساسي وتدريب مصفوفات محوّلات (adapters) صغيرة فقط. ويكون عدد المعاملات المدرَّبة عادةً نسبة ضئيلة جدًا من الإجمالي، ما يقلّل بشكل كبير الذاكرة اللازمة للتدرّجات وحالات المُحسِّن. ويبقى النموذج الأساسي بدقة 16 بت، لذا تظل الأوزان تشغل نحو 2 بايت لكل معامل.
QLoRA
يجمع QLoRA بين نهج LoRA ونموذج أساسي مُكمَّم إلى 4 بت. فتتقلّص الأوزان الأساسية إلى نحو الربع، بينما تُدرَّب المحوّلات بدقة أعلى. وفي كثير من المهام يحقق نتائج قريبة من LoRA مع العمل على بطاقات أصغر بكثير. أما المقابل فهو أن التدريب يكون عادةً أبطأ قليلًا بسبب الحمل الإضافي للتكميم.
الاحتياج التقريبي من VRAM حسب حجم النموذج
يتضمن الجدول أدناه أرقامًا تقريبية للتخطيط الأولي. وقد يختلف الاستهلاك الفعلي للذاكرة اختلافًا كبيرًا بحسب طول التسلسل وحجم الدفعة ورتبة LoRA واستخدام Gradient Checkpointing من عدمه وإصدارات المكتبات. احرص دائمًا على إجراء تجربة قصيرة قبل اتخاذ القرار.
| حجم النموذج | QLoRA (نموذج أساسي 4 بت) | LoRA (نموذج أساسي 16 بت) | تدريب كامل (16 بت، Adam) |
|---|---|---|---|
| 7B / 8B | نحو 8-16 GB؛ L4 24 GB، RTX 4090 24 GB | نحو 18-30 GB؛ A40 48 GB، L40S 48 GB | نحو 120 GB أو أكثر؛ عدة وحدات GPU (مثل عدة A100 / H100 80 GB) أو H200 141 GB |
| 13B / 14B | نحو 12-24 GB؛ RTX 4090 24 GB (بهامش ضيق)، A40 48 GB | نحو 32-48 GB؛ A40 / L40S 48 GB (بهامش ضيق)، A100 80 GB | نحو 220 GB أو أكثر؛ عدة وحدات GPU |
| 32B / 34B | نحو 24-40 GB؛ A40 48 GB، L40S 48 GB | نحو 70-100 GB؛ RTX PRO 6000 96 GB، H200 141 GB | نحو 520 GB أو أكثر؛ عدة وحدات GPU |
| 70B | نحو 45-70 GB؛ A100 / H100 80 GB، RTX PRO 6000 96 GB | نحو 150-180 GB؛ B200 180 GB (بهامش ضيق) أو عدة وحدات GPU | نحو 1.1 TB أو أكثر؛ عنقود كبير متعدد وحدات GPU |
الخلاصة واضحة: إن أردت العمل على GPU واحدة، فإن QLoRA للنماذج حتى 70B وLoRA للنماذج الصغيرة والمتوسطة هما المساران الأكثر عملية. أما التدريب الكامل فيتطلب إعدادًا جادًا متعدد وحدات GPU باستثناء النماذج الصغيرة، وفي معظم سيناريوهات الأعمال تكون الأساليب القائمة على LoRA كافية تمامًا.
إذا احتجت إلى تهيئة متعددة وحدات GPU، فاذكر ذلك في مرحلة طلب عرض السعر؛ إذ تُؤكَّد السعة والسعر بدقة في العرض. يمكنك الاطلاع على جميع خيارات البطاقات في صفحة GPU السحابية.
أي GPU تختار؟
| GPU | VRAM | السعر المبدئي (بالساعة، دون ضريبة القيمة المضافة) | الاستخدام المعتاد في الضبط الدقيق |
|---|---|---|---|
| L4 | 24 GB | $0.74 | تجارب QLoRA على النماذج الصغيرة |
| RTX 4090 | 24 GB | $1.11 | QLoRA لنماذج 7B-13B، تجارب سريعة |
| A40 | 48 GB | $0.74 | LoRA لنماذج 7B، QLoRA لنماذج 32B، تشغيلات طويلة اقتصادية |
| L40S | 48 GB | $1.36 | LoRA لنماذج 7B-13B، QLoRA لنماذج 32B |
| RTX PRO 6000 | 96 GB | $3.11 | LoRA لنماذج 32B، QLoRA لنماذج 70B |
| A100 | 80 GB | $2.24 | LoRA لنماذج 13B، QLoRA لنماذج 70B، دعم برمجي ناضج |
| H100 | 80 GB | $4.99 | تشغيلات تدريب طويلة تكون السرعة فيها مهمة |
| H200 | 141 GB | $6.61 | LoRA على النماذج الكبيرة، تدريب كامل للنماذج الصغيرة |
| B200 | 180 GB | $9.99 | أثقل مهام التدريب، أحدث جيل |
بمجرد أن تكون الذاكرة كافية، يصبح القرار موازنة بين السرعة والسعر بالساعة. فبطاقة H100 أسرع بكثير من A100 في تدريب نماذج Transformer؛ ولأنها تُنهي العمل أسرع، فقد تكون أرخص إجمالًا رغم سعرها الأعلى بالساعة. وأفضل طريقة لمعرفة ذلك هي إجراء التجربة الصغيرة نفسها على البطاقتين ومقارنة عدد الرموز (tokens) المعالَجة في الثانية.
إعداد البيانات: النصف الخفي من التدريب
ساعات GPU مكلفة، لذا أنجز أكبر قدر ممكن من إعداد البيانات قبل تشغيل خادم GPU.
- حدِّد التنسيق: أزواج تعليمات واستجابات، أو تنسيق محادثة، أو نص عادي؛ ويجب أن يطابق القالب الذي تتوقعه مكتبة التدريب لديك.
- نظِّف البيانات: احذف الأمثلة المكررة أو التالفة أو القصيرة جدًا. فالبيانات الأقل والنظيفة كثيرًا ما تتفوق على البيانات الأكثر والفوضوية.
- تحقّق من طول التسلسل: اختر حدًا أقصى معقولًا للطول يستوعب معظم الأمثلة. فالتسلسلات الطويلة دون داعٍ تزيد ذاكرة التنشيطات والوقت.
- خصِّص مجموعة للتحقق: أبقِ جزءًا من البيانات خارج التدريب لترى ما إذا كان النموذج يتحسن فعلًا.
- أزِل البيانات الشخصية: احذف أو أخفِ هوية الأسماء وأرقام الهواتف وأرقام الهوية والتفاصيل المماثلة من بيانات التدريب.
نقاط الحفظ (Checkpoints) وS3
على خوادم GPU من CloudRUX، يُحذف القرص المؤقت عند إيقاف الخادم. ولتجنّب فقدان نتائج ساعات من التدريب، احفظ نقاط الحفظ ومحوّلات LoRA بانتظام على وحدة تخزين دائمة أو في تخزين الكائنات S3.
يبدو الإعداد العملي على هذا النحو: يحفظ سكربت التدريب نقطة حفظ كل عدد محدد من الخطوات، وتُنسخ نقاط الحفظ إلى حاوية متوافقة مع S3، وعند انتهاء التدريب تحتفظ فقط بأفضل محوّل وتقرير التقييم. وتكون محوّلات LoRA عادةً أصغر بكثير من النموذج الأساسي، لذا فإن تخزينها رخيص.
ويضيف هذا النهج مرونة أيضًا: يمكنك بدء التدريب على بطاقة، ثم استئنافه عند الحاجة من نقطة حفظ على بطاقة أخرى.
إبقاء التكاليف تحت السيطرة
- جرّب نموذجًا صغيرًا أولًا: تحقّق من مسار البيانات والمعاملات الفائقة على نموذج 7B-8B باستخدام بطاقة رخيصة.
- ابدأ بـ QLoRA: إن كانت النتائج جيدة بما يكفي، فلن تحتاج إلى بطاقات أكبر.
- أجرِ قياسًا قصيرًا: قِس عدد الرموز في الثانية واحسب الوقت والتكلفة الإجماليين.
- أوقف الخوادم الخاملة: ما دامت بياناتك على تخزين دائم، فإن إيقاف الخادم آمن.
- استخدم القوالب الجاهزة: تقلّل قوالب PyTorch وCUDA الساعات المدفوعة التي تُهدر على برامج التشغيل والمكتبات. ويمكن لصورة الحاوية الخاصة بك تثبيت بيئة العمل بالكامل.
على سبيل المثال، لنفترض أنك أنهيت تدريب QLoRA لنموذج 8B على A40 في 20 ساعة: 20 x 0.74 = $14.80 + ضريبة القيمة المضافة. وتنفيذ المهمة نفسها بأسلوب LoRA على A100 سيكلّف عادةً أكثر بسبب السعر الأعلى بالساعة، لكن لأنها تنتهي أسرع، فقد يكون الفارق أصغر مما تتوقع.
موقع البيانات وKVKK
تعمل خوادم GPU من CloudRUX في مراكز بيانات شريكنا خارج تركيا. وإذا كانت بيانات التدريب تتضمن بيانات شخصية، فقد يُعدّ ذلك نقلًا عابرًا للحدود بموجب KVKK، قانون حماية البيانات التركي. لذلك نوصي بإعداد بيانات التدريب خالية من البيانات الشخصية أو إخفاء هويتها. وحين يتعين عليك العمل ببيانات شخصية، نساعدك في إجراءات العقد النموذجي.
الأسئلة الشائعة
هل النموذج المدرَّب بأسلوب LoRA جيد بقدر النموذج المدرَّب تدريبًا كاملًا؟
في كثير من مهام الأعمال، مثل الكتابة بأسلوب معيّن أو التصنيف أو تعلّم مصطلحات مجال محدد، يمكن للأساليب القائمة على LoRA أن تقترب من نتائج التدريب الكامل. وتعتمد النتائج على بياناتك ومهمتك، لذا فالأفضل أن تبدأ بتجربة صغيرة.
هل يمكنني تدريب نموذج 13B على بطاقة 24 GB؟
مع QLoRA وGradient Checkpointing وطول تسلسل معقول يكون ذلك ممكنًا في الغالب، لكن بهامش ضيق. أما للتسلسلات الأطول أو الدفعات الأكبر، فبطاقة 48 GB توفّر هامشًا أكثر راحة.
هل أرقام VRAM في الجدول دقيقة؟
لا، إنها قيم تقريبية للتخطيط الأولي. ويتغير الاستخدام الفعلي بحسب طول التسلسل وحجم الدفعة ورتبة LoRA وإصدارات المكتبات.
أين يجب أن أحفظ النموذج بعد التدريب؟
يُحذف القرص المؤقت عند إيقاف الخادم، لذا احفظ النموذج والمحوّلات على وحدة تخزين دائمة أو في تخزين الكائنات S3.
الضبط الدقيق على خوادم GPU من CloudRUX
خدمة GPU من CloudRUX متاحة حاليًا في مرحلة الوصول المبكر، وتوفّر بطاقات من L4 إلى B200، وقوالب PyTorch/CUDA جاهزة، ووصولًا عبر SSH وJupyter، وفوترة إلكترونية في تركيا، ودعمًا من مهندسين باللغتين العربية والتركية. تصفّح صفحة GPU السحابية لاختيار البطاقة المناسبة لحجم نموذجك وأسلوبك، أو تواصل معنا لمراجعة خطة التدريب معًا والحصول على عرض سعر.



