عن المشروع
edge-llm-bench هي أداة قياس مرجعية محايدة وقابلة لإعادة الإنتاج لمحركات النماذج اللغوية الكبيرة المحلية التي تعمل على أجهزة حقيقية، مصممة للعمل بشكل مستمر بدلاً من حملات قياس لمرة واحدة. تستهدف عتاد macOS وiOS وAndroid.
تشمل المحركات المغطاة LiteRT-LM وllama.cpp وMLX وApple Core AI وCactus، مع تسجيل كل تثبيت إصدار في environment.lock.json. تشمل الأجهزة المشار إليها Mac Studio (M4 Max) وiPhone 17 Pro وPixel 8a وGalaxy S26. تشترك جميع النتائج في مخطط واحد (schema/result.v1.json) وطبقة تجميع واحدة وتنسيق لوحة صدارة واحد.
يوفر المستودع خط الأنابيب وكل سجل تسجيل خام وأحكام الانحدار القابلة للقراءة آلياً، لكنه لا ينشر عمداً ترتيبات ما بين بيئات التشغيل. يقوم المستخدمون بإنشاء لوحة الصدارة الخاصة بهم محلياً من البيانات الخام المرفقة باستخدام build_summary.py وrender_leaderboard.py، مما ينتج LEADERBOARD.md متجاهلاً بواسطة git.
تشمل الأوامر الأساسية release-watch (يقارن إصدارات المنبع مع الإصدارات المثبتة)، وmatrix (يشغّل ملف خلايا لتكوينات القياس) وregress (يقارن إصدار محرك مع خط أساس). إضافة نموذج هي سطر واحد في ملف خلايا.
يصدر كل تشغيل JSON بمخطط v1 لكل سجل بالإضافة إلى سجل الطرفية الخام الخاص به تحت results/raw/. توجد ملفات CSV المشتقة في results/summary/، وتُحفظ أحكام الانحدار كـ JSON تحت results/regression-reports/. تحافظ CI على اتساق هذه الملفات.
تختلف مسارات الإعداد حسب المنصة. يستخدم مسار Mac أداة Homebrew وسكربت تمهيدي للمحركات المضمّنة وبناء CLI. يستخدم مسار Android ملفات ثنائية للمحركات مبنية مسبقاً من صفحة الإصدارات، متجنباً عمليات بناء bazel/NDK. يتطلب مسار iPhone توقيع Xcode واستحقاقات ذاكرة عبر واجهة رسومية فقط، مما يجعله أثقل إعداد.
آليات الإنصاف والصدق هي سمة محورية. يسجل كل صف وصفته، بما في ذلك التكميم وتثبيت المحرك، لأن رقمًا أسرع تحت وصفة مختلفة يمثل ملف نشر مختلفًا. يؤدي التشتت الواسع في المحاولات إلى وسم الخلية بـ UNRELIABLE بدلاً من تقييمها. تبقى التشغيلات الفاشلة والأعطال ونفاد الذاكرة في الجدول مع أسبابها. تُطبَّع الفروق بين الجلسات عبر مراسي الجلسة. ترفض الميزانيات أو الأوضاع غير المتطابقة التقييم. تُعزل تسجيلات Mac وiPhone تلقائياً وتُعاد مرة واحدة عندما يبدأ تشغيل ساخناً أو يُظهر تشتتاً واسعاً.
تُتتبع التغطية كـ measured (توجد تسجيلات مخزنة)، أو wired (يُبنى عند إصدار مثبت لكن لا توجد تسجيلات بعد) أو n/a مع سبب مذكور. يُقاس LiteRT-LM عبر الأجهزة الأربعة جميعها؛ ويُقاس llama.cpp على أجهزة Android؛ وMLX وCore AI خاصان بـ Apple فقط؛ ولا يملك Cactus فرع Mac ودعم Android مخطط له. تشمل الفجوات المعلنة أن Android LiteRT NPU في مرحلة الوصول المبكر فقط، وأن Android llama.cpp يستخدم الملف الثنائي الرسمي لإصدار CPU، وأن Android v1 يفتقر إلى نظام تسخين وقياس TTFT.
تقيس مهمة التحمّل (endurance-chat-30m) السلوك المستدام بدلاً من السرعة في دور واحد: عملية محرك واحدة، ومحادثة واحدة بذاكرة KV متراكمة، وسكربت ثابت من 12 مطالبة، وحد أصلي قدره 256 رمزاً لكل دور. يسجل كل دور معدل فك التشفير وإشغال KV والذاكرة والحالة الحرارية والانحطاط. يؤدي عطل عند الدور 37 إلى الحفاظ على الأدوار 1-36 كدليل. تستخلص الجلسات أربعة أحكام: تحلل فك التشفير، وميل الذاكرة، وبداية الانحطاط، والإكمال. توجد مسارات لـ Mac وAndroid (Galaxy S26)، وهي حالياً LiteRT-LM فقط.
يتضمن المستودع خط أساس بذرياً من تشغيل انحدار LiteRT-LM v0.15.0 إلى v0.16.0 بتاريخ 2026-08-17 على Pixel 8a وMac Studio M4 Max. وقد اقتُطع من apple-silicon-llm-bench، الذي يبقى أرشيف القياس. مرخص بموجب MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.