প্রকল্প সম্পর্কে

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 ফাইলে এক লাইন লেখা। প্রতিটি রান results/raw/-এর অধীনে প্রতি রেকর্ডের জন্য schema-v1 JSON এবং তার কাঁচা কনসোল লগ নির্গত করে। উদ্ভূত 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 চারটি ডিভাইসেই measured; llama.cpp Android ডিভাইসে measured; MLX ও Core AI শুধু Apple-এ; Cactus-এর কোনো Mac arm নেই এবং Android সমর্থন পরিকল্পিত। প্রকাশিত ঘাটতির মধ্যে রয়েছে Android LiteRT NPU শুধু Early Access, Android llama.cpp অফিসিয়াল CPU রিলিজ বাইনারি ব্যবহার করে, এবং Android v1-এ একটি warm রেজিম ও 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 লাইসেন্সের অধীনে।