Machine Learning system তৈরি করা শুধু model train করা নয়।

Production ML হলো একটি complete lifecycle।

একটি typical flow:

Data Collection
      ↓
Data Validation
      ↓
Feature Engineering
      ↓
Training
      ↓
Offline Evaluation
      ↓
Model Validation
      ↓
Model Versioning
      ↓
Deployment
      ↓
Prediction Serving
      ↓
Monitoring
      ↓
Retraining

1. Data Collection

প্রথমে relevant data collect করতে হয়।

উদাহরণ:

Orders
User Behavior
Transactions
GPS
Weather
Product Data
Search Logs

Training data-এর quality directly model quality-কে affect করে।

2. Data Validation

Raw data blindly training pipeline-এ দেওয়া উচিত নয়।

Check করতে হবে:

Missing Values
Duplicates
Schema
Ranges
Categories
Timestamps
Data Freshness

3. Feature Engineering

Raw data থেকে model-friendly signals তৈরি করা হয়।

উদাহরণ:

Raw Orders
↓
Orders in Last 7 Days
Average Order Value
Days Since Last Order
Cancellation Rate

4. Model Training

Training data ব্যবহার করে model parameters learn করে।

এই stage-এ track করা useful:

Algorithm
Hyperparameters
Training Dataset
Random Seed
Training Time
Code Version

5. Offline Evaluation

Model unseen validation বা test data-তে evaluate করা হয়।

Compare করতে হয়:

New Model
vs
Baseline
vs
Previous Production Model

6. Model Versioning

Production-এ model update হলে জানতে হবে কোন version কোথায় deployed।

উদাহরণ:

eta_model_v1
eta_model_v2
eta_model_v3

একইভাবে শুধু model file নয়, surrounding artifacts-ও version করা useful।

কী কী Track করা দরকার?

Model Version
Code Version
Feature Version
Training Data Version
Hyperparameters
Evaluation Metrics
Dependency Version

কেন?

ধরুন ছয় মাস পরে question এলো:

এই order-এর জন্য model এমন prediction কেন দিয়েছিল?

আপনাকে ideally reconstruct করতে হবে:

Which model?
Which features?
Which code?
Which data?
Which configuration?

এটাই reproducibility-এর অংশ।

7. Deployment

Model production environment-এ expose করা হয়।

Deployment হতে পারে:

Batch
Online API
Streaming
Edge
Embedded

Problem অনুযায়ী architecture choose হয়।

8. Prediction Serving

User request বা scheduled process-এর জন্য predictions generate করা হয়।

Online example:

Request
↓
Fetch Features
↓
Model Prediction
↓
Return Result

Batch example:

Nightly Job
↓
Score 1 Million Customers
↓
Store Predictions

9. Monitoring

Deployment-এর পরে model unattended রেখে দেওয়া যায় না।

Monitor করতে হয়:

Latency
Error Rate
Data Drift
Feature Drift
Prediction Distribution
Model Performance
Business KPI
Feature Availability

10. Retraining

Data pattern change হলে model stale হতে পারে।

তখন model retrain করা প্রয়োজন হতে পারে।

Retraining হতে পারে:

Weekly
Monthly
Event-driven
Performance-triggered

Business problem-এর উপর depend করে।

Train-Serving Skew

Production ML-এর সবচেয়ে dangerous practical issues-এর একটি।

ধরুন training-এ feature:

Average Orders Last 30 Days

calculate করা হয়েছে একভাবে।

কিন্তু serving system অন্য logic ব্যবহার করছে।

উদাহরণ:

Training:
Previous 30 complete days

Serving:
Including current partial day

তাহলে same feature name হলেও values different হতে পারে।

এটাকে বলা হয়:

Train-Serving Skew

কীভাবে Reduce করা যায়?

Possible approaches:

shared feature logic feature store same transformation code feature validation offline-online consistency test versioned feature definitions

Interview-ready Explanation

Model productionization covers the full lifecycle from
data collection to deployment and monitoring.

A typical pipeline includes data validation, feature
engineering, training, evaluation, model versioning,
deployment, serving, monitoring, and retraining.

For reproducibility, I would track the model version,
code version, feature definitions, training data,
hyperparameters, and metrics.

A key production risk is train-serving skew, where feature
values are calculated differently during training and
online inference.