高通AI软件栈助力Android手机实现Stable Diffusion支持
来源 | 高通技术公司工程技术副总裁侯纪磊,高通技术公司产品管理高级副总裁Ziad Asghar2023-02-24 17:38:55
基础模型正在席卷AI行业。基础模型指基于海量数据进行大规模训练的大型神经网络,进而能以高性能表现适应广泛的后续任务...

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

高通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软件栈助力Android手机实现Stable Diffusion支持

高通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像素的图像。这是在智能手机上最快的推理速度,能媲美云端时延,且用户文本输入完全不受限制。

高通AI软件栈助力Android手机实现Stable Diffusion支持

Qualcomm AI Studio 将我们目前的所有工具整合到一个全新的GUI中,同时还有可视化工具,以简化开发者的使用体验。

ai生成的图像

上图为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进步能够更快交付,丰富人们的生活。