মূল content-এ যাও

MLOps/MLOps-এর ভিত্তি/Lesson 01

ML lifecycle

Notebook-এ model বানানো কাজের সামান্য অংশ। Data থেকে deployment আর monitoring পর্যন্ত পুরো চক্র, কেন বেশিরভাগ ML project production-এ পৌঁছায় না, আর একটা deploy gate বানানো।

সময়
20 মিনিট
Exercise
1
Challenge
1
Quiz
3 প্রশ্ন

সহজ ভাষায়

Machine Learning path-এ তুমি একটা model train করে accuracy দেখেছ। তোমার কাজ কি শেষ? বাস্তবে এটা শুধু শুরু।

  ┌──► 1. Data সংগ্রহ ──► 2. Data যাচাই ও প্রস্তুতি ──► 3. Training ও experiment
  │                                                          │
  │                                                          ▼
  │    6. Monitoring ◄── 5. Deploy (serving) ◄── 4. মূল্যায়ন ও versioning
  │         │
  └─────────┘  drift ধরা পড়লে → নতুন data → retrain

MLOps হলো এই পুরো চক্রকে নির্ভরযোগ্য, পুনরাবৃত্তিযোগ্য আর স্বয়ংক্রিয় করার কৌশল।

কেন দরকার?

বিভিন্ন জরিপ আর শিল্প-অভিজ্ঞতা বলে, অনেক ML project, সম্ভবত বেশিরভাগই, prototype থেকে production-এ পৌঁছায় না। কারণগুলো সাধারণত algorithm-এ থাকে না। থাকে এই প্রশ্নগুলোতে:

  • "গত মাসে যে model-টা ভালো ছিল, সেটা কোন data আর কোন setting দিয়ে বানিয়েছিলাম?"
  • "আমার laptop-এ চলে, server-এ চলে না"
  • "Model ৬ মাস ধরে production-এ। এখনো ঠিক আছে কি?"

২০১৫-র বিখ্যাত Google paper Hidden Technical Debt in Machine Learning Systems দেখিয়েছিল যে বাস্তব ML system-এ model-এর code পুরো system-এর একটা ছোট অংশ মাত্র। বাকিটা data সংগ্রহ, যাচাই, infrastructure, serving আর monitoring।

ML software কেন আলাদা

সাধারণ softwareML system
আচরণ ঠিক করেCodeCode + data + model
Version রাখতে হয়CodeCode, data, model, parameter
TestOutput ঠিক কিনাMetric যথেষ্ট ভালো কিনা (probabilistic)
সময়ের সাথেCode না বদলালে একইData বদলালে খারাপ হয় (drift)

Drift: কেন model "পচে"

main.py

ধরো model শিখেছিল "১২ ঘণ্টার কম পড়লে fail-এর ঝুঁকি"। তারপর নতুন syllabus এলো, আর সবাই কম ঘণ্টা পড়েও ভালো করছে। Model তবুও পুরনো নিয়মে চলবে। Code-এ কোনো bug নেই, কিন্তু prediction ভুল। একে বলে drift। এটা ধরতে monitoring লাগে (পরের module)।

MLOps-এর মূল নীতি

  1. সবকিছু version করো: code, data, model, config
  2. সবকিছু পুনরাবৃত্তিযোগ্য রাখো: একই input দিলে একই model আসবে
  3. স্বয়ংক্রিয় করো: training, testing আর deploy একটা pipeline-এ
  4. Production-এ নজর রাখো: metric, drift আর latency monitor করো

এই module-এর বাকি lesson-গুলো প্রথম দুটো নীতি নিয়ে।

Exercise

Exercise

একটা ছোট pipeline

+20 XP

ML pipeline মানে কিছু ধাপ ক্রমানুসারে চলা, যেখানে প্রতিটা ধাপ আগের ধাপের output নেয়।

run_pipeline(steps, data) লেখো: - steps হলো (নাম, function) tuple-এর list - প্রথম function-কে data দাও, তার output পরেরটাকে, এভাবে চলবে - প্রতিটা ধাপের পরে "✓ নাম" print করবে - শেষ output return করবে

solution.py

Quiz

  1. Q1MLOps কী?
  2. Q2Production-এ model-এর accuracy সময়ের সাথে কমে যায়, অথচ code বদলায়নি। সবচেয়ে সম্ভাব্য কারণ?
  3. Q3Model deploy করার আগে কোন যাচাইগুলো স্বয়ংক্রিয় হওয়া উচিত?
0/3 answered

Challenge

Challenge

Deploy gate

+50 XP

নতুন model (candidate) কি production-এর পুরনো model-কে প্রতিস্থাপন করবে? এই সিদ্ধান্ত একটা স্বয়ংক্রিয় gate নেয়।

should_deploy(candidate, production, min_gain=0.01, max_latency_ms=200) লেখো। দুটো input-ই dict: {"accuracy": float, "latency_ms": float}। Return করবে (সিদ্ধান্ত, কারণের list):

  • candidate-এর accuracy যদি production-এর চেয়ে অন্তত min_gain বেশি না হয় → কারণ যোগ করো
  • candidate-এর latency যদি max_latency_ms-এর বেশি হয় → কারণ যোগ করো
  • production যদি None হয় (প্রথম model), accuracy-র তুলনা বাদ যাবে, শুধু latency দেখা হবে
  • কোনো কারণ না থাকলে সিদ্ধান্ত True

float-এর ছোট ভুল এড়াতে তুলনা করবে gain >= min_gain - 1e-12 দিয়ে।

solution.py

বাস্তবে কোথায় ব্যবহার হয়?

বাস্তব MLOps stack-এ প্রতিটা ধাপের জন্য tool আছে। নাম চিনে রাখো:

ধাপজনপ্রিয় tool
Experiment trackingMLflow, Weights & Biases
Data/model versioningDVC, MLflow Model Registry
PipelineAirflow, Kubeflow, Prefect
ServingFastAPI, BentoML, cloud endpoint
MonitoringEvidently, Prometheus + Grafana

তবে tool বদলায়, নীতি বদলায় না। এই module-এ tool ছাড়াই, শুধু Python দিয়ে নীতিগুলো নিজে বানাবে। তাতে যেকোনো tool-এর ভেতরে কী হয়, সেটা বুঝবে।

Interview প্রশ্ন

  • Beginner: MLOps কী? DevOps থেকে কীভাবে আলাদা?
  • Intermediate: Data drift আর concept drift-এর পার্থক্য কী?
  • Advanced: একটা model-কে production-এ নেওয়ার পুরো pipeline ডিজাইন করো। কোথায় কোথায় স্বয়ংক্রিয় যাচাই রাখবে?

এরপর কী?

চক্রের প্রথম সমস্যা: তুমি ২০ বার training চালিয়েছ, আলাদা আলাদা setting দিয়ে। কোনটা সবচেয়ে ভালো ছিল আর কোন setting-এ? পরের lesson: Experiment tracking।