Non-Monotonic Latency in Apple MPS Decoding: KV Cache Interactions and Execution Regimes
تكشف هذه الورقة أن خلفية (MPS) الخاصة بشركة أبل تظهر طفرات زمنية غير رتيبة وغير متوقعة أثناء الاستدلال التوليدي (autoregressive inference)، حيث يمكن لأداء فك الترميز أن يتدهور فجأة بمقدار يصل إلى 21 ضعفاً لإعدادات محددة بسبب ديناميكيات تنفيذ الخلفية، مما يتناقض مع التوسع السلس الملحوظ في أنظمة المعالجات المركزية (CPU) وأنظمة (NVIDIA CUDA).
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تقود سيارة على طريق سريع من المفترض أن تتباطأ سرعته تدريجياً كلما أضفت المزيد من الركاب (الرموز/Tokens) إلى المركبة. في عالم الذكاء الاصطناعي، هذا هو ما نتوقعه عادةً: كلما طال طول المحادثة، استغرق توليد الكلمة التالية وقتاً أطول، ولكن يجب أن يكون ذلك بزيادة سلسة ومتوقعة.
ومع ذلك، اكتشفت هذه الورقة البحثية أن "الطريق السريع" على أجهزة أبل (تحديداً تلك المزودة بشرائح M-series) يتصرف بشكل غريب. فبدلاً من أن يكون المنحدر سلساً ومتوقعاً، تصطدم السيارة بمطبات سرعة هائلة ومفاجئة تظهر من العدم وتختفي بنفس السرعة.
إليك تفصيل لنتائج الورقة البحثية باستخدام تشبيهات من الحياة اليومية:
1. "مطب السرعة الشبح"
وجد الباحثون أنه عند استخدام نظام الرسومات الخاص بأبل (المسمى MPS) لتوليد النصوص، فإن الوقت الذي يستغرقه إنتاج الكلمات لا يرتفع دائماً بشكل مطرد.
- التوقع الطبيعي: إذا طلبت من الذكاء الاصطناعي كتابة 100 كلمة، فسيستغرق ثانية واحدة. إذا طلبت 200 كلمة، فسيستغرق ثانيتين. وإذا طلبت 300 كلمة، فسيستغرق 3 ثوانٍ. هذا هو التوسع الرتيب (خط سلس ومتوقع).
- واقع أبل: قد يكتب الذكاء الاصطناعي 496 كلمة في 9 ثوانٍ. ولكن إذا طلبت منه كتابة 16 كلمة إضافية فقط (ليصل المجموع إلى 512)، فإنه فجأة سيستغرق 89 ثانية. ثم، إذا طلبت 16 كلمة أخرى (ليصبح المجموع 528)، سيعود فجأة إلى السرعة العالية.
- التشبيه: تخيل أنك تقود في طريق حيث، لسبب غير مفهوم، تصطدم برقعة من الطين تبطئ سرعتك إلى حد الزحف لمسافة 100 قدم بالضبط، وبمجرد تجاوز هذه الرقعة، تعود إلى سرعتك الكاملة. وجدت الورقة البحثية أن هذه "الرقع الطينية" تحدث عند أعداد كلمات محددة جداً (مثل 512 أو 384)، ويمكنها جعل الذكاء الاصطناعي أبطأ بـ 21 مرة من المعتاد.
2. "صندوق الذاكرة السحري" (KV Cache)
لجعل الذكاء الاصطناعي أسرع، يستخدم المهندسون حيلة تسمى KV Caching. فكر في هذا كـ "صندوق ذاكرة سحري" حيث يخزن الذكاء الاصطناعي سياق المحادثة حتى لا يضطر لإعادة قراءة القصة بأكملة في كل مرة يكتب فيها كلمة جديدة.
- عادةً: هذا الصندوق يجعل السيارة تسير بشكل أسرع بكثير.
- المشكلة: وجدت الورقة البحثية أنه عندما يصطدم الذكاء الاصطناعي بأحد تلك "المطبات الشبحية" (عند علامة 512 كلمة)، يتوقف صندوق الذاكرة السحري عن العمل بالكفاءة المطلوبة.
- النتيجة: في الحالات العادية، يجعل استخدام الصندوق الذكاء الاصطناعي أسرع بـ 20 مرة مما لو لم يُستخدم. ولكن عند "أعداد الكلمات السيئة"، تتقلص هذه الميزة لتصبح ضئيلة جداً (أسرع بـ 1.9 مرة فقط). الصندوق لا يزال موجوداً، لكنه عالق في زحام مروري.
3. الأمر لا يتعلق بنفاد الوقود (الذاكرة)
عندما يتباطأ الذكاء الاصطناعي، قد تظن: "أوه، الكمبيوتر ينفد من الذاكرة".
- الاختبار: تحقق الباحثون من استخدام الذاكرة في الكمبيوتر. وجدوا أن استخدام الذاكرة يرتفع بشكل سلس وثابت، مثل بالون ينتفخ. لم يحدث ارتفاع مفاجئ أو انهيار في اللحظة التي أصبح فيها الذكاء الاصطناعي بطيئاً.
- الاستنتاج: التباطؤ ليس بسبب نقص المساحة في الكمبيوتر. بل لأن "المحرك" (البرمجيات الخلفية) قرر فجأة تغيير التروس بطريقة غير فعالة للغاية عند لحظات معينة. الأمر يشبه محرك سيارة يقرر فجأة العمل بمزيج وقود مختلف وسيء للغاية لبضع ثوانٍ، رغم أن خزان الوقود ممتلئ.
4. يحدث في كل مكان (ليس في سيارة واحدة فقط)
اختبر الباحثون هذا مع أنواع مختلفة من نماذج الذكاء الاصطناعي (GPT-2، BLOOM، OPT) وأجهزة أبل مختلفة (M3 Max و M3 Pro).
- النتيجة: ظهرت "مطبات السرعة الشبحية" في جميعها. موقع المطب يتغير قليلاً اعتماداً على نموذج السيارة وحجم المحرك، لكن الظاهرة هي نفسها.
- المقارنة: عندما اختبروا نفس الذكاء الاصطناعي على كمبيوتر قياسي (CPU) أو بطاقة رسومات NVIDIA (CUDA)، كان الطريق سلساً. "الطريق المتعرج" هو سمة خاصة ببرمجيات الرسومات الحالية الخاصة بأبل.
5. لماذا يهمك هذا الأمر؟
تحذر الورقة البحثية من أنك إذا اختبرت الذكاء الاصطناعي عند طول واحد أو طولين فقط (مثلاً: "لنرى مدى سرعته عند 100 كلمة")، فقد تفوتك حالات التباطؤ الهائلة هذه تماماً.
- الفخ: إذا قمت باختبار قياس أداء الذكاء الاصطناعي وبدا سريعاً عند 500 كلمة، ولكنك لم تتحقق عند 512 كلمة، فقد تعتقد أن النظام مثالي. ولكن في الواقع، إذا وصل طول محادثة المستخدم إلى ذلك الطول المحدد، فقد يتوقف النظام للحظة.
- الدرس المستفاد: لا يمكنك الاكتفاء بالنظر إلى "متوسط" السرعة. يجب عليك التحقق من كل خطوة في الطريق، لأن السرعة على شرائح أبل يمكن أن تتغير بشكل مفاجئ وغير متوقع بناءً على عدد الكلمات التي يتم توليدها بالضبط.
با ملخص: شرائح أبل للذكاء الاصطناعي قوية، لكن برمجياتها تحتوي على خلل خفي حيث يصبح النظام، في لحظات محددة جداً، بطيئاً للغاية لفترة وجيزة قبل أن يعود إلى طبيعته. يحدث هذا حتى مع توفر مساحة كبيرة في الذاكرة، وهو ما يجعل "حيل تسريع السرعة" المعتادة (مثل KV caching) أقل فعالية بكثير خلال تلك اللحظات.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.