海量数据面试,轻松玩转移动AI,渣本Android开发小伙如何一步步成为架构师

  1. 开发效率

按照典型的端智能开发流程,首先需要算法工程师在云端训练和输出模型,模型决定了数据的输入、输出格式。下一阶段,客户端工程师需进行端侧的开发来适配当前模型,包括输入数据的收集和整理、输出数据的解析等。开发完毕后,再交由测试工程师进行后续的质量保障。这期间需要多个角色的协同和沟通,整体开发链路冗长且低效。

  1. 灵活性

正如上面所提到的,一旦模型确定后,其输入输出就遵循固定的格式。如果模型想调整输入数据的策略,就一定要同时修改客户端逻辑。因此,线上验证与功能迭代的灵活性受到了极大的限制,无形中拉长了整个功能上线周期。此外,不同端智能应用场景(CV、推荐等)也存在着较大的需求差异,如何满足不同的业务场景需求也是需要解决的头部问题。

  1. 端上环境复杂性

构建一套完整的端智能运行环境并非易事,除了在云端进行模型的训练和下发,还需要在客户端进行数据的收集、存储、处理,硬件资源的评估与调度,推理引擎的选择,操作系统的兼容,推理任务的管理与调度等等。这些问题无形之中提高了端智能应用的门槛,如何能够屏蔽这些复杂的端上环境也是端智能目前面临重要挑战。

三、Pitaya 端智能一体化解决方案


为了解决上面的问题,Pitaya 与 MLX 团队进行了深度合作,共建了一套从端(云端)到端(终端)的全链路动态部署方案。MLX 是云端的模型训练开发平台,提供模型训练、转化、调试、发布、A/B 等能力。客户端 Pitaya SDK 则提供特征工程、推理引擎、算法包管理、任务管理、监控等端上能力。两者深度整合,覆盖了端智能流程的各个环节,大大降低端智能的应用门槛。

Pitaya-MLX深度能力融合

1. MLX 平台

在介绍 Pitaya 前,先着重介绍一下 MLX 平台。在进行模型训练的过程中,我们会碰到很多的环境差异,比如不同的数据源的存储方结构、数据格式,不同的机器学习框架,以及不同操作系统环境和基础设施能力的搭建。MLX 平台就是为了解决上面的问题而诞生的。它提供了一个在云端实现模型训练、转换并将其最终产品化的服务平台,通过广泛接入了各类计算框架和服务平台,省去了复杂的环境搭建工作。

图 3-1-1 MLX 架构示意图

MLX 的架构如图 3-1-1 所示:

  • Base Infra:提供了诸多基础设施能力支撑上层功能。

  • ML:提供对各类机器学习框架的支持,主要分为 Scheduler、Model Training、Model Serving 三部分,是模型训练和转换的核心能力。

  • Core:开发人员直接接触的主要功能,在算法开发环节 MLX 提供 Notebook、Web Studio 等在线 IDE 编辑环境,支持 DAG Designer 的拖拽模式的工作流控制,更加简单易用。在模型产品化的流程中,覆盖了训练、任务管理、导出、发布等整个链路环节。

  • Scene:在以上基础能力的支撑下,MLX 平台上可以搭建不同的智能场景任务,例如:NLP、CV、GDBT,而 Pitaya 就是其中的新成员。

2. Pitaya

2.1 算法包

Pitaya 将自身的工作流与 MLX 平台特性进行了深度的整合,如下图所示。在传统的端智能开发流程中,云端仅负责模型的输出,能够动态部署下模型。而在 Pitaya 工作流中,“算法包”是一个完整资源的集合。“算法包”包括推理过程中使用到的模型,也包括算法逻辑及其依赖库信息,这些所有的内容被统一打包成为“算法包”。如果客户端同步了算法包内容,且具备算法包运行所需的各项能力,那么就可以在运行该算法包,实现一个完整的推理流程。

图 3-2-1 Pitaya 与 MLX 协同工作示意图

2.2 开发与调试

算法包的开发过程中,可以临时生成测试算法包。通过扫码将宿主 App 与 Pitaya-MLX 平台建立数据通道,推送测试算法包到客户端,通过真机运行和调试算法包,输出的日志信息也会在 MLX 的 IDE 环境展示,从而实现云端调试的完整体验。得益于 Pitaya 与 MLX 深度融合,算法工程师不再依赖客户端工程师进行任何开发,就可以独立完成算法在端上的运行与调试,极大的提升了算法开发的效率。

图 3-2-2 Pitaya-MLX 平台调试流程示意图

2.3 动态部署

当算法工程师完成算法包的调试后就可以将当前项目打包成一个算法包。每个业务场景都有一个当前 App 下的唯一 Business 标识,算法包与 Business 绑定。在 Pitaya-MLX 发布平台可针对某一 Business 业务,从 App、App 版本、OS 版本、渠道等多个维度对算法包的下发进行配置与管理。发布平台还与 A/B 平台实现了数据打通,可以实现无缝的线上实验对比,大大加快业务线上效果的验证。

除了上面提到的常规配置能力,Pitaya-MLX 发布平台还支持对当前设备机型进行性能打分,根据打分的结果来进行算法包的差异化下发。这种部署方式可以更加细粒度的对线上设备性能进行划分,针对高性能或支持某些 AI 加速的设备下发精度更高的模型,而针对性能较弱的设备为了追求更好的使用体验,则部署相对精简的模型。

2.4 特征工程

Pitaya 中一个核心能力就是“特征工程”。端上推理一般需要从原始数据生成输入到模型中的特征,再由模型推理得到结果。如果需要业务方自行收集和保存原始数据,其工作量是巨大的。特征工程的作用就是帮助业务方无侵入式的收集端上的用户特征数据,用于后续的推理预测。Pitaya 特征工程与 Applog SDK(事件统计 SDK)打通,支持在算法包中对推理过程中需要使用到的的 Applog Event 进行配置,当算法包在本地生效时,Pitaya 就可以根据算法包的配置收集数据。同时,Pitaya 也提供定制化的接口,用于关联用户行为上下文,例如:点击、曝光、滑动等。在算法包运行过程中,可以通过特征工程的能力获取用户的原始数据,通过数据的处理生成模型需要的输入数据。这种数据收集的方式较传统链路具备更好的动态性和灵活性,让业务方从繁重的数据处理工作中解放了出来。

此外,特征工程还支持上传指定的数据至 MLX 平台,用于云端的模型训练,形成一个完整的数据闭环,如图 3-2-1。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

最后

目前已经更新的部分资料:



本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值