机器学习模型一体化开发与部署实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. E M O S S 机器学习模型一体化开发与部署实践
2. MLOPS -- 模型开发部署工作流程 模型开发部署工作流程 1. 特征工程和模型训练 2. 模型测试 3. 模型部署 流程中的问题和痛点 1. 模型开发和部署代码不一致 2. 数分人员对模型无法实现E2E 3. 模型迭代周期长,扩容性差 4. 解耦模型开发和模型部署平台
3. MLFLOW四大模块 Tracking 用于记录代码/配置和结果 Model 机器学习模型的规范化描述文件 Project 模型部署文件,类似于dockerfile Registry 模型版本跟踪和管理
4. EMOSS系统架构
5. 方案对比 MLFlow(社区版) EMOSS 模型部署 每个模型单独部署 一次部署,多次复用 单一的SOA服务入 口 无 支持, 利用SLB进行智能路由 Scale out 无 支持 性能压测 无 支持 监控和告警 无 支持 Docker发布 无 支持 A/B Testing 无 支持
6. 模型开发 开发入口统一 Jupyter Notebook+ git plugin 1. Set Mlflow Environment Variable 2. Implement class mlflow.pyfunc.PyFuncModel 3. Save model 4. Registe model 5. Local Testing import os os.environ["MLFLOW_S3_ENDPOINT_URL"] = "http://xxxx.com" os.environ["MLFLOW_TRACKING_URI"] = "http://yyy.com" os.environ["AWS_ACCESS_KEY_ID"] = "xxx" os.environ["AWS_SECRET_ACCESS_KEY"] = "xxx" os.environ['MLFLOW_TRACKING_USERNAME'] = "xxx" os.environ['MLFLOW_TRACKING_PASSWORD'] = "xxx" import mlflow # Define the model class class CustomModel(mlflow.pyfunc.PythonModel): def __init__(self): pass MLFlow Server def load_context(self, context): pass def predict(self, context, inputData): return
7. 自助化测试 E M O S S T E S T I N G
8. 测试结果 E M O S S T E S T I N G
9. 模型注册和存储 1. 开发好的模型对象通过Mlflow Api 上传/注册 到Mlflow Server。 2. Mlflow Server 将模型的元数据保存 DB(Postgresql)中。 3. 模型对象最终存储在S3-compatible storage (MinIO)中。 … Notebook or IDE Model Object Upload/Download Mlflow Server Meta Data Model Object Storage
10. 模型服务 模型服务以RestAPI的形式向外通过模型预 测功能。 RestAPI基于FastAPI与uvicorn开发和运行。 RestAPI被打包成Docker Image。 RestAPI的打包、发布、扩容等操作都通过 Captain完成
11. 模型服务监控
12. 模型优化 业务背景/数据存储建模 1. 过滤掉不需要处理的数据。 2. 减少访问redis的次数: 3. a) 使用mget/hget; b) 避免重复redis key取数 c) 重新设计redis key; 模型调用参数 高效的数据处理或数据结构 1. 1. 使用numpy避免使用pandas 2. 编程优化 3. 使用线程池concurrent.futures并 BoostTree:XGBoost/LightGBM 模型 预测时候将模型启动线程数设为1: a) XGBoost : model.set_param(‘nthread’, 1); 行任务 b) LightGBM: model.predict(row_input,**{‘n 使用线程池 um_thread’:’1’}) 2. 神经网络:TensorFlow.keras 模型预测 时用的方法将predict([row_input])改为 __call__(row_input)或model(row_input)
13. Q&A Thank you

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 22:49
浙ICP备14020137号-1 $Map of visitor$