在当前的软件市场中,人工智能(AI)和图形渲染技术正快速发展,对软件生态系统提出了更高的要求。尤其是在移动端应用(APP)基础上的生成式AI体验,传统的云服务模式已难以满足高度私密、极低延迟的需求。因此,将AI计算更多地落地于端侧,成为行业发展的重要趋势。然而,市场上活跃着数千种安卓设备,每一种都有着不同的硬件规格,涉及CPU、GPU、NPU以及内存带宽等方方面面,作为开发者,为千百种移动设备做优化需要付出多得多的努力。
这为开发者带来了巨大的优化挑战。
Arm多方举措加速软件开发过程、提升用户体验。
发布软件库Arm Kleidi,优化机器学习与计算机视觉
不久前,Arm推出了Kleidi,解决设备端推理运行时(Runtime)的碎片化问题,还通过高度优化的内核,提升AI和计算机视觉(CV)应用的性能。
![Arm 李陈鲁:加速软件开发过程、提升用户体验插图 《Arm 李陈鲁:加速软件开发过程、提升用户体验》](https://pic.doit.com.cn/2024/07/2024071807122279.png)
1.Arm Kleidi组成及特点
从概念上,Arm Kleidi是一个包含KleidiAI和KleidiCV这两个针对Arm CPU高度优化的计算内核代码的软件库,它可以被直接整合进各类库或者框架,从而让绝大多数开发者在Arm平台上轻松获得出色的性能表现。
其中,KleidiAI专注于机器学习(ML)运行时的性能优化,而KleidiCV则针对计算机视觉(CV)应用进行优化。二者都是基于开发者的实际需求,通过优化ML和CV任务的执行,提升整体性能。
![Arm 李陈鲁:加速软件开发过程、提升用户体验插图1 《Arm 李陈鲁:加速软件开发过程、提升用户体验》](https://pic.doit.com.cn/2024/07/2024071807170567.png)
KleidiAI的设计贯彻了“大道至简”的原则,覆盖了开发中最耗时的ML负载,选择最合适的内核处理任务。通过简化集成过程,KleidiAI使开发者能够轻松地将优化后的内核应用于各种应用中。根据Llama.cpp测试获得的结果显示,采用KleidiAI后,词元(Token)首次响应时间提升至之前的三倍,显著改善了用户体验。
MediaPipe是一个刚刚问世几个月的LLM API,帮助开发者在不同的后端实现上运行一系列的大模型,并同时支持多种操作系统。把KleidiAI整合进MediaPipe的CPU执行路径所依赖的XNNPACK库后,20亿参数的Gemma模型运行速度提升了25%;著名的游戏引擎Unity通过KleidiAI库来加速Unity Sentis AI运行,在性能与内存占用率方面都取得了长足进步,双方正在继续推进一些与高性能影像管线紧密相连的增强现实(AR)用例,KleidiAI支持Unity中基于量化网络的内核运行速度达到了原先FP32实现的近五倍。
![Arm 李陈鲁:加速软件开发过程、提升用户体验插图2 《Arm 李陈鲁:加速软件开发过程、提升用户体验》](https://pic.doit.com.cn/2024/07/2024071807173782.png)
KleidiCV旨在解决计算机视觉应用中的CPU瓶颈问题。在Arm Cortex-X925 CPU上,KleidiCV的Neon与SVE2内核实现带来了显著的性能提升。Arm正在与OpenCV.ai展开合作,期待能有更多安卓开发者能受益于KleidiCV。
在图形渲染领域,Arm继续在软件前沿领域引领着移动图形渲染的发展,确保开发者可以轻松利用Arm Immortalis GPU带来的各种先进技术与卓越性能。在作为Arm第三代支持光线追踪的旗舰级GPU——Immortalis-G925其能力不断被市场所认可的同时,大量的开发者正在轻松地把游戏主机等级的画面带到移动设备上。目前有十余款AAA手游大作都已经或正在加入到光线追踪内容的大家庭;与Epic Games紧密合作以确保其SM5桌面渲染器能够以极高的性能和极低的功耗运行于该GPU上,就是一个典型的案例。
Arm正在进一步发力教育培训工作,让精彩的范例程序与教程经验成果惠及更多的开发者。
2.不断扩大的生态应用
除了显著提升AI和CV应用的性能、降低开发者的集成成本,Arm Kleidi还将在AI不断发展的时代展现广阔应用前景。特别是在安卓和微软生态系统中,Kleidi的优化将为开发者提供更多的支持。
1.安卓生态:Kleidi通过优化安卓平台上的ML工作负载提升用户体验。Arm与谷歌合作,优化了Chromium浏览器的性能,并推动了安卓动态性能框架(ADF)的发展,提升了游戏和应用的性能。随着安卓系统的不断升级,Kleidi将在未来的安卓设备中发挥更大的作用。
2. 微软生态:在Windows on Arm平台上,Kleidi的优化将帮助开发者更好地利用Arm架构的优势,提升应用性能。越来越多的应用程序成为Arm原生应用,Arm通过资助开源项目和发布适用于Windows的Arm性能库,进一步发展了这个生态系统。
Arm Kleidi的推出,不仅是对现有软件市场的一次重要补充,更是对未来AI和CV应用性能提升的一次大胆探索。随着技术的不断进步,Kleidi将在更多的设备和平台上发挥其价值,推动整个软件生态系统的发展。
软件趋势与应用潜力
除了发布Arm Kleidi软件库,Arm还在其他方面加强软件及生态的发力。
1.关注并开启在WebGPU上的开发
![Arm 李陈鲁:加速软件开发过程、提升用户体验插图3 《Arm 李陈鲁:加速软件开发过程、提升用户体验》](https://pic.doit.com.cn/2024/07/2024071807135637.png)
WebGPU作为一个建立于Vulkan、Metal、DirectX等底层API之上的开源中间层,正在逐渐取代传统的WebGL和OpenGL。它提供了更多的硬件控制方法,同时简化了跨平台应用的开发。Dawn是Chromium所使用的WebGPU后端或者做渲染引擎,凭借对底层硬件和驱动更加熟悉的优势,Arm对Dawn提交的第一个补丁就带来了在Arm GPU平台上15%的性能提升。
2.性能分析工具的软件更新
Arm在性能分析工具领域也有一些新的变化。大家熟悉的Arm Mobile Studio正式更名为Arm Performance Studio,在针对移动平台功能的基础上增加对Arm Linux的支持,让服务器或者基础设施市场中的开发者可以使用Streamline CPU分析能力。Arm还为Performance Studio添加了两个新的工具,RenderDoc for Arm GPUs最新版本已经支持对光线追踪内容的录制与回放,未来会把这些暂时独有的特性尽可能多地合并到官方版本RenderDoc的开源主干中,而新的Arm Frame Advisor可更好地向开发者提供关于渲染负载的信息,以及更有针对性的建议。
3.合作推进其他安卓新技术
![Arm 李陈鲁:加速软件开发过程、提升用户体验插图4 《Arm 李陈鲁:加速软件开发过程、提升用户体验》](https://pic.doit.com.cn/2024/07/2024071807144481.png)
(1)浏览器性能。浏览器性能是安卓用户体验的关键部分。一年前,Arm与谷歌合作,将高性能版本的Chrome引入高端安卓设备,性能提高了30%。Arm还继续针对Arm架构和微架构优化Chromium,并与社区一起在去年共同实现并测量到了在Arm Cortex-X925上所实现的额外19%的提升。这不仅仅对Chrome有价值,选择Chromium的众多手机厂商也也必将受益于这些工作的成果。
![Arm 李陈鲁:加速软件开发过程、提升用户体验插图5 《Arm 李陈鲁:加速软件开发过程、提升用户体验》](https://pic.doit.com.cn/2024/07/2024071807151082.png)
(2)安卓动态性能框架(Android Dynamic Performance Framework,ADPF)。支持生态系统通过及时响应操作系统的反馈来动态调整内容行为的能力,帮助开发者更好地管理应用程序运行时的发热。它还允许开发者更好地表达需要完成特定负载计算的精确截止时刻,以便保证系统调度程序和DVFS能够更有效地运。
MediaTek目前正在与谷歌合作,将MediaTek游戏自适应调控技术的功能合并到ADPF中,并且已经与多个游戏引擎实现了良好的集成。ADPF现在开始出现在真实游戏中,例如Kakao Games的《阿瑞斯:守护者崛起》。未来会有越来越多的游戏加入到这一行列中。
![Arm 李陈鲁:加速软件开发过程、提升用户体验插图6 《Arm 李陈鲁:加速软件开发过程、提升用户体验》](https://pic.doit.com.cn/2024/07/2024071807153088.png)
(3)内存安全。去年Arm内存标记扩展(Memory Tagging Extension, MTE)在荣耀(Honor)的开发者设备测试中初步尝试,现在消费者手中终于拥有了支持MTE的首批设备——Pixel 8和vivo X100。一旦启用了MTE,Chrome将自动进入MTE保护模式,以减少出现安全漏洞的可能性。
(4)巩固和扩大Windows on Arm生态应用。
![Arm 李陈鲁:加速软件开发过程、提升用户体验插图7 《Arm 李陈鲁:加速软件开发过程、提升用户体验》](https://pic.doit.com.cn/2024/07/2024071807155240.png)
Windows on Arm生态过去一年进展斐然,如Chrome浏览器加入了Office、Dropbox、Zoom和Adobe等应用的行列,许多面向创作者的开源工具也出现在Windows on Arm平台上,这些应用程序证明了大量开源库和开发者工具正在完成适配工作。Arm还在与微软合作,通过资助开源项目和发布适用于Windows的Arm性能库来进一步发展这个生态系统,爱奇艺已经可以在Windows on Arm平台上原生运行。
借力Arm,成为最后的赢家
在过去18个月内,扩散网络模型在Arm处理器上完成图像生成任务时的性能表现实现了高达35倍的飞跃,而且这一切都是基于相关领域的研究进展,并没有包含太多针对硬件的特别优化。
安谋科技(Arm China)开发者生态高级经理李陈鲁表示,李陈鲁认为,从性能的角度出发,有时候选择远比努力更重要,如在过去的某个时间点上,从PyTorch迁移到ONNXRuntime就带来了巨大的性能提升。因此他判断:在一个快速变化的环境里,对于某个特定模型或者框架过度投入、深度绑定,未必是种很明智的决定,永远选择那个在CPU上跑得飞快的模型才能成为最后的赢家。
“在一个飞速发展的行业里,有时候你可以什么都不做,只需静静期待美好的到来。”在李陈鲁看来,Arm就是给开发者带来美好未来的那个福音。
- 外滩大会今日闭幕 30余项AI新成果在会上首次发布 – 2024年9月7日
- 科技向前、向善,2024 外滩大会被“创新”点亮 – 2024年9月7日
- 对抗Deepfake,近百名选手参与开源模型代码接力 – 2024年9月7日