الدليل الفني

إدارة ذاكرة GPU وتجزئةها

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

نظرة عامة

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

تعد إدارة ذاكرة وحدة معالجة الرسومات وتجزئتها بمثابة لبنة بناء تقنية تؤثر على جودة النموذج وتكلفة البنية التحتية وزمن الوصول والموثوقية على نطاق واسع.

الغوص العميق

ذاكرة GPU ثابتة وثمينة: ​​قد تحتوي البطاقة على إجمالي 24 أو 80 أو 192 جيجابايت، يتم مشاركتها بواسطة أوزان النموذج وعمليات التنشيط والتدرجات وحالات المُحسّن والمخازن المؤقتة. سيكون استدعاء برنامج التشغيل لتخصيص الذاكرة في كل عملية بطيئًا، لذا تستخدم أطر عمل مثل PyTorch مُخصص التخزين المؤقت الذي يلتقط الكتل الكبيرة في المقدمة ويوزع القطع الفرعية، ثم يحتفظ بالقطع المحررة في مجموعة لإعادة استخدامها. المشكلة هي التجزئة: عندما يتم تخصيص وتحرير الموترات ذات الأحجام المختلفة، تنقسم المساحة الحرة إلى أجزاء متناثرة. يمكن أن يكون لديك 5 غيغابايت مجانًا إجمالاً ولكنك تفشل في تخصيص موتر متجاور يبلغ 2 غيغابايت لأنه لا توجد فجوة واحدة كبيرة بما يكفي. وهذا هو السبب في أن التدريب يمكن أن يتعطل بسبب أخطاء نفاد الذاكرة على الرغم من وجود مساحة رأسية متاحة على ما يبدو.

البصيرة الفنية

يقوم مُخصص التخزين المؤقت CUDA الخاص بـ PyTorch بتقسيم الذاكرة إلى تدفقات من الكتل وإعادة استخدام الكتل المحررة التي تطابق الأحجام المطلوبة، مع تجنب مكالمات cudaMalloc/cudaFree المكلفة. ينشأ التجزئة عندما لا يمكن إعادة تجميع الكتل المنقسمة. تساعد أدوات مثل torch.cuda.empty_cache وخيار PYTORCH_CUDA_ALLOC_CONF القابل للتوسيع ولقطات الذاكرة. تستعير الأساليب الأحدث أفكار الذاكرة الافتراضية، حيث تقوم بتعيين الصفحات المادية غير المتجاورة في نطاق افتراضي متجاور، بحيث تنجح الطلبات الكبيرة على الرغم من التجزئة.

إتقان إدارة ذاكرة وحدة معالجة الرسومات وتجزئتها

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

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

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

التأثير الاستراتيجي

تؤدي قرارات الهندسة المعمارية إلى زيادة الأداء وتكلفة التشغيل لسنوات.

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

يساعد التعليم الفني الفرق على اختيار المجموعة المناسبة، وليس فقط المجموعة الأحدث.

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

تعمل الخيارات الهندسية الأفضل على تقليل حوادث الموثوقية في الإنتاج.

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

مستقبل إدارة ذاكرة وحدة معالجة الرسومات وتجزئتها

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

التنفيذ في العالم الحقيقي

تشغيل تدريبي يتعطل بسبب "نفاد الذاكرة في CUDA" على الرغم من إظهار الذاكرة المحجوزة لمساحة خالية، ويتم إصلاح ذلك عن طريق تعيين PYTORCH_CUDA_ALLOC_CONF لتمكين المقاطع القابلة للتوسيع.

استخدام torch.cuda.memory_summary أو لقطة من الذاكرة لتشخيص الموترات والتجزئة التي تستهلك 80 جيجابايت من وحدة معالجة الرسومات.

يقوم PagedAttention الخاص بـ vLLM بإدارة ذاكرة التخزين المؤقت KV للانتباه في الصفحات ذات الحجم الثابت لخدمة العديد من طلبات الدردشة المتزامنة دون إضاعة الذاكرة.

خفض حجم الدفعة أو تمكين نقطة التفتيش المتدرجة لقطع ذاكرة التنشيط وتجنب حالات فشل نفاد الذاكرة الناتجة عن التجزئة.

أنماط التنفيذ

إدارة ذاكرة GPU وتجزئةها في الممارسة العملية

تشغيل تدريبي يتعطل بسبب "نفاد الذاكرة في CUDA" على الرغم من إظهار الذاكرة المحجوزة لمساحة خالية، ويتم إصلاح ذلك عن طريق تعيين PYTORCH_CUDA_ALLOC_CONF لتمكين المقاطع القابلة للتوسيع.

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

إدارة ذاكرة GPU وتجزئةها في الممارسة العملية

استخدام torch.cuda.memory_summary أو لقطة من الذاكرة لتشخيص الموترات والتجزئة التي تستهلك 80 جيجابايت من وحدة معالجة الرسومات.

باستخدام torch.cuda.memory_summary أو لقطة من الذاكرة لتشخيص أي من التوترات والتجزئة التي تأكل وحدات معالجة الرسومات التي تبلغ سعتها 80 جيجابايت عادةً ما تحصل الفرق على نتائج أفضل عندما تحدد حدود الجودة مقدمًا، وتحتفظ بمسار تصعيد بشري لحالات الحافة، وتتتبع مكاسب الإنتاجية وتكاليف الأخطاء مع مرور الوقت.

إدارة ذاكرة GPU وتجزئةها في الممارسة العملية

يقوم PagedAttention الخاص بـ vLLM بإدارة ذاكرة التخزين المؤقت KV للانتباه في الصفحات ذات الحجم الثابت لخدمة العديد من طلبات الدردشة المتزامنة دون إضاعة الذاكرة.

يقوم PagedAttention الخاص بـ vLLM بإدارة ذاكرة التخزين المؤقت KV للانتباه في الصفحات ذات الحجم الثابت لخدمة العديد من طلبات الدردشة المتزامنة دون إضاعة الذاكرة. عادةً ما تحصل الفرق على نتائج أفضل عندما تحدد حدود الجودة مقدمًا، وتحتفظ بمسار تصعيد بشري لحالات الحافة، وتتتبع مكاسب الإنتاجية وتكاليف الأخطاء بمرور الوقت.

إدارة ذاكرة GPU وتجزئةها في الممارسة العملية

خفض حجم الدفعة أو تمكين نقطة التفتيش المتدرجة لقطع ذاكرة التنشيط وتجنب حالات فشل نفاد الذاكرة الناتجة عن التجزئة.

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

المخاطر والدرابزين

!

يمكن أن يؤدي تحسين معيار واحد إلى إخفاء نقاط ضعف النظام الأوسع.

!

غالبًا ما يتم التقليل من تكاليف البنية التحتية والصيانة.

!

يمكن أن تنمو الفجوات الأمنية وقابلية المراقبة عندما تصبح الأنظمة أكثر تعقيدًا.

خارطة طريق التنفيذ

1

تحديد الكمون والجودة وأهداف التكلفة قبل التنفيذ.

تحديد الكمون والجودة وأهداف التكلفة قبل التنفيذ. تعامل مع كل خطوة كبوابة دليل: إذا لم يتم استيفاء المعايير، قم بإيقاف التشغيل مؤقتًا، وسد الفجوة، وبعد ذلك فقط قم بتوسيع الاستخدام.

2

المعيار في ظل ظروف التحميل والبيانات الواقعية.

المعيار في ظل ظروف التحميل والبيانات الواقعية. تعامل مع كل خطوة كبوابة دليل: إذا لم يتم استيفاء المعايير، قم بإيقاف التشغيل مؤقتًا، وسد الفجوة، وبعد ذلك فقط قم بتوسيع الاستخدام.

3

مراقبة الأدوات للأخطاء والانجراف وتأثير المستخدم.

مراقبة الأدوات للأخطاء والانجراف وتأثير المستخدم. تعامل مع كل خطوة كبوابة دليل: إذا لم يتم استيفاء المعايير، قم بإيقاف التشغيل مؤقتًا، وسد الفجوة، وبعد ذلك فقط قم بتوسيع الاستخدام.

4

قم بإعداد مسارات التراجع والاستجابة للحوادث قبل القياس.

قم بإعداد مسارات التراجع والاستجابة للحوادث قبل القياس. تعامل مع كل خطوة كبوابة دليل: إذا لم يتم استيفاء المعايير، قم بإيقاف التشغيل مؤقتًا، وسد الفجوة، وبعد ذلك فقط قم بتوسيع الاستخدام.

استمر في الاستكشاف