AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


一篇文章让你了解一站式机器学习模型部署利器:OpenModelZ
发布日期:2024-09-12 08:36:06 浏览次数: 1740 来源:向量光年


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

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



扫码加入AI交流群

获得更多技术支持和交流

(请注明自己的职业)

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  REPLICASjupyter  http://jupyter-9pnxdkeb6jsfqkmq.192.168.71.93.modelz.live  Ready           488  1/1         http://192.168.71.93/inference/jupyter.default
你可以直接通过生成的URL访问部署的Jupyter Notebook服务。

高级功能

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

  1. 扩展部署: 使用mdz scale命令可以轻松扩展部署的副本数:

mdz scale jupyter --replicas 3


  1. 自动扩缩容: OpenModelZ支持基于请求数自动扩缩容,详细配置可参考文档。


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

mdz logs jupytermdz 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-a100mdz deploy ... --node-labels gpu=true,type=nvidia-a100

架构设计

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

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

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

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

总结

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


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询