OpenModelZ: 一站式机器学习模型部署利器

OpenModelZ简介

OpenModelZ是一个开源的机器学习模型部署工具,旨在简化模型从开发到生产的过程。它可以帮助数据科学家和SRE工程师轻松地将模型部署到各种环境中,包括公有云(如GCP、AWS)、私有集群,甚至是单台机器上。

传统的模型部署流程往往复杂耗时,需要配置监控、日志、扩展等基础设施,还要处理安全权限、域名SSL等问题。即使是部署单个模型,也可能需要数周甚至数月的时间。OpenModelZ极大地简化了这一过程,用户只需一个命令就可以完成部署,并自动获得一个公开可访问的子域名。

OpenModelZ架构图

OpenModelZ的主要特性

OpenModelZ提供了多项开箱即用的强大功能:

  1. 从0开始的自动扩展: 推理服务器数量可以根据工作负载自动扩展,从0开始轻松扩展到10+个副本。

  2. 支持任何机器学习框架: 可以使用单个命令部署任何机器学习框架(如vLLM、triton-inference-server、mosec等),也支持部署自定义的推理服务器。

  3. Gradio/Streamlit/Jupyter支持: 提供了强大的原型开发环境,支持Gradio、Streamlit、Jupyter等工具。用户可以在notebook中轻松可视化模型性能并进行调试,或者用单个命令为模型部署Web应用。

  4. 从单机到集群的无缝扩展: 用户可以从单台机器开始,然后使用mdz server start命令轻松扩展到机器集群,无需额外配置。

  5. 每个部署自动获得公开子域名: 系统为每个部署自动提供单独的子域名,无需额外成本和工作即可从外部轻松访问。

OpenModelZ是ModelZ平台的基础组件,专为机器学习部署而设计。它的核心理念是保持系统简单易用,同时具备良好的可扩展性。

快速上手

要开始使用OpenModelZ,首先需要安装mdz命令行工具:

pip install openmodelz

安装完成后,可以使用以下命令验证安装:

mdz version

接下来,只需要找到一台服务器(可以是云VM、家用服务器,甚至是单台PC),运行以下命令即可启动OpenModelZ服务:

mdz server start

系统会自动完成服务器的初始化和配置。初始化完成后,你就可以开始部署模型了。例如,部署一个Jupyter Notebook服务:

mdz deploy --image jupyter/minimal-notebook:lab-4.0.3 --name jupyter --port 8888 --command "jupyter notebook --ip='*' --NotebookApp.token='' --NotebookApp.password='''"

部署完成后,可以通过mdz list命令查看部署状态和访问地址:

NAME     ENDPOINT                                                   STATUS  INVOCATIONS  REPLICAS
jupyter  http://jupyter-9pnxdkeb6jsfqkmq.192.168.71.93.modelz.live  Ready           488  1/1
         http://192.168.71.93/inference/jupyter.default                                                                         

你可以直接通过生成的URL访问部署的Jupyter Notebook服务。

Jupyter Notebook界面

高级功能

除了基本的部署功能,OpenModelZ还提供了许多高级特性:

  1. 扩展部署: 使用mdz scale命令可以轻松扩展部署的副本数:
mdz scale jupyter --replicas 3
  1. 自动扩缩容: OpenModelZ支持基于请求数自动扩缩容,详细配置可参考文档

  2. 调试部署: 可以使用mdz logs查看部署日志,使用mdz exec在容器中执行命令:

mdz logs jupyter
mdz exec jupyter ps
  1. 端口转发: 使用mdz port-forward可以将部署的端口转发到本地进行调试:
mdz port-forward jupyter 8888
  1. 添加服务器: 使用mdz server join命令可以将更多服务器添加到集群中:
mdz server join <之前服务器的内部IP地址>
  1. 服务器标签: 可以给服务器添加标签,然后在部署时指定使用特定标签的服务器:
mdz server label node3 gpu=true type=nvidia-a100
mdz deploy ... --node-labels gpu=true,type=nvidia-a100

架构设计

OpenModelZ的设计灵感来自K3sOpenFaaS,但专门针对机器学习部署场景进行了优化。系统由两个主要组件组成:

  1. 数据平面: 负责管理服务器。用户可以使用mdz server命令管理服务器。数据平面设计为无状态和可扩展的,可以通过添加更多服务器轻松扩展。底层使用K3s,支持VM、裸机和IoT设备(未来)。

  2. 控制平面: 负责管理部署。它管理部署及其底层资源。

请求通过负载均衡器路由到推理服务器。自动缩放器根据工作负载动态调整推理服务器的数量。系统默认提供*.modelz.live域名,利用通配符DNS服务器为每个部署提供公开可访问的子域名。用户也可以使用自己的域名。

总结

OpenModelZ为机器学习从业者提供了一个简单、高效的模型部署解决方案。它极大地简化了模型部署流程,让数据科学家和工程师可以专注于模型开发和优化,而不是花费大量时间在复杂的基础设施配置上。无论是在公有云、私有集群还是单机环境中,OpenModelZ都能帮助用户快速、轻松地将模型投入生产。

如果你正在寻找一个灵活、易用的模型部署工具,不妨尝试一下OpenModelZ。它不仅可以加速你的模型部署流程,还能帮助你更好地管理和扩展机器学习工作负载。欢迎访问OpenModelZ的GitHub仓库了解更多信息,或加入Discord社区与其他用户交流经验。

文章链接:www.dongaigc.com/a/openmodelz-one-stop-ml-deployment-tool

https://www.dongaigc.com/a/openmodelz-one-stop-ml-deployment-tool

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值