نفيديا تطلق مكتبة نقل الاستدلال لتحسين الأداء
تطلق شركة إنفيديا مكتبة نقل الاستدلال (NIXL) كمكتبة مفتوحة المصدر تهدف إلى تحسين أداء توزيع مهام الاستدلال في نماذج الذكاء الاصطناعي. تركز هذه المكتبة على حل التحديات المعقدة الناجمة عن الحاجة المستمرة لمعالجة كميات هائلة من البيانات عبر بيئات حوسبة موزعة، خاصة في أحمال العمل الديناميكية التي تتطلب مرونة عالية ومرونة ضد الأعطال. تتضمن أحمال عمل الاستدلال الحديثة، مثل مساعدي البرمجة والوكلاء الذكيين، استخدام ذاكرة مؤقتة (KV cache) لتخزين النتائج السابقة وتجنب إعادة حسابها، مما يجعل التخزين المحلي والبعيد جزءًا أساسيًا من العملية. كما تتطلب هندسة الخبراء المتعددة نقلًا سريعًا جدًا للبيانات الوسيطة بين وحدات المعالجة الرسومية (GPUs) عبر شبكات معقدة. تواجه هذه الأنظمة تحديات إضافية ناتجة عن الحاجة إلى التوافق مع عتاد متنوع، وتغيير ديناميكي في عدد الموارد المتاحة حسب الطلب، والقدرة على التعافي السريع عند حدوث أعطال. توفر NIXL واجهة برمجة تطبيقات موحدة وسهلة الاستخدام تسمح بنقل البيانات بكفاءة عبر مجموعة واسعة من تقنيات الذاكرة والتخزين، بما في ذلك ذاكرة GPU وCPU، وأقراص NVMe المحلية، ومستودعات الكائنات السحابية. تتميز المكتبة بدعم تقنيات شبكية متقدمة مثل RDMA والشبكات المخصصة لوحدة المعالجة الرسومية، وتعمل بشفافية مع مزودي خدمات سحابية كبرى مثل AWS وAzure، مع العمل على دعم منصة Google Cloud قريبًا. تعمل المكتبة على تجريد تعقيدات العتاد المتنوع، مما يسمح لأطر العمل مثل vLLM وTensorRT LLM بـ نقل البيانات بسلاسة. تعتمد NIXL على تصميم مرن يتكون من وكيل نقل (Agent) وعملية توجيه (Conductor). يعمل الوكيل على تنفيذ عمليات القراءة والكتابة، بينما تقوم عملية التوجيه بإدارة تبادل البيانات الوصفية (Metadata) بين الوكلاء لتحديد طرق النقل المثلى ديناميكيًا. يدعم النظام نمطين للعمل: وضع العنصر الطرفي للبرمجيات المخصصة وواجهة برمجة التطبيقات للجهاز (Device API) المستخدمة في نوى GPU، مما يسمح بالتشغيل غير المتعطل (Non-blocking) الذي يتزامن فيه نقل البيانات مع العمليات الحسابية لزيادة الكفاءة. تتيح المكتبة للمطورين إنشاء وكلاء مرشدين ونوعي، وتسجيل الذاكرة، وتبادل البيانات الوصفية، ثم بدء عمليات النقل عبر واجهة برمجية بسيطة. تشمل الميزات الأساسية تصميمًا غير انسداد لتقليل زمن الانتظار، ودعمًا للتعافي التلقائي من الأعطال، وقابلية التوسع الديناميكي لمجموعات الخوادم. كما توفر NIXL أدوات قياس أداء متخصصة، منها أداة NIXLBench لقياس سرعة النطاق الترددي وزمن الاستجابة بغض النظر عن النموذج، وأداة KVBench المخصصة لمهندسي نماذج اللغوية الكبيرة لحساب حجم نقل بيانات الذاكرة المؤقتة وتسريع عملية التحسين. تُكتب المكتبة بلغة C++ لضمان السرعة والكفاءة، مع توفر واجهات برمجية للغات Python وC وRust. تتوفر حاليًا على أنظمة تشغيل Linux مثل Ubuntu وRHEL، وهي متاحة للاستخدام المجاني على منصة GitHub. تشجع الشركة المطورين على تجربة المكتبة في أطر عمل الاستدلال الخاصة بهم، وتستقبل المساهمات والملاحظات من المجتمع، مع الإعلان عن إصدار النسخة الأولى من المكتبة في المستقبل القريب. يهدف NIXL إلى تمكين بيئات الذكاء الاصطناعي من العمل بشكل موثوق وفعال على مدار الساعة طوال أيام الأسبوع، مع دعم البنية التحتية المعقدة والمتغيرة التي تتطلبها تطبيقات الذكاء الاصطناعي الحديثة.
