Brief #22 · Machine Learning

ML Model Deployment (MLOps)

Hard⏱ 20-28 ঘণ্টাশীঘ্রই

Jupyter notebook এ থাকা একটা model কে আসল service বানাও: আবার চালানো যায় এমন training pipeline, model registry, একটা API, drift monitoring আর নিরাপদ rollout।

Outline free · tracking সহ বানাতে Pro লাগবে

MBriefTeam এর পক্ষ থেকে

আমাদের data scientist একটা delivery-time prediction model বানিয়েছেন, যেটা তার notebook এ দারুণ চলে। এটা কখনো ship হয়নি, কারণ কেউ জানে না কীভাবে আবার train করতে হয়, চালাতে হয়, বা কখন পুরনো হয়ে গেছে বুঝতে হয়। Notebook থেকে production এর পথটা বানাও, যাতে পরের model কয়েক দিনে ship হয়, কখনো-না তে না।

যা বানাবে

  1. 1Notebook টাকে একটা training pipeline এ সরাও, নির্দিষ্ট seed আর বাঁধা data version সহ, যাতে একই input সবসময় একই model দেয়।
  2. 2প্রতিটা trained model তার metric, data version আর code commit সহ register করো, আর শুধু তখনই promote করো যখন বর্তমানটাকে হারায়।
  3. 3Input validation সহ একটা API এর পেছনে model চালাও, আর training আর serving এর মধ্যে feature এর code ভাগ করে নাও।
  4. 4নতুন model আগে shadow mode এ deploy করো: সে live traffic এ prediction করে কিন্তু তার উত্তর কেউ দেখে না, আর তুমি live model এর সাথে তুলনা করো।
  5. 5Input drift আর prediction এর মান monitor করো, আর model আবার train করার দরকার হলে alert দাও।

ধাপে ধাপে walkthrough

Walkthrough শীঘ্রই আসছে

এই project এর ধাপে ধাপে walkthrough, প্রতিটা ধাপে আসল output সহ, এখনো লেখা হচ্ছে। ততক্ষণ brief পড়ে নিজে চেষ্টা করতে পারো; walkthrough তৈরি হলে tracking চালু হবে।

শেষ হবে যখন

  • একই data তে pipeline দুবার চালালে একই model metric আসে।
  • যেকোনো prediction কে যে model version, data version আর commit বানিয়েছে, সেখানে ফিরিয়ে খোঁজা যায়।
  • Live হওয়ার আগে নতুন model এর একটা shadow তুলনার report।
  • ইচ্ছা করে ঢোকানো data এর পরিবর্তন (যেমন, সব দূরত্ব দ্বিগুণ) drift alert চালু করে।

আরো এগোতে চাইলে

  • Drift ধরা পড়লে নিজে থেকে আবার training, promote এর আগে মানুষের অনুমোদনের ধাপ সহ।
  • Canary rollout: ৫% traffic নতুন model এ পাঠাও, আর error বাড়লে নিজে থেকে ফিরিয়ে আনো।

দেখিয়ে দাও