首页 >>  正文

安卓软件开发工具包

来源:baiyundou.net   日期:2024-07-02

作者:高通技术公司工程技术副总裁侯纪磊,高通技术公司产品管理高级副总裁Ziad Asghar

上图为Stable Diffusion利用文本提示:“穿盔甲超级可爱的毛绒绒猫战士、逼真、4K、超细节、V-Ray渲染、虚幻引擎” 生成的图像

基础模型正在席卷AI行业。基础模型指基于海量数据进行大规模训练的大型神经网络,进而能以高性能表现适应广泛的后续任务。流行的基础模型Stable Diffusion是一个非常出色的从文本到图像的生成式AI模型,能够基于任何文本输入,在数十秒内创作出逼真图像。Stable Diffusion的参数超过10亿,迄今为止主要限于在云端运行。接下来我将介绍高通AI Research如何利用高通AI软件栈(Qualcomm AI Stack)执行全栈AI优化,首次在Android智能手机上部署Stable Diffusion。

通过全栈AI优化,完全在终端侧高效运行Stable Diffusion

高通AI软件栈支持的全栈AI优化

在“AI首创”博客文章中,我们提到过高通AI Research不仅在开展全新AI研究工作,也率先在商用终端上展示概念验证,为在现实世界中的技术规模化应用铺平道路。我们的全栈AI研究指跨应用、神经网络模型、算法、软件和硬件进行优化,并在公司内进行跨部门合作。针对Stable Diffusion,我们从Hugging Face的FP32 1-5版本开源模型入手,通过量化、编译和硬件加速进行优化,使其能在搭载第二代骁龙8移动平台的手机上运行。

为了把模型从FP32压缩为INT8,我们使用了高通AI模型增效工具包(AIMET)的训练后量化。这是基于高通AI Research创造的技术所开发的工具,目前已经集成入新发布的Qualcomm AI Studio中。通过让模型在我们的专用AI硬件上高效运行,并降低内存带宽消耗,量化不仅能够提高性能,还可以降低功耗。自适应舍入(AdaRound)等先进的高通AIMET量化技术能够在更低精度水平保持模型准确性,无需进行重新训练。这些技术能够应用于构成Stable Diffusion的所有组件模型,即基于Transformer的文本编码器、VAE解码器和UNet。这对于让模型适合于在终端上运行至关重要。

高通AI软件栈将最优秀的AI软件产品集合到一个软件包中,帮助OEM厂商和开发者在我们的产品上创建、优化和部署他们的AI应用,充分利用高通AI引擎的性能。

对于编译,我们利用高通AI引擎Direct框架将神经网络映射到能够在目标硬件上高效运行的程序中。高通AI引擎Direct框架基于高通Hexagon处理器的硬件架构和内存层级进行序列运算,从而提升性能并最小化内存溢出。部分上述增强特性是AI优化研究人员与编译器工程团队共同合作的成果,以此来提升AI推理时的内存管理。高通AI引擎中所做的整体优化能够显著降低runtime的时延和功耗,而这一亟需的趋势也同样存在于Stable Diffusion上。

凭借紧密的软硬件协同设计,集成Hexagon处理器的高通AI引擎能够释放行业领先的边缘侧AI性能。支持微切片推理的最新第二代骁龙8移动平台有能力高效运行像Stable Diffusion这样的大模型,并且下一代骁龙预计还将带来更多提升。此外,由于构成Stable Diffusion的所有组件模型都采用了多头注意力机制,为加速推理而面向transformer模型(如MobileBERT)所做的技术增强发挥了关键作用。

这一全栈优化最终让Stable Diffusion能够在智能手机上运行,在15秒内执行20步推理,生成一张512x512像素的图像。这是在智能手机上最快的推理速度,能媲美云端时延,且用户文本输入完全不受限制。

Qualcomm AI Studio 将我们目前的所有工具整合到一个全新的GUI中,同时还有可视化工具,以简化开发者的使用体验。 上图为Stable Diffusion利用文本提示:“野外河谷和山脉间的日式花园,高细节,数字插图,ArtStation,概念艺术,磨砂,锐聚焦,插图,戏剧性的,落日,炉石,artgerm、greg rutkowski和lphonse mucha的艺术作品”生成的图像

边缘侧AI的时代已经到来

随着AI云端大模型开始转向在边缘终端上运行,高通打造智能网联边缘的愿景正在我们眼前加速实现,几年前还被认为不可能的事情正在成为可能。这很有吸引力,因为通过边缘AI进行终端侧处理具有诸多优势,包括可靠性、时延、隐私、网络带宽使用效率和整体成本。

尽管Stable Diffusion模型看起来过于庞大,但它编码了大量语言和视觉相关知识,几乎可以生成任何能想象到的图片。此外,作为一款基础模型,Stable Diffusion能做的远不止根据文字提示生成图像。基于Stable Diffusion的应用正在不断增加,例如图像编辑、图像修复、风格转换和超分辨率等,将带来切实的影响。能够完全在终端上运行模型而无需连接互联网,将带来无限的可能性。

扩展边缘侧AI

在智能手机上运行Stable Diffusion只是开始。让这一目标得以实现的所有全栈研究和优化都将融入高通AI软件栈。凭借高通的统一技术路线图,我们能够利用单一AI软件栈并进行扩展,以适用于不同的终端和不同的模型。

这意味着为了让Stable Diffusion在手机上高效运行所做的优化也可用于高通技术公司赋能的其他平台,比如笔记本电脑、XR头显和几乎任何其它终端。在云端运行所有AI处理工作成本高昂,因此高效的边缘侧AI处理非常重要。由于输入文本和生成图像始终无需离开终端,边缘侧AI处理能在运行Stable Diffusion(和其它生成式AI模型)时确保用户隐私,这对于使用消费级和企业级应用都有巨大的好处。全新AI软件栈优化还将有助于减少未来在边缘侧运行的下一代基础模型产品的上市时间。这就是我们如何能够实现跨终端和基础模型进行扩展,让边缘侧AI真正无处不在。

在高通,我们在基础研究领域实现突破,并跨终端和行业进行扩展,以赋能智能网联边缘。高通AI Research与公司所有团队通力合作,将最新AI发展成果和技术集成到我们的产品之中,让实验室研究所实现的AI进步能够更快交付,丰富人们的生活。

","force_purephv":"0","gnid":"9880d70c81bfd1b67","img_data":[{"flag":2,"img":[{"desc":"","height":"741","title":"","url":"https://p0.ssl.img.360kuai.com/t0165080c7162a12d50.jpg","width":"740"},{"desc":"","height":"415","title":"","url":"https://p0.ssl.img.360kuai.com/t01646e44cbc5370fb8.jpg","width":"740"},{"desc":"","height":"417","title":"","url":"https://p0.ssl.img.360kuai.com/t0174ff5eff39e1727b.jpg","width":"740"},{"desc":"","height":"413","title":"","url":"https://p0.ssl.img.360kuai.com/t01df49915e1731c98c.jpg","width":"740"},{"desc":"","height":"741","title":"","url":"https://p0.ssl.img.360kuai.com/t01e56a689e53ff2a89.jpg","width":"740"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1677235243000,"pure":"","rawurl":"http://zm.news.so.com/2c4c2bbea931cbf46c794851811a37dc","redirect":0,"rptid":"ff3bcd9cf5c3682a","rss_ext":[],"s":"t","src":"雷峰网","tag":[{"clk":"ktechnology_1:高通","k":"高通","u":""}],"title":"全球首个运行在Android手机上的Stable Diffusion终端侧演示

茅肢服927android 开发sdk -
厉荔习17126827668 ______ sdk:软件开发工具包 就是一个可以供别人使用的包 文件读写 sdk的功能: 在你这里应该当别人调用你的方法 就是在倒入你的sdk包 使用里面的接口(方法)就可以实现文件读写 总共分为两步: 一步: 写一个能进行读写功能的接口 自己封装的方法 二步:把你读写功能的接口 打包成jar包 这样就是一个完整的文件读写功能的jar包了 当别人倒入你的jar包就可以实现你的读写功能 这就是你所说的sdk了

茅肢服927安卓开发工具哪个好 -
厉荔习17126827668 ______ 如果是新手.使用Android Studio,官方的东西支持的比较好.而且出的比较晚也有一段时间了.之前一直是Eclipse作为主要开发工具.但Android Studio出来后,要比Eclipse操作方便、界面友好、速度要快.不管用什么开始工作.代码都是JAVA的,从网上找资料还都是比较方便的.

茅肢服927安卓APP开发工具有哪些 -
厉荔习17126827668 ______ 想要搞安卓的开发,首先搭载java的平台,去下载jdk,然后去下载eclipse,以后的安卓开发经常用到eclipse,这个软件很人性化,你用之后就知道,之后再去下载sdk,安装jdk的时候要有耐性,这个很费时的.至于教程什么的看书吧,或者网上有很多的视频教学,我比较喜欢看视频,我觉得这比看书接受的快

茅肢服927安卓虚拟机是干什么?安卓虚拟机是干什么的
厉荔习17126827668 ______ 这款软件是google官方出品,以方便开发者使用安卓环境,方便开发.可以让你在PC端(电脑上)安装运行模拟Android系统.并可以在电脑端进行几乎任何手机上可以进行的操作,甚至还可以像手机一样连接电脑,被手机助手检测到,可以模拟所有官方版本的安卓系统,并且有多款皮肤和屏幕样式可供选择.但由于windows电脑需要跨平台,所以模拟出来的效果和虚拟机性能可没有arm机器跑起来的好. 中文名安卓软件开发工具包外文名Android software development kit软件语言中文支持系统windows XP;windows 7;Mac

茅肢服927现在android开发用什么工具 -
厉荔习17126827668 ______ 当然是用android studio 自从android Studio 1.0正式版发布以后,google已经完全放弃对ADT的更新了 google已经正式使用android Studio了,建议你也向android studio迁移吧, 这个开发工具还是不错的,代码提示能力就比Eclipse强

茅肢服927如何选择 android sdk版本 -
厉荔习17126827668 ______ android sdk版本是根据要编程适配的安卓版本型号来决定的,现在市场主流是安卓4,可以选择安卓4.0版本的sdk. SDK:(software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合.因此,Android SDK 指的是Android专属的软件开发工具包.

茅肢服927android sdk有什么用 -
厉荔习17126827668 ______ SDK(Software Development Kit):一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合.在Android中,他为开发者提供了库文件以及其他开发所用到的工具.简单理解为开发工具包集合,是整体开发中所用到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发.

茅肢服927如何安装android开发环境 -
厉荔习17126827668 ______ android开发环境的配置包括:硬件确认、JDK安装、SDK安装、模拟器创建和设置、编译器(IDE)安装配置,如果用一张图概括的话如下所示:1. 硬件确认方面,主要关注的是电脑内存容量,官方建议的最低内存是2G,推荐内存是8G(实测...

茅肢服927如何在Android开发中编写应用程序? -
厉荔习17126827668 ______ 准备开发环境:首先,您需要在计算机上安装Java开发工具包(JDK)和Android开发工具包(SDK).确保您已经正确配置了这些工具,并设置了相应的环境变量.创建项目:使用Android Studio或其他适合您的开发工具创建一个新的Android...

茅肢服927有没有安卓软件开发引擎?我知道unity3D是拿来开发游戏的....但是有没有类似的引擎拿来开发软件??? -
厉荔习17126827668 ______ 引擎开发游戏,开发软件一般用工具包或开发框架,有一个 Mono for Android ,可以让开发人员使用 Visual Studio来创建基于 C# 和 .NET 的应用程序,并且让这些程序可运行在 Android 手机上 ,UI开发包有DroidUX等

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024