৯১% পাস রেট। গেট গ্রিন। শিপড। সর্বকালের সবচেয়ে খারাপ রিগ্রেশন।

আমরা একটি ইনটেন্ট-ক্লাসিফিকেশন (intent-classification) টেস্টে ৯১% পাস রেট পেয়েছিলাম। থ্রেশহোল্ড ছিল ৯০%। আমরা সেই মানদণ্ড অতিক্রম করেছিলাম। আমরা কোডটি শিপ (ship) করে দিয়েছিলাম।

এটি ছিল আমাদের এই কোয়ার্টারের সবচেয়ে খারাপ রিগ্রেশন।

সমস্যাটি ছিল আমাদের গণনায়। আমাদের ইভ্যালুয়েশন স্কোর সপ্তাহজুড়ে ৯৬% বা ৯৭%-এ স্থির ছিল। তারপর, একটি পরিবর্তনের কারণে একটি নির্দিষ্ট স্লাইস (slice) ক্ষতিগ্রস্ত হয়: অস্পষ্ট রিফান্ড রিকোয়েস্ট (ambiguous refund requests)। সেই স্লাইসটি ৯৮% থেকে কমে ৭৪%-এ নেমে আসে।

সেই স্লাইসটি আমাদের মোট ট্রাফিকের ৪% নির্দেশ করে। যেহেতু আমরা গড় (average) দেখেছিলাম, তাই মোট স্কোর মাত্র ৯১%-এ নেমে এসেছিল। গেট গ্রিন (gate stayed green) ছিল।

অ্যাগ্রিগেটস (Aggregates) নয়েজের (noise) আড়ালে ব্যর্থতা লুকিয়ে রাখে।

সেই স্লাইসের ব্যবহারকারীরা ৯১% দেখেননি। তারা দেখেছিলেন ৭৪%। একটি স্ট্যাটিক থ্রেশহোল্ড (static threshold) আপনাকে কেবল জানায় যে পুরো সিস্টেমটি ধসে পড়েছে কি না। এটি আপনাকে জানায় না যে আপনার সিস্টেমের কোনো একটি অংশ ধ্বংস হয়ে যাচ্ছে কি না। যদি ৯৬টি স্লাইস ঠিক থাকে এবং একটি ক্র্যাশ করে, তবে একটি উচ্চ গড় (high average) সেই ক্র্যাশটিকে লুকিয়ে ফেলে। আপনি আপনার টেস্টিং টুলের পরিবর্তে সাপোর্ট টিকিটের (support tickets) মাধ্যমে ত্রুটিটি খুঁজে পান।

আমরা আমাদের কৌশল পরিবর্তন করেছি। আমরা পরম সংখ্যার (absolute numbers) ওপর ভিত্তি করে গেটিং করা বন্ধ করে দিয়েছি। এখন আমরা শেষ সফল রানের (last successful run) বিপরীতে গেট করি।

আমরা দুটি নিয়ম ব্যবহার করি। উভয়ই পাস করতে হবে:

  • বেসলাইনের (baseline) বিপরীতে কোনো একক স্লাইস ৩ পয়েন্টের বেশি কমবে না।
  • মোট অ্যাগ্রিগেট বেসলাইনের বিপরীতে ১.৫ পয়েন্টের বেশি কমবে না।

আমাদের সাম্প্রতিক ব্যর্থতায়, রিফান্ড স্লাইসটি ২৪ পয়েন্ট কমে গিয়েছিল। প্রথম নিয়মটি এটি সাথে সাথে ধরে ফেলত।

ডেল্টা গেটিং ট্র্যাপ (delta gating traps) সম্পর্কে সতর্ক থাকুন। যদি আপনার বেসলাইন প্রতিটি রানের সাথে আপডেট হয়, তবে আপনি ধীরে ধীরে ব্যর্থতার দিকে এগিয়ে যেতে পারেন। প্রতিদিন ০.৫ পয়েন্ট করে কমে যাওয়া প্রতিটি টেস্টে পাস করে যাবে। আপনি ধীরে ধীরে একটি খারাপ পণ্যের দিকে ধাবিত হবেন।

আপনার টেস্টিং ঠিক করতে এই পদক্ষেপগুলো অনুসরণ করুন:

  • আপনার মেইন ব্রাঞ্চ (main branch) গ্রিন থাকলেই কেবল আপনার বেসলাইন আপডেট করুন।
  • স্কোরের যেকোনো ইচ্ছাকৃত পতন অনুমোদনের জন্য একজন মানুষের প্রয়োজন হবে।
  • আপনার বেসলাইন অবশ্যই কী কাজ করছে তার একটি রেকর্ড হতে হবে, কেবল শেষ কী ঘটেছে তার নয়।
  • আপনার শেষ ৫টি গ্রিন রানের ভ্যারিয়েন্স (variance) পরীক্ষা করুন। যদি কোনো স্লাইস আপনার থ্রেশহোল্ডের চেয়ে বেশি ওঠানামা করে, তবে আপনার থ্রেশহোল্ডটি কেবল নয়েজ (noise)।
  • আপনার সবচেয়ে ছোট স্লাইসটি পরীক্ষা করুন। অ্যাগ্রিগেট লক্ষ্য করার আগে এটি কতদূর পর্যন্ত কমতে পারে তা জিজ্ঞাসা করুন। যদি উত্তরটি একটি বড় সংখ্যা হয়, তবে আপনার অ্যাগ্রিগেট ত্রুটিগুলো লুকিয়ে রাখছে।

Source: https://dev.to/ethanwritesai/91-pass-rate-gate-green-shipped-worst-regression-we-had-all-quarter-4dfn

Optional learning community: https://t.me/GyaanSetuAi