تشغيل أنظمة الاستنتاج الموزعة على نطاق واسع — نيشانت جوبتا ونامان أهوجا، ميتـا

AAI Engineer
컴퓨터/소프트웨어AI/미래기술

스크립트

00:00:00صباح الخير جميعًا. مرحبًا بكم في جلسة التأثير الأولى في اليوم الأخير من معرض World Fair للهندسة في الذكاء الاصطناعي.
00:00:17إسمي نيشان غوبتا وينضم إليّ اليوم زميلي في التحدث نامان أهوجا.
00:00:23نحن نعمل على بناء البنية التحتية للكفاءة والتدريب والاستدلال في شركة Meta.
00:00:27اليوم، سنتحدث عن كيفية تشغيل أنظمة الاستدلال الموزعة على نطاق واسع.
00:00:32كما نعلم جميعًا، لم يعد الاستدلال مجرد نتاج بحثي يتم تحويله إلى منتج.
00:00:37بل أصبح عبء عمل أساسي للبنية التحتية فائقة النطاق، وينمو بمعدل هائل.
00:00:43حركة مرور الاستدلال تتجاوز بالفعل أكبر الخدمات المصغرة في العالم،
00:00:47ومعدل النمو هو الأسرع بين جميع أعباء العمل التي شهدناها على الإطلاق.
00:00:54دعونا نرجع بالزمن إلى عام 2008 تقريبًا ونحاول مقارنة عصر الذكاء الاصطناعي بعصر السحابة.
00:01:00في عام 2008 تقريبًا، بدأت السحابة كعروض للأجهزة الافتراضية.
00:01:05وكانت الهندسة المثيرة للاهتمام هي المحاكاة الافتراضية.
00:01:07ثم مع مرور الوقت، انتقلت القيمة إلى أعلى البرمجيات، إلى أدوات الجدولة مثل Borg وKubernetes وMesos.
00:01:14ثم إلى شبكات الخدمات، ثم إلى أدوات التوسع التلقائي، ثم إلى المنصات المختلفة التي بُنيت فوقها.
00:01:18طبقة التنسيق هي التي استحوذت في الواقع على القيمة والتعقيد.
00:01:24والذكاء الاصطناعي يسير على نفس المسار تمامًا، لكن تم ضغطه في السنوات القليلة الماضية بدلاً من عقد من الزمان.
00:01:30بدأنا بنماذج بسيطة تعمل على وحدات معالجة الرسوميات.
00:01:33ثم شهدنا تطور أطر خدمة النماذج مثل VLLM وTorchServe وTriton، والآن نرى طبقة التنسيق تظهر في الوقت الفعلي، لتعالج التحديات المعقدة للتوجيه، وإدارة ذاكرة التخزين المؤقت KV، وفصل الملء المسبق عن فك التشفير، وتعدد الإرسال لنماذج متعددة.
00:01:51في هذه المرحلة التالية من عصر الذكاء الاصطناعي، الأمر لا يتعلق فقط بأفضل النماذج أو النواة أو التحسينات.
00:01:57بل يتعلق بالنظام البيئي بأكمله.
00:01:58يتعلق الأمر بنظام التحكم والتنسيق، وهذا ما سنركز عليه في هذا الحديث.
00:02:06لذا، دعونا نتحدث قليلاً عن انفجار الطلب المعتمد على الوكلاء.
00:02:09في خدمة الويب التقليدية قبل بدء أعباء عمل استدلال الذكاء الاصطناعي، كانت السعة تتوسع خطيًا تقريبًا مع المستخدمين، اعتمادًا على نوع عبء العمل.
00:02:17مضاعفة المستخدمين تعني غالباً مضاعفة الاستعلامات في الثانية، ومضاعفة أسطول البنية التحتية إذا لم تكن هناك تحسينات، وكان تخطيط السعة مجرد تمرين على جداول البيانات.
00:02:28في هذه الخدمة القائمة على الوكلاء، تتوسع السعة مع عدد المستخدمين مضروبًا في عدد الاستدعاءات لكل مستخدم، مضروبًا في عدد الرموز، وهو ما يختلف باختلاف النموذج والتحسينات ووحدة العتاد لديك.
00:02:40يمكن للروبوت المحادثة أن يتضمن استدعاءً واحدًا للنموذج لكل دور، والذي يتطور الآن ليصل إلى 10 إلى 20 للمساعدين، و50 لوكلاء البحث، والان أصبح الآلاف من هذه الاستدعاءات لأعباء العمل المستقلة دون تدخل بشري.
00:02:54الفكرة الأساسية هي أنه لا يمكنك تخطيط السعة للوكلاء بنفس الطريقة التي قمنا بها للخدمات المصغرة.
00:03:00نحن بحاجة إلى التفكير في المرونة وتطبيق جدولة والتحكم في القبول يراعيان طبيعة عبء العمل.
00:03:08الآن، دعونا نحاول التعمق قليلاً في الاختلافات، المزايا والعيوب، بين تقديم الخدمات المصغرة التقليدية وتقديم الاستدلال الحديث عبر هذه الأبعاد الرئيسية.
00:03:19شكل الطلب.
00:03:20تفترض الخدمات المصغرة طلبات قصيرة وموحدة، بينما طلبات نماذج اللغات الكبيرة التي نراها في أعباء عملنا قد تتراوح من 50 رمزًا إلى 100,000 رمز، مع ملفات تعريف حسابية مختلفة تمامًا بين مرحلتي الملء المسبق وفك التشفير.
00:03:33بالنسبة للتجميع، كانت الحزم البرمجية التقليدية للخدمات المصغرة تقوم بالتجميع غالبًا عند طبقة موازنة الحمل، هذا إن وجد.
00:03:40ومع ذلك، تتطلب خدمة نماذج اللغات الكبيرة تجميعًا مستمرًا أثناء التشغيل، وإلا ستنخفض إنتاجية النظام بمقدار كبير أو أكثر.
00:03:48الحالة.
00:03:49كانت معظم الخدمات المصغرة التقليدية عديمة الحالة عندما لا نتحدث عن طبقة التخزين.
00:03:54ومع ذلك، تقتضي خدمة نماذج اللغات الكبيرة حالة ضخمة لكل طلب، وهي ذاكرة التخزين المؤقت KV، والتي تعد مكلفة للغاية في البناء وأكثر كلفة في التخلص منها.
00:04:02وحدات التوسع.
00:04:03وحدات التوسع.
00:04:05عندما نفكر في الخدمات المصغرة التقليدية، كان بإمكاننا تشغيلها على وحدات معالجة مركزية رخيصة، في حاويات (Pods).
00:04:11ولكن بالنسبة للاستدلال الحديث، ننطلب التشغيل على وحدات معالجة الرسوميات، وهي أكثر كلفة بـ 100 مرة، وأبطأ بـ 10 مرات في الحصول عليها، ولا يمكننا تخصيص الزائد منها بتهور.
00:04:20وإلا، سيؤدي ذلك إلى هدر ضخم.
00:04:23وضع الفشل.
00:04:25عند التفكير في الخدمات المصغرة التقليدية مثل التي بناها معظمنا على مدار الأعوام القليلة الماضية، كان بإمكاننا، حتى لو تعطل المضيف أو تعطلت الحاوية، إعادة تشغيلها.
00:04:34وكان بإمكاننا إعادة بناء الحالة إذا لزم الأمر.
00:04:36أما بالنسبة لاستدلال النماذج، فإنه يستغرق وقتًا طويلاً للانتقال من البداية الباردة إلى الساخنة.
00:04:42وإذا كانت وحدة معالجة الرسوميات في منتصف عملية فك التشفير، فقد تسقط الآلاف من الرموز قيد التشغيل، مما يؤدي إلى تراكم قائمة الانتظار.
00:04:50الفكرة الرئيسية هي أن عنق الزجاجة ليس مجرد النموذج.
00:04:53بل هو التنسيق نفسه.
00:04:58الآن، كما نرى في هذه القرارات الخفية خلف أي إدخال (Prompt)، عند الانتقال إلى تطبيق قائم على الوكلاء، يتطلب الأمر مجموعة من الخطوات خلف الكواليس.
00:05:06عليك إجراء التحقق من الهوية.
00:05:07وعليك اختيار النموذج، بناءً على نوع الطلب.
00:05:09وعليك تحديد المنطقة التي يذهب إليها.
00:05:11وعليك إجراء التحكم في القبول.
00:05:12وعليك البحث في ذاكرة التخزين المؤقت.
00:05:14وعليك تشغيله على وحدة معالجة الرسوميات.
00:05:17وعليك القيام بالتجميع.
00:05:18وهناك مجموعة من الخطوات الأخرى المشاركة.
00:05:19وكما نرى، من بين كل هذه الخطوات، خطوة واحدة فقط تتطلب النموذج، وهي فك تشفير الملء المسبق.
00:05:25سواء كان استدلالًا مفصولاً، أو لم يكن كذلك.
00:05:29الخطوات الأخرى تتطلب بنية تحتية.
00:05:31قد يكمن الذكاء في النموذج، لكن الجدوى الاقتصادية والموثوقية وتجربة المستخدم كلها تكمن في البنية التحتية.
00:05:38ولهذا السبب أصبح للعديد من فرق المنصات عبر الكثير من الشركات تأثير أكبر بكثير على جودة المنتج ونجاحه، أكثر بكثير من ذي قبل.
00:05:50معظمنا في هذه القاعة لديه خبرة عميقة عبر طبقة أو طبقتين أو ثلاث طبقات.
00:05:54قد نكون مسؤولين عن النوى أو تحسينات النواة.
00:05:57قد نكون مسؤولين عن التوجيه أو المنتج نفسه.
00:05:59أو قد نكون نشغل البنية التحتية لوحدات معالجة الرسوميات أو العنقود نفسه.
00:06:03لكن القليل منا فقط قام بتشغيل الحزمة بأكملها أو فكر فيها بشكل شامل من البداية إلى النهاية.
00:06:08كما ترون في هذه الطبقات، هذه الطبقات ليست جديدة.
00:06:11إنها موجودة منذ 20 عامًا أو أكثر.
00:06:13الجديد هو الجمع والاقتران بينها.
00:06:18القرار عند طبقة التوجيه يمكن أن يغير معدل إصابة ذاكرة التخزين المؤقت عند طبقة النموذج، مما يغير تكوين الدفعة، والذي يغير استغلال وحدة معالجة الرسوميات، وبالتالي يغير قرار التوسع التلقائي بسبب التغير في الاستغلال.
00:06:32لذا فإن كل شيء متشابك.
00:06:33عندما يكون لدينا أي تراجع في أعباء عمل الاستدلال، فالأمر لا يتعلق فقط بفهم ما حدث عند طبقة التخزين المؤقت أو التحكم في القبول.
00:06:41نحن بحاجة إلى التفكير في الحزمة البرمجية من الأعلى إلى الأسفل.
00:06:43وعندما نرى أي عنق زجاجة، فمن المهم جدًا فهم الطبقة التي يوجد بها هذا العنق لكي نستثمر بشكل صحيح.
00:06:54الآن، بالتعمق قليلاً في كيفية عمل الإدخال، عندما نملك إدخالاً لأي تطبيق، سواء كان لتوليد صورة أو مهمة بحثية أو تنسيق معقد لعدة وكلاء، فإن الأمر يتضمن بشكل عام مجموعة من هذه الخطوات.
00:07:08يذهب الإدخال إلى البوابة.
00:07:10ثم يذهب إلى الموجه، والذي يقوم بعد ذلك بالبحث في ذاكرة التخزين المؤقت إذا تم مشاهدة الطلب من قبل.
00:07:17ثم ينتقل إلى أدوات الجدولة، والتي تقرر عنقود وحدات معالجة الرسوميات والعتاد الذي ينبغي أن يعمل عليه.
00:07:22يمكن أن يكون على NVIDIA أو AMD أو شريحة السيليكون الخاصة بك، ثم ينتقل إلى بيئة التشغيل المناسبة للخدمة، مثل VLLM أو SGLang أو ما نعمل عليه.
00:07:30ثم نقوم ببث الاستجابة مجددًا إلى المستخدم وفقًا لمستويات الخدمة المستهدفة للوقت حتى أول رمز والوقت بين كل رمز، مع التأكد من أن الإنتاجية هي ما يرغبه المستخدم.
00:07:41الآن، كما نرى، يتصرف هذا الاستدلال مثل معاملة موزعة.
00:07:45كل سهم في هذا المخطط هو قفزة شبكية.
00:07:47وكل قفزة من هذه القفزات يمكن إعادة محاولتها.
00:07:50يمكن أن تنتهي مهلتها.
00:07:51يمكن أن تتراجع لخطط بديلة.
00:07:53بل ويمكن أن تفشل.
00:07:54ولكل من هذه القفزات مستويات خدمة مستهدفة، وهي تقوم بالبث المباشر مجددًا للمستخدم.
00:08:00لذا إذا فشلت، فإن التعامل مع منطق الفشل الجزئي يكون أصعب بكثير مقارنة باستدعاء إجراء بعيد (RPC) عادي.
00:08:06فكر فيما يحدث إذا قمنا بالفعل ببث 200 رمز مجددًا إلى المستخدم، وفجأة تم إيقاف مضيف وحدة معالجة الرسوميات بشكل استباقي بسبب حدث صيانة
00:08:15مجدول أو مخطط له أو غير مخطط.
00:08:16لا يمكننا مجرد إعادة المحاولة.
00:08:17علينا التفكير في الأمر بشكل شمولي.
00:08:19هذا هو السبب في أنه لا يمكننا بناء الموثوقية عند الحافة.
00:08:23يجب أن تكون خاصية لـ نظام التحكم، لأن نظام التحكم هو الذي يرى سير العمل بأكمله.
00:08:31الآن، دعونا نتحدث عن أدوات الجدولة وبعض التحسينات وكيفية التفكير فيها.
00:08:37بالنسبة للخدمات المصغرة التقليدية، كنا نفكر في تجميع الخدمات المصغرة التقليدية عبر أبعاد ثلاثة أو أربعة.
00:08:43قد تكون عبر الاستغلال، أو ذاكرة المعالج، أو أربعة مجالات، اعتمادًا على ما إذا كنت تستخدم AWS، أو مزودي السحاب الداخليين لديك.
00:08:52ولكن بالنسبة للاستدلال، يجب أن تكون أداة الجدولة مدركة لما لا يقل عن سبعة محاور عندما نجدول طلبًا معينًا.
00:08:59يجب أن تكون مدركة لنوع وحدة معالجة الرسوميات.
00:09:00يمكن أن يكون هناك عدد N من العتاد غير المتجانس في العنقود لديك، مثل H100 مقابل E100 مقابل B200، مع طبوغرافيات شبكة مختلفة.
00:09:09يجب أن تكون مدركة للمساحة المتاحة في ذاكرة HBM وحالة ذاكرة التخزين المؤقت KV.
00:09:13أوزان النموذج، ما إذا كانت محملة بالفعل، أم باردة، أم يتعين علينا بدء تشغيلها على البارد بعد الإحماء.
00:09:19يجب أن تكون مدركة لأولوية المستأجر.
00:09:21يمكن أن يكون هناك عدد N من المستأجرين يعملون على ذلك العنقود متعدد المستأجرين مع ملفات تعريف مختلفة لمستويات الخدمة.
00:09:27علينا أيضًا أن نكون مدركين لسياق سير العمل.
00:09:30هل نحن في الخطوة الثالثة من الاستدلال التي أنفقت بالفعل مبلغ X من المال، أم أننا في المراحل الأولى ويمكننا إنهاء سير العمل إذا تم تخصيص سعة زائدة؟
00:09:39علينا أيضًا التفكير في ميزانية زمن التأخير، اعتمادًا على نوع تطبيق الوكلاء الذي نبنيه.
00:09:44وهذا يقودنا إلى فكرة ضرورة التأكد من تطبيق جدولة تدرك طبيعة عمل الوكلاء.
00:09:49وعلينا التأكد من وضع العمل الذي سينتهي بأسرع وأرخص وقت، بدلاً من مجرد وضعه على وحدة معالجة رسوميات عشوائية.
00:09:58قد يكون المثال الملموس هو أن أداة الجدولة بحاجة إلى معرفة أن الطلب R في الخطوة الثالثة من سير عمل يتكون من خمس خطوات،
00:10:05وقد أنفق بالفعل في الخطوتين الأولى والثانية مبلغ X زائد Y من المال.
00:10:09لذا إذا فشلت الخطوة الثالثة، فسيتم إنهاء سير العمل بأكمله، وسنكون قد هدرنا كل تلك الموارد الحسابية.
00:10:14لهذا السبب، فإن التنسيق المدرك لسير العمل مهم جدًا،
00:10:18لأنه سيغير قرارات القبول، والأولوية، وكيفية إعادة المحاولة.
00:10:25الآن دعونا نتحدث عن التحسينات.
00:10:27لن أتعمق كثيرًا في الكثير من التحسينات.
00:10:29هناك الكثير من البحوث التي أُجريت بالفعل في الخارج، لكني أود مشاركة إطار عمل،
00:10:34والذي أحب استخدامه عندما يتعلق الأمر بذلك، ويمكننا وضعه في أربعة أرباع.
00:10:40أولاً، هل يمكننا تجنب العمل؟
00:10:42بمعنى، هل يمكننا تخطيه بالكامل من خلال ذاكرة التخزين المؤقت، عبر تقنيات مثل التخزين المؤقت للبادئة، وتخزين الاستجابات مؤقتًا، والتخزين الدلالي المؤقت؟
00:10:48ثانيًا، هل يمكننا مشاركة العمل؟
00:10:51هل يمكن لطلبات متعددة مشاركة الحوسبة عبر التجميع؟
00:10:54فكر في التجميع المستمر، الملء المسبق وفك التشفير، والملء المسبق المجزأ، وفك التشفير التخميني.
00:10:59ثالثًا، هل يمكننا نقل العمل إلى مكان آخر؟
00:11:01هل يمكننا إرساله إلى مكان آخر، كنماذج أرخص أو أقرب للمستخدم؟
00:11:05من خلال التوجيه بالأساس، هل يمكن توجيهه لنماذج أصغر، مناطق أرخص، أو تقنيات أخرى؟
00:11:12وأخيرًا، هل يمكننا تأجيل هذا العمل؟
00:11:13هل يمكن الانتظار للحظة أفضل عبر التحكم بالقبول وتنظيم الصفوف، مما يتطلب فهم أولوية هذه الطلبات وتطبيق جدولة تراعي المواعيد النهائية؟
00:11:25إطار العمل هذا قوي للغاية لأنه يمتد لتطبيقات وبرمجيات متنوعة.
00:11:29سواء كنت تستخدم VLM أو SG-Lang أو TensorRT، فكل تقنية تندرج تحت أحد هذه الأرباع.
00:11:35لذا، كلما فكرنا في تحسين نموذجنا، يتعين علينا إجراء مقارنة مع التقنيات السابقة
00:11:41ولرؤية كيف تتكامل وتتراكب كل هذه الطرق معًا.
00:11:47عندما نفكر في التوسع، لا يقتصر الأمر على أداء النموذج فقط.
00:11:51بل ينبغي مراعاة التكلفة والجانب الاقتصادي أيضًا.
00:11:54وهنا تكمن أهمية فهم المعيار الذي نحاول تحسينه.
00:11:58لأن التكلفة لا تقتصر على تكلفة وحدات المعالجة أو النموذج فقط.
00:12:02بل تشمل جميع المعاملات، إعادة المحاولات، التخزين، الأخفاقات، الشبكات، وبالطبع التكاليف التشغيلية للتطوير وغيرها.
00:12:09المهم هو فهم مؤشر الأداء الرئيسي لمنتجك، والذي سيضيف قيمة حقيقية للمستخدمين.
00:12:17لذا فالهدف ليس مجرد تحسين التكلفة لكل رمز (Token) أو لكل طلب.
00:12:22بل يجب تحسين التكلفة لكل مهمة ناجحة، فهذا ما يهم المستخدمين بالفعل.
00:12:26وإذا نجحت في تحسين ذلك، ستقل تكلفة المنتج الإجمالية ويزداد رضا المستخدمين.
00:12:36دعونا نتحدث الآن عن الموثوقية، وكيفية منع الفشل المتتابع (Cascading Failures).
00:12:43قصة الفشل لا تقتصر على توقف وحدة معالجة الرسوميات أو تعطلها.
00:12:46السيناريو الأهم يتعلق بحلقة التغذية الراجعة التي تتبع ذلك.
00:12:49فقد يتراجع أداء وحدة الرسوميات، ويرتفع زمن الاستجابة، فيعيد العميل المحاولة، ويزداد عمق الصفوف، وتتحمل الوحدات السليمة ضغطًا زائدًا، مما يسبب المزيد من إعادة المحاولات وأعطالاً إقليمية شاملة.
00:13:02هذا مثال تقليدي للفشل المتتابع، ولكنه يحمل خصوصية في تطبيقات الذكاء الاصطناعي التوليدي بسبب ذاكرة التخزين المؤقت KV.
00:13:09فلا يمكننا بسهولة إعادة التشغيل أو إعادة التوجيه إلى مجمع مختلف.
00:13:13إذ يحتاج المجمع الخامل لوقت للإحماء قبل استيعاب حركة المرور، وأثناء ذلك يتوجب على المجمع النشط استيعاب تلك الطلبات.
00:13:20لهذا السبب، من الضروري تصميم قواطع الدورات بعناية فائقة.
00:13:24كقواطع الدائرة عند طبقة التوجيه، والتحكم بالقبول بدلاً من الانتظار، وتخفيف الأحمال المرتبط بعمق الصفوف وليس فقط باستغلال المعالج أو الذاكرة.
00:13:34كما يجب علينا التفكير في ميزانيات إعادة المحاولة، لأن إهمال ذلك يتسبب في تصاعد التكلفة بسرعة فائقة.
00:13:43والآن سأترك الكلمة لزميلي “نامان” ليواصل الحديث.
00:13:50شكرًا لكم.
00:14:20سأترك الحديث لزميلي نامان.
00:14:22سأترك الحديث لزميلي نامان.
00:14:25سأترك الحديث لزميلي نامان.
00:14:26سأترك الحديث لزميلي نامان.
00:14:27سأترك الحديث لزميلي نامان.
00:14:28سأترك الحديث لزميلي نامان.
00:14:29سأترك الحديث لزميلي نامان.
00:14:30سأترك الحديث لزميلي نامان.
00:14:31سأترك الحديث لزميلي نامان.
00:14:32سأترك الحديث لزميلي نامان.
00:14:33سأترك الحديث لزميلي نامان.
00:14:34سأترك الحديث لزميلي نامان.
00:14:35سأترك الحديث لزميلي نامان.
00:14:36سأترك الحديث لزميلي نامان.
00:14:54حسناً، يعمل الصوت الآن على ما أعتقد.
00:14:57نعتذر عن ذلك.
00:14:58بمجرد أن تصل عملية الاستنتاج إلى النطاق الإنتاجي،
00:15:00تبدأ في الاتسام بخصائص الأنظمة الموزعة.
00:15:03فلم نعد نكتفي باستدعاء نموذج فحسب،
00:15:06بل أصبح الأمر أشبه بمسألة نظام موزع تقليدي.
00:15:09في الأنظمة الموزعة، نتحدث عن الصفوف والجدولة،
00:15:13التوسع التلقائي، وعزل الأعطال.
00:15:14هذه بعض من هذه الأبعاد.
00:15:16وعملية الاستنتاج تحمل كل هذه المشاكل،
00:15:18لكن مع وجود قيود جديدة الآن.
00:15:20فبدلاً من الذاكرة والمعالج وحدهما، لدينا معالج وذاكرة HBM وذاكرة مؤقتة KV،
00:15:25بالإضافة إلى التكلفة لكل مهمة ناجحة.
00:15:27لذا يصبح السؤال التشغيلي المطروح:
00:15:28كيف تعرف المنصة الخطوة التالية الواجب اتخاذها؟
00:15:31وهنا يأتي دور إمكانية المراقبة والتتبع (Observability).
00:15:34فالأمر لا يتعلق بلوحات المتابعة فقط،
00:15:35بل بتوفير إشارات الدخل لحلقة التحكم.
00:15:39بيانات القياس والمجالات والتحليل تتيح اتخاذ القرارات،
00:15:43ومعالجة المشكلات وتغيير الجدولة والتوجيه،
00:15:45وأخيراً نكرر العملية باستمرار.
00:15:47سأقدم نظرة عامة على بعض المقاييس الهامة.
00:15:50المعيار الأول هو الوقت حتى أول رمز (Time to first token)،
00:15:52والذي يوضح مقدار الوقت المستغرق بالفعل
00:15:56للحصول على أول استجابة.
00:15:58ثم لدينا نسبة الاستغلال،
00:16:00والتي توضح إن كانت الذاكرة أم قوة المعالجة هي عنق الزجاجة.
00:16:04ولدينا معدل النجاح مقابل كل دولار والذي يبين
00:16:06ما إذا كانت المنصة تحقق النتائج المرجوة بالفعل
00:16:08وتعمل بكفاءة عالية.
00:16:10وأخيرًا، لدينا زمن الاستجابة الكلي المتكامل (End-to-end race latency)
00:16:12والذي يوضح الوقت المستغرق
00:16:15عبر مسار الطلب بأكمله.
00:16:19هناك مقايضة أساسية بين زمن الاستجابة، التكلفة، ومعدل إنتاج البيانات.
00:16:22ولا يمكنك الحصول عليها جميعاً دفعة واحدة.
00:16:24الأمر شبيه جداً بنظرية CAP.
00:16:26فإذا قمت بزيادة حجم الدفعة،
00:16:28ستحسن الإنتاجية وكفاءة التكلفة،
00:16:31لكن ذلك قد يضر بزمن الاستجابة الأقصى (Tail latency).
00:16:33وإذا استخدمت فك التشفير التخميني،
00:16:35قد تحسن زمن الاستجابة، ولكن على حساب معالجة إضافية.
00:16:38وفيكم ما تعلمون، يؤدي ذلك لزيادة التكلفة لكل رمز.
00:16:41وأخيرًا، يمكنني استخدام نموذج بسيط وأصغر.
00:16:44بحيث أستطيع تقليل زمن الاستجابة والتكلفة،
00:16:45لكن الاستجابة ستكون ذات جودة منخفضة.
00:16:48وفي النهاية، سأجري تحليلاً للأخطاء وأعيد المحاولات،
00:16:50مما يعيد التكلفة للارتفاع مجدداً.
00:16:52لذا فإن كل قرار تشغيلي يحرك
00:16:54النظام إلى مكان ما داخل هذا المثلث.
00:16:56ومهمتنا هي إيجاد الإعداد الأمثل.
00:16:58فالأمر أصلح مجرد مسألة تحسين برمجي الآن.
00:17:03هذا هو الاتجاه الذي تسلكه الصناعة حاليًا.
00:17:05إذ تحتاج عمليات الاستنتاج لطبقة تحكم خاصة بها.
00:17:07كل ما ناقشناه من توجيه، تجميع، تخزين مؤقت،
00:17:10جدولة، وموثوقية--
00:17:12لم يعد من الممكن أن تكون خيارات منفصلة بعد الآن.
00:17:15إنها تتجمع لتشكل طبقة منطقية موحدة.
00:17:17فلنسمها “طبقة التحكم بالاستنتاج” (Inference control plane).
00:17:19كنا ندير الأجهزة الافتراضية سابقًا في الأنظمة الموزعة.
00:17:21وكان لدينا مجدولات توسع تلقائي.
00:17:23ثم أتى نظام Kubernetes وحول كل هذا إلى طبقة تحكم.
00:17:27وتمر عمليات الاستنتاج بنفس هذا التحول حاليًا.
00:17:30حيث تصبح النماذج عبارة عن موارد.
00:17:32فأصبحت وحدات المعالجة، والذاكرة المؤقتة KV، والرموز، وزمن الاستجابة، والتكلفة تخضع للجدولة.
00:17:36وطبقة التحكم هي من يحدد أي النماذج تلبي أي طلب
00:17:40وكيفية تجميعها في دفعات.
00:17:42وسواء قمنا ببناء هذه الطبقة داخلياً،
00:17:44أو استعننا بمصادر مفتوحة، أو بمزود خدمة،
00:17:46فإن الأساس التصميمي يعتمد على افتراض وجود هذه الطبقة.
00:17:50دعونا نناقش الآن بعض الدروس التشغيلية
00:17:53التي اكتسبناها في البنية التحتية للذكاء الاصطناعي
00:17:55ومدى إمكانية تطبيقها هنا.
00:17:57الدرس الأول هو أن اختناقات البنية التحتية
00:18:00تظهر عادةً قبل اختناقات النماذج.
00:18:02في بيئة الإنتاج، قد تحدث أعطال كثيرة،
00:18:04ولكنها قد ترتبط بالجدولة والتوجيه فقط
00:18:07أو بخلل في السعة الاستيعابية.
00:18:08لذا فهذه لا تتعلق بعملية الاستنتاج نفسها،
00:18:10بل هي مشاكل في البنية التحتية.
00:18:12ثم لدينا القابلية للتوسع والمرونة (Elasticity).
00:18:14نحن بحاجة إلى المرونة في النظام.
00:18:15إذ يمكننا إضافة المزيد من وحدات المعالجة، لكن هذا لن يحل المشكلة حقيقةً.
00:18:18بل سنكون مجرد حجبٍ للمشكلة وتغطية لها.
00:18:20إذن حلنا يكمن في قصر قرارات الجدولة،
00:18:24لتتغلب على الكفاءة القائمة على القوة المفرطة.
00:18:26فيمكن لنفس المجموعات الخادمة أن تقدم أداءً مثالياً للغاية،
00:18:28بناءً على طريقة جدولتك لها
00:18:30أو أسلوب تقسيمها إلى دفعات.
00:18:31ثم لدينا حلقات التحكم، والتي تتفوق على العمليات اليدوية.
00:18:35إذ يجب على المنصة أن تستشعر وتكتشف
00:18:37وتتكيف تلقائياً مع النظام.
00:18:39لذا فإن التوصية الرئيسية هي: لا تجعل تحسينك مقتصرًا على الرموز (Tokens).
00:18:43بل ركز على التحسين للمهام الناجحة.
00:18:48هذا هو التحول الأوسع الذي أود أن أتركه في أذهانكم.
00:18:51المركبة الأولى للبنية التحتية للذكاء الاصطناعي كانت تدور حول بناء نماذج أفضل.
00:18:54حيث استثمرنا الكثير من الوقت في تحسين نماذجنا،
00:18:56جعل النماذج أكثر ذكاءً،
00:18:58ووضع معايير تقييم أفضل.
00:19:00أما المرحلة الحالية فتتركز حول الاستنتاج الأسرع،
00:19:03زمن استجابة أقل، تجميع أفضل،
00:19:05تجميع أفضل في دفعات، واستغلال أفضل لوحدات معالجة الرسوميات.
00:19:08ولكن المرحلة القادمة تدور حول التنسيق والإدارة (Orchestration).
00:19:10وهذا يعني أن المعالجات، الذاكرة، التخزين المؤقت وكل شيء،
00:19:13ليست سوى موارد،
00:19:14وهي بحاجة للجدولة والتحكم بها.
00:19:17والفرق التي تدرك هذا المفهوم مبكراً
00:19:19هي من ستبني البنية التحتية للمستقبل.
00:19:21لذا فإن الفكرة الختامية هي،
00:19:23أن البنية التحتية لم تعد مجرد مسألة تقديم للخدمات (Serving).
00:19:25بل أصبحت مسألة تنظيم وتنسيق متكامل.
00:19:27شكراً لكم.
00:19:29شكراً لكم.

핵심 요약

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

하이라이트

  • تتجاوز حركة مرور الاستدلال أعباء العمل في أكبر الخدمات المصغرة التقليدية وتنمو بمعدل هو الأسرع في البنية التحتية.

  • يتطلب استدلال نماذج اللغات الكبيرة حالة ضخمة لكل طلب تتمثل في ذاكرة التخزين المؤقت KV بخلاف الخدمات المصغرة عديمة الحالة.

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

  • تنخفض إنتاجية نظام خدمة نماذج اللغات الكبيرة بمقدار رتبة قدرية أو أكثر في حال غياب التجميع المستمر أثناء التشغيل.

  • تعتمد كفاءة النظام على تحسين التكلفة لكل مهمة ناجحة بدلاً من الاقتصار على تحسين التكلفة لكل رمز أو لكل طلب.

타임라인

تحول الاستدلال إلى عبء عمل أساسي فائق النطاق

  • انتقل الاستدلال من مجرد مخرجات بحثية إلى عبء عمل أساسي ينمو بسرعة قياسية.
  • تنتقل القيمة والتعقيد في بنية الذكاء الاصطناعي من النماذج المنفردة إلى طبقة التنسيق ونظام التحكم.

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

انفجار الطلب القائم على الوكلاء وفروق الخدمة

  • يتزايد نمو السعة للوكلاء بشكل أسي نتيجة تضاعف الاستدعاءات والرموز لكل مستخدم.
  • تختلف حزم الاستدلال عن الخدمات المصغرة التقليدية في حجم الحالة وضخامة تكلفة وحدات معالجة الرسوميات.

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

دور البنية التحتية والترابط بين طبقات الحزمة

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

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

معايير الجدولة وإطار عمل التحسين

  • تتطلب جدولة طلبات الاستدلال مراعاة سبعة محاور رئيسية على الأقل تشمل نوع العتاد، ذاكرة HBM، وسياق سير العمل.
  • ينقسم إطار تحسين النماذج إلى تجنب العمل، مشاركته، نقله، أو تأجيله.

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

إدارة الموثوقية ومنع الفشل المتتابع

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

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

المقايضات التشغيلية وطبقة التحكم بالاستدلال

  • تخضع عملية الاستدلال لمقايضة ثلاثية بين زمن الاستجابة، التكلفة، ومعدل إنتاج البيانات.
  • تتحول النماذج والرموز وذاكرة KV إلى موارد مُدارَة مجدولة عبر طبقة تحكم موحدة.

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

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기