机器学习系统设计从原型到生产1. MLOps 流程MLOps 全流程 ├── 数据管理 │ ├── 数据版本控制DVC │ ├── 数据质量检查 │ └── 数据血缘追踪 ├── 模型开发 │ ├── 实验跟踪MLflow/WB │ ├── 版本管理 │ └── 自动化训练 ├── 模型部署 │ ├── 容器化Docker │ ├── API 服务FastAPI │ ├── A/B 测试 │ └── 灰度发布 └── 监控维护 ├── 性能监控 ├── 数据漂移检测 └── 模型再训练2. FastAPI 部署fromfastapiimportFastAPIfrompydanticimportBaseModelimportpickleimportnumpyasnp appFastAPI()withopen(model.pkl,rb)asf:modelpickle.load(f)classPredictRequest(BaseModel):features:listclassPredictResponse(BaseModel):prediction:floatprobability:floatapp.post(/predict,response_modelPredictResponse)defpredict(request:PredictRequest):featuresnp.array(request.features).reshape(1,-1)predictionmodel.predict(features)[0]probabilitymodel.predict_proba(features).max()returnPredictResponse(predictionfloat(prediction),probabilityfloat(probability))app.get(/health)defhealth():return{status:ok}3. Docker 部署FROM python:3.10-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . EXPOSE 8000 CMD [uvicorn, app:app, --host, 0.0.0.0, --port, 8000]4. 模型监控# 数据漂移检测fromscipy.statsimportks_2sampdefcheck_drift(reference_data,new_data,threshold0.05):drift_detectedFalseforcolinreference_data.columns:stat,p_valueks_2samp(reference_data[col],new_data[col])ifp_valuethreshold:drift_detectedTrueprint(f漂移检测:{col}(p{p_value:.4f}))returndrift_detected总结阶段工具目的实验跟踪MLflow记录实验数据版本DVC版本控制模型部署FastAPI/DockerAPI 服务监控Prometheus/Grafana性能监控