इस प्रोजेक्ट के बारे में

edge-llm-bench वास्तविक उपकरणों पर चलने वाले स्थानीय LLM इंजनों के लिए एक तटस्थ, पुनरुत्पादन योग्य बेंचमार्क हार्नेस है, जिसे एकबारगी मापन अभियानों के बजाय निरंतर चलाने के लिए डिज़ाइन किया गया है। यह 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 का उपयोग करके शिप किए गए रॉ डेटा से स्थानीय रूप से अपना लीडरबोर्ड बनाते हैं, जिससे gitignored LEADERBOARD.md तैयार होता है। मुख्य कमांड में release-watch (पिन किए गए संस्करणों के विरुद्ध अपस्ट्रीम रिलीज़ की तुलना), matrix (बेंचमार्क कॉन्फ़िगरेशन की cells फ़ाइल चलाता है) और regress (किसी इंजन संस्करण की तुलना बेसलाइन से करता है) शामिल हैं। मॉडल जोड़ना cells फ़ाइल में केवल एक पंक्ति है। प्रत्येक रन प्रति रिकॉर्ड schema-v1 JSON और उसका रॉ कंसोल लॉग results/raw/ के अंतर्गत उत्सर्जित करता है। व्युत्पन्न CSV results/summary/ में रहते हैं, और रिग्रेशन निर्णय results/regression-reports/ के अंतर्गत JSON के रूप में बने रहते हैं। CI इन्हें सुसंगत रखता है। सेटअप पथ प्लेटफ़ॉर्म के अनुसार भिन्न होते हैं। Mac लेन Homebrew, वेंडर किए गए इंजनों के लिए बूटस्ट्रैप स्क्रिप्ट और CLI बिल्ड का उपयोग करती है। Android लेन bazel/NDK बिल्ड से बचते हुए रिलीज़ पेज से प्रीबिल्ट इंजन बाइनरी का उपयोग करती है। iPhone लेन के लिए Xcode साइनिंग और केवल-GUI मेमोरी एंटाइटलमेंट आवश्यक हैं, जिससे यह सबसे भारी सेटअप बन जाता है। निष्पक्षता और ईमानदारी तंत्र एक केंद्रीय विशेषता है। प्रत्येक पंक्ति अपनी रेसिपी दर्ज करती है, जिसमें क्वांटाइज़ेशन और इंजन पिन शामिल हैं, क्योंकि भिन्न रेसिपी के तहत तेज़ संख्या एक भिन्न डिप्लॉयमेंट प्रोफ़ाइल का प्रतिनिधित्व करती है। व्यापक परीक्षण स्प्रेड होने पर किसी सेल को स्कोर करने के बजाय UNRELIABLE चिह्नित किया जाता है। विफल रन, क्रैश और OOM अपने कारणों सहित तालिका में बने रहते हैं। क्रॉस-सेशन डेल्टा को सेशन एंकर के माध्यम से सामान्यीकृत किया जाता है। बेमेल बजट या मोड होने पर स्कोर करने से इनकार कर दिया जाता है। जब कोई रन हॉट शुरू होता है या व्यापक स्प्रेड दिखाता है, तो Mac और iPhone कैप्चर स्वचालित रूप से क्वारंटाइन किए जाते हैं और एक बार पुनः प्रयास किया जाता है। कवरेज को measured (संग्रहीत कैप्चर मौजूद हैं), wired (पिन संस्करण पर बिल्ड होते हैं लेकिन अभी कैप्चर नहीं हैं) या n/a (कारण सहित) के रूप में ट्रैक किया जाता है। LiteRT-LM चारों उपकरणों पर मापा गया है; llama.cpp Android उपकरणों पर मापा गया है; MLX और Core AI केवल Apple के लिए हैं; Cactus में Mac arm नहीं है और Android समर्थन योजनाबद्ध है। प्रकट अंतरालों में शामिल हैं: Android LiteRT NPU केवल Early Access में होना, Android llama.cpp का आधिकारिक CPU रिलीज़ बाइनरी उपयोग करना, और Android v1 में वार्म रिजीम तथा TTFT माप का अभाव। एक एंड्योरेंस कार्य (endurance-chat-30m) सिंगल-टर्न गति के बजाय निरंतर व्यवहार को मापता है: एक इंजन प्रक्रिया, संचयी KV कैश के साथ एक बातचीत, एक निश्चित 12-प्रॉम्प्ट स्क्रिप्ट और प्रति टर्न 256-टोकन की नेटिव कैप। प्रत्येक टर्न डिकोड दर, KV ऑक्यूपेंसी, मेमोरी, थर्मल स्थिति और डिजेनरेसी दर्ज करता है। टर्न 37 पर क्रैश होने पर सबूत के रूप में टर्न 1-36 सुरक्षित रहते हैं। सेशन चार निर्णय प्राप्त करते हैं: डिकोड क्षय, मेमोरी स्लोप, डिजेनरेसी ऑनसेट और पूर्णता। Mac और Android (Galaxy S26) के लिए लेन मौजूद हैं, वर्तमान में केवल LiteRT-LM के लिए। रिपॉजिटरी में Pixel 8a और Mac Studio M4 Max पर 2026-08-17 को LiteRT-LM v0.15.0 से v0.16.0 रिग्रेशन रन से प्राप्त सीड बेसलाइन शामिल है। इसे apple-silicon-llm-bench से अलग किया गया था, जो माप आर्काइव बना हुआ है। यह MIT लाइसेंस के अंतर्गत है।