প্রকল্প সম্পর্কে
Falsify ML মূল্যায়নের একটি সংকীর্ণ কিন্তু নির্দিষ্ট সমস্যার সমাধান করে: "94% accuracy"-এর মতো একটি দাবি প্রায়ই ঘটনার পরে রিপোর্ট করা হয়, আগে থেকে কোন মেট্রিক, ডেটাসেট, থ্রেশহোল্ড বা সিড অভিপ্রেত ছিল তার কোনো রেকর্ড থাকে না। টুলটির উত্তর হলো প্রাক-নিবন্ধন — দাবিটিকে একটি ক্যানোনিকালাইজড ম্যানিফেস্ট হিসেবে কমিট করুন, SHA-256 দিয়ে হ্যাশ করুন, তারপর পর্যবেক্ষিত ফলাফলকে সেই লক করা হ্যাশের বিপরীতে যাচাই করুন।
মূল প্রবাহ দুটি কমান্ডে। `falsify lock claim.prml.yaml` ম্যানিফেস্টটি ক্যানোনিকালাইজ করে একটি সাইডকার ডাইজেস্ট লেখে; `falsify verify claim.prml.yaml --observed 0.934` পর্যবেক্ষিত মানকে লক করা থ্রেশহোল্ডের বিপরীতে তুলনা করে। এক্সিট কোডগুলোকে API হিসেবে ধরা হয়: PASS-এর জন্য 0, থ্রেশহোল্ডের নিচে FAIL-এর জন্য 10, এবং TAMPERED-এর জন্য 3, যখন লক করার পরে স্পেক সম্পাদনা করা হয়েছে এবং হ্যাশ আর মেলে না। CI এই কোডগুলোর উপর গেট করতে পারে।
ম্যানিফেস্ট ফরম্যাট হলো PRML (Pre-Registered ML Manifest), যেখানে v0.1 স্থিতিশীল এবং v0.2 ফ্রোজেন। রিপোজিটরিতে রয়েছে স্পেসিফিকেশন, একটি কনফরম্যান্স স্যুট এবং চারটি রেফারেন্স ইমপ্লিমেন্টেশন — Python (PyPI `falsify`), JavaScript (npm `falsify-js`), সাথে Go ও Rust ইমপ্লিমেন্টেশন শুধু রিপো-ভিতরে রাখা। README-তে বলা হয়েছে চারটিই 21টি কনফরম্যান্স ভেক্টরে (13টি v0.1 যোগ 8টি v0.2) বাইট-সমতুল্য, সাথে আনুষ্ঠানিক গ্রামার থেকে উদ্ভূত অতিরিক্ত 92-ভেক্টরের এজ স্যুট। একটি বহু-ভাষা CI জব প্রতিটি পুশে এবং প্রতিদিন ভেক্টরগুলো চালায়।
মূল CLI-এর বাইরে, একটি বান্ডল করা `falsify-engine` কমান্ড `.falsify/<name>/` স্পেকের উপর একটি ক্লেইম ওয়ার্কফ্লো (`init`, `run`, `verdict`, `guard`, `trend`) প্রদান করে, যার মধ্যে একটি commit-msg গার্ড এবং accuracy, latency, Brier score ও LLM-judge agreement-এর জন্য পাঁচটি স্টার্টার টেমপ্লেট রয়েছে। README স্পষ্ট করে যে এটি PRML ম্যানিফেস্ট CLI থেকে আলাদা একটি টুল, যদিও একটি ইনস্টল শেয়ার করে।
README-তে বর্ণিত ইন্টিগ্রেশন সারফেসের মধ্যে রয়েছে এডিটর অটোকমপ্লিটের জন্য SchemaStore ক্যাটালগে একটি JSON Schema, কিছু ইনস্টল না করেই ম্যানিফেস্ট হ্যাশ করার জন্য একটি ব্রাউজার-ভিত্তিক রেজিস্ট্রি, CI-এর জন্য একটি কম্পোজিট GitHub Action, একটি MLflow প্লাগইন যা রানগুলোকে ম্যানিফেস্ট হ্যাশ দিয়ে ট্যাগ করে, এবং দশটি ইভাল হারনেসের (deepeval, lm-eval-harness, promptfoo, opik, langfuse, laminar, mastra, hud, braintrust, lighteval) জন্য রানযোগ্য উদাহরণ ব্রিজ। README উল্লেখ করে সেই উদাহরণগুলোর মধ্যে কোনগুলো সম্পূর্ণ অফলাইনে চলে এবং কোনগুলো একটি ব্যাকএন্ড সীমানায় থেমে যায়। এছাড়াও একটি CycloneDX 1.6 অ্যাটেস্টেশন উদাহরণ এবং একটি in-toto/ITE-6 ব্রিজ রয়েছে।
প্রকল্পটি তার পরিধি নিয়ে স্পষ্ট: PRML প্রমাণ করে না যে একটি ML ফলাফল সত্য, শুধু এটাই যে একটি নির্দিষ্ট দাবি নীরবে পুনর্লিখনের আগেই কমিট করা হয়েছিল। README একটি ব্যর্থ পাবলিক পূর্বাভাসও নথিভুক্ত করে (Lock #2 0/3 অবদানকারীতে সমাধান হয়েছে) এবং একটি পোস্ট-মর্টেমের লিঙ্ক দেয়। লাইসেন্সিং কোডের জন্য MIT এবং স্পেকের জন্য Community Specification License 1.0, সাথে ট্রেডমার্ক সংরক্ষণ উল্লেখ করা। Python 3.11+ প্রয়োজন।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.