ClearML 服务
clearml-serving
是一个用于模型部署和编排的命令行工具。
它支持将模型部署(包括服务代码和预处理代码)到Kubernetes集群或基于自定义容器的解决方案中。
功能
- 易于部署和配置
- 支持机器学习模型(Scikit Learn, XGBoost, LightGBM)
- 支持深度学习模型(TensorFlow, PyTorch, ONNX)
- 可定制的RestAPI用于服务(即允许每个模型的前/后处理以便于集成)
- 灵活性
- 在线模型部署
- 在线端点模型/版本部署(即无需关闭服务)
- 每个模型独立的预处理和后处理python代码
- 可扩展性
- 每个容器多模型
- 每个服务多模型
- 多服务支持(完全分离的多个服务独立运行)
- 多集群支持
- 基于负载/使用情况的即用型节点自动扩展
- 高效
- 多容器资源利用率
- 支持CPU和GPU节点
- 深度学习模型的自动批处理
- 自动部署
- 支持金丝雀的自动模型升级
- 可编程的API用于模型部署
- 金丝雀 A/B 部署 - 在线金丝雀更新
- 模型监控
- 使用指标报告
- 指标仪表板
- 模型性能指标
- 模型性能仪表板
组件
-
CLI - 用于在线模型升级/部署的安全配置界面,适用于正在运行的Serving服务
-
服务任务 - 控制平面对象,存储所有端点的配置。支持多个独立的实例,部署在多个集群上。
-
推理服务 - 推理容器,执行模型服务的前/后处理。还支持CPU模型推理。
-
服务引擎服务 - 推理服务使用的推理引擎容器(例如 Nvidia Triton、TorchServe 等),用于较重的模型推理。
-
统计服务 - 每个服务实例收集并广播模型服务和性能统计信息
-
时间序列数据库 - 统计服务使用的统计收集服务,例如 Prometheus
-
仪表盘 - 基于收集的统计数据的可定制仪表盘解决方案,例如 Grafana