模型可靠性

面向生产环境的机器学习模型开发

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

使 ML 模型与业务影响指标对齐

  • 业务影响指标衡量 ML 对业务的影响
    • 如收入、节省成本、客户满意度(CSAT)
  • 应与模型指标对齐
    • 如 流失预测器 --> 收入
    • 如 制造维护预测器 --> 成本节省
    • 如 聊天机器人意图识别准确率 --> CSAT

向上趋势的图表

面向生产环境的机器学习模型开发

ML 流水线中的测试流程

  • 单元测试:测试独立组件
    • 例如:检测 PCA 返回的特征数量是否符合预期
  • 集成测试:覆盖整个流水线
    • 例如:检查输入预处理正确、模型预测准确、输出后处理正确
  • 冒烟测试:快速验证系统基本可用
    • 例如:用少量样本图像检查模型能否正确分类
  • 早测、常测
    • 例如:新数据一到就测试模型
面向生产环境的机器学习模型开发

单元测试示例

def test_pipeline():
    # Generate mock data for testing
    X_train = pd.DataFrame({'age': [25, 30, 35, 40], 'income': [50000, 60000, 70000, 80000])
    y_train = pd.Series([0, 0, 1, 1])

    pipeline = Pipeline([('preprocessing', DataPreprocessor()),  # Set up pipeline
                         ('model', LogisticRegression())])
    pipeline.fit(X_train, y_train)  # Fit pipeline on training data

    # Generate mock data for testing
    X_test = pd.DataFrame({'age': [30, 35, 40, 45], 'income': [55000, 65000, 75000, 85000])
    y_test = pd.Series([0, 0, 1, 1])
    y_pred = pipeline.predict(X_test)  
    accuracy = accuracy_score(y_test, y_pred)  # Evaluate pipeline on test data

    assert accuracy > 0.8, "Error: pipeline accuracy is too low."
面向生产环境的机器学习模型开发

监控模型陈旧性

  • 模型陈旧:性能随时间下降
    • 由于数据或环境变化
  • 持续监控!

困惑的机器人

面向生产环境的机器学习模型开发

识别与应对模型陈旧

识别

  • 监控模型性能
  • 监控数据与环境变化

应对

  • 用新数据重新训练模型
    • 例如:需加入新特征
  • 更新数据流水线以适应环境变化
    • 例如:分析平台变更导致流水线异常
面向生产环境的机器学习模型开发

Passons à la pratique !

面向生产环境的机器学习模型开发

Preparing Video For Download...