在 Kubeflow 上使用昇思 MindSpore 的实用指南
by Canonical on 21 March 2023
Gartner 在 2022 年发布的关于重要技术趋势的报告中表示,AI 工程将在不久的将来担纲重任。AI 工程主要由三种核心技术构成:DataOps、MLOps 和 DevOps。其主要目的是开发能够快速、持续提供商业价值的 AI 模型,如支持跨职能协作、自动化、数据分析以及机器学习的模型。AI 工程能够缩短开发和应用部署流程。
什么是 Kubeflow?
Charmed Kubeflow 是一个端对端的 MLOps 生产级平台,可将数据科学工作流中的步骤转译为 Kubernetes 作业。它是 Kubeflow 上游项目的一个官方发行版本。数据科学家和机器学习工程师可以利用它从简单、便携、可扩展的 ML 部署中获益匪浅。从使用 Notebooks 开展实验,到使用 Kubeflow Pipelines 进行训练或使用 Katib 进行调参,其功能覆盖范围极其广泛。
深入了解什么是 Kubeflow
什么是昇思 MindSpore?
华为开源自研 AI 框架 MindSpore 是为深度学习、训练和推理而搭建的,适用于边缘、移动和云场景。它实现了基于源码变换的自动微分。这是一种从函数编程框架演变而来的技术,支持自动控制流。
深入了解 Mindspore
为什么要集成 Kubeflow 和 Mindspore?
Charmed Kubeflow 是一个 MLOps 平台,由各种开源组件构成。Jupyter Notebooks 是本地工具之一。与 AI 框架集成使数据科学家和机器学习工程师能够受益于先进的训练功能和成本模型拆分策略。它结合了数据并行、模型并行和以及混合并行。另外,由于得益于自动微分、自动并行和优化计算,它不仅具备在流水线、深度图和设备层面的执行效率,还具有开发友好性。
综上所述,Charmed Kubeflow 和 MindSpore 之间的集成突显了 MLOps 生态系统的日益增长,而 Canonical 正致力于搭建该生态系统。尤其是在处理数据过程中,切换各种工具,实属是一大挑战。因此,Charmed Kubeflow 旨在通过创建可本地访问各种 AI/ML 工具的环境,来解决该问题。
访问 Charmed Kubeflow
如果您尚未部署 Charmed Kubeflow,请按照快速入门指南中的说明进行部署。温馨提醒您,您需要运行 Ubuntu 20.04 或更高版本,并确保至少 32 GB 的内存空间和 50 GB 的磁盘空间。在应用部署过程中,将
- 安装 MicroK8s
- 安装 Juju
- 部署 Charmed Kubeflow
Charmd Kubeflow 部署完成后,所有 Kubeflow 组件将处于激活状态,请按照以下指示操作。
juju refresh jupyter-ui --channel=latest/edge
该步骤将 jupyter-ui 升级至最新版本,因此它包含了 MindSpore 的 Notebook 图像。
配置 Charmed Kubeflow
Kubeflow 安装完成后,需要进行简单的配置以便访问它。首次配置请访问该地址:
juju config dex-auth public-url=http://10.64.140.43.nip.io
juju config oidc-gatekeeper public-url=http://10.64.140.43.nip.io
然后配置访问用户名和密码:
juju config dex-auth static-username=admin
juju config dex-auth static-password=ucantseeme
接下来,在浏览器中输入 http://10.64.140.43.nip.io,并输入刚才设置的用户密码。可看见完整的 Kubeflow 控制面板。
运行支持 MindSpore 的 Notebook
为了在 Charmed Kubeflow 中访问 MindSpore,则需使用本地支持的 Notebook。从 Charmed Kubeflow 控制面板的 Notebook 选项卡上,选择创建 Notebook,输入 Notebook 名称 MindSpore,为图像选择 jupyterlab,使用列表中的 mindspore/jupyter-mindspore,分配合适的 CPU 和内容资源,点击创建。

在 Notebook 界面,可看见创建即将完成的提示。

点击连接,即可以新的浏览器标签页打开 Notebook。点击此处即可使用 MindSpore 官方网站上的现有 Notebook,并通过 Notebook 页面上传手写数字识别 Notebook。
点击执行,即可发现 Notebook 会直接运行,而无需额外安装 MindSpore 和 Vision 套件。

启动首个项目
只要在 Charmed Kubeflow 的 Notebook 中本地启用 MindSpore 图像,便可开始启动 AI/ML 项目。尽管 MindSpore 旨在支持广泛的使用情景,但计算机视觉可能会是一个有趣的示例。
深入了解 Charmed Kubeflow 和 MindSpore
- 在 Charmed Kubeflow 上运行 MindSpore 集成指南(中文版)
- MindSpore 和 Charmed Kubeflow 集成教程
- MLOps 的边缘零售:购物篮分析
- 使用 MLOps 平台进行超参数优化
- Canonical 的 AI 服务
订阅博客文章
查看更多内容
Canonical 获得 ISO 27001 认证
该认证是符合网络安全标准的有力证明,可在最严苛的企业环境中全面保障开源产品和服务的应用安全。 Canonical 自豪地宣布,经过知名认证提供商 A-LIGN 的广泛评估,其信息安全管理系统(ISMS)已获得 ISO/IEC 27001 认证。这一里程碑彰显了 Canonical 致力于遵守政策,完善流程和控制措施,这些措施旨在保障企业内部数据、客户数据及供应商信息的保密性、完整性及可用性,并推进公司的企业基础设施环境建设。 Canonical 首席信息安全官 Stephanie Domas 表示:“获得 ISO 27001 认证,有力地证明了我们团队对信息安全的坚定承诺。这证实了我们的流程符合全球最高标准,让我们的客户和合作伙伴确信他们的数据受到最周全、最严谨的保护。安 […]
如何借 Anbox Cloud 构建出色的云游戏平台
为何选择云游戏? 云游戏正在改变我们的游戏方式。玩家无需购买昂贵的硬件,而是从云端流式传输游戏,就像游戏界的 Netflix 一样。 这已不再是未来主义的构想,它就在眼前。NVIDIA GeForce Now、Sony PS Plus 以及 Xbox Cloud Gaming 等服务已展示出可能的图景:将所有心仪游戏(包括独立游戏和 AAA 游戏)从强大的云服务器流式传输至低端设备,从而畅玩高端游戏。 但云游戏的意义不仅在于通过云端运行游戏,更在于让玩家摆脱硬件的束缚。手机可以变身游戏主机,笔记本电脑甚至不需要专用 GPU 就可以成为游戏级电脑。为了实现这一目标,平台必须做到: 构建自有云游戏平台是一项艰巨的任务。游戏的资源需求量大,并且高度依赖 GPU 运算。但网络混乱 […]
什么是 Linux 支持?
在企业 IT 领域,“支持”可以指代多种含义。对某些企业而言,它是安全网,是系统突发故障时的保险机制。而对另一些企业而言,它是决定系统遭遇小规模故障还是全面中断的关键区别。在 Canonical,“支持”意味着一项简单而全面的订阅服务,它将为您处理一切事务,确保您构建的每一项成果都能够按照预期运行,让所有喜欢使用它的人都能获得理想体验。 本文将阐述“支持”在 Linux 支持中的含义,阐明其与安全维护的区别,并解释为何两者都对现代组织至关重要。通过真实案例和对 Canonical 支持流程的深度剖析,您将了解 Ubuntu Pro + 支持 如何支持团队从容构建、扩展和保护基础设施。 Linux 支持与安全维护:为何两者都至关重要 首先,我们将简要阐明两个相关但不同的概念 […]