面向推理训练一体化的 MNN 工作台

简介: 本文聚焦MNN 工作台的两个方面:如何构建强大专业的训练能力、如何解决多任务多模型协作的算法。

1.gif

MNN 工作台是大淘宝技术端智能团队构建并对外免费开放的一站式端侧 AI 研发平台,它基于已开源的 MNN 深度学习端侧推理引擎(开源地址:https://github.com/alibaba/MNN ),内嵌模型工具、单机预训练模版、开箱即用算法集、端侧真机断点调试以及独创的三端一体部署方案等一系列能力。自对外开放以来,MNN 工作台始终致力于解决 降低对 AI 感兴趣的开发者们的参与门槛提升算法与工程之间协作效率 两个端侧 AI 发展的核心问题,深受广大端侧开发者的好评。

但在好评之余,MNN 工作台团队仍在持续思考:在让迭代变得更加高效、部署验证更加连贯、模型生产更加简单这几点上,我们真的做到极致了吗?在面向不同分层的开发者时,我们真的解决了他们所有的核心诉求吗?

因此在和不同团队与开发者沟通交流后,我们将目光聚焦在了两大方面:

  1. MNN 工作台的部署调试体验非常流畅,但是缺乏杀手锏级别的训练能力,这会导致训练 - 部署的整体流程产生割裂;
  2. 算法逐渐产生复杂、多任务、多模型协作的趋势,如何针对这一问题提供更有效的解决方案,也是一个亟需攻克的难点。

构建强大专业的训练能力


MNN 工作台提供了开箱即用的算法模型市场以及内置的多项预训练模版,面向开发者提供极致简单的模型生产方式,这从一定程度上为端侧 AI 场景的普及打下了基础。但是随着越来越多专业级算法用户的加入使用,MNN 工作台现有的训练能力也暴露了诸多弊端:

image.png

image.gif图 1 - 过去的一站式工作流

  1. 模型市场 / 预训练模版面向的是简单通用的场景,仅对外暴露了非常少的模型参数,无法按照专业算法的诉求进行个性化修改和定制;
  2. MNN 工作台先前的训练流程都是基于 MNN 训练机制运行在单一设备上,这从一定程度上限制了数据集与训练参数,导致最终的模型效果无法满足复杂业务场景下的高质量要求。

基于此,在 MNN 工作台中嵌入专业级的训练能力融合成为推训一体的完整工作流迫在眉睫。考虑到训练需要大规模的集群资源及调度管理能力,我们选择和阿里云 PAI-DLC 团队合作,借力其强大的云端基础设施打造契合于端侧 AI 研发流程的训练能力。在整个实施过程中,MNN 工作台并不是简单的将云端训练概念照搬以及 API 联调,而是结合自身洞察到的端侧部署验证遇到的痛点,从用户视角出发进行的链路设计:

image.png

image.gif图 2 - 基于 PAI-DLC 的推理训练一体化工作流

  1. PAI-DLC 是一个独立的训练集群,训练过程涉及的代码需要通过 Git 提交,数据、样本及模型等还需要通过 NAS / OSS 提供,这些环节都需要人为的进行配置,配置成本较高。因此 MNN 工作台整体串联了相关系统,仅需要用户简单点击几下鼠标,相关数据集等就会自动同步对应的位置,再配合相关自动化脚本协助用户完成繁琐重复性的工作;
  2. 模型产出到部署到终端设备上还有一定距离。千万别小看这最后一公里,传统的端侧算法部署流程需要工程团队的介入支持,相关参数效果调整还需要不断沟通联调,消耗算法耐心和精力。而利用 MNN 工作台三端一体的特性,算法同学一键下载对应的模型文件、编写简短几行代码就可以完成真机效果验证,真正做到一站式训练部署的顺滑体验;
  3. 针对端侧模型轻量化的特点,我们也在流程中融入了 MNN 量化稀疏算法能力,让算法可以高效对比不同模型参数计算量下的效果。

02.gif

image.gif图 3 - 推理训练一体化工作流演示

功能精进:多窗口、联合调试与 Git Flow

随着推训一体工作流的逐步完善,一个全新的问题也随之浮出水面:云端训练的耗时冗长,为了节约时间如何同时训练多个模型?

在此之前,工作台仅支持单窗口“独占”的运行模式,即用户同一时刻只有一个工程能够享受到一站式工作的“红利”,为了操作其他工程,用户只能从当前工程切出,这像极了智能机之前的“老年机”交互,给用户带来了很大不便。此外,一些复杂的端计算场景也需要对多个工程进行联动开发和调试,将工作台改造为支持多开势在必行。

因此自推训一体平台萌芽之际,我们就开始了对工作台多开能力的改造,最终我们完成了工作台底层进程模型和 IPC 模型的改造,并在端侧 DebugSDK 支持了一对多连接的能力,让工作台实现了从“老年机”到“智能机”时代的跨越:

image.png

image.gif图 4 - MNN 工作台多窗口架构

工作台进入“智能机”时代为端侧的算法研发带来了更多可能,自此之后你不必再为使用其他功能要关掉当前工程而苦恼了:现在你可以同时打开多个工程,同时开发和提交多份训练代码,在同一台手机上调试多个端计算工程,在开发的同时使用模型工具等等:

3.gif

image.gif图 5 - MNN 工作台多任务联合调试

4.gif

image.gif图 6 - 利用多窗口能力同时访问多个模型工具

工作台从单窗口变成多窗口意味着用户需要管理的工程变多了,为了避免混乱,全链路的所有操作最好能够完全在其对应的工作台窗口中完成,通过梳理细节我们发现无论端计算发布还是远程训练都少不了基于 Git 的代码发布流程,如果工作台不能支持完备的 Git 操作那么整个工作流依然是割裂的因此我们在工作台中移植了可视化的 Git Flow它支持通过 Diff Editor 检查变更,可视化编辑 Git 工作区,通过命令菜单执行 Pull / Push / Stash 等操作,通过 Git 组件你可以轻松完成代码检查和发布。推训一体平台配合 Git Flow 真正意义上实现了端侧算法工程全链路工作都在同一个工作区完成

image.png

image.gif图 7 - 通过 Git Flow 组件进行可视化版本控制


最佳实践


基于推训一体工作流和工作台完善的集成开发环境,我们可以快速实现从 0 到 1 的端侧算法工程构建,首先我们需要创建一个 PAI 训练工程,编写好训练代码,进行本地训练验证:

image.png

image.gif图 8 - 使用本地环境运行训练工程

本地验证无误后,我们可以一键推送到云端 PAI-DLC 容器中进行训练,训练结束后可一键将训练产物拉回本地:
image.png

图 9 - 云端训练和训练产物下载

云端训练产物往往要经过诸如转换、量化等模型工具的处理才能在端侧使用,借助于工作台多窗口能力你可以直接在模型上右键打开任意多个模型工具进行高效的模型处理:
image.png

图 10 - 一键执行多种模型工具

最后,我们可以切换到三端一体的端侧开发部署环境进行验证,如果在验证过程中遇到问题我们可以无缝切换回训练工程重复前面的步骤:

image.png

image.gif图 11 - 端侧部署与调试

推训一体工作流较为完整的解决了端侧算法训练与部署割裂的问题,其中训练部分通过端云结合的手段让开发者无需感知端和云的差异,推理验证部分借助三端一体和工作台强大的调试能力让算法可以在端侧独立进行调试和部署。目前这些能力均已开放,你可以在 https://www.mnn.zone 下载 1.6.0 及以后版本的 MNN 工作台进行体验,推训一体的操作方式可参考 MNN 工作台推训一体平台操作手册。


结语


在过去这半年,MNN 工作台始终秉持「解决用户真正的需求」的理念,不断与工程、算法同学深入交流,沟通其在端侧 AI 研发中遇到的种种问题。从调试、真机验证到实时性能评测,一系列功能的推出都展现了我们在解决端侧 AI 研发全链路问题上的决心和能力。而随着集成专业级训练能力的 MNN 工作台版本发布,相信会给大家带来更好的使用体验。


团队介绍


我们是来自大淘宝技术的端智能团队,是淘宝端侧智能基础技术的奠基者和应用创新的开拓者,也是 AR/VR 方向的探索先锋队。我们负责淘宝的开源推理引擎 MNN、搜推场景的端计算框架 Walle、AR 试妆试鞋等创新应用。团队具备行业领先的技术实力和业务能力,是一支专业极致、应用创新的全栈团队,包含算法、渲染、移动端、服务端等多工种同学。现邀请有技术、有理想、有追求的同学加入我们。

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
机器学习/深度学习 并行计算 Shell
docker 获取Nvidia 镜像 | cuda |cudnn
本文分享如何使用docker获取Nvidia 镜像,包括cuda10、cuda11等不同版本,cudnn7、cudnn8等,快速搭建深度学习环境。
7550 0
|
机器学习/深度学习 算法 openCL
高效、轻量的深度学习框架MNN
MNN是一个高效、轻量的深度学习框架。
高效、轻量的深度学习框架MNN
|
运维 负载均衡 Cloud Native
云原生网关MSE-Higress对比测评
本文将从功能、性能、架构、可扩展性、运维、价格等6个维度简析MSE-Higress与其竞品的差异和优缺点。
2146 1
|
7月前
|
存储 缓存 人工智能
Mooncake 最新进展:SGLang 和 LMCache 基于 Mooncake 实现高效 PD 分离框架
Mooncake 的架构设计兼具高性能和灵活性,为未来的扩展性和生态建设奠定了坚实基础。
|
10月前
|
人工智能 物联网 开发者
Oumi:开源的AI模型一站式开发平台,涵盖训练、评估和部署模型的综合性平台
Oumi 是一个完全开源的 AI 平台,支持从 1000 万到 4050 亿参数的模型训练,涵盖文本和多模态模型,提供零样板代码开发体验。
1056 43
Oumi:开源的AI模型一站式开发平台,涵盖训练、评估和部署模型的综合性平台
|
10月前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
7986 80
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
7月前
|
人工智能 安全 Android开发
手机也能跑通义Qwen3大模型,手把手教你部署!
全球开源模型冠军Qwen3与端到端全模态模型Qwen2.5-Omni现已成功在手机上跑通!借助MNN支持,适配Android、iOS及桌面端,实现低延迟、本地化、高安全的AI体验。用户可通过自定义Sampler设置、System Prompt和Max New Tokens调节模型输出风格与长度。
3732 11
|
11月前
|
机器学习/深度学习 存储 人工智能
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
MNN 是阿里巴巴开源的轻量级深度学习推理框架,支持多种设备和主流模型格式,具备高性能和易用性,适用于移动端、服务器和嵌入式设备。
2610 18
MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
|
人工智能 API 决策智能
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
【7月更文挑战第8天】智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
17322 134
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
|
11月前
|
SQL 人工智能 关系型数据库
AI时代下的PolarDB:In-DB一体化模型训练与推理服务
本次分享主题为“AI时代下的PolarDB:In-DB一体化模型训练与推理服务”,由阿里云资深专家贾新华和合思信息刘桐炯主讲。内容涵盖PolarDB的关键能力、AI硬件与软件结构支持、典型应用场景(MLops、ChatBI、智能搜索),以及合思实践案例——AI对话机器人提升客户响应效率。通过简化流程、SQL统一管理及内置算法,PolarDB显著降低了AI应用门槛,并在多个行业实现最佳实践。
444 3