مستويات التخزين في خادم الذكاء الاصطناعي: النموذج، مجموعة البيانات، التخزين المؤقت، نقطة التحقق
يدور نقاش متكرر بيننا وبين المشترين حول تقنية NVMe. يطلبون "أسرع ما يمكن" لأن مواصفات الجهاز تُظهر سرعة 14 جيجابايت/ثانية على محرك من الجيل الخامس، ويبدو أن محرك 4090 بجانب محرك Samsung 9100 PRO متطابقان. ثم نسأل عن الغرض من الصندوق، فيكون الجواب "الاستدلال، في الغالب"، ويتضح أن التكوين الأمثل هو محرك واحد بدلًا من ثمانية. يُعد التخزين في خادم الذكاء الاصطناعي جزءًا من المواصفات يسهل فيه شراء سعة زائدة، دون أي تأثير سلبي على البائع، ويكاد يكون غير مرئي تمامًا لحجم العمل.
تتناول هذه المقالة مستويات التخزين الأربعة الفعلية في خادم الذكاء الاصطناعي الواحد، ووظيفة كل مستوى منها، وتوقعات سوق NVMe في عام 2026، ومتى يصبح الجيل الخامس (Gen5) مُبررًا لسعره المرتفع، ولماذا لم يعد RAID المادي مهمًا لـ NVMe، وكيفية تحديد حجم كل مستوى بكفاءة. أما اختيار نظام الملفات فهو موضوع منفصل يُناقش في L04؛ بينما يُناقش التخزين المشترك بين المجموعات (NFS، BeeGFS، Lustre، ومخازن الكائنات) في K04. هنا، سنركز على هيكل الخادم.
مستويات التخزين الأربعة
يحتوي خادم الذكاء الاصطناعي الجاد على أربعة أدوار تخزين متميزة. وتختلف هذه الأدوار اختلافًا كبيرًا في الحجم والإنتاجية والقدرة على التحمل والتكلفة. إن التعامل معها كوحدة تخزين واحدة هو الخطأ الأول.
| الطبقة | النوع | الحاجة إلى الإنتاجية | الحاجة إلى التحمل | الحجم النموذجي |
|---|---|---|---|---|
| الموديل | جذر نظام التشغيل، مكتبة أوزان النماذج، صور الحاويات | كتابٌ غنيٌّ بالقراءة، متواضع | منخفض (قراءة في الغالب) | 1-4 تيرابايت |
| بيانات | بيانات التدريب، مجموعات النصوص المُحسّنة | قراءة متسلسلة، عالية | منخفض-متوسط | 10 تيرابايت - 200 تيرابايت |
| نقطة الصفر | تسريب التنشيطات، ذاكرة التخزين المؤقت لمجموعة البيانات، الأجزاء التي تم فك تشفيرها | القراءة والكتابة، مستوى عالٍ جدًا | متوسط إلى مرتفع (مختلط) | 2-8 تيرابايت |
| نقطة تفتيش | حالة النموذج أثناء التدريب، لقطات دورية | كتابات كبيرة متفجرة | متوسط (كتابة متقطعة) | 5-20 تيرابايت |
يحتاج خادم الاستدلال ذو الأربع وحدات معالجة رسومية عادةً إلى المستوى الأول فقط، وربما جزء صغير من المستوى الثاني. أما جهاز التدريب ذو الثماني وحدات معالجة رسومية فيحتاج إلى المستويات الأربعة جميعها، وهذه المستويات الأربعة تتطلب محركات أقراص مختلفة. لذا، فإن السؤال "كم تيرابايت من سعة تخزين NVMe؟" يصبح بلا معنى دون تحديد المستوى.
تخزين النماذج
يحتوي مستوى النموذج على مكتبة الأوزان الخاصة بك - كل متغيرات Llama وQwen وMistral وStable Diffusion وFlux وWhisper التي تتوقع تحميلها. كما أنه المكان الذي يوجد فيه نظام التشغيل وصور الحاويات وبيئات conda وملفات خادم الاستدلال الثنائية. في معظم عمليات البناء، يتم دمج هذه الملفات على محرك الأقراص الرئيسي.
يعتمد تحديد الحجم على عدد النماذج التي تحتفظ بها في الذاكرة. إليك بعض الأمثلة على عمليات التكميم الشائعة:
- لاما 3 70B الربع الرابع: ~40 جيجابايت
- لاما 3 70B FP8: ~70 جيجابايت
- Qwen2.5-VL 72B Q4: ~45 جيجابايت بالإضافة إلى بضعة جيجابايت من Vision Tower
- ميسترال لارج 2 (123B) الربع الرابع: ~70 جيجابايت
- لاما 4 مافريك وزارة التعليم FP8: ~250 جيجابايت
- مكتبة VLM متواضعة (8 نماذج، تكميمات مختلطة): 300-500 جيجابايت
- مختبر أبحاث يُبقي 30 نموذجًا ساخنًا: 2-4 تيرابايت
يُستخدم هذا النموذج للقراءة بشكل أساسي. يتم تحميله مرة واحدة عند بدء تشغيل العملية، ويبقى في ذاكرة الوصول العشوائي للفيديو (VRAM) لبقية اليوم. يشهد القرص قراءة متسلسلة بحجم 40 جيجابايت عند بدء تشغيل vLLM، ثم يبقى في وضع الخمول إلى حد كبير. يستطيع قرص NVMe من الجيل الرابع بسعة 2-4 تيرابايت - حتى قرص استهلاكي مثل Samsung 990 PRO - التعامل مع هذا الأمر بسلاسة. ادفع مقابل السعة، وليس معدل النقل.
تخزين مجموعة البيانات
تُعدّ مجموعة البيانات المكان الذي تُخزّن فيه مجموعات التدريب ومواد الضبط الدقيق. هذا المستوى هو الذي يُهمله العملاء باستمرار، لأن مجموعة البيانات التي يعملون بها اليوم تُناسب احتياجاتهم، وينسون أن المجموعة التالية لن تُناسبهم.
نطاقات واقعية:
- مجموعة بيانات LoRA أحادية النطاق لضبط دقيق: 10-100 جيجابايت
- مجموعة ضبط دقيق متعددة الوسائط (صور + نص): 1-10 تيرابايت
- مجموعة نصوص بحجم التدريب المسبق (مجموعة فرعية من FineWeb، وما إلى ذلك): 5-50 تيرابايت
- مجموعة فيديوهات التدريب المسبق أو عروض الروبوتات التوضيحية: 20-200 تيرابايت
- أرشيف جينومي أو علمي أو أرشيف مُجمّع من الإنترنت: 100 تيرابايت - 1 بيتابايت فأكثر
نمط الوصول هو قراءة متسلسلة، تتكرر عبر دورات المعالجة، عبر العديد من وحدات DataLoader العاملة بالتوازي. يتأثر هذا النمط بالإنتاجية (لأن وحدة معالجة الرسومات تنتظر)، ولكنه يتحمل زمن الاستجابة. معدل الكتابة يكاد يكون معدومًا بمجرد تجهيز البيانات.
بالنسبة لمجموعات البيانات التي تتجاوز 10 تيرابايت تقريبًا، يكون الحل الأمثل عادةً خارج هيكل الجهاز - راجع K04 للاطلاع على أنظمة NFS وBeeGFS وأنماط تخزين الكائنات. أما داخل هيكل الجهاز، فيُعدّ استخدام طبقة بيانات من محركات الأقراص الصلبة في RAIDZ2 (رخيصة، كبيرة، بطيئة ولكنها كافية بعد ارتفاع درجة حرارة ذاكرة التخزين المؤقت للصفحات) أو RAID من نوع U.2 NVMe متوسط المستوى خيارًا مناسبًا حتى 50 تيرابايت تقريبًا.
نقطة الصفر
سكراتش هو البطل المجهول. فهو يستوعب كل ما لا يتناسب بسلاسة مع أي مكان آخر: أجزاء الصور التي تم فك تشفيرها، والتنشيطات الوسيطة التي ينتجها زيرو-أوفلوود، وذاكرة التخزين المؤقت لمجموعات البيانات التي تم إنشاؤها بواسطة webdataset/DALIعمليات إعادة ترتيب البيانات المؤقتة، ومخلفات بناء الحاويات، وتفريغ بيانات التشغيل المتعطل. عمليات قراءة وكتابة مكثفة في الوقت نفسه.
الحجم الأمثل: يتراوح الحجم الأمثل بين 2 و8 تيرابايت. أقل من 2 تيرابايت تكفي لضبط دقيق واحد. أما أكثر من 8 تيرابايت، فغالباً ما يكون الأمر مجرد إنشاء طبقة بيانات صغيرة وتسميتها "مكدسة" - لا بأس، ولكن اعترف بما تفعله.
تُعدّ القدرة على التحمّل مهمة هنا بشكلٍ مختلف عن المستويات الأخرى. يستهلك نظام Scratch كميات هائلة من البيانات المكتوبة يوميًا - من 5 إلى 20 تيرابايت ليس بالأمر غير المألوف على جهاز تدريب مُستخدم بكثافة. يسمح محرك أقراص مؤسسي بسعة 4 تيرابايت وسرعة كتابة بيانات يومية واحدة (1 DWPD) بكتابة 4 تيرابايت يوميًا لمدة خمس سنوات؛ بينما يحتاج نظام Scratch التدريبي الجاد إلى سرعة كتابة بيانات يومية تتراوح بين 1 و3 DWPD، وهو نظام مُناسب للاستخدامات المُتعددة.
نقطة تفتيش
مستوى نقطة التفتيش هو المكان الذي تصل فيه حالة التدريب. متقطع: صامت لمدة عشر دقائق، ثم يتم كتابة 50-500 جيجابايت في بضع ثوانٍ، ثم يصمت مرة أخرى.
يبلغ حجم نقطة التحقق لنموذج 70B عند FP16 حوالي 140 جيجابايت من الأوزان. مع FSDP، والتدرجات، وحالة المُحسِّن، يرتفع حجم نقطة التحقق الواحدة إلى ما بين 400 و700 جيجابايت. أما مع DeepSpeed ZeRO-3 وحالة المُحسِّن الكاملة (Adam: 8 بايت لكل مُعامل لـ FP32 الرئيسي + العزم الأول/الثاني)، فقد يصل حجم نقطة التحقق 70B إلى ما يقارب 1 تيرابايت.
يبلغ معدل الكتابة المستمر لوحدة تخزين NVMe من الجيل الخامس حوالي 10-13 جيجابايت/ثانية. وتستغرق عملية كتابة نقطة تفتيش بحجم 700 جيجابايت دقيقة واحدة تقريبًا، على أقل تقدير. if يتم إرسال كل رتبة إلى محرك أقراص خاص بها. وبشكل متزامن، يتم إنشاء كتل تدريب لتلك الدقيقة. الحل هو استخدام نقاط التفتيش المجزأة غير المتزامنة (الموضحة أدناه).
مقارنة بين الجيل الرابع والخامس من تقنية NVMe - متى يكون السعر الإضافي مُبرراً؟
ينقسم سوق تقنية NVMe لعام 2026 بين الجيل الرابع الناضج (5-7 جيجابايت/ثانية) والجيل الخامس الذي أصبح شائع الاستخدام (12-14 جيجابايت/ثانية). يتصدر سامسونج 9100 PRO قائمة المنتجات الاستهلاكية بسرعة قراءة متتابعة تبلغ 14.8 جيجابايت/ثانية وسرعة كتابة متتابعة تبلغ 13.4 جيجابايت/ثانية. أما الجيل الخامس المخصص للمؤسسات فيقدم أداءً مماثلاً، حيث يقدم كل من Solidigm D7-PS1010 بسرعة قراءة تبلغ 14.5 جيجابايت/ثانية، وMicron 9550 MAX بسرعة قراءة تبلغ 14 جيجابايت/ثانية، وKioxia CD8، وSanDisk DC SN861 سرعة قراءة تتراوح بين 13 و14 جيجابايت/ثانية وسرعة كتابة مستمرة تتراوح بين 8 و10 جيجابايت/ثانية.
تبلغ الزيادة في التكلفة للجيل الخامس مقارنة بالجيل الرابع ذي السعة المماثلة في منتصف عام 2026 ما بين 30-50% في جانب المستهلك وما بين 20-35% في جانب المؤسسة.
متى سيُؤتي الجيل الخامس ثماره فعلاً؟
- تحميل النموذج من وضع التشغيل البارد. يتم تحميل نموذج MoE بسعة 250 جيجابايت في 18 ثانية على الجيل الخامس مقابل 36 ثانية على الجيل الرابع. وهذا مهم إذا كنت تقوم بتبديل النماذج بشكل متكرر.
- التدريب مرتبط بالإدخال/الإخراج. خطوط معالجة الرؤية التي تقوم بفك تشفير صور JPEG الخام من القرص، ومجموعات البيانات متعددة الوسائط حيث تكون المعالجة المسبقة هي عنق الزجاجة.
- تحقق من نقطة الوصول إلى وحدة التخزين NVMe المحلية قبل النسخ غير المتزامن. كلما أسرع السكان المحليون في الكتابة، كلما استؤنف التدريب في وقت أقرب.
- خادم تخزين المجموعة يدعم أكثر من 8 عقد تدريب. تجاوز إجمالي طلب العملاء الحد الأقصى للجيل الرابع.
عندما يكون الجيل الرابع جيدًا والجيل الخامس مضيعة للمال:
- خوادم الاستدلال. يتم تحميل النموذج مرة واحدة عند بدء التشغيل؛ أما بقية اليوم، فتكون سرعة القرص من رقم واحد ميجابايت/ثانية.
- جذر نظام التشغيل ومخزن الحاويات. قم بتشغيل الجهاز مرة واحدة شهرياً، وقم بتثبيت الحزم من حين لآخر.
- طبقة مجموعة البيانات حيث يتم فك تشفير الأجزاء مسبقًا وتكون كبيرة الحجم. يصل PyTorch DataLoader مع 8 عمال يقرأون أجزاء WebDataset إلى حد أقصى يبلغ 4-6 جيجابايت/ثانية إجمالاً؛ يغطي Gen4 ذلك.
بصراحة: حوالي 70% من عمليات بناء البرامج التي نوفرها للعملاء تعتمد كلياً على الاستدلال، وبالنسبة لهذه العمليات، فإن استخدام الجيل الرابع من تقنية NVMe هو الخيار الأمثل. أما الجيل الخامس فهو قرار يتعلق بمستوى التدريب.
عوامل الشكل — M.2، U.2/U.3، E3.S
| شكل عامل | الاستخدام النموذجي | للتبديل السريع | غلاف حراري | الحد الأقصى للسعة | ملاحظة |
|---|---|---|---|---|---|
| M.2 2280 | المستهلك، حذاء | لا | 8-10 واط | 8 تيرا بايت | خنق تحت تأثير الجيل الخامس المستمر |
| M.2 22110 | محطة عمل، خادم | لا | 12-15 واط | 16 تيرا بايت | كتلة حرارية أفضل من عام 2280 |
| U.2 / U.3 | معيار مركز البيانات | نعم | 25 W | 30 تيرا بايت | ناضج، متوافق على نطاق واسع |
| هـ1.س | كثافة شركات الحوسبة السحابية العملاقة | نعم | 20 W | 16 تيرا بايت | شكل "مسطرة"، كثافة 1U |
| هـ3.س | مركز بيانات من الجيل التالي | نعم | 25-40 واط | 30+ تيرابايت | مصمم لأنظمة التبريد من الجيل الخامس/السادس |
سيقوم منفذ M.2 Gen5 بخفض السرعة. تصل درجة حرارة قرص سامسونج 9100 برو بسعة 2 تيرابايت، عند تشغيله بسرعة 13 جيجابايت/ثانية داخل هيكل ساخن، إلى 75 درجة مئوية، ثم تنخفض سرعته. وتساعد الطرازات المزودة بمشتت حراري في خفض الحرارة. يُعد منفذ M.2 مناسبًا لعمليات الإقلاع وأحمال العمل المتوسطة، ولكنه ليس الخيار الأمثل لتخزين البيانات بشكل مؤقت لفترات طويلة.
يو تو هو العمود الفقري للعمل. جميع محركات أقراص NVMe المخصصة للمؤسسات التي توفرها شركة Kentino في هياكل Bone64c أو Supermicro هي من نوع U.2، وهي قابلة للتبديل بشكل شبه كامل مع لوحات U.3 الخلفية. تتميز هذه المحركات باستهلاك حراري منخفض يبلغ 25 واط، ومنفذ مزدوج لتعدد المسارات، وإمكانية التبديل السريع، وسعات تخزين تبلغ 7.68 تيرابايت و15.36 تيرابايت، مما يجعلها خيارًا مثاليًا من حيث السعر والكثافة.
معرض E3.S هو المستقبل، ببطء. صُممت من الصفر لتتوافق مع أنظمة التبريد من الجيل الخامس والسادس. بالنسبة لخادم واحد أو مجموعة خوادم صغيرة من نوع كينتينو، يظل الإصدار U.2/U.3 الخيار العملي حتى عام 2026؛ بينما يدخل الإصدار E3.S حيز الاستخدام في دورات التحديث عام 2027.
تجنب تكديس حوامل M.2 في هيكل ساخن. تعمل محولات بطاقات PCIe التي تحمل أربعة محركات أقراص M.2 خلف شريحة التبديل، ولكن في خادم 4U مزود بثمانية وحدات معالجة رسومية، يكون تدفق الهواء فوق هذه الحوامل ضعيفًا. نلاحظ انخفاضًا في الأداء بسبب الحرارة في غضون عشر دقائق من التحميل المستمر. إذا كنت بحاجة إلى أربعة محركات أقراص NVMe في خادم، فاستخدم U.2.
القدرة على التحمل - مؤشر DWPD كإشارة شراء
| الفئه | DWPD | حالة الاستخدام | تكلفة إضافية مقابل قراءة البيانات. |
|---|---|---|---|
| قراءة مكثفة | 0.3-1 | التمهيد، تخزين النموذج، مجموعة البيانات، الأرشيف | خط الأساس |
| متعدد الاستخدام | 1-3 | التدريب على نقاط الخدش، ونقاط التفتيش، والمخازن المؤقتة الساخنة | +30-60% |
| كتابة مكثفة | 3-10 + | السجلات، واليوميات، وقواعد البيانات التي تتطلب عمليات كتابة مكثفة | +100-200% |
بالنسبة لخادم الذكاء الاصطناعي، فإن عملية رسم الخرائط بسيطة:
- مستوى النموذج: قراءة مكثفة، 0.3–1 DWPD.
- مستوى مجموعة البيانات: قراءة مكثفة، 0.3–1 DWPD.
- مستوى الصفر: استخدامات متعددة، من 1 إلى 3 ساعات يوميًا. هذا هو المستوى الذي يستحق ميزانية التحمل الخاصة به.
- مستوى نقطة التفتيش: استخدام مختلط، 1-3 عمليات كتابة يومية. تتراكم عمليات الكتابة المتقطعة؛ عملية كتابة يومية واحدة على محرك أقراص بسعة 4 تيرابايت تسمح فقط بـ 4 تيرابايت في اليوم، وهو ما يتجاوزه معدل التدريب المكثف.
يُعدّ استخدام ذاكرة ذات قدرة كتابة عالية (أكثر من 3 عمليات كتابة يوميًا) مبالغًا فيه بالنسبة لمعظم أحمال عمل الذكاء الاصطناعي. يمكن تدارك شراء فئة التحمل الخاطئة بالاستبدال، بينما يصعب غالبًا تدارك شراء فئة الإنتاجية الخاطئة. لذا، احرص على اختيار فئة الإنتاجية المناسبة عند بناء النظام، واعتبر التحمل عنصرًا قابلًا للترقية.
تقنية RAID لتقنية NVMe - انتهى عصر الأجهزة، والحل يكمن في البرمجيات
هذا الموضوع يستحق قسماً فرعياً خاصاً به لأن العملاء ما زالوا يسألون عنه. باختصار: إذا كان جهازك يحتوي على وحدة تحكم RAID مادية أمام محركات أقراص NVMe في عام 2026، فهذا يعني أنه مُهيأ بشكل خاطئ.
صُممت وحدات تحكم RAID المادية (مثل LSI/Broadcom MegaRAID وMicrochip SmartRAID وHPE Smart Array وDell PERC) للعمل مع SAS/SATA. تتولى شريحة ASIC المدمجة في وحدة التحكم مهام التكافؤ والتخزين المؤقت وترتيب الأوامر، وتوفر هامش أمان كبير عند عرض نطاق SAS (12 جيجابت/ثانية = 1.5 جيجابايت/ثانية).
يؤدي استخدام تقنية NVMe Gen5 بسرعة 14 جيجابايت/ثانية لكل قرص إلى استهلاك كامل سعة وحدة تحكم RAID أحادية البطاقة بعد إضافة قرصين فقط. أما استخدام ثمانية أقراص متصلة ببطاقة RAID مادية فينتج عنه عرض نطاق ترددي يفوق قدرة وصلة PCIe الخاصة بالبطاقة على نقله. فتصبح وحدة التحكم هي عنق الزجاجة، ثم نقطة الضعف.
الحلول العملية هي البرمجيات:
- mdadm (برنامج RAID لنظام لينكس). نظام تشغيل ناضج، مدمج في النواة، يدعم RAID0/1/10 بكفاءة. يعمل RAID5/6 على NVMe، لكن عملية حساب التكافؤ تستهلك موارد المعالج بشكل كبير. مثالي لأربعة أقراص NVMe في وضع المرآة أو التوزيع.
- ZFS RAIDZ2. نظام أمان بيانات أفضل (مجموعات التحقق من البداية إلى النهاية)، وأدوات محسّنة للتنظيف والاستبدال، ودلالات اللقطات/الاستنساخ. يستهلك موارد المعالج بشكل أكبر من mdadm. الخيار الأمثل لطبقات الأرشفة ومجموعات البيانات حيث يكون أمان البيانات أهم من أقصى إنتاجية.
- ترميز النسخ/المسح لكل محرك أقراص على مستوى التطبيق. بالنسبة للمصفوفات الكبيرة جدًا، فإن MinIO/Ceph EC أو BeeGFS striping ينقل قرار التكرار خارج طبقة الكتلة بالكامل.
بالنسبة لمعظم إصدارات كينتينو:
- حذاء طويل: 2× M.2 NVMe في mdadm RAID1.
- خدش: RAID0 عبر 2-4 NVMe (البيانات قابلة للتجديد).
- مجموعة البيانات/نقطة التفتيش: RAID10 في mdadm أو RAIDZ2 في ZFS.
لا يزال لتقنية RAID المادية استخدام واحد فقط في خوادم الذكاء الاصطناعي: وهو إنشاء نسخة احتياطية صغيرة للتشغيل خلف بطاقة Broadcom/MegaRAID أساسية على خادم يتطلب وجود نظام تشغيل احتياطي قابل للتشغيل قبل بدء التشغيل. وحتى في هذه الحالة، يعمل mdadm RAID1 مع EFI على كلا القرصين بكفاءة.
وحدة تخزين متصلة بالشبكة لطبقة مجموعة البيانات
| نمط | الانرنيت | قراءة قابلة للاستخدام | عندما يكون الأمر صحيحاً |
|---|---|---|---|
| NFS عبر 10 جيجابت إيثرنت | 10 GbE | ~1 جيجابايت/ثانية | مختبر صغير، مدرب واحد |
NFS عبر 25 جيجابت إيثرنت مع nconnect=8
|
25 GbE | ~2.5 جيجابايت/ثانية | 1-2 مدربين، معدل بيانات متواضع |
NFS عبر 100 جيجابت إيثرنت مع nconnect=16
|
100 GbE | 8–10 جيجابايت/ثانية | مجموعات بيانات كبيرة متعددة المدربين |
| BeeGFS على أكثر من 100 جيجابت إيثرنت، 2-3 أهداف تخزين | 100 GbE | 30–60 جيجابايت/ثانية | مجموعة تدريب من 4 إلى 8 عقد |
| مخزن الكائنات (MinIO/Ceph) + مرحلة محلية | 25/100 جيجابت إيثرنت | يختلف | التدريب الدوري، بحيرة البيانات الضخمة |
الخلاصة: عادةً ما يكون مستوى مجموعة البيانات خارج خادم الذكاء الاصطناعي الذي يزيد حجمه عن 10 تيرابايت. داخل الهيكل، أنت بحاجة إلى إنشاء سريع للبيانات الأولية، ونقاط تحقق سريعة، ومخزن للنماذج؛ ويمكن أن تكون مجموعة البيانات بعيدة.
كيف يقوم PyTorch بتحميل البيانات فعلياً
يُعد اتباع نموذج PyTorch نموذجًا مفيدًا لتحديد حجم التخزين DataLoader يفعل. مع num_workers=8 و pin_memory=True:
- تقوم ثماني عمليات عاملة بفتح ملفات مجموعة البيانات بالتوازي.
- يقوم كل عامل بقراءة وفك تشفير (JPEG، إطارات الفيديو، إعادة تشكيل الصوت) وتحويل عينة إلى موتر.
- يتم وضع الموتر الذي تم فك تشفيره في الذاكرة المشتركة.
- تقوم العملية الرئيسية بسحب البيانات من قائمة الانتظار المشتركة، وتثبيتها في ذاكرة الوصول العشوائي للمضيف، ونسخها إلى وحدة معالجة الرسومات عبر الوصول المباشر إلى الذاكرة.
الآثار العملية:
- نادراً ما تكون معالجة الرؤية مقيدة بسعة التخزين إلا إذا كانت مجموعة البيانات كبيرة جدًا بحيث لا تستطيع ذاكرة التخزين المؤقت للصفحة استيعاب مجموعة بيانات عاملة.
- خط أنابيب التدريب المسبق لنموذج اللغة المبسط (LLM) يقرأ الأجزاء المجزأة مسبقًا غالباً ما يكون التخزين محدوداً في الجيل الرابع. الجيل الخامس يُحسّن الأداء. وكذلك وضع مجموعة الأجزاء النشطة على وحدة تخزين NVMe محلية بدلاً من NFS.
- الاستدلال لا يرتبط أساسًا بالتخزين بعد تحميل النموذج. مؤشر نشاط القرص على صندوق التقديم مسطح.
منحدر نقطة التفتيش
تبلغ مساحة نقطة التحقق لنموذج 70B عند FP16 حوالي 140 جيجابايت من الأوزان. إضافة حالة مُحسِّن آدم (حوالي 8 بايت لكل مُعامل لـ FP32 الرئيسي + العزم الأول + العزم الثاني): حوالي 560 جيجابايت إضافية. إضافة التدرجات إذا تم أخذ لقطة في منتصف الخطوة: حوالي 140 جيجابايت إضافية. يمكن أن تصل مساحة نقطة التحقق "الكاملة" لنموذج 70B إلى ما بين 800 جيجابايت و1 تيرابايت اعتمادًا على ما يتم حفظه.
عملية كتابة متزامنة أحادية الرتبة لجميع البيانات على وحدة تخزين NVMe من الجيل الخامس بسرعة كتابة مستمرة تبلغ 13 جيجابايت/ثانية: تستغرق العملية حوالي 75 ثانية لنقطة تحقق بحجم 1 تيرابايت. يتم استخدام كتل التدريب طوال المدة. تكرار هذه العملية كل 100 خطوة، حيث تستغرق كل خطوة 5 ثوانٍ، يعني إبطاء عملية التدريب بنسبة 15%.
حلان، كلاهما ضروريان:
1. نقاط التفتيش المجزأة. تقوم كل رتبة من رتب FSDP بكتابة شظيتها الخاصة على وحدة تخزين NVMe محلية خاصة بها. مع 8 وحدات معالجة رسومية و8 محركات أقراص محلية، تبلغ سعة الكتابة لكل رتبة 125 جيجابايت، وتتم عمليات الكتابة بالتوازي. ينخفض وقت التشغيل الفعلي إلى حوالي 10 ثوانٍ.
2. التحقق من النقاط غير المتزامن. PyTorch DCP (torch.distributed.checkpointيُحوّل هذا الإجراء عملية الكتابة إلى خيط معالجة مركزي. تتوقف وحدة معالجة الرسومات لفترة وجيزة لإجراء نسخ مؤقت من وحدة معالجة الرسومات إلى وحدة المعالجة المركزية (لبضع ثوانٍ)، ثم يستأنف التدريب وتحدث عملية الكتابة الفعلية إلى وحدة التخزين في الخلفية.
يُحوّل هذا المزيج - التجزئة غير المتزامنة - تخزين نقاط التحقق من "استيعاب 1 تيرابايت في ثوانٍ" إلى "مواكبة نسخ خلفية ثابتة بسرعة بضع مئات من الميغابايت في الثانية". ويمكن لأي طبقة تخزين تقريبًا التعامل مع ذلك. الخطأ الذي يجب تجنبه: نقاط التحقق المتزامنة، التي تُكتب حالة كاملة لكل رتبة مباشرةً إلى نظام ملفات الشبكة (NFS). كان هذا شائعًا في عام 2022، ولكنه يُعدّ ممارسة خاطئة في عام 2026.
تخطيطات تخزين خرسانية من نوع K-AI
خادم استدلال رباعي وحدات معالجة الرسومات (مثل K-AI 192 Genoa، أو 4× RTX 5090 أو 4× RTX Pro 6000 Blackwell):
Boot + model: 1× 2 TB Gen5 M.2 NVMe (consumer or read-intensive enterprise)
Scratch: optional, often unnecessary for pure inference
Dataset: not needed on the box
Checkpoint: not needed on the box
Total: 2 TB NVMe. Cost: low. Sufficient for any inference workload.
خادم تدريب بثمانية وحدات معالجة رسومية (مثل K-AI 256 Turin Dual، أو 8× RTX 5090 أو 8× RTX Pro 6000):
Boot: 2× 480 GB M.2 NVMe, mdadm RAID1, ext4 → /
Model storage: 2× 4 TB U.2 Gen5 NVMe, mdadm RAID1, ext4 → /models
Scratch: 2× 8 TB U.2 Gen5 NVMe, mdadm RAID0, XFS → /scratch
Checkpoint: 2× 8 TB U.2 Gen5 NVMe, mdadm RAID10, XFS → /checkpoints
Dataset: NFS mount from external storage server, 100 GbE
Total local NVMe: ~36 TB. Cost: meaningful but matched to GPU spend.
عقدة تخزين مشتركة للمجموعة (منفصلة عن الحوسبة):
Boot: 2× 960 GB M.2 NVMe, RAID1, ext4
Hot tier: 12× 7.68 TB U.2 Gen5 NVMe, ZFS RAIDZ2 or BeeGFS storage target, XFS
Cold tier: 8× 16 TB SAS HDD, ZFS RAIDZ2 → /archive
Network: 2× 100 GbE, RoCE or NVMe-oF capable
Serves the cluster's dataset tier. See K04 for distributed FS choice.
هناك أمران يجب ملاحظتهما. خادم الاستدلال لديه محرك واحديحتوي خادم التدريب على أربعة مستويات، ولكن كل قرص تخزين مصمم خصيصًا لدوره، وليس بمواصفات أعلى من اللازم ليكون الأكبر المتاح. أما عقدة تخزين المجموعة فهي جهاز منفصل تمامًا.
بصراحة، معظم العملاء يبالغون في تقدير مواصفات التخزين.
نمطٌ نراه كثيراً لدرجة تستدعي التنبيه إليه: يقوم أحد العملاء ببناء خادم بثمانية وحدات معالجة رسومية "لضمان جاهزيته للمستقبل"، ويختار ثمانية أقراص تخزين NVMe من نوع U.2 بسعة 15.36 تيرابايت لأن المنافذ متوفرة، ثم يُشغّل أحمال عمل استدلالية لا تتجاوز 200 جيجابايت من ملفات النماذج، ويترك باقي المصفوفة في وضع الخمول إلى الأبد. 25,000 يورو من أقراص NVMe مُهملة.
قواعد المقاسات الصادقة:
- الاستدلال البحت، خادم واحد: سعة تخزين إجمالية من نوع NVMe تتراوح بين 2 و4 تيرابايت. قرص واحد. انتهى الأمر.
- الاستدلال بالإضافة إلى الضبط الدقيق من حين لآخر: إجمالي المساحة من 4 إلى 8 تيرابايت. مساحة الإقلاع + مساحة التخزين الفارغة.
- تدريب جاد، خادم واحد: 16-40 تيرابايت عبر boot/model/scratch/checkpoint، مع وجود مجموعة البيانات الخارجية على NAS أو مخزن الكائنات.
- العنقودية: يتم نقل مجموعة البيانات ونقاط التحقق إلى وحدة تخزين مشتركة؛ ويتقلص حجم NVMe المحلي لكل عقدة إلى ملف تعريف الاستدلال (2-8 تيرابايت) للتمهيد والنموذج والكتابة المؤقتة.
يُعدّ التخزين العنصر الوحيد في بنية الذكاء الاصطناعي الذي يُثبت فيه خطأ مبدأ "كلما زاد كان أفضل". تتحسن كفاءة وحدات معالجة الرسومات بشكل خطي تقريبًا مع ارتفاع التكلفة؛ وتتحسن سعة ذاكرة الوصول العشوائي بشكل معقول؛ أما التخزين، فغالبًا لا يتحسن على الإطلاق بمجرد توفره بكمية كافية.
ما الذي يتعطل؟
أنماط الأعطال التي نراها في الميدان، بالترتيب:
- محرك الإقلاع هو محرك M.2 للمستهلكين بدون أي نظام احتياطي. تعطل القرص بعد 18 شهرًا، وأصبح الخادم غير قابل للتشغيل، بينما بقيت النماذج آمنة على نظام RAID، لكن إعادة بنائها استغرقت يومًا كاملًا. الحل: استخدام قرصي M.2 في وضع mdadm RAID1، حتى على أجهزة الاستدلال.
- يملأ الخدش أثناء الجري. تتضافر عوامل التخزين المؤقت لمجموعة البيانات، والأجزاء المُفكّكة، وملفات الإطار المؤقتة. الحل: المراقبة، والتنبيه عند امتلاء 80%، وحجمها 1.5 ضعف أكبر مجموعة عمل متوقعة.
- بطاقة RAID للأجهزة خلف NVMe. الأداء نصف ما ينبغي أن يكون عليه، وحدة التحكم نقطة ضعف رئيسية، واستبدالها مكلف للغاية. الحل: إزالة البطاقة، أو استخدام mdadm أو ZFS مباشرة.
- نقطة تفتيش متزامنة مع نظام الملفات الشبكي (NFS)، أكشاك التدريب. الحل: نقطة تفتيش مجزأة غير متزامنة، NVMe محلي أولاً، ثم نسخ غير متزامن.
- صمام التحكم الحراري من الجيل الخامس M.2. محرك أقراص مصنف بسرعة 14 جيجابايت/ثانية، يُنتج 4 جيجابايت/ثانية فقط بعد 3 دقائق من الكتابة المتواصلة. الحل: استخدام مشتت حراري، أو تحسين تدفق الهواء، أو الانتقال إلى منفذ U.2.
- مجموعة البيانات على مستوى مجموعة البيانات تشبع الجيل الرابع. تعتمد عملية تدريب الرؤية بنسبة 30% على مساحة التخزين. الحل: استخدام Gen5 كمساحة تخزين مؤقتة، أو فك التشفير المسبق إلى WebDataset، أو كليهما.
-
نظام ZFS ARC يستهلك ذاكرة الوصول العشوائي المخصصة للتدريب. يؤدي تخصيص 50% افتراضيًا إلى نفاد الذاكرة أثناء عملية التدريب. الحل: تحديد الحد الأقصى
zfs_arc_maxإلى 10-20% من ذاكرة الوصول العشوائي. انظر L04.
ماذا تفعل بعد ذلك
تحديد حجم العملية قبل الموافقة على الإصدار:
- الاستدلال، التدريب، أم كلاهما؟ الاستنتاج: انتقل إلى الخطوة 5 باستخدام محرك أقراص واحد. التدريب: استمر.
- ما هو أكبر نموذج تنوي تدريبه أو تحسينه؟ اضرب عدد المعاملات في حجم كل معامل بالبايت (FP16: 2، FP8: 1، BF16 + حالة المُحسِّن: 16). هذا هو الحد الأدنى لحجم نقطة التفتيش لكل لقطة.
- ما هي أكبر مجموعة بيانات ستعمل عليها خلال الأشهر الـ 12 القادمة؟ بالنسبة لحجم يصل إلى 10 تيرابايت تقريبًا، يُنصح بتخزينه على وحدة تخزين NVMe محلية ضمن طبقة البيانات. أما إذا تجاوز حجمه 10 تيرابايت، فيُفضل تخزينه على وحدة تخزين NAS أو وحدة تخزين كائنات - انظر K04.
- هل ستستخدمون نظام نقاط التحقق غير المتزامن المجزأ؟ إذا كان ذلك ممكناً (باستخدام PyTorch DCP أو NeMo أو الأطر الحديثة)، فإن مساحة تخزين نقاط التحقق لكل عقدة تتقلص بمقدار 4-8 أضعاف. أما إذا لم يكن ذلك ممكناً، فخطط لتخزين الحالة الكاملة على كل عقدة وحدد حجمها وفقاً لذلك.
- اختر الشكل المطلوب. M.2 للإقلاع. U.2/U.3 لبقية مكونات هيكل الخادم. E3.S فقط في حال تم شراء الهيكل خصيصاً له.
- اختر التحمل. 1. DWPD: قراءة مكثفة للنموذج ومجموعة البيانات. 3. DWPD: استخدام مختلط للمسح المؤقت ونقاط التحقق.
- اختر الجيل. الجيل الخامس حيث يكون معدل النقل مجديًا (الذاكرة المؤقتة، ونقاط التحقق، وتبديل النماذج على الأجهزة متعددة المستخدمين). الجيل الرابع في كل مكان آخر.
- حدد نظام RAID على مستوى نظام التشغيل. mdadm للمصفوفات الصغيرة، ZFS حيث تكون مجموعات التحقق مهمة، لا يوجد متحكم RAID للأجهزة أمام NVMe.
إشارة الصليب: W01 فيما يتعلق بكيفية ارتباط حجم ذاكرة الوصول العشوائي (RAM) بتحميل النماذج من وحدة التخزين، W02 بالنسبة لميزانية مسارات PCIe التي تستهلكها محركات التخزين.
يُعدّ التخزين أحد جوانب التصميم التي يُجدي فيها التريث والحكمة. فالتصميم الأبسط الذي لا يُسبب اختناقات هو الأنسب في أغلب الأحيان.
هذا جزء من ويكي كينتينو، وهي سلسلة مرجعية حول الحوسبة الذكية، والروبوتات، والأنظمة التي تربط بينهما. نرحب بالتعليقات والتصويبات على info@kentino.com.